From 21a611ea027ab5710f84d45a8feba9b103be0f50 Mon Sep 17 00:00:00 2001 From: Arthur Uzulin Date: Tue, 24 Sep 2013 21:16:00 +1000 Subject: [PATCH] More stuff on "Tsuki no me" --- .../blocks/logic/AdvancedDrawbridgeLogic.java | 9 ++- .../blocks/logic/DrawbridgeLogic.java | 4 +- .../AdvancedDrawbridgeContainer.java | 78 +++++++++++++++++++ src/tconstruct/inventory/DrawbridgeSlot.java | 6 +- .../library/blocks/IDrawbridgeLogicBase.java | 7 ++ 5 files changed, 97 insertions(+), 7 deletions(-) create mode 100644 src/tconstruct/inventory/AdvancedDrawbridgeContainer.java create mode 100644 src/tconstruct/library/blocks/IDrawbridgeLogicBase.java diff --git a/src/tconstruct/blocks/logic/AdvancedDrawbridgeLogic.java b/src/tconstruct/blocks/logic/AdvancedDrawbridgeLogic.java index a1ca0b4fdad..cabf96d8b25 100644 --- a/src/tconstruct/blocks/logic/AdvancedDrawbridgeLogic.java +++ b/src/tconstruct/blocks/logic/AdvancedDrawbridgeLogic.java @@ -12,16 +12,17 @@ //import net.minecraft.util.MathHelper; //import net.minecraft.world.World; //import net.minecraftforge.common.ForgeDirection; -//import tconstruct.inventory.DrawbridgeContainer; +//import tconstruct.inventory.AdvancedDrawbridgeContainer; //import tconstruct.library.TConstructRegistry; -//import tconstruct.library.blocks.ExpandableInventoryLogic; +//import tconstruct.library.blocks.*; //import tconstruct.library.util.*; //import tconstruct.util.player.FakePlayerLogic; // -//public class AdvancedDrawbridgeLogic extends ExpandableInventoryLogic implements IFacingLogic, IActiveLogic { +//public class AdvancedDrawbridgeLogic extends ExpandableInventoryLogic implements IFacingLogic, IActiveLogic, IDrawbridgeLogicBase { // boolean active; // boolean working; // int ticks; +// public int selSlot = 0; // byte extension; // byte direction; // byte placementDirection = 4; @@ -176,7 +177,7 @@ // // @Override // public Container getGuiContainer(InventoryPlayer inventoryplayer, World world, int x, int y, int z) { -// return new DrawbridgeContainer(inventoryplayer, this); +// return new AdvancedDrawbridgeContainer(inventoryplayer, this); // } // // @Override diff --git a/src/tconstruct/blocks/logic/DrawbridgeLogic.java b/src/tconstruct/blocks/logic/DrawbridgeLogic.java index dffd6ccfe01..d03ba9a40ff 100644 --- a/src/tconstruct/blocks/logic/DrawbridgeLogic.java +++ b/src/tconstruct/blocks/logic/DrawbridgeLogic.java @@ -1,5 +1,7 @@ package tconstruct.blocks.logic; +import tconstruct.library.blocks.IDrawbridgeLogicBase; + import net.minecraft.nbt.NBTTagCompound; import net.minecraft.block.Block; @@ -19,7 +21,7 @@ import tconstruct.library.util.*; import tconstruct.util.player.FakePlayerLogic; -public class DrawbridgeLogic extends InventoryLogic implements IFacingLogic, IActiveLogic +public class DrawbridgeLogic extends InventoryLogic implements IFacingLogic, IActiveLogic, IDrawbridgeLogicBase { boolean active; boolean working; diff --git a/src/tconstruct/inventory/AdvancedDrawbridgeContainer.java b/src/tconstruct/inventory/AdvancedDrawbridgeContainer.java new file mode 100644 index 00000000000..2b8d9756d51 --- /dev/null +++ b/src/tconstruct/inventory/AdvancedDrawbridgeContainer.java @@ -0,0 +1,78 @@ +//package tconstruct.inventory; +// +//import net.minecraft.entity.player.*; +//import net.minecraft.inventory.*; +//import net.minecraft.item.ItemStack; +//import tconstruct.blocks.logic.*; +// +//public class AdvancedDrawbridgeContainer extends Container +//{ +// public AdvancedDrawbridgeLogic logic; +// public int progress = 0; +// public int fuel = 0; +// public int fuelGague = 0; +// +// public AdvancedDrawbridgeContainer(InventoryPlayer inventoryplayer, AdvancedDrawbridgeLogic logic) +// { +// this.logic = logic; +// +// this.addSlotToContainer(new DrawbridgeSlot(logic, logic.selSlot < logic.getSizeInventory() ? logic.selSlot : 0, 80, 36, logic)); +// this.addSlotToContainer(new SlotOpaqueBlocksOnly(logic, 1, 35, 36)); +// +// /* Player inventory */ +// for (int column = 0; column < 3; column++) +// { +// for (int row = 0; row < 9; row++) +// { +// this.addSlotToContainer(new Slot(inventoryplayer, row + column * 9 + 9, 8 + row * 18, 84 + column * 18)); +// } +// } +// +// for (int column = 0; column < 9; column++) +// { +// this.addSlotToContainer(new Slot(inventoryplayer, column, 8 + column * 18, 142)); +// } +// } +// +// @Override +// public boolean canInteractWith (EntityPlayer entityplayer) +// { +// return logic.isUseableByPlayer(entityplayer); +// } +// +// @Override +// public ItemStack transferStackInSlot (EntityPlayer player, int slotID) +// { +// ItemStack stack = null; +// Slot slot = (Slot) this.inventorySlots.get(slotID); +// +// if (slot != null && slot.getHasStack()) +// { +// ItemStack slotStack = slot.getStack(); +// stack = slotStack.copy(); +// +// if (slotID < logic.getSizeInventory()) +// { +// if (!this.mergeItemStack(slotStack, logic.getSizeInventory(), this.inventorySlots.size(), true)) +// { +// return null; +// } +// } +// else if (!this.mergeItemStack(slotStack, 0, logic.getSizeInventory(), false)) +// { +// return null; +// } +// +// if (slotStack.stackSize == 0) +// { +// slot.putStack((ItemStack) null); +// } +// else +// { +// slot.onSlotChanged(); +// } +// } +// +// return stack; +// } +//} diff --git a/src/tconstruct/inventory/DrawbridgeSlot.java b/src/tconstruct/inventory/DrawbridgeSlot.java index ec65b16c956..13595cfc38c 100644 --- a/src/tconstruct/inventory/DrawbridgeSlot.java +++ b/src/tconstruct/inventory/DrawbridgeSlot.java @@ -1,5 +1,7 @@ package tconstruct.inventory; +import tconstruct.library.blocks.IDrawbridgeLogicBase; + import tconstruct.blocks.logic.DrawbridgeLogic; import tconstruct.library.TConstructRegistry; import net.minecraft.entity.player.EntityPlayer; @@ -9,9 +11,9 @@ public class DrawbridgeSlot extends SlotBlocksOnly { - DrawbridgeLogic logic; + IDrawbridgeLogicBase logic; - public DrawbridgeSlot(IInventory iinventory, int par2, int par3, int par4, DrawbridgeLogic logic) + public DrawbridgeSlot(IInventory iinventory, int par2, int par3, int par4, IDrawbridgeLogicBase logic) { super(iinventory, par2, par3, par4); this.logic = logic; diff --git a/src/tconstruct/library/blocks/IDrawbridgeLogicBase.java b/src/tconstruct/library/blocks/IDrawbridgeLogicBase.java new file mode 100644 index 00000000000..c241042c1ee --- /dev/null +++ b/src/tconstruct/library/blocks/IDrawbridgeLogicBase.java @@ -0,0 +1,7 @@ +package tconstruct.library.blocks; + +public interface IDrawbridgeLogicBase{ + + public boolean hasExtended(); + +}