aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/tileentities
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core/tileentities')
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/base/TileEntityBase.java89
-rw-r--r--src/Java/gtPlusPlus/core/tileentities/machines/TileEntityTradeTable.java90
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