minecraft-src/net/minecraft/world/inventory/ResultContainer.java
2025-07-04 01:41:11 +03:00

76 lines
1.6 KiB
Java

package net.minecraft.world.inventory;
import net.minecraft.core.NonNullList;
import net.minecraft.world.Container;
import net.minecraft.world.ContainerHelper;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.crafting.RecipeHolder;
import org.jetbrains.annotations.Nullable;
public class ResultContainer implements Container, RecipeCraftingHolder {
private final NonNullList<ItemStack> itemStacks = NonNullList.withSize(1, ItemStack.EMPTY);
@Nullable
private RecipeHolder<?> recipeUsed;
@Override
public int getContainerSize() {
return 1;
}
@Override
public boolean isEmpty() {
for (ItemStack itemStack : this.itemStacks) {
if (!itemStack.isEmpty()) {
return false;
}
}
return true;
}
@Override
public ItemStack getItem(int slot) {
return this.itemStacks.get(0);
}
@Override
public ItemStack removeItem(int slot, int amount) {
return ContainerHelper.takeItem(this.itemStacks, 0);
}
@Override
public ItemStack removeItemNoUpdate(int slot) {
return ContainerHelper.takeItem(this.itemStacks, 0);
}
@Override
public void setItem(int slot, ItemStack stack) {
this.itemStacks.set(0, stack);
}
@Override
public void setChanged() {
}
@Override
public boolean stillValid(Player player) {
return true;
}
@Override
public void clearContent() {
this.itemStacks.clear();
}
@Override
public void setRecipeUsed(@Nullable RecipeHolder<?> recipe) {
this.recipeUsed = recipe;
}
@Nullable
@Override
public RecipeHolder<?> getRecipeUsed() {
return this.recipeUsed;
}
}