Package net.minecraft.block.entity
Class AbstractFurnaceBlockEntity
java.lang.Object
net.minecraft.block.entity.BlockEntity
net.minecraft.block.entity.LockableContainerBlockEntity
net.minecraft.block.entity.AbstractFurnaceBlockEntity
- All Implemented Interfaces:
Inventory
,SidedInventory
,RecipeInputProvider
,RecipeUnlocker
,NamedScreenHandlerFactory
,ScreenHandlerFactory
,Clearable
,Nameable
- Direct Known Subclasses:
BlastFurnaceBlockEntity
,FurnaceBlockEntity
,SmokerBlockEntity
public abstract class AbstractFurnaceBlockEntity extends LockableContainerBlockEntity implements SidedInventory, RecipeUnlocker, RecipeInputProvider
- Mappings:
Namespace Name official cfh
intermediary net/minecraft/class_2609
named net/minecraft/block/entity/AbstractFurnaceBlockEntity
-
Field Summary
Fields Modifier and Type Field Description private static int[]
BOTTOM_SLOTS
private int
burnTime
private int
cookTime
private int
cookTimeTotal
private int
fuelTime
protected DefaultedList<ItemStack>
inventory
protected PropertyDelegate
propertyDelegate
private Object2IntOpenHashMap<Identifier>
recipesUsed
private RecipeType<? extends AbstractCookingRecipe>
recipeType
private static int[]
SIDE_SLOTS
private static int[]
TOP_SLOTS
Fields inherited from class net.minecraft.block.entity.BlockEntity
pos, removed, world
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractFurnaceBlockEntity(BlockEntityType<?> blockEntityType, BlockPos pos, BlockState state, RecipeType<? extends AbstractCookingRecipe> recipeType)
-
Method Summary
Modifier and Type Method Description private static void
addFuel(Map<Item,Integer> map, ItemConvertible item, int fuelTime)
private static void
addFuel(Map<Item,Integer> fuelTimes, Tag<Item> tag, int fuelTime)
private static boolean
canAcceptRecipeOutput(Recipe<?> recipe, DefaultedList<ItemStack> slots, int count)
boolean
canExtract(int slot, ItemStack stack, Direction dir)
Determines whether the given stack can be removed from this inventory at the specified slot position from the given direction.boolean
canInsert(int slot, ItemStack stack, Direction dir)
Determines whether the given stack can be inserted into this inventory at the specified slot position from the given direction.boolean
canPlayerUse(PlayerEntity player)
static boolean
canUseAsFuel(ItemStack stack)
void
clear()
private static boolean
craftRecipe(Recipe<?> recipe, DefaultedList<ItemStack> slots, int count)
static Map<Item,Integer>
createFuelTimeMap()
private static void
dropExperience(ServerWorld world, Vec3d pos, int multiplier, float experience)
void
dropExperienceForRecipesUsed(ServerPlayerEntity player)
void
fromTag(CompoundTag tag)
int[]
getAvailableSlots(Direction side)
Gets the available slot positions that are reachable from a given side.private static int
getCookTime(World world, RecipeType<? extends AbstractCookingRecipe> recipeType, Inventory inventory)
protected int
getFuelTime(ItemStack fuel)
Recipe<?>
getLastRecipe()
List<Recipe<?>>
getRecipesUsedAndDropExperience(ServerWorld world, Vec3d pos)
ItemStack
getStack(int slot)
Fetches the stack currently stored at the given slot.private boolean
isBurning()
boolean
isEmpty()
private static boolean
isNonFlammableWood(Item item)
boolean
isValid(int slot, ItemStack stack)
Returns whether the given stack is a valid for the indicated slot position.void
provideRecipeInputs(RecipeFinder finder)
ItemStack
removeStack(int slot)
Removes the stack currently stored at the indicated slot.ItemStack
removeStack(int slot, int amount)
Removes a specific number of items from the given slot.void
setLastRecipe(Recipe<?> recipe)
void
setStack(int slot, ItemStack stack)
int
size()
static void
tick(World world, BlockPos pos, BlockState state, AbstractFurnaceBlockEntity blockEntity)
CompoundTag
toTag(CompoundTag tag)
void
unlockLastRecipe(PlayerEntity player)
Methods inherited from class net.minecraft.block.entity.LockableContainerBlockEntity
checkUnlocked, checkUnlocked, createMenu, createScreenHandler, getContainerName, getCustomName, getDisplayName, getName, setCustomName
Methods inherited from class net.minecraft.block.entity.BlockEntity
cancelRemoval, copyItemDataRequiresOperator, createFromTag, getCachedState, getPos, getSquaredRenderDistance, getType, getWorld, hasWorld, isRemoved, markDirty, markDirty, markRemoved, onSyncedBlockEvent, populateCrashReport, setCachedState, setWorld, toInitialChunkDataTag, toUpdatePacket
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.inventory.Inventory
containsAny, count, getMaxCountPerStack, markDirty, onClose, onOpen
Methods inherited from interface net.minecraft.util.Nameable
hasCustomName
Methods inherited from interface net.minecraft.recipe.RecipeUnlocker
shouldCraftRecipe
-
Field Details
-
TOP_SLOTS
private static final int[] TOP_SLOTS- Mappings:
Namespace Name Mixin selector official c
Lcfh;c:[I
intermediary field_11987
Lnet/minecraft/class_2609;field_11987:[I
named TOP_SLOTS
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;TOP_SLOTS:[I
-
BOTTOM_SLOTS
private static final int[] BOTTOM_SLOTS- Mappings:
Namespace Name Mixin selector official g
Lcfh;g:[I
intermediary field_11982
Lnet/minecraft/class_2609;field_11982:[I
named BOTTOM_SLOTS
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;BOTTOM_SLOTS:[I
-
SIDE_SLOTS
private static final int[] SIDE_SLOTS- Mappings:
Namespace Name Mixin selector official h
Lcfh;h:[I
intermediary field_11983
Lnet/minecraft/class_2609;field_11983:[I
named SIDE_SLOTS
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;SIDE_SLOTS:[I
-
inventory
- Mappings:
Namespace Name Mixin selector official a
Lcfh;a:Lgj;
intermediary field_11984
Lnet/minecraft/class_2609;field_11984:Lnet/minecraft/class_2371;
named inventory
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;inventory:Lnet/minecraft/util/collection/DefaultedList;
-
burnTime
private int burnTime- Mappings:
Namespace Name Mixin selector official i
Lcfh;i:I
intermediary field_11981
Lnet/minecraft/class_2609;field_11981:I
named burnTime
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;burnTime:I
-
fuelTime
private int fuelTime- Mappings:
Namespace Name Mixin selector official j
Lcfh;j:I
intermediary field_11980
Lnet/minecraft/class_2609;field_11980:I
named fuelTime
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;fuelTime:I
-
cookTime
private int cookTime- Mappings:
Namespace Name Mixin selector official k
Lcfh;k:I
intermediary field_11989
Lnet/minecraft/class_2609;field_11989:I
named cookTime
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;cookTime:I
-
cookTimeTotal
private int cookTimeTotal- Mappings:
Namespace Name Mixin selector official l
Lcfh;l:I
intermediary field_11988
Lnet/minecraft/class_2609;field_11988:I
named cookTimeTotal
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;cookTimeTotal:I
-
propertyDelegate
- Mappings:
Namespace Name Mixin selector official b
Lcfh;b:Lbkb;
intermediary field_17374
Lnet/minecraft/class_2609;field_17374:Lnet/minecraft/class_3913;
named propertyDelegate
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;propertyDelegate:Lnet/minecraft/screen/PropertyDelegate;
-
recipesUsed
- Mappings:
Namespace Name Mixin selector official m
Lcfh;m:Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;
intermediary field_11986
Lnet/minecraft/class_2609;field_11986:Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;
named recipesUsed
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;recipesUsed:Lit/unimi/dsi/fastutil/objects/Object2IntOpenHashMap;
-
recipeType
- Mappings:
Namespace Name Mixin selector official n
Lcfh;n:Lbqq;
intermediary field_17582
Lnet/minecraft/class_2609;field_17582:Lnet/minecraft/class_3956;
named recipeType
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;recipeType:Lnet/minecraft/recipe/RecipeType;
-
-
Constructor Details
-
AbstractFurnaceBlockEntity
protected AbstractFurnaceBlockEntity(BlockEntityType<?> blockEntityType, BlockPos pos, BlockState state, RecipeType<? extends AbstractCookingRecipe> recipeType)- Mappings:
Namespace Name Mixin selector official <init>
Lcfh;<init>(Lcft;Lfx;Lcht;Lbqq;)V
intermediary <init>
Lnet/minecraft/class_2609;<init>(Lnet/minecraft/class_2591;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_3956;)V
named <init>
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;<init>(Lnet/minecraft/block/entity/BlockEntityType;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/recipe/RecipeType;)V
-
-
Method Details
-
createFuelTimeMap
- Mappings:
Namespace Name Mixin selector official f
Lcfh;f()Ljava/util/Map;
intermediary method_11196
Lnet/minecraft/class_2609;method_11196()Ljava/util/Map;
named createFuelTimeMap
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;createFuelTimeMap()Ljava/util/Map;
-
isNonFlammableWood
- Mappings:
Namespace Name Mixin selector official b
Lcfh;b(Lbnr;)Z
intermediary method_26395
Lnet/minecraft/class_2609;method_26395(Lnet/minecraft/class_1792;)Z
named isNonFlammableWood
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;isNonFlammableWood(Lnet/minecraft/item/Item;)Z
-
addFuel
- Mappings:
Namespace Name Mixin selector official a
Lcfh;a(Ljava/util/Map;Lafc;I)V
intermediary method_11194
Lnet/minecraft/class_2609;method_11194(Ljava/util/Map;Lnet/minecraft/class_3494;I)V
named addFuel
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;addFuel(Ljava/util/Map;Lnet/minecraft/tag/Tag;I)V
-
addFuel
- Mappings:
Namespace Name Mixin selector official a
Lcfh;a(Ljava/util/Map;Lbtu;I)V
intermediary method_11202
Lnet/minecraft/class_2609;method_11202(Ljava/util/Map;Lnet/minecraft/class_1935;I)V
named addFuel
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;addFuel(Ljava/util/Map;Lnet/minecraft/item/ItemConvertible;I)V
-
isBurning
private boolean isBurning()- Mappings:
Namespace Name Mixin selector official h
Lcfh;h()Z
intermediary method_11201
Lnet/minecraft/class_2609;method_11201()Z
named isBurning
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;isBurning()Z
-
fromTag
- Overrides:
fromTag
in classLockableContainerBlockEntity
- Mappings:
Namespace Name Mixin selector official a
Lcfr;a(Lmq;)V
intermediary method_11014
Lnet/minecraft/class_2586;method_11014(Lnet/minecraft/class_2487;)V
named fromTag
Lnet/minecraft/block/entity/BlockEntity;fromTag(Lnet/minecraft/nbt/CompoundTag;)V
-
toTag
- Overrides:
toTag
in classLockableContainerBlockEntity
- Mappings:
Namespace Name Mixin selector official b
Lcfr;b(Lmq;)Lmq;
intermediary method_11007
Lnet/minecraft/class_2586;method_11007(Lnet/minecraft/class_2487;)Lnet/minecraft/class_2487;
named toTag
Lnet/minecraft/block/entity/BlockEntity;toTag(Lnet/minecraft/nbt/CompoundTag;)Lnet/minecraft/nbt/CompoundTag;
-
tick
public static void tick(World world, BlockPos pos, BlockState state, AbstractFurnaceBlockEntity blockEntity)- Mappings:
Namespace Name Mixin selector official a
Lcfh;a(Lbtv;Lfx;Lcht;Lcfh;)V
intermediary method_31651
Lnet/minecraft/class_2609;method_31651(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_2609;)V
named tick
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;tick(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;)V
-
canAcceptRecipeOutput
private static boolean canAcceptRecipeOutput(@Nullable Recipe<?> recipe, DefaultedList<ItemStack> slots, int count)- Mappings:
Namespace Name Mixin selector official a
Lcfh;a(Lbqn;Lgj;I)Z
intermediary method_11192
Lnet/minecraft/class_2609;method_11192(Lnet/minecraft/class_1860;Lnet/minecraft/class_2371;I)Z
named canAcceptRecipeOutput
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;canAcceptRecipeOutput(Lnet/minecraft/recipe/Recipe;Lnet/minecraft/util/collection/DefaultedList;I)Z
-
craftRecipe
private static boolean craftRecipe(@Nullable Recipe<?> recipe, DefaultedList<ItemStack> slots, int count)- Mappings:
Namespace Name Mixin selector official b
Lcfh;b(Lbqn;Lgj;I)Z
intermediary method_11203
Lnet/minecraft/class_2609;method_11203(Lnet/minecraft/class_1860;Lnet/minecraft/class_2371;I)Z
named craftRecipe
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;craftRecipe(Lnet/minecraft/recipe/Recipe;Lnet/minecraft/util/collection/DefaultedList;I)Z
-
getFuelTime
- Mappings:
Namespace Name Mixin selector official a
Lcfh;a(Lbnv;)I
intermediary method_11200
Lnet/minecraft/class_2609;method_11200(Lnet/minecraft/class_1799;)I
named getFuelTime
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;getFuelTime(Lnet/minecraft/item/ItemStack;)I
-
getCookTime
private static int getCookTime(World world, RecipeType<? extends AbstractCookingRecipe> recipeType, Inventory inventory)- Mappings:
Namespace Name Mixin selector official a
Lcfh;a(Lbtv;Lbqq;Lapj;)I
intermediary method_17029
Lnet/minecraft/class_2609;method_17029(Lnet/minecraft/class_1937;Lnet/minecraft/class_3956;Lnet/minecraft/class_1263;)I
named getCookTime
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;getCookTime(Lnet/minecraft/world/World;Lnet/minecraft/recipe/RecipeType;Lnet/minecraft/inventory/Inventory;)I
-
canUseAsFuel
- Mappings:
Namespace Name Mixin selector official b
Lcfh;b(Lbnv;)Z
intermediary method_11195
Lnet/minecraft/class_2609;method_11195(Lnet/minecraft/class_1799;)Z
named canUseAsFuel
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;canUseAsFuel(Lnet/minecraft/item/ItemStack;)Z
-
getAvailableSlots
Gets the available slot positions that are reachable from a given side.- Specified by:
getAvailableSlots
in interfaceSidedInventory
- Mappings:
Namespace Name Mixin selector official a
Lapz;a(Lgc;)[I
intermediary method_5494
Lnet/minecraft/class_1278;method_5494(Lnet/minecraft/class_2350;)[I
named getAvailableSlots
Lnet/minecraft/inventory/SidedInventory;getAvailableSlots(Lnet/minecraft/util/math/Direction;)[I
-
canInsert
Determines whether the given stack can be inserted into this inventory at the specified slot position from the given direction.- Specified by:
canInsert
in interfaceSidedInventory
- Mappings:
Namespace Name Mixin selector official a
Lapz;a(ILbnv;Lgc;)Z
intermediary method_5492
Lnet/minecraft/class_1278;method_5492(ILnet/minecraft/class_1799;Lnet/minecraft/class_2350;)Z
named canInsert
Lnet/minecraft/inventory/SidedInventory;canInsert(ILnet/minecraft/item/ItemStack;Lnet/minecraft/util/math/Direction;)Z
-
canExtract
Determines whether the given stack can be removed from this inventory at the specified slot position from the given direction.- Specified by:
canExtract
in interfaceSidedInventory
- Mappings:
Namespace Name Mixin selector official b
Lapz;b(ILbnv;Lgc;)Z
intermediary method_5493
Lnet/minecraft/class_1278;method_5493(ILnet/minecraft/class_1799;Lnet/minecraft/class_2350;)Z
named canExtract
Lnet/minecraft/inventory/SidedInventory;canExtract(ILnet/minecraft/item/ItemStack;Lnet/minecraft/util/math/Direction;)Z
-
size
public int size() -
isEmpty
public boolean isEmpty() -
getStack
Fetches the stack currently stored at the given slot. If the slot is empty, or is outside the bounds of this inventory, returns seeItemStack.EMPTY
. -
removeStack
Removes a specific number of items from the given slot.- Specified by:
removeStack
in interfaceInventory
- Returns:
- the removed items as a stack
- Mappings:
Namespace Name Mixin selector official a
Lapj;a(II)Lbnv;
intermediary method_5434
Lnet/minecraft/class_1263;method_5434(II)Lnet/minecraft/class_1799;
named removeStack
Lnet/minecraft/inventory/Inventory;removeStack(II)Lnet/minecraft/item/ItemStack;
-
removeStack
Removes the stack currently stored at the indicated slot.- Specified by:
removeStack
in interfaceInventory
- Returns:
- the stack previously stored at the indicated slot.
- Mappings:
Namespace Name Mixin selector official b
Lapj;b(I)Lbnv;
intermediary method_5441
Lnet/minecraft/class_1263;method_5441(I)Lnet/minecraft/class_1799;
named removeStack
Lnet/minecraft/inventory/Inventory;removeStack(I)Lnet/minecraft/item/ItemStack;
-
setStack
-
canPlayerUse
- Specified by:
canPlayerUse
in interfaceInventory
- Mappings:
Namespace Name Mixin selector official a
Lapj;a(Lbhl;)Z
intermediary method_5443
Lnet/minecraft/class_1263;method_5443(Lnet/minecraft/class_1657;)Z
named canPlayerUse
Lnet/minecraft/inventory/Inventory;canPlayerUse(Lnet/minecraft/entity/player/PlayerEntity;)Z
-
isValid
Returns whether the given stack is a valid for the indicated slot position. -
clear
public void clear() -
setLastRecipe
- Specified by:
setLastRecipe
in interfaceRecipeUnlocker
- Mappings:
Namespace Name Mixin selector official a
Lblb;a(Lbqn;)V
intermediary method_7662
Lnet/minecraft/class_1732;method_7662(Lnet/minecraft/class_1860;)V
named setLastRecipe
Lnet/minecraft/recipe/RecipeUnlocker;setLastRecipe(Lnet/minecraft/recipe/Recipe;)V
-
getLastRecipe
- Specified by:
getLastRecipe
in interfaceRecipeUnlocker
- Mappings:
Namespace Name Mixin selector official ao_
Lblb;ao_()Lbqn;
intermediary method_7663
Lnet/minecraft/class_1732;method_7663()Lnet/minecraft/class_1860;
named getLastRecipe
Lnet/minecraft/recipe/RecipeUnlocker;getLastRecipe()Lnet/minecraft/recipe/Recipe;
-
unlockLastRecipe
- Specified by:
unlockLastRecipe
in interfaceRecipeUnlocker
- Mappings:
Namespace Name Mixin selector official b
Lblb;b(Lbhl;)V
intermediary method_7664
Lnet/minecraft/class_1732;method_7664(Lnet/minecraft/class_1657;)V
named unlockLastRecipe
Lnet/minecraft/recipe/RecipeUnlocker;unlockLastRecipe(Lnet/minecraft/entity/player/PlayerEntity;)V
-
dropExperienceForRecipesUsed
- Mappings:
Namespace Name Mixin selector official a
Lcfh;a(Laaw;)V
intermediary method_17763
Lnet/minecraft/class_2609;method_17763(Lnet/minecraft/class_3222;)V
named dropExperienceForRecipesUsed
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;dropExperienceForRecipesUsed(Lnet/minecraft/server/network/ServerPlayerEntity;)V
-
getRecipesUsedAndDropExperience
- Mappings:
Namespace Name Mixin selector official a
Lcfh;a(Laav;Ldiu;)Ljava/util/List;
intermediary method_27354
Lnet/minecraft/class_2609;method_27354(Lnet/minecraft/class_3218;Lnet/minecraft/class_243;)Ljava/util/List;
named getRecipesUsedAndDropExperience
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;getRecipesUsedAndDropExperience(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/Vec3d;)Ljava/util/List;
-
dropExperience
- Mappings:
Namespace Name Mixin selector official a
Lcfh;a(Laav;Ldiu;IF)V
intermediary method_17760
Lnet/minecraft/class_2609;method_17760(Lnet/minecraft/class_3218;Lnet/minecraft/class_243;IF)V
named dropExperience
Lnet/minecraft/block/entity/AbstractFurnaceBlockEntity;dropExperience(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/Vec3d;IF)V
-
provideRecipeInputs
- Specified by:
provideRecipeInputs
in interfaceRecipeInputProvider
- Mappings:
Namespace Name Mixin selector official a
Lblk;a(Lbhn;)V
intermediary method_7683
Lnet/minecraft/class_1737;method_7683(Lnet/minecraft/class_1662;)V
named provideRecipeInputs
Lnet/minecraft/recipe/RecipeInputProvider;provideRecipeInputs(Lnet/minecraft/recipe/RecipeFinder;)V
-