desh crates, cleaned up crate code terribleness

This commit is contained in:
Boblet 2022-05-25 16:37:29 +02:00
parent 7e7d062324
commit c27d9e152e
25 changed files with 322 additions and 678 deletions

View File

@ -583,16 +583,10 @@ public class ModBlocks {
public static final int guiID_capsule = 93;
public static Block crate_iron;
public static final int guiID_crate_iron = 46;
public static Block crate_steel;
public static final int guiID_crate_steel = 47;
public static Block crate_desh;
public static Block crate_tungsten;
public static final int guiID_crate_tungsten = 103;
public static Block safe;
public static final int guiID_safe = 70;
public static Block nuke_gadget;
public static final int guiID_nuke_gadget = 3;
@ -2112,6 +2106,7 @@ public class ModBlocks {
crate_jungle = new BlockJungleCrate(Material.rock).setBlockName("crate_jungle").setStepSound(Block.soundTypeStone).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_jungle");
crate_iron = new BlockStorageCrate(Material.iron).setBlockName("crate_iron").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
crate_steel = new BlockStorageCrate(Material.iron).setBlockName("crate_steel").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
crate_desh = new BlockStorageCrate(Material.iron).setBlockName("crate_desh").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
crate_tungsten = new BlockStorageCrate(Material.iron).setBlockName("crate_tungsten").setStepSound(Block.soundTypeMetal).setHardness(7.5F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab);
safe = new BlockStorageCrate(Material.iron).setBlockName("safe").setStepSound(Block.soundTypeMetal).setHardness(7.5F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab);
@ -2906,6 +2901,7 @@ public class ModBlocks {
//Crates
GameRegistry.registerBlock(crate_iron, crate_iron.getUnlocalizedName());
GameRegistry.registerBlock(crate_steel, crate_steel.getUnlocalizedName());
GameRegistry.registerBlock(crate_desh, crate_desh.getUnlocalizedName());
GameRegistry.registerBlock(crate_tungsten, crate_tungsten.getUnlocalizedName());
GameRegistry.registerBlock(safe, safe.getUnlocalizedName());

View File

@ -8,6 +8,8 @@ import com.hbm.items.tool.ItemLock;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.machine.TileEntityLockableBase;
import com.hbm.tileentity.machine.storage.TileEntityCrateBase;
import com.hbm.tileentity.machine.storage.TileEntityCrateDesh;
import com.hbm.tileentity.machine.storage.TileEntityCrateIron;
import com.hbm.tileentity.machine.storage.TileEntityCrateSteel;
import com.hbm.tileentity.machine.storage.TileEntityCrateTungsten;
@ -56,6 +58,10 @@ public class BlockStorageCrate extends BlockContainer {
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":crate_tungsten_top");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":crate_tungsten_side");
}
if(this == ModBlocks.crate_desh) {
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":crate_desh_top");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":crate_desh_side");
}
if(this == ModBlocks.safe) {
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":safe_front");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":safe_side");
@ -74,14 +80,11 @@ public class BlockStorageCrate extends BlockContainer {
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
if(this == ModBlocks.crate_iron)
return new TileEntityCrateIron();
if(this == ModBlocks.crate_steel)
return new TileEntityCrateSteel();
if(this == ModBlocks.crate_tungsten)
return new TileEntityCrateTungsten();
if(this == ModBlocks.safe)
return new TileEntitySafe();
if(this == ModBlocks.crate_iron) return new TileEntityCrateIron();
if(this == ModBlocks.crate_steel) return new TileEntityCrateSteel();
if(this == ModBlocks.crate_desh) return new TileEntityCrateDesh();
if(this == ModBlocks.crate_tungsten) return new TileEntityCrateTungsten();
if(this == ModBlocks.safe) return new TileEntitySafe();
return null;
}
@ -143,17 +146,8 @@ public class BlockStorageCrate extends BlockContainer {
} else if(!player.isSneaking()) {
TileEntity entity = world.getTileEntity(x, y, z);
if(entity instanceof TileEntityCrateIron && ((TileEntityCrateIron) entity).canAccess(player)) {
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_crate_iron, world, x, y, z);
}
if(entity instanceof TileEntityCrateSteel && ((TileEntityCrateSteel) entity).canAccess(player)) {
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_crate_steel, world, x, y, z);
}
if(entity instanceof TileEntityCrateTungsten && ((TileEntityCrateTungsten) entity).canAccess(player)) {
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_crate_tungsten, world, x, y, z);
}
if(entity instanceof TileEntitySafe && ((TileEntitySafe) entity).canAccess(player)) {
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_safe, world, x, y, z);
if(entity instanceof TileEntityCrateBase && ((TileEntityCrateBase) entity).canAccess(player)) {
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z);
}
return true;
} else {

View File

@ -28,6 +28,12 @@ public class GUIHandler implements IGuiHandler {
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
TileEntity entity = world.getTileEntity(x, y, z);
if(entity instanceof TileEntityCrateIron) { return new ContainerCrateIron(player.inventory, (TileEntityCrateIron) entity); }
if(entity instanceof TileEntityCrateSteel) { return new ContainerCrateSteel(player.inventory, (TileEntityCrateSteel) entity); }
if(entity instanceof TileEntityCrateDesh) { return new ContainerCrateDesh(player.inventory, (TileEntityCrateDesh) entity); }
if(entity instanceof TileEntityCrateTungsten) { return new ContainerCrateTungsten(player.inventory, (TileEntityCrateTungsten) entity); }
if(entity instanceof TileEntitySafe) { return new ContainerSafe(player.inventory, (TileEntitySafe) entity); }
if(entity instanceof TileEntityMachineLiquefactor) { return new ContainerLiquefactor(player.inventory, (TileEntityMachineLiquefactor) entity); }
if(entity instanceof TileEntityMachineSolidifier) { return new ContainerSolidifier(player.inventory, (TileEntityMachineSolidifier) entity); }
@ -354,20 +360,6 @@ public class GUIHandler implements IGuiHandler {
return null;
}
case ModBlocks.guiID_crate_iron: {
if(entity instanceof TileEntityCrateIron) {
return new ContainerCrateIron(player.inventory, (TileEntityCrateIron) entity);
}
return null;
}
case ModBlocks.guiID_crate_steel: {
if(entity instanceof TileEntityCrateSteel) {
return new ContainerCrateSteel(player.inventory, (TileEntityCrateSteel) entity);
}
return null;
}
case ModBlocks.guiID_machine_press: {
if(entity instanceof TileEntityMachinePress) {
return new ContainerMachinePress(player.inventory, (TileEntityMachinePress) entity);
@ -487,13 +479,6 @@ public class GUIHandler implements IGuiHandler {
return null;
}
case ModBlocks.guiID_safe: {
if(entity instanceof TileEntitySafe) {
return new ContainerSafe(player.inventory, (TileEntitySafe) entity);
}
return null;
}
case ModBlocks.guiID_gascent: {
if(entity instanceof TileEntityMachineGasCent) {
return new ContainerMachineGasCent(player.inventory, (TileEntityMachineGasCent) entity);
@ -711,13 +696,6 @@ public class GUIHandler implements IGuiHandler {
return null;
}
case ModBlocks.guiID_crate_tungsten: {
if(entity instanceof TileEntityCrateTungsten) {
return new ContainerCrateTungsten(player.inventory, (TileEntityCrateTungsten) entity);
}
return null;
}
case ModBlocks.guiID_chekhov: {
if(entity instanceof TileEntityTurretChekhov) {
return new ContainerTurretBase(player.inventory, (TileEntityTurretChekhov) entity);
@ -873,6 +851,12 @@ public class GUIHandler implements IGuiHandler {
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
TileEntity entity = world.getTileEntity(x, y, z);
if(entity instanceof TileEntityCrateIron) { return new GUICrateIron(player.inventory, (TileEntityCrateIron) entity); }
if(entity instanceof TileEntityCrateSteel) { return new GUICrateSteel(player.inventory, (TileEntityCrateSteel) entity); }
if(entity instanceof TileEntityCrateDesh) { return new GUICrateDesh(player.inventory, (TileEntityCrateDesh) entity); }
if(entity instanceof TileEntityCrateTungsten) { return new GUICrateTungsten(player.inventory, (TileEntityCrateTungsten) entity); }
if(entity instanceof TileEntitySafe) { return new GUISafe(player.inventory, (TileEntitySafe) entity); }
if(entity instanceof TileEntityMachineLiquefactor) { return new GUILiquefactor(player.inventory, (TileEntityMachineLiquefactor) entity); }
if(entity instanceof TileEntityMachineSolidifier) { return new GUISolidifier(player.inventory, (TileEntityMachineSolidifier) entity); }
@ -1199,20 +1183,6 @@ public class GUIHandler implements IGuiHandler {
return null;
}
case ModBlocks.guiID_crate_iron: {
if(entity instanceof TileEntityCrateIron) {
return new GUICrateIron(player.inventory, (TileEntityCrateIron) entity);
}
return null;
}
case ModBlocks.guiID_crate_steel: {
if(entity instanceof TileEntityCrateSteel) {
return new GUICrateSteel(player.inventory, (TileEntityCrateSteel) entity);
}
return null;
}
case ModBlocks.guiID_machine_press: {
if(entity instanceof TileEntityMachinePress) {
return new GUIMachinePress(player.inventory, (TileEntityMachinePress) entity);
@ -1325,13 +1295,6 @@ public class GUIHandler implements IGuiHandler {
return null;
}
case ModBlocks.guiID_safe: {
if(entity instanceof TileEntitySafe) {
return new GUISafe(player.inventory, (TileEntitySafe) entity);
}
return null;
}
case ModBlocks.guiID_gascent: {
if(entity instanceof TileEntityMachineGasCent) {
return new GUIMachineGasCent(player.inventory, (TileEntityMachineGasCent) entity);
@ -1549,13 +1512,6 @@ public class GUIHandler implements IGuiHandler {
return null;
}
case ModBlocks.guiID_crate_tungsten: {
if(entity instanceof TileEntityCrateTungsten) {
return new GUICrateTungsten(player.inventory, (TileEntityCrateTungsten) entity);
}
return null;
}
case ModBlocks.guiID_chekhov: {
if(entity instanceof TileEntityTurretChekhov) {
return new GUITurretChekhov(player.inventory, (TileEntityTurretChekhov) entity);

View File

@ -0,0 +1,67 @@
package com.hbm.inventory.container;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ContainerCrateDesh extends Container {
private IInventory diFurnace;
public ContainerCrateDesh(InventoryPlayer invPlayer, IInventory tedf) {
diFurnace = tedf;
for(int i = 0; i < 8; i++) {
for(int j = 0; j < 13; j++) {
this.addSlotToContainer(new Slot(tedf, j + i * 13, 8 + j * 18, 18 + i * 18));
}
}
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 9; j++) {
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 44 + j * 18, 174 + i * 18));
}
}
for(int i = 0; i < 9; i++) {
this.addSlotToContainer(new Slot(invPlayer, i, 44 + i * 18, 232));
}
}
@Override
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) {
ItemStack var3 = null;
Slot var4 = (Slot) this.inventorySlots.get(par2);
if(var4 != null && var4.getHasStack()) {
ItemStack var5 = var4.getStack();
var3 = var5.copy();
if(par2 <= diFurnace.getSizeInventory() - 1) {
if(!this.mergeItemStack(var5, diFurnace.getSizeInventory(), this.inventorySlots.size(), true)) {
return null;
}
} else if(!this.mergeItemStack(var5, 0, diFurnace.getSizeInventory(), false)) {
return null;
}
if(var5.stackSize == 0) {
var4.putStack((ItemStack) null);
} else {
var4.onSlotChanged();
}
var4.onPickupFromSlot(p_82846_1_, var5);
}
return var3;
}
@Override
public boolean canInteractWith(EntityPlayer player) {
return diFurnace.isUseableByPlayer(player);
}
}

View File

@ -0,0 +1,42 @@
package com.hbm.inventory.gui;
import org.lwjgl.opengl.GL11;
import com.hbm.inventory.container.ContainerCrateDesh;
import com.hbm.lib.RefStrings;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.util.ResourceLocation;
public class GUICrateDesh extends GuiContainer {
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crate_desh.png");
private IInventory crate;
public GUICrateDesh(InventoryPlayer invPlayer, IInventory inv) {
super(new ContainerCrateDesh(invPlayer, inv));
crate = inv;
this.xSize = 248;
this.ySize = 256;
}
@Override
protected void drawGuiContainerForegroundLayer(int i, int j) {
String name = this.crate.hasCustomInventoryName() ? this.crate.getInventoryName() : I18n.format(this.crate.getInventoryName());
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
this.fontRendererObj.drawString(I18n.format("container.inventory"), 40, this.ySize - 96 + 3, 4210752);
}
@Override
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
}
}

View File

@ -14,7 +14,7 @@ import net.minecraft.util.ResourceLocation;
public class GUICrateIron extends GuiContainer {
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_crate_iron.png");
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crate_iron.png");
private TileEntityCrateIron diFurnace;
public GUICrateIron(InventoryPlayer invPlayer, TileEntityCrateIron tedf) {

View File

@ -14,7 +14,7 @@ import net.minecraft.util.ResourceLocation;
public class GUICrateSteel extends GuiContainer {
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_crate_steel.png");
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crate_steel.png");
private IInventory crate;
public GUICrateSteel(InventoryPlayer invPlayer, IInventory inv) {

View File

@ -14,8 +14,8 @@ import net.minecraft.util.ResourceLocation;
public class GUICrateTungsten extends GuiContainer {
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_crate_tungsten.png");
private static ResourceLocation texture_hot = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_crate_tungsten_hot.png");
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crate_tungsten.png");
private static ResourceLocation texture_hot = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crate_tungsten_hot.png");
private TileEntityCrateTungsten diFurnace;
public GUICrateTungsten(InventoryPlayer invPlayer, TileEntityCrateTungsten tedf) {

View File

@ -14,7 +14,7 @@ import net.minecraft.util.ResourceLocation;
public class GUISafe extends GuiContainer {
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_safe.png");
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_safe.png");
private TileEntitySafe diFurnace;
public GUISafe(InventoryPlayer invPlayer, TileEntitySafe tedf) {

View File

@ -213,7 +213,7 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements
data.setInteger("progress", progress);
data.setInteger("maxProgress", maxProgress);
data.setBoolean("isProgressing", isProgressing);
data.setInteger("recipe", slots[4] != null ? slots[4].getItemDamage() : -1);
data.setInteger("recipe", slots[4] != null ? AssemblerRecipes.recipeList.indexOf(AssemblerRecipes.getOutputFromTempate(slots[4])) : -1);
this.networkPack(data, 150);
} else {

View File

@ -0,0 +1,158 @@
package com.hbm.tileentity.machine.storage;
import com.hbm.tileentity.machine.TileEntityLockableBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
public abstract class TileEntityCrateBase extends TileEntityLockableBase implements ISidedInventory {
protected ItemStack slots[];
public String customName;
public TileEntityCrateBase() {
slots = new ItemStack[0];
}
public TileEntityCrateBase(int count) {
slots = new ItemStack[count];
}
@Override
public int getSizeInventory() {
return slots.length;
}
@Override
public ItemStack getStackInSlot(int i) {
return slots[i];
}
@Override
public ItemStack getStackInSlotOnClosing(int i) {
if (slots[i] != null) {
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
} else {
return null;
}
}
@Override
public void setInventorySlotContents(int i, ItemStack itemStack) {
slots[i] = itemStack;
if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) {
itemStack.stackSize = getInventoryStackLimit();
}
}
@Override
public boolean hasCustomInventoryName() {
return this.customName != null && this.customName.length() > 0;
}
public void setCustomName(String name) {
this.customName = name;
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) {
return false;
} else {
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64;
}
}
// You scrubs aren't needed for anything (right now)
@Override
public void openInventory() {
}
@Override
public void closeInventory() {
}
@Override
public boolean isItemValidForSlot(int i, ItemStack stack) {
return true;
}
@Override
public ItemStack decrStackSize(int i, int j) {
if (slots[i] != null) {
if (slots[i].stackSize <= j) {
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
}
ItemStack itemStack1 = slots[i].splitStack(j);
if (slots[i].stackSize == 0) {
slots[i] = null;
}
return itemStack1;
} else {
return null;
}
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
NBTTagList list = nbt.getTagList("items", 10);
slots = new ItemStack[getSizeInventory()];
for (int i = 0; i < list.tagCount(); i++) {
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
byte b0 = nbt1.getByte("slot");
if (b0 >= 0 && b0 < slots.length) {
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
}
}
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
NBTTagList list = new NBTTagList();
for (int i = 0; i < slots.length; i++) {
if (slots[i] != null) {
NBTTagCompound nbt1 = new NBTTagCompound();
nbt1.setByte("slot", (byte) i);
slots[i].writeToNBT(nbt1);
list.appendTag(nbt1);
}
}
nbt.setTag("items", list);
}
@Override
public int[] getAccessibleSlotsFromSide(int side) {
int[] slots = new int[this.slots.length];
for(int i = 0; i < slots.length; i++) slots[i] = i;
return slots;
}
@Override
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
return this.isItemValidForSlot(i, itemStack) && !this.isLocked();
}
@Override
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
return !this.isLocked();
}
}

View File

@ -0,0 +1,13 @@
package com.hbm.tileentity.machine.storage;
public class TileEntityCrateDesh extends TileEntityCrateBase {
public TileEntityCrateDesh() {
super(104); //8 rows with 13 slots
}
@Override
public String getInventoryName() {
return this.hasCustomInventoryName() ? this.customName : "container.crateDesh";
}
}

View File

@ -1,162 +1,13 @@
package com.hbm.tileentity.machine.storage;
import com.hbm.tileentity.machine.TileEntityLockableBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
public class TileEntityCrateIron extends TileEntityLockableBase implements ISidedInventory {
private ItemStack slots[];
private String customName;
public class TileEntityCrateIron extends TileEntityCrateBase {
public TileEntityCrateIron() {
slots = new ItemStack[36];
}
@Override
public int getSizeInventory() {
return slots.length;
}
@Override
public ItemStack getStackInSlot(int i) {
return slots[i];
}
@Override
public ItemStack getStackInSlotOnClosing(int i) {
if (slots[i] != null) {
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
} else {
return null;
}
}
@Override
public void setInventorySlotContents(int i, ItemStack itemStack) {
slots[i] = itemStack;
if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) {
itemStack.stackSize = getInventoryStackLimit();
}
super(36);
}
@Override
public String getInventoryName() {
return this.hasCustomInventoryName() ? this.customName : "container.crateIron";
}
@Override
public boolean hasCustomInventoryName() {
return this.customName != null && this.customName.length() > 0;
}
public void setCustomName(String name) {
this.customName = name;
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) {
return false;
} else {
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64;
}
}
// You scrubs aren't needed for anything (right now)
@Override
public void openInventory() {
}
@Override
public void closeInventory() {
}
@Override
public boolean isItemValidForSlot(int i, ItemStack stack) {
return true;
}
@Override
public ItemStack decrStackSize(int i, int j) {
if (slots[i] != null) {
if (slots[i].stackSize <= j) {
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
}
ItemStack itemStack1 = slots[i].splitStack(j);
if (slots[i].stackSize == 0) {
slots[i] = null;
}
return itemStack1;
} else {
return null;
}
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
NBTTagList list = nbt.getTagList("items", 10);
slots = new ItemStack[getSizeInventory()];
for (int i = 0; i < list.tagCount(); i++) {
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
byte b0 = nbt1.getByte("slot");
if (b0 >= 0 && b0 < slots.length) {
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
}
}
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
NBTTagList list = new NBTTagList();
for (int i = 0; i < slots.length; i++) {
if (slots[i] != null) {
NBTTagCompound nbt1 = new NBTTagCompound();
nbt1.setByte("slot", (byte) i);
slots[i].writeToNBT(nbt1);
list.appendTag(nbt1);
}
}
nbt.setTag("items", list);
}
@Override
public int[] getAccessibleSlotsFromSide(int p_94128_1_) {
int[] slots = new int[36];
for(int i = 0; i < slots.length; i++)
slots[i] = i;
return slots;
}
@Override
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
return this.isItemValidForSlot(i, itemStack) && !this.isLocked();
}
@Override
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
return !this.isLocked();
}
}

View File

@ -1,161 +1,15 @@
package com.hbm.tileentity.machine.storage;
import com.hbm.tileentity.machine.TileEntityLockableBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
public class TileEntityCrateSteel extends TileEntityLockableBase implements ISidedInventory {
private ItemStack slots[];
private String customName;
public class TileEntityCrateSteel extends TileEntityCrateBase implements ISidedInventory {
public TileEntityCrateSteel() {
slots = new ItemStack[54];
}
@Override
public int getSizeInventory() {
return slots.length;
}
@Override
public ItemStack getStackInSlot(int i) {
return slots[i];
}
@Override
public ItemStack getStackInSlotOnClosing(int i) {
if (slots[i] != null) {
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
} else {
return null;
}
}
@Override
public void setInventorySlotContents(int i, ItemStack itemStack) {
slots[i] = itemStack;
if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) {
itemStack.stackSize = getInventoryStackLimit();
}
super(54);
}
@Override
public String getInventoryName() {
return this.hasCustomInventoryName() ? this.customName : "container.crateSteel";
}
@Override
public boolean hasCustomInventoryName() {
return this.customName != null && this.customName.length() > 0;
}
public void setCustomName(String name) {
this.customName = name;
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) {
return false;
} else {
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64;
}
}
// You scrubs aren't needed for anything (right now)
@Override
public void openInventory() {
}
@Override
public void closeInventory() {
}
@Override
public boolean isItemValidForSlot(int i, ItemStack stack) {
return true;
}
@Override
public ItemStack decrStackSize(int i, int j) {
if (slots[i] != null) {
if (slots[i].stackSize <= j) {
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
}
ItemStack itemStack1 = slots[i].splitStack(j);
if (slots[i].stackSize == 0) {
slots[i] = null;
}
return itemStack1;
} else {
return null;
}
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
NBTTagList list = nbt.getTagList("items", 10);
slots = new ItemStack[getSizeInventory()];
for (int i = 0; i < list.tagCount(); i++) {
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
byte b0 = nbt1.getByte("slot");
if (b0 >= 0 && b0 < slots.length) {
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
}
}
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
NBTTagList list = new NBTTagList();
for (int i = 0; i < slots.length; i++) {
if (slots[i] != null) {
NBTTagCompound nbt1 = new NBTTagCompound();
nbt1.setByte("slot", (byte) i);
slots[i].writeToNBT(nbt1);
list.appendTag(nbt1);
}
}
nbt.setTag("items", list);
}
@Override
public int[] getAccessibleSlotsFromSide(int p_94128_1_) {
int[] slots = new int[54];
for(int i = 0; i < slots.length; i++)
slots[i] = i;
return slots;
}
@Override
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
return this.isItemValidForSlot(i, itemStack) && !this.isLocked();
}
@Override
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
return !this.isLocked();
}
}

View File

@ -1,57 +1,18 @@
package com.hbm.tileentity.machine.storage;
import com.hbm.items.ModItems;
import com.hbm.tileentity.machine.TileEntityLockableBase;
import api.hbm.block.ILaserable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityCrateTungsten extends TileEntityLockableBase implements ISidedInventory, ILaserable {
private ItemStack slots[];
private String customName;
public class TileEntityCrateTungsten extends TileEntityCrateBase implements ILaserable {
private int heatTimer;
public TileEntityCrateTungsten() {
slots = new ItemStack[27];
}
@Override
public int getSizeInventory() {
return slots.length;
}
@Override
public ItemStack getStackInSlot(int i) {
return slots[i];
}
@Override
public ItemStack getStackInSlotOnClosing(int i) {
if (slots[i] != null) {
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
} else {
return null;
}
}
@Override
public void setInventorySlotContents(int i, ItemStack itemStack) {
slots[i] = itemStack;
if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) {
itemStack.stackSize = getInventoryStackLimit();
}
super(27);
}
@Override
@ -59,62 +20,6 @@ public class TileEntityCrateTungsten extends TileEntityLockableBase implements I
return this.hasCustomInventoryName() ? this.customName : "container.crateTungsten";
}
@Override
public boolean hasCustomInventoryName() {
return this.customName != null && this.customName.length() > 0;
}
public void setCustomName(String name) {
this.customName = name;
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) {
return false;
} else {
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64;
}
}
// You scrubs aren't needed for anything (right now)
@Override
public void openInventory() {
}
@Override
public void closeInventory() {
}
@Override
public boolean isItemValidForSlot(int i, ItemStack stack) {
return true;
}
@Override
public ItemStack decrStackSize(int i, int j) {
if (slots[i] != null) {
if (slots[i].stackSize <= j) {
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
}
ItemStack itemStack1 = slots[i].splitStack(j);
if (slots[i].stackSize == 0) {
slots[i] = null;
}
return itemStack1;
} else {
return null;
}
}
@Override
public void updateEntity() {
@ -147,52 +52,6 @@ public class TileEntityCrateTungsten extends TileEntityLockableBase implements I
}
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
NBTTagList list = nbt.getTagList("items", 10);
slots = new ItemStack[getSizeInventory()];
for (int i = 0; i < list.tagCount(); i++) {
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
byte b0 = nbt1.getByte("slot");
if (b0 >= 0 && b0 < slots.length) {
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
}
}
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
NBTTagList list = new NBTTagList();
for (int i = 0; i < slots.length; i++) {
if (slots[i] != null) {
NBTTagCompound nbt1 = new NBTTagCompound();
nbt1.setByte("slot", (byte) i);
slots[i].writeToNBT(nbt1);
list.appendTag(nbt1);
}
}
nbt.setTag("items", list);
}
@Override
public int[] getAccessibleSlotsFromSide(int p_94128_1_) {
int[] slots = new int[27];
for(int i = 0; i < slots.length; i++)
slots[i] = i;
return slots;
}
@Override
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
return this.isItemValidForSlot(i, itemStack) && !this.isLocked();
}
@Override
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
if(this.isLocked())

View File

@ -1,161 +1,15 @@
package com.hbm.tileentity.machine.storage;
import com.hbm.tileentity.machine.TileEntityLockableBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
public class TileEntitySafe extends TileEntityLockableBase implements ISidedInventory {
private ItemStack slots[];
private String customName;
public class TileEntitySafe extends TileEntityCrateBase implements ISidedInventory {
public TileEntitySafe() {
slots = new ItemStack[15];
}
@Override
public int getSizeInventory() {
return slots.length;
}
@Override
public ItemStack getStackInSlot(int i) {
return slots[i];
}
@Override
public ItemStack getStackInSlotOnClosing(int i) {
if (slots[i] != null) {
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
} else {
return null;
}
}
@Override
public void setInventorySlotContents(int i, ItemStack itemStack) {
slots[i] = itemStack;
if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) {
itemStack.stackSize = getInventoryStackLimit();
}
super(15);
}
@Override
public String getInventoryName() {
return this.hasCustomInventoryName() ? this.customName : "container.safe";
}
@Override
public boolean hasCustomInventoryName() {
return this.customName != null && this.customName.length() > 0;
}
public void setCustomName(String name) {
this.customName = name;
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) {
return false;
} else {
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64;
}
}
// You scrubs aren't needed for anything (right now)
@Override
public void openInventory() {
}
@Override
public void closeInventory() {
}
@Override
public boolean isItemValidForSlot(int i, ItemStack stack) {
return true;
}
@Override
public ItemStack decrStackSize(int i, int j) {
if (slots[i] != null) {
if (slots[i].stackSize <= j) {
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
}
ItemStack itemStack1 = slots[i].splitStack(j);
if (slots[i].stackSize == 0) {
slots[i] = null;
}
return itemStack1;
} else {
return null;
}
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
NBTTagList list = nbt.getTagList("items", 10);
slots = new ItemStack[getSizeInventory()];
for (int i = 0; i < list.tagCount(); i++) {
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
byte b0 = nbt1.getByte("slot");
if (b0 >= 0 && b0 < slots.length) {
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
}
}
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
NBTTagList list = new NBTTagList();
for (int i = 0; i < slots.length; i++) {
if (slots[i] != null) {
NBTTagCompound nbt1 = new NBTTagCompound();
nbt1.setByte("slot", (byte) i);
slots[i].writeToNBT(nbt1);
list.appendTag(nbt1);
}
}
nbt.setTag("items", list);
}
@Override
public int[] getAccessibleSlotsFromSide(int p_94128_1_) {
int[] slots = new int[15];
for(int i = 0; i < slots.length; i++)
slots[i] = i;
return slots;
}
@Override
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
return this.isItemValidForSlot(i, itemStack) && !this.isLocked();
}
@Override
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
return !this.isLocked();
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 772 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 662 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB