#1360: Add Material#isCompostable and Material#getCompostChance

By: mfnalex <mfnalex@jeff-media.com>
This commit is contained in:
CraftBukkit/Spigot
2024-06-05 07:15:52 +10:00
parent d267f74a0b
commit 6d2082bf75

View File

@@ -10,6 +10,7 @@ import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemBlock;
import net.minecraft.world.item.ItemRecord;
import net.minecraft.world.item.component.ItemAttributeModifiers;
import net.minecraft.world.level.block.BlockComposter;
import net.minecraft.world.level.block.entity.TileEntityFurnace;
import org.bukkit.Material;
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));
}
@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
public ItemType getCraftingRemainingItem() {
Item expectedItem = item.getCraftingRemainingItem();