diff options
Diffstat (limited to 'src/Java/miscutil/core/multiblock/abstracts')
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(); + +} + |
