#1360: Add Material#isCompostable and Material#getCompostChance

This commit is contained in:
mfnalex 2024-06-05 07:15:52 +10:00 committed by md_5
parent 9003845569
commit 7189ba6362
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11

View File

@ -10,6 +10,7 @@ import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemBlock; import net.minecraft.world.item.ItemBlock;
import net.minecraft.world.item.ItemRecord; import net.minecraft.world.item.ItemRecord;
import net.minecraft.world.item.component.ItemAttributeModifiers; import net.minecraft.world.item.component.ItemAttributeModifiers;
import net.minecraft.world.level.block.BlockComposter;
import net.minecraft.world.level.block.entity.TileEntityFurnace; import net.minecraft.world.level.block.entity.TileEntityFurnace;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.NamespacedKey; import org.bukkit.NamespacedKey;
@ -176,6 +177,17 @@ public class CraftItemType<M extends ItemMeta> implements ItemType.Typed<M>, Han
return TileEntityFurnace.isFuel(new net.minecraft.world.item.ItemStack(item)); return TileEntityFurnace.isFuel(new net.minecraft.world.item.ItemStack(item));
} }
@Override
public boolean isCompostable() {
return BlockComposter.COMPOSTABLES.containsKey(item);
}
@Override
public float getCompostChance() {
Preconditions.checkArgument(isCompostable(), "The item type " + getKey() + " is not compostable");
return BlockComposter.COMPOSTABLES.getFloat(item);
}
@Override @Override
public ItemType getCraftingRemainingItem() { public ItemType getCraftingRemainingItem() {
Item expectedItem = item.getCraftingRemainingItem(); Item expectedItem = item.getCraftingRemainingItem();