Files
NotEnoughItems/src/main/java/codechicken/nei/ExtendedCreativeInv.java
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

101 lines
2.4 KiB
Java
Raw Normal View History

2014-04-29 10:54:20 +10:00
package codechicken.nei;
2023-09-25 00:34:42 +02:00
import cpw.mods.fml.relauncher.Side;
2014-04-29 10:54:20 +10:00
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
public class ExtendedCreativeInv implements IInventory {
2019-12-30 20:19:16 -08:00
final PlayerSave playerSave;
final Side side;
2014-04-29 10:54:20 +10:00
public ExtendedCreativeInv(PlayerSave playerSave, Side side) {
this.playerSave = playerSave;
this.side = side;
}
@Override
public int getSizeInventory() {
return 54;
}
@Override
public ItemStack getStackInSlot(int slot) {
if (side.isClient()) return NEIClientConfig.creativeInv[slot];
2014-04-29 10:54:20 +10:00
return playerSave.creativeInv[slot];
}
@Override
public ItemStack decrStackSize(int slot, int size) {
ItemStack item = getStackInSlot(slot);
if (item != null) {
if (item.stackSize <= size) {
setInventorySlotContents(slot, null);
markDirty();
2019-12-30 20:19:16 -08:00
return item;
2014-04-29 10:54:20 +10:00
}
ItemStack itemstack1 = item.splitStack(size);
if (item.stackSize == 0) {
setInventorySlotContents(slot, null);
}
markDirty();
return itemstack1;
}
return null;
}
@Override
public ItemStack getStackInSlotOnClosing(int slot) {
synchronized (this) {
ItemStack stack = getStackInSlot(slot);
setInventorySlotContents(slot, null);
return stack;
}
}
@Override
public void setInventorySlotContents(int slot, ItemStack stack) {
if (side.isClient()) NEIClientConfig.creativeInv[slot] = stack;
else playerSave.creativeInv[slot] = stack;
2014-04-29 10:54:20 +10:00
markDirty();
}
@Override
public String getInventoryName() {
return "Extended Creative";
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public void markDirty() {
if (side.isServer()) playerSave.setCreativeDirty();
2014-04-29 10:54:20 +10:00
}
@Override
public boolean isUseableByPlayer(EntityPlayer var1) {
return true;
}
@Override
public void openInventory() {}
2014-04-29 10:54:20 +10:00
@Override
public void closeInventory() {}
2014-04-29 10:54:20 +10:00
@Override
public boolean isItemValidForSlot(int slot, ItemStack stack) {
return true;
}
@Override
public boolean hasCustomInventoryName() {
return true;
}
}