76 lines
1.6 KiB
Java
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;
|
|
}
|
|
}
|