add gui for controllers
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
package storagecraft.inventory;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
|
||||
public class ContainerController extends ContainerSC {
|
||||
public ContainerController(EntityPlayer player) {
|
||||
super(player);
|
||||
|
||||
addPlayerInventory(8, 108);
|
||||
}
|
||||
}
|
||||
40
src/main/java/storagecraft/inventory/ContainerSC.java
Normal file
40
src/main/java/storagecraft/inventory/ContainerSC.java
Normal file
@@ -0,0 +1,40 @@
|
||||
package storagecraft.inventory;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ContainerSC extends Container {
|
||||
private EntityPlayer player;
|
||||
|
||||
public ContainerSC(EntityPlayer player) {
|
||||
this.player = player;
|
||||
}
|
||||
|
||||
protected void addPlayerInventory(int xInventory, int yInventory) {
|
||||
int id = 0;
|
||||
|
||||
for (int i = 0; i < 9; i++) {
|
||||
addSlotToContainer(new Slot(player.inventory, id, xInventory + i * 18, yInventory + 4 + (3 * 18)));
|
||||
id++;
|
||||
}
|
||||
|
||||
for (int y = 0; y < 3; y++) {
|
||||
for (int x = 0; x < 9; x++) {
|
||||
addSlotToContainer(new Slot(player.inventory, id, xInventory + x * 18, yInventory + y * 18));
|
||||
id++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
103
src/main/java/storagecraft/inventory/InventoryBasic.java
Normal file
103
src/main/java/storagecraft/inventory/InventoryBasic.java
Normal file
@@ -0,0 +1,103 @@
|
||||
package storagecraft.inventory;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class InventoryBasic implements IInventory {
|
||||
private ItemStack[] inventory;
|
||||
private int inventorySize;
|
||||
private String name;
|
||||
|
||||
public InventoryBasic(String name, int size) {
|
||||
this.name = name;
|
||||
this.inventorySize = size;
|
||||
this.inventory = new ItemStack[inventorySize];
|
||||
}
|
||||
|
||||
public void setInventoryStack(ItemStack[] stack) {
|
||||
this.inventory = stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
return inventory.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int slotIndex) {
|
||||
return inventory[slotIndex];
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack decrStackSize(int slotIndex, int decrementAmount) {
|
||||
ItemStack itemStack = getStackInSlot(slotIndex);
|
||||
if (itemStack != null) {
|
||||
if (itemStack.stackSize <= decrementAmount) {
|
||||
setInventorySlotContents(slotIndex, null);
|
||||
} else {
|
||||
itemStack = itemStack.splitStack(decrementAmount);
|
||||
|
||||
if (itemStack.stackSize == 0) {
|
||||
setInventorySlotContents(slotIndex, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
return itemStack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlotOnClosing(int slotIndex) {
|
||||
ItemStack itemStack = getStackInSlot(slotIndex);
|
||||
if (itemStack != null) {
|
||||
setInventorySlotContents(slotIndex, null);
|
||||
}
|
||||
return itemStack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInventorySlotContents(int slotIndex, ItemStack itemStack) {
|
||||
if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) {
|
||||
itemStack.stackSize = getInventoryStackLimit();
|
||||
}
|
||||
|
||||
inventory[slotIndex] = itemStack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInventoryName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasCustomInventoryName() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseableByPlayer(EntityPlayer var1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openInventory() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeInventory() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int var1, ItemStack var2) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void markDirty() {
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user