aboutsummaryrefslogtreecommitdiff
path: root/src/Java/miscutil/core/multiblock/abstracts
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/miscutil/core/multiblock/abstracts')
-rw-r--r--src/Java/miscutil/core/multiblock/abstracts/AbstractFakeMultiblockController.java68
-rw-r--r--src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockController.java213
-rw-r--r--src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockLogic.java31
-rw-r--r--src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockSizeLimits.java69
-rw-r--r--src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockTE.java194
-rw-r--r--src/Java/miscutil/core/multiblock/abstracts/interfaces/IAbstractController.java7
-rw-r--r--src/Java/miscutil/core/multiblock/abstracts/interfaces/IAbstractControllerInternal.java9
-rw-r--r--src/Java/miscutil/core/multiblock/abstracts/interfaces/IAbstractMultiblockLogic.java11
8 files changed, 602 insertions, 0 deletions
diff --git a/src/Java/miscutil/core/multiblock/abstracts/AbstractFakeMultiblockController.java b/src/Java/miscutil/core/multiblock/abstracts/AbstractFakeMultiblockController.java
new file mode 100644
index 0000000000..1fc74a37a7
--- /dev/null
+++ b/src/Java/miscutil/core/multiblock/abstracts/AbstractFakeMultiblockController.java
@@ -0,0 +1,68 @@
+package miscutil.core.multiblock.abstracts;
+
+import miscutil.core.multiblock.abstracts.interfaces.IAbstractControllerInternal;
+import miscutil.core.multiblock.base.BaseFakeMultiblockController;
+import miscutil.core.multiblock.base.interfaces.IBaseMultiblockController;
+import net.minecraft.util.ChunkCoordinates;
+import net.minecraft.world.biome.BiomeGenBase;
+
+import com.mojang.authlib.GameProfile;
+
+public class AbstractFakeMultiblockController
+extends BaseFakeMultiblockController
+implements IAbstractControllerInternal
+{
+ public static final AbstractFakeMultiblockController instance = new AbstractFakeMultiblockController();
+
+
+ public int getBlockLightValue()
+ {
+ return 0;
+ }
+
+ public boolean canBlockSeeTheSky()
+ {
+ return false;
+ }
+
+ public GameProfile getOwner()
+ {
+ return null;
+ }
+
+ public ChunkCoordinates getCoordinates()
+ {
+ return null;
+ }
+
+ public BiomeGenBase getBiome()
+ {
+ return null;
+ }
+
+ @Override
+ public void assimilate(
+ IBaseMultiblockController paramIMultiblockControllerInternal) {
+ }
+
+ @Override
+ public void _onAssimilated(
+ IBaseMultiblockController paramIMultiblockControllerInternal) {
+ }
+
+ @Override
+ public void onAssimilated(
+ IBaseMultiblockController paramIMultiblockControllerInternal) {
+ }
+
+ @Override
+ public boolean shouldConsume(
+ IBaseMultiblockController paramIMultiblockControllerInternal) {
+ return false;
+ }
+
+ @Override
+ public int getHealthScaled(int paramInt) {
+ return 0;
+ }
+}
diff --git a/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockController.java b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockController.java
new file mode 100644
index 0000000000..2ebcea7ce8
--- /dev/null
+++ b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockController.java
@@ -0,0 +1,213 @@
+package miscutil.core.multiblock.abstracts;
+
+import java.util.Collection;
+
+import miscutil.core.multiblock.abstracts.interfaces.IAbstractControllerInternal;
+import miscutil.core.multiblock.base.interfaces.IBaseMultiblockController;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
+import raisintoast.core.common.CoordTriplet;
+import raisintoast.core.multiblock.IMultiblockPart;
+import raisintoast.core.multiblock.MultiblockControllerBase;
+import raisintoast.core.multiblock.rectangular.RectangularMultiblockControllerBase;
+
+
+public class AbstractMultiblockController extends RectangularMultiblockControllerBase implements IAbstractControllerInternal {
+
+ protected AbstractMultiblockController(World world) {
+ super(world);
+ // TODO Auto-generated constructor stub
+ }
+
+ @Override
+ public void decodeDescriptionPacket(NBTTagCompound arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void formatDescriptionPacket(NBTTagCompound arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected int getMaximumXSize() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ protected int getMaximumYSize() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ protected int getMaximumZSize() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ protected int getMinimumNumberOfBlocksForAssembledMachine() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ protected void onAssimilate(MultiblockControllerBase arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void onAssimilated(MultiblockControllerBase arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void onAttachedPartWithMultiblockData(IMultiblockPart arg0,
+ NBTTagCompound arg1) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void onBlockAdded(IMultiblockPart arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void onBlockRemoved(IMultiblockPart arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void onMachineAssembled() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void onMachineDisassembled() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void onMachinePaused() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void onMachineRestored() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void readFromNBT(NBTTagCompound arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected void updateClient() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ protected boolean updateServer() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public void writeToNBT(NBTTagCompound arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void reassemble() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public String getLastValidationError() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Collection<IMultiblockPart> getComponents() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void assimilate(
+ IBaseMultiblockController paramIMultiblockControllerInternal) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void _onAssimilated(
+ IBaseMultiblockController paramIMultiblockControllerInternal) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void onAssimilated(
+ IBaseMultiblockController paramIMultiblockControllerInternal) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public CoordTriplet getReferenceCoord() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public World getWorld() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean shouldConsume(
+ IBaseMultiblockController paramIMultiblockControllerInternal) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public String getPartsListString() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void auditParts() {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public int getHealthScaled(int paramInt) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+}
diff --git a/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockLogic.java b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockLogic.java
new file mode 100644
index 0000000000..c2c92e83d2
--- /dev/null
+++ b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockLogic.java
@@ -0,0 +1,31 @@
+package miscutil.core.multiblock.abstracts;
+
+import miscutil.core.multiblock.abstracts.interfaces.IAbstractControllerInternal;
+import miscutil.core.multiblock.abstracts.interfaces.IAbstractMultiblockLogic;
+import miscutil.core.multiblock.base.BaseMultiblockLogic;
+import net.minecraft.world.World;
+
+public class AbstractMultiblockLogic extends BaseMultiblockLogic<IAbstractControllerInternal> implements IAbstractMultiblockLogic
+{
+ public AbstractMultiblockLogic()
+ {
+ super(IAbstractControllerInternal.class);
+ }
+
+ @Override
+public IAbstractControllerInternal getController()
+ {
+ if (super.isConnected()) {
+ return (IAbstractControllerInternal)this.controller;
+ }
+ return AbstractFakeMultiblockController.instance;
+ }
+
+ @Override
+public IAbstractControllerInternal createNewController(World world)
+ {
+ return new AbstractMultiblockController(world);
+ }
+
+
+}
diff --git a/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockSizeLimits.java b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockSizeLimits.java
new file mode 100644
index 0000000000..e7675bb31e
--- /dev/null
+++ b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockSizeLimits.java
@@ -0,0 +1,69 @@
+package miscutil.core.multiblock.abstracts;
+
+import miscutil.core.multiblock.base.interfaces.IBaseMultiblockSizeLimits;
+
+public class AbstractMultiblockSizeLimits implements IBaseMultiblockSizeLimits {
+
+ public static final AbstractMultiblockSizeLimits instance = new AbstractMultiblockSizeLimits(3,3,3,3,3,3,27);
+
+ private short min_X;
+ private short min_Y;
+ private short min_Z;
+ private short max_X;
+ private short max_Y;
+ private short max_Z;
+ private short totalBlocks;
+
+ public AbstractMultiblockSizeLimits(int min_x, int min_y, int min_z, int max_x, int max_y, int max_z, int totalSize){
+ this.min_X = (short) min_x;
+ this.min_Y = (short) min_y;
+ this.min_Z = (short) min_z;
+ this.max_X = (short) max_x;
+ this.max_Y = (short) max_y;
+ this.max_Z = (short) max_z;
+ this.totalBlocks = (short) totalSize;
+ }
+
+
+ @Override
+ public int getMinNumberOfBlocksForAssembledMachine()
+ {
+ return totalBlocks;
+ }
+
+ @Override
+ public int getMaxXSize()
+ {
+ return max_X;
+ }
+
+ @Override
+ public int getMaxZSize()
+ {
+ return max_Y;
+ }
+
+ @Override
+ public int getMaxYSize()
+ {
+ return max_Z;
+ }
+
+ @Override
+ public int getMinXSize()
+ {
+ return min_X;
+ }
+
+ @Override
+ public int getMinYSize()
+ {
+ return min_Y;
+ }
+
+ @Override
+ public int getMinZSize()
+ {
+ return min_Z;
+ }
+}
diff --git a/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockTE.java b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockTE.java
new file mode 100644
index 0000000000..ada934f2b1
--- /dev/null
+++ b/src/Java/miscutil/core/multiblock/abstracts/AbstractMultiblockTE.java
@@ -0,0 +1,194 @@
+package miscutil.core.multiblock.abstracts;
+
+
+import miscutil.core.handler.GuiHandler;
+import miscutil.core.multiblock.abstracts.interfaces.IAbstractMultiblockLogic;
+import miscutil.core.multiblock.base.BaseMultiblockTE;
+import miscutil.core.xmod.forestry.core.inventory.FakeInventoryAdapter;
+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.NBTUtil;
+import net.minecraft.world.World;
+
+import com.mojang.authlib.GameProfile;
+
+public abstract class AbstractMultiblockTE<T extends IAbstractMultiblockLogic>
+extends BaseMultiblockTE<T> implements ISidedInventory {
+
+ private GameProfile owner;
+
+ public AbstractMultiblockTE(T multiblockLogic)
+ {
+ super(multiblockLogic);
+ }
+
+ public void openGui(EntityPlayer player)
+ {
+ GuiHandler.openGui(player, this);
+ }
+
+ @Override
+ public void readFromNBT(NBTTagCompound data)
+ {
+ super.readFromNBT(data);
+ if (data.hasKey("owner")) {
+ this.owner = NBTUtil.func_152459_a(data.getCompoundTag("owner"));
+ }
+ getInternalInventory().readFromNBT(data);
+ }
+
+ @Override
+ public void writeToNBT(NBTTagCompound data)
+ {
+ super.writeToNBT(data);
+ if (this.owner != null)
+ {
+ NBTTagCompound nbt = new NBTTagCompound();
+ NBTUtil.func_152460_a(nbt, this.owner);
+ data.setTag("owner", nbt);
+ }
+ getInternalInventory().writeToNBT(data);
+ }
+
+ public FakeInventoryAdapter getInternalInventory()
+ {
+ return FakeInventoryAdapter.instance();
+ }
+
+ public boolean allowsAutomation()
+ {
+ return false;
+ }
+
+ @Override
+ public final int getSizeInventory()
+ {
+ return getInternalInventory().getSizeInventory();
+ }
+
+ @Override
+ public final ItemStack getStackInSlot(int slotIndex)
+ {
+ return getInternalInventory().getStackInSlot(slotIndex);
+ }
+
+ @Override
+ public final ItemStack decrStackSize(int slotIndex, int amount)
+ {
+ return getInternalInventory().decrStackSize(slotIndex, amount);
+ }
+
+ @Override
+ public final ItemStack getStackInSlotOnClosing(int slotIndex)
+ {
+ return getInternalInventory().getStackInSlotOnClosing(slotIndex);
+ }
+
+ @Override
+ public final void setInventorySlotContents(int slotIndex, ItemStack itemstack)
+ {
+ getInternalInventory().setInventorySlotContents(slotIndex, itemstack);
+ }
+
+ @Override
+ public final int getInventoryStackLimit()
+ {
+ return getInternalInventory().getInventoryStackLimit();
+ }
+
+ @Override
+ public final void openInventory()
+ {
+ getInternalInventory().openInventory();
+ }
+
+ @Override
+ public final void closeInventory()
+ {
+ getInternalInventory().closeInventory();
+ }
+
+ @Override
+ public final String getInventoryName()
+ {
+ return getInternalInventory().getInventoryName();
+ }
+
+ @Override
+ public final boolean isUseableByPlayer(EntityPlayer player)
+ {
+ return getInternalInventory().isUseableByPlayer(player);
+ }
+
+ @Override
+ public final boolean hasCustomInventoryName()
+ {
+ return getInternalInventory().hasCustomInventoryName();
+ }
+
+ @Override
+ public final boolean isItemValidForSlot(int slotIndex, ItemStack itemStack)
+ {
+ return getInternalInventory().isItemValidForSlot(slotIndex, itemStack);
+ }
+
+ @Override
+ public final int[] getAccessibleSlotsFromSide(int side)
+ {
+ if (allowsAutomation()) {
+ return getAccessibleSlotsFromSide(side);
+ }
+ return FakeInventoryAdapter.SLOTS_NONE;
+ }
+
+ @Override
+ public final boolean canInsertItem(int slotIndex, ItemStack itemStack, int side)
+ {
+ if (allowsAutomation()) {
+ return canInsertItem(slotIndex, itemStack, side);
+ }
+ return false;
+ }
+
+ @Override
+ public final boolean canExtractItem(int slotIndex, ItemStack itemStack, int side)
+ {
+ if (allowsAutomation()) {
+ return getInternalInventory().canExtractItem(slotIndex, itemStack, side);
+ }
+ return false;
+ }
+
+ @Override
+ public final boolean canSlotAccept(int slotIndex, ItemStack itemStack)
+ {
+ return getInternalInventory().canSlotAccept(slotIndex, itemStack);
+ }
+
+ @Override
+ public final boolean isLocked(int slotIndex)
+ {
+ return getInternalInventory().isLocked(slotIndex);
+ }
+
+ @Override
+ public final World getWorld()
+ {
+ return this.worldObj;
+ }
+
+ public final GameProfile getOwner()
+ {
+ return this.owner;
+ }
+
+ public final void setOwner(GameProfile owner)
+ {
+ this.owner = owner;
+ }
+
+
+
+}
diff --git a/src/Java/miscutil/core/multiblock/abstracts/interfaces/IAbstractController.java b/src/Java/miscutil/core/multiblock/abstracts/interfaces/IAbstractController.java
new file mode 100644
index 0000000000..2780cc1305
--- /dev/null
+++ b/src/Java/miscutil/core/multiblock/abstracts/interfaces/IAbstractController.java
@@ -0,0 +1,7 @@
+package miscutil.core.multiblock.abstracts.interfaces;
+
+import miscutil.core.multiblock.base.interfaces.IBaseMultiblockController;
+
+public abstract interface IAbstractController extends IBaseMultiblockController {
+
+}
diff --git a/src/Java/miscutil/core/multiblock/abstracts/interfaces/IAbstractControllerInternal.java b/src/Java/miscutil/core/multiblock/abstracts/interfaces/IAbstractControllerInternal.java
new file mode 100644
index 0000000000..3e1638cda8
--- /dev/null
+++ b/src/Java/miscutil/core/multiblock/abstracts/interfaces/IAbstractControllerInternal.java
@@ -0,0 +1,9 @@
+package miscutil.core.multiblock.abstracts.interfaces;
+
+import miscutil.core.multiblock.base.interfaces.IBaseMultiblockControllerInternal;
+
+public interface IAbstractControllerInternal extends IAbstractController, IBaseMultiblockControllerInternal {
+ //public abstract IInventoryAdapter getInternalInventory();
+
+ public abstract int getHealthScaled(int paramInt);
+ } \ No newline at end of file
diff --git a/src/Java/miscutil/core/multiblock/abstracts/interfaces/IAbstractMultiblockLogic.java b/src/Java/miscutil/core/multiblock/abstracts/interfaces/IAbstractMultiblockLogic.java
new file mode 100644
index 0000000000..aacb3c290d
--- /dev/null
+++ b/src/Java/miscutil/core/multiblock/abstracts/interfaces/IAbstractMultiblockLogic.java
@@ -0,0 +1,11 @@
+package miscutil.core.multiblock.abstracts.interfaces;
+
+import miscutil.core.multiblock.base.interfaces.IBaseMultiblockLogic;
+
+public abstract interface IAbstractMultiblockLogic extends IBaseMultiblockLogic {
+
+@Override
+public abstract IAbstractController getController();
+
+}
+