diff options
Diffstat (limited to 'src/Java/gtPlusPlus/core/tileentities')
-rw-r--r-- | src/Java/gtPlusPlus/core/tileentities/base/TileEntityBase.java | 89 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/tileentities/machines/TileEntityTradeTable.java | 90 |
2 files changed, 94 insertions, 85 deletions
diff --git a/src/Java/gtPlusPlus/core/tileentities/base/TileEntityBase.java b/src/Java/gtPlusPlus/core/tileentities/base/TileEntityBase.java new file mode 100644 index 0000000000..9b0e8dee64 --- /dev/null +++ b/src/Java/gtPlusPlus/core/tileentities/base/TileEntityBase.java @@ -0,0 +1,89 @@ +package gtPlusPlus.core.tileentities.base; + +import java.util.UUID; + +import gtPlusPlus.core.util.Utils; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityBase extends TileEntity { + + public String mOwnerName = "null"; + public String mOwnerUUID = "null"; + private boolean mIsOwnerOP = false; + + @SuppressWarnings("static-method") + public NBTTagCompound getTag(final NBTTagCompound nbt, final String tag){ + if(!nbt.hasKey(tag)) + { + nbt.setTag(tag, new NBTTagCompound()); + } + return nbt.getCompoundTag(tag); + } + + @Override + public void writeToNBT(final NBTTagCompound nbt){ + super.writeToNBT(nbt); + nbt.setBoolean("mIsOwnerOP", this.mIsOwnerOP); + nbt.setString("mOwnerName", this.mOwnerName); + nbt.setString("mOwnerUUID", this.mOwnerUUID); + } + + @Override + public void readFromNBT(final NBTTagCompound nbt){ + this.mIsOwnerOP = nbt.getBoolean("mIsOwnerOP"); + this.mOwnerName = nbt.getString("mOwnerName"); + this.mOwnerUUID = nbt.getString("mOwnerUUID"); + super.readFromNBT(nbt); + } + + @Override + public void updateEntity() { + super.updateEntity(); + } + + @Override + public boolean canUpdate() { + return true; + } + + public String getOwner(){ + if (this.mOwnerName == null){ + return "null"; + } + return this.mOwnerName; + } + + public UUID getOwnerUUID(){ + return UUID.fromString(this.mOwnerUUID); + } + + public boolean isOwnerOP() { + return mIsOwnerOP; + } + + public void setOwnerInformation(String mName, String mUUID, boolean mOP){ + if (isServerSide()){ + if (this.mOwnerName.equals("null") || this.mOwnerUUID.equals("null") + || this.mOwnerName == null || this.mOwnerUUID == null){ + this.mOwnerName = mName; + this.mOwnerUUID = mUUID; + this.mIsOwnerOP = mOP; + Utils.LOG_INFO("Finished setting TE information. owner: "+this.mOwnerName+" | UUID: "+this.mOwnerUUID+" | OP: "+this.mIsOwnerOP); + } + } + } + + public boolean isServerSide(){ + if (this.hasWorldObj()){ + if (this.getWorldObj().isRemote){ + return false; + } + else { + return true; + } + } + return false; + } + +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityTradeTable.java b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityTradeTable.java index 8d65ad8926..6690e1e2c1 100644 --- a/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityTradeTable.java +++ b/src/Java/gtPlusPlus/core/tileentities/machines/TileEntityTradeTable.java @@ -1,26 +1,18 @@ package gtPlusPlus.core.tileentities.machines; -import java.util.List; -import java.util.Vector; - import gtPlusPlus.core.container.Container_TradeTable; import gtPlusPlus.core.inventories.tradetable.InventoryTradeMain; import gtPlusPlus.core.inventories.tradetable.InventoryTradeOutput; -import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.tileentities.base.TileEntityBase; import gtPlusPlus.core.util.nbt.NBTUtils; -import ic2.api.network.INetworkDataProvider; -import ic2.api.network.INetworkUpdateListener; -import ic2.api.tile.IWrenchable; -import ic2.core.IC2; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -public class TileEntityTradeTable extends TileEntity implements INetworkDataProvider, INetworkUpdateListener, IWrenchable{ +public class TileEntityTradeTable extends TileEntityBase { public InventoryTradeMain inventoryGrid; public InventoryTradeOutput inventoryOutputs; + private Container_TradeTable container; public TileEntityTradeTable(){ @@ -32,19 +24,9 @@ public class TileEntityTradeTable extends TileEntity implements INetworkDataProv this.container = container_TradeTable; } - @SuppressWarnings("static-method") - public NBTTagCompound getTag(final NBTTagCompound nbt, final String tag){ - if(!nbt.hasKey(tag)) - { - nbt.setTag(tag, new NBTTagCompound()); - } - return nbt.getCompoundTag(tag); - } - @Override public void writeToNBT(final NBTTagCompound nbt){ super.writeToNBT(nbt); - nbt.setShort("facing", this.facing); this.inventoryGrid.writeToNBT(this.getTag(nbt, "ContentsGrid")); this.inventoryOutputs.writeToNBT(this.getTag(nbt, "ContentsOutput")); @@ -52,62 +34,9 @@ public class TileEntityTradeTable extends TileEntity implements INetworkDataProv @Override public void readFromNBT(final NBTTagCompound nbt){ + this.inventoryGrid.readFromNBT(nbt); + this.inventoryOutputs.readFromNBT(nbt); super.readFromNBT(nbt); - this.prevFacing = (this.facing = nbt.getShort("facing")); - this.inventoryGrid.readFromNBT(nbt.getCompoundTag("ContentsGrid")); - this.inventoryOutputs.readFromNBT(nbt.getCompoundTag("ContentsOutput")); - } - - @Override - public List<String> getNetworkedFields(){ - final List<String> ret = new Vector<String>(2); - ret.add("facing"); - return ret; - } - - - @Override - public boolean wrenchCanSetFacing(final EntityPlayer entityPlayer, final int side){ - return false; - } - - private short facing = 0; - public short prevFacing = 0; - - @Override - public void setFacing(final short facing1){ - this.facing = facing1; - if (this.prevFacing != facing1) { - IC2.network.get().updateTileEntityField(this, "facing"); - } - this.prevFacing = facing1; - } - - @Override - public short getFacing(){ - return this.facing; - } - - - @Override - public boolean wrenchCanRemove(final EntityPlayer entityPlayer){ - return true; - } - - @Override - public float getWrenchDropRate(){ - return 1.0F; - } - - @Override - public ItemStack getWrenchDrop(final EntityPlayer entityPlayer){ - return new ItemStack(this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord), 1, this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord)); - } - - @Override - public void onNetworkUpdate(final String field) { - this.prevFacing = this.facing; - } @Override @@ -133,13 +62,4 @@ public class TileEntityTradeTable extends TileEntity implements INetworkDataProv super.updateEntity(); } - @Override - public boolean canUpdate() { - return true; - } - - - - - }
\ No newline at end of file |