From a6c868e7da7d67d115df87589463f034710754f3 Mon Sep 17 00:00:00 2001 From: Robert Date: Mon, 25 Nov 2013 19:17:47 -0500 Subject: [PATCH] Worked on fixing issues with groups --- src/com/builtbroken/common/Group.java | 2 +- src/dark/api/access/AccessGroup.java | 12 ++-- .../core/prefab/invgui/GuiGlobalList.java | 2 +- .../core/prefab/machine/TileEntityInv.java | 55 ++++--------------- .../prefab/machine/TileEntityMachine.java | 20 +++---- .../terminal/TerminalCommandRegistry.java | 3 +- .../prefab/terminal/TileEntityTerminal.java | 3 +- 7 files changed, 34 insertions(+), 63 deletions(-) diff --git a/src/com/builtbroken/common/Group.java b/src/com/builtbroken/common/Group.java index b20c798f6..a18cab131 100644 --- a/src/com/builtbroken/common/Group.java +++ b/src/com/builtbroken/common/Group.java @@ -52,7 +52,7 @@ public class Group return memebers.contains(obj); } - public String name() + public String getName() { return this.groupName; } diff --git a/src/dark/api/access/AccessGroup.java b/src/dark/api/access/AccessGroup.java index 7403b6413..522f7a8d2 100644 --- a/src/dark/api/access/AccessGroup.java +++ b/src/dark/api/access/AccessGroup.java @@ -62,7 +62,7 @@ public class AccessGroup extends Group public NBTTagCompound save(NBTTagCompound nbt) { - nbt.setString("groupName", this.name()); + nbt.setString("groupName", this.getName()); NBTTagList usersTag = new NBTTagList(); for (AccessUser user : this.memebers) { @@ -73,7 +73,7 @@ public class AccessGroup extends Group usersTag.appendTag(accessData); } } - nbt.setTag("Users", usersTag); + nbt.setTag("users", usersTag); NBTTagList nodesTag = new NBTTagList(); for (String str : this.nodes) { @@ -91,12 +91,12 @@ public class AccessGroup extends Group NBTTagList userList = nbt.getTagList("users"); for (int i = 0; i < userList.tagCount(); ++i) { - memebers.add(AccessUser.loadFromNBT((NBTTagCompound) userList.tagAt(i))); + this.addMemeber(AccessUser.loadFromNBT((NBTTagCompound) userList.tagAt(i))); } - userList = nbt.getTagList("nodes"); - for (int i = 0; i < userList.tagCount(); ++i) + NBTTagList nodeList = nbt.getTagList("nodes"); + for (int i = 0; i < nodeList.tagCount(); ++i) { - this.nodes.add(((NBTTagCompound) userList.tagAt(i)).getString("name")); + this.nodes.add(((NBTTagCompound) nodeList.tagAt(i)).getString("name")); } } diff --git a/src/dark/core/prefab/invgui/GuiGlobalList.java b/src/dark/core/prefab/invgui/GuiGlobalList.java index c828b0b9f..15eb87bd3 100644 --- a/src/dark/core/prefab/invgui/GuiGlobalList.java +++ b/src/dark/core/prefab/invgui/GuiGlobalList.java @@ -159,7 +159,7 @@ public class GuiGlobalList extends GuiContainer implements IScroll if (object instanceof AccessUser) { AccessUser accesInfo = (AccessUser) object; - line = accesInfo.getName() + " (" + accesInfo.getGroup().name() + ")"; + line = accesInfo.getName() + " (" + accesInfo.getGroup().getName() + ")"; } else if (object instanceof String) { diff --git a/src/dark/core/prefab/machine/TileEntityInv.java b/src/dark/core/prefab/machine/TileEntityInv.java index 22fbef95d..b5ae3a576 100644 --- a/src/dark/core/prefab/machine/TileEntityInv.java +++ b/src/dark/core/prefab/machine/TileEntityInv.java @@ -36,10 +36,6 @@ public class TileEntityInv extends TileEntityAdvanced implements IExternalInv, I public void initiate() { thisPos = new Vector3(this); - if (this.groups == null || this.groups.isEmpty()) - { - TerminalCommandRegistry.loadNewGroupSet(this); - } } public Vector3 getThisPos() @@ -264,9 +260,9 @@ public class TileEntityInv extends TileEntityAdvanced implements IExternalInv, I @Override public AccessGroup getGroup(String name) { - for (AccessGroup group : this.groups) + for (AccessGroup group : this.getGroups()) { - if (group.name().equalsIgnoreCase(name)) + if (group.getName().equalsIgnoreCase(name)) { return group; } @@ -281,7 +277,7 @@ public class TileEntityInv extends TileEntityAdvanced implements IExternalInv, I { for (AccessGroup g : this.groups) { - if (group.name().equalsIgnoreCase(g.name())) + if (group.getName().equalsIgnoreCase(g.getName())) { return false; } @@ -294,16 +290,16 @@ public class TileEntityInv extends TileEntityAdvanced implements IExternalInv, I @Override public AccessGroup getOwnerGroup() { - if (this.getGroup("owner") == null) - { - this.groups.add(new AccessGroup("owner")); - } return this.getGroup("owner"); } @Override public List getGroups() { + if (this.groups == null || this.groups.isEmpty()) + { + TerminalCommandRegistry.loadNewGroupSet(this); + } return this.groups; } @@ -312,37 +308,10 @@ public class TileEntityInv extends TileEntityAdvanced implements IExternalInv, I { super.readFromNBT(nbt); this.getInventory().loadInv(nbt); - // Read user list - if (!nbt.hasKey("group")) + NBTTagList userList = nbt.getTagList("groups"); + if (userList != null && userList.tagCount() > 0) { - NBTTagList userList = nbt.getTagList("Users"); - AccessGroup usr = new AccessGroup("user"); - AccessGroup admin = new AccessGroup("admin"); - AccessGroup owner = new AccessGroup("owner"); - this.groups.add(usr); - this.groups.add(admin); - this.groups.add(owner); - for (int i = 0; i < userList.tagCount(); ++i) - { - AccessUser user = new AccessUser(((NBTTagCompound) userList.tagAt(i)).getString("username")); - switch (nbt.getInteger("ID")) - { - case 1: - case 2: - usr.addMemeber(user); - break; - case 3: - admin.addMemeber(user); - break; - case 4: - owner.addMemeber(user); - break; - } - } - } - else - { - NBTTagList userList = nbt.getTagList("groups"); + this.groups.clear(); for (int i = 0; i < userList.tagCount(); i++) { AccessGroup group = new AccessGroup(""); @@ -357,9 +326,9 @@ public class TileEntityInv extends TileEntityAdvanced implements IExternalInv, I { super.writeToNBT(nbt); this.getInventory().saveInv(nbt); - // Write user list + NBTTagList usersTag = new NBTTagList(); - for (AccessGroup group : this.groups) + for (AccessGroup group : this.getGroups()) { usersTag.appendTag(group.save(new NBTTagCompound())); } diff --git a/src/dark/core/prefab/machine/TileEntityMachine.java b/src/dark/core/prefab/machine/TileEntityMachine.java index 0a08c878e..4a615a240 100644 --- a/src/dark/core/prefab/machine/TileEntityMachine.java +++ b/src/dark/core/prefab/machine/TileEntityMachine.java @@ -67,10 +67,7 @@ public abstract class TileEntityMachine extends TileEntityInv implements ISidedI { this.sendPowerUpdate(); } - if (this.ticks % 5 == 0) - { - this.sendGUIPacket(); - } + this.sendGUIPacket(); } if (this.disabledTicks > 0) @@ -179,7 +176,7 @@ public abstract class TileEntityMachine extends TileEntityInv implements ISidedI } if (id.equalsIgnoreCase(SimplePacketTypes.NBT.name)) { - this.readFromNBT(Packet.readNBTTagCompound(dis)); + this.readFromNBT(PacketHandler.instance().readNBTTagCompound(dis)); return true; } } @@ -219,15 +216,18 @@ public abstract class TileEntityMachine extends TileEntityInv implements ISidedI public void sendGUIPacket() { - if (this.hasGUI && this.getContainer() != null) + if (this.hasGUI && this.getContainer() != null && this.ticks % 5 == 0) { this.playersUsingMachine = 0; - for (Object entity : this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord - 10, yCoord - 10, zCoord - 10, xCoord + 10, yCoord + 10, zCoord + 10))) + for (Object entity : this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 1, zCoord + 1).expand(10, 10, 10))) { - if (entity instanceof EntityPlayer && ((EntityPlayer) entity).openContainer.getClass().equals(this.getContainer())) + if (entity instanceof EntityPlayer && ((EntityPlayer) entity).openContainer != null) { - this.playersUsingMachine += 1; - this.sendGUIPacket(((EntityPlayer) entity)); + if (((EntityPlayer) entity).openContainer.getClass().isAssignableFrom(this.getContainer())) + { + this.playersUsingMachine += 1; + this.sendGUIPacket(((EntityPlayer) entity)); + } } } } diff --git a/src/dark/core/prefab/terminal/TerminalCommandRegistry.java b/src/dark/core/prefab/terminal/TerminalCommandRegistry.java index 226334d15..3c500c23d 100644 --- a/src/dark/core/prefab/terminal/TerminalCommandRegistry.java +++ b/src/dark/core/prefab/terminal/TerminalCommandRegistry.java @@ -92,6 +92,7 @@ public class TerminalCommandRegistry group.addNode(string); } } + groups.add(group); } return groups; } @@ -104,7 +105,7 @@ public class TerminalCommandRegistry List groups = getNewGroupSet(); for (AccessGroup group : groups) { - terminal.addGroup(group); + terminal.addGroup(group); } } } diff --git a/src/dark/core/prefab/terminal/TileEntityTerminal.java b/src/dark/core/prefab/terminal/TileEntityTerminal.java index 1c93147c9..c0da202c3 100644 --- a/src/dark/core/prefab/terminal/TileEntityTerminal.java +++ b/src/dark/core/prefab/terminal/TileEntityTerminal.java @@ -44,7 +44,8 @@ public abstract class TileEntityTerminal extends TileEntityEnergyMachine impleme super(wattsPerTick, maxEnergy); } - public void senGUIPacket(EntityPlayer entity) + @Override + public void sendGUIPacket(EntityPlayer entity) { if (!this.worldObj.isRemote) {