diff options
3 files changed, 106 insertions, 26 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java index 88d1b6c5f5..2773bea825 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java @@ -28,20 +28,26 @@ public class TesseractHelper { public final static boolean isGeneratorOwnedByPlayer(EntityPlayer player, GT_MetaTileEntity_TesseractGenerator generator) { if (player == null){ + Utils.LOG_WARNING("Failed. [isGeneratorOwnedByPlayer]"); return false; } + //Utils.LOG_WARNING("Success. [isGeneratorOwnedByPlayer] 1"); UUID playerIdentifier = player.getUniqueID(); if (!sTesseractGeneratorOwnershipMap.isEmpty() && playerIdentifier != null) { + //Utils.LOG_WARNING("Success. [isGeneratorOwnedByPlayer] 2"); Map<Integer, GT_MetaTileEntity_TesseractGenerator> generators = getGeneratorOwnershipByPlayer(player); Set<Entry<Integer, GT_MetaTileEntity_TesseractGenerator>> players = generators.entrySet(); Iterator<Entry<Integer, GT_MetaTileEntity_TesseractGenerator>> i = players.iterator(); while (i.hasNext()) { + //Utils.LOG_WARNING("Success. [isGeneratorOwnedByPlayer] 3"); Entry<Integer, GT_MetaTileEntity_TesseractGenerator> current = i.next(); if (current.getValue().equals(generator)) { + //Utils.LOG_WARNING("Success. [isGeneratorOwnedByPlayer] 4"); return true; } } } + Utils.LOG_WARNING("Failed. [isGeneratorOwnedByPlayer]"); return false; } @@ -52,7 +58,7 @@ public class TesseractHelper { return false; } UUID playerIdentifier = player.getUniqueID(); - Utils.LOG_INFO("Setting Generator on "+freq+" for "+player.getDisplayName()+"."); + Utils.LOG_WARNING("Setting Generator on "+freq+" for "+player.getDisplayName()+"."); if (playerIdentifier != null) { Map<Integer, GT_MetaTileEntity_TesseractGenerator> playerOwned = sTesseractGeneratorOwnershipMap .get(playerIdentifier); @@ -60,18 +66,21 @@ public class TesseractHelper { Map<Integer, GT_MetaTileEntity_TesseractGenerator> newOwnershipMap = new HashMap<Integer, GT_MetaTileEntity_TesseractGenerator>(); newOwnershipMap.put(freq, generator); sTesseractGeneratorOwnershipMap.put(playerIdentifier, newOwnershipMap); - Utils.LOG_INFO("Success! [Empty Map]"); + Utils.LOG_WARNING("Success! [Empty Map]"); return true; } else if (sTesseractGeneratorOwnershipMap.containsKey(playerIdentifier)) { Map<Integer, GT_MetaTileEntity_TesseractGenerator> ownershipMap = sTesseractGeneratorOwnershipMap .get(playerIdentifier); + if (!ownershipMap.containsKey(freq)){ + ownershipMap.put(freq, generator); + } ownershipMap.put(freq, generator); sTesseractGeneratorOwnershipMap.put(playerIdentifier, ownershipMap); - Utils.LOG_INFO("Success!"); + Utils.LOG_WARNING("Success!"); return true; } } - Utils.LOG_INFO("Failed. [setGeneratorOwnershipByPlayer]"); + Utils.LOG_WARNING("Failed. [setGeneratorOwnershipByPlayer]"); return false; } @@ -82,20 +91,23 @@ public class TesseractHelper { return null; } UUID playerIdentifier = player.getUniqueID(); - Utils.LOG_INFO("Getting Generator on "+freq+" for "+player.getDisplayName()+"."); + Utils.LOG_WARNING("Getting Generator on "+freq+" for "+player.getDisplayName()+"."); if (!sTesseractGeneratorOwnershipMap.isEmpty() && playerIdentifier != null) { + //Utils.LOG_WARNING("Success. [getGeneratorByFrequency] 1"); Map<Integer, GT_MetaTileEntity_TesseractGenerator> generators = getGeneratorOwnershipByPlayer(player); Set<Entry<Integer, GT_MetaTileEntity_TesseractGenerator>> players = generators.entrySet(); Iterator<Entry<Integer, GT_MetaTileEntity_TesseractGenerator>> i = players.iterator(); while (i.hasNext()) { + //Utils.LOG_WARNING("Success. [getGeneratorByFrequency] 2"); Entry<Integer, GT_MetaTileEntity_TesseractGenerator> current = i.next(); if (current.getKey().equals(freq)) { - Utils.LOG_INFO("Success!"); + //Utils.LOG_WARNING("Success. [getGeneratorByFrequency] 3"); + Utils.LOG_WARNING("Success!"); return current.getValue(); } } } - Utils.LOG_INFO("Failed. [getGeneratorByFrequency]"); + Utils.LOG_WARNING("Failed. [getGeneratorByFrequency]"); return null; } @@ -149,25 +161,27 @@ public class TesseractHelper { } UUID playerIdentifier = player.getUniqueID(); if (playerIdentifier != null) { - Utils.LOG_INFO("Setting Terminal on "+freq+" for "+player.getDisplayName()+"."); + Utils.LOG_WARNING("Setting Terminal on "+freq+" for "+player.getDisplayName()+"."); Map<Integer, GT_MetaTileEntity_TesseractTerminal> playerOwned = sTesseractTerminalOwnershipMap .get(playerIdentifier); if (playerOwned == null || playerOwned.isEmpty()) { Map<Integer, GT_MetaTileEntity_TesseractTerminal> newOwnershipMap = new HashMap<Integer, GT_MetaTileEntity_TesseractTerminal>(); newOwnershipMap.put(freq, generator); sTesseractTerminalOwnershipMap.put(playerIdentifier, newOwnershipMap); - Utils.LOG_INFO("Success! [Empty Map]"); + Utils.LOG_WARNING("Success! [Empty Map]"); return true; } else if (sTesseractTerminalOwnershipMap.containsKey(playerIdentifier)) { Map<Integer, GT_MetaTileEntity_TesseractTerminal> ownershipMap = sTesseractTerminalOwnershipMap .get(playerIdentifier); - ownershipMap.put(freq, generator); + if (!ownershipMap.containsKey(freq)){ + ownershipMap.put(freq, generator); + } sTesseractTerminalOwnershipMap.put(playerIdentifier, ownershipMap); - Utils.LOG_INFO("Success!"); + Utils.LOG_WARNING("Success!"); return true; } } - Utils.LOG_INFO("Failed. [setTerminalOwnershipByPlayer]"); + Utils.LOG_WARNING("Failed. [setTerminalOwnershipByPlayer]"); return false; } @@ -178,7 +192,7 @@ public class TesseractHelper { return null; } UUID playerIdentifier = player.getUniqueID(); - Utils.LOG_INFO("Getting Terminal on "+freq+" for "+player.getDisplayName()+"."); + Utils.LOG_WARNING("Getting Terminal on "+freq+" for "+player.getDisplayName()+"."); if (!sTesseractTerminalOwnershipMap.isEmpty() && playerIdentifier != null) { Map<Integer, GT_MetaTileEntity_TesseractTerminal> generators = getTerminalOwnershipByPlayer(player); Set<Entry<Integer, GT_MetaTileEntity_TesseractTerminal>> players = generators.entrySet(); @@ -186,12 +200,12 @@ public class TesseractHelper { while (i.hasNext()) { Entry<Integer, GT_MetaTileEntity_TesseractTerminal> current = i.next(); if (current.getKey().equals(freq)) { - Utils.LOG_INFO("Success!"); + Utils.LOG_WARNING("Success!"); return current.getValue(); } } } - Utils.LOG_INFO("Failed. [getTerminalByFrequency]"); + Utils.LOG_WARNING("Failed. [getTerminalByFrequency]"); return null; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java index 57b5e44253..d859e76128 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractGenerator.java @@ -30,6 +30,7 @@ import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.*; public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_BasicTank { + public static int TESSERACT_ENERGY_COST_DIMENSIONAL = 2048; public static int TESSERACT_ENERGY_COST = 512; public byte isWorking = 0; @@ -195,10 +196,19 @@ public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_Basi switch ((byte) ((byte) (int) (tCoords[0] * 2.0F) + (2 * (byte) (int) (tCoords[1] * 2.0F)))) { case 0: Utils.LOG_INFO("Freq. -1 | " + this.mFrequency); + try { + CORE.sTesseractGeneratorOwnershipMap.get(mOwner).remove(this.mFrequency); + } catch (Throwable t) { + } this.mFrequency -= 1; + break; case 1: Utils.LOG_INFO("Freq. +1 | " + this.mFrequency); + try { + CORE.sTesseractGeneratorOwnershipMap.get(mOwner).remove(this.mFrequency); + } catch (Throwable t) { + } this.mFrequency += 1; default: // Utils.LOG_INFO("Did not click the correct place."); @@ -227,15 +237,31 @@ public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_Basi final float[] tCoords = GT_Utility.getClickedFacingCoords(aSide, aX, aY, aZ); switch ((byte) ((byte) (int) (tCoords[0] * 2.0F) + (2 * (byte) (int) (tCoords[1] * 2.0F)))) { case 0: + try { + CORE.sTesseractGeneratorOwnershipMap.get(mOwner).remove(this.mFrequency); + } catch (Throwable t) { + } this.mFrequency -= 64; break; case 1: + try { + CORE.sTesseractGeneratorOwnershipMap.get(mOwner).remove(this.mFrequency); + } catch (Throwable t) { + } this.mFrequency += 64; break; case 2: + try { + CORE.sTesseractGeneratorOwnershipMap.get(mOwner).remove(this.mFrequency); + } catch (Throwable t) { + } this.mFrequency -= 512; break; case 3: + try { + CORE.sTesseractGeneratorOwnershipMap.get(mOwner).remove(this.mFrequency); + } catch (Throwable t) { + } this.mFrequency += 512; } if (getGeneratorEntity(this.mFrequency) != null && getGeneratorEntity(this.mFrequency) != this){ @@ -515,12 +541,21 @@ public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_Basi && ((aWorkIrrelevant) || (this.isWorking >= 20)); } - public void onPostTick() { + @Override + public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { + // TODO Auto-generated method stub + super.onPreTick(aBaseMetaTileEntity, aTick); + } + + @Override + public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { + //Utils.LOG_INFO("Ticking Generator. 0"); if (this.getBaseMetaTileEntity().isServerSide()) { - Utils.LOG_INFO("Ticking Generator."); + //Utils.LOG_INFO("Ticking Generator."); // Set owner if (PlayerUtils.getPlayersUUIDByName(this.getBaseMetaTileEntity().getOwnerName()) != null) { if (this.mOwner == null) { + Utils.LOG_INFO("Setting Generators Owner. 1"); this.mOwner = PlayerUtils.getPlayersUUIDByName(this.getBaseMetaTileEntity().getOwnerName()); } } @@ -539,11 +574,11 @@ public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_Basi } if ((this.getBaseMetaTileEntity().isAllowedToWork()) && (this.getBaseMetaTileEntity().decreaseStoredEnergyUnits(this.mNeededEnergy, false))) { - Utils.LOG_INFO("Can Work & Has Energy"); + //Utils.LOG_INFO("Can Work & Has Energy"); if ((getGeneratorEntity(Integer.valueOf(this.mFrequency)) == null) || (!getGeneratorEntity(Integer.valueOf(this.mFrequency)).isValidTesseractGenerator(null, true))) { - Utils.LOG_INFO("storing TE I think to mFreq map?"); + //Utils.LOG_INFO("storing TE I think to mFreq map?"); TesseractHelper.setGeneratorOwnershipByPlayer(PlayerUtils.getPlayerOnServerFromUUID(mOwner), this.mFrequency, this); } @@ -556,7 +591,7 @@ public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_Basi this.isWorking = 0; } if (getGeneratorEntity(Integer.valueOf(this.mFrequency)) == this) { - Utils.LOG_INFO("mFreq == this - do work related things"); + //Utils.LOG_INFO("mFreq == this - do work related things"); if (this.isWorking < 20) { this.isWorking = ((byte) (this.isWorking + 1)); } @@ -569,6 +604,7 @@ public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_Basi } this.mNeededEnergy = 0; } + super.onPostTick(aBaseMetaTileEntity, aTick); } @Override @@ -657,6 +693,7 @@ public class GT_MetaTileEntity_TesseractGenerator extends GT_MetaTileEntity_Basi if (this.getBaseMetaTileEntity().getOwnerName() != null && !this.getBaseMetaTileEntity().getOwnerName().equals("")) { this.mOwner = PlayerUtils.getPlayersUUIDByName(this.getBaseMetaTileEntity().getOwnerName()); + Utils.LOG_INFO("Setting Generators Owner. 2"); } super.onCreated(aStack, aWorld, aPlayer); } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java index 25101497fc..4a4009b9d0 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/automation/GT_MetaTileEntity_TesseractTerminal.java @@ -151,13 +151,25 @@ public class GT_MetaTileEntity_TesseractTerminal extends GT_MetaTileEntity_Basic switch ((byte) ((byte) (int) (tCoords[0] * 2.0F) + (2 * (byte) (int) (tCoords[1] * 2.0F)))) { case 0: //Utils.LOG_INFO("Freq. -1 | " + this.mFrequency); + try { + CORE.sTesseractTerminalOwnershipMap.get(mOwner).remove(this.mFrequency); + } catch (Throwable t) { + } this.mFrequency -= 1; break; case 1: //Utils.LOG_INFO("Freq. +1 | " + this.mFrequency); + try { + CORE.sTesseractTerminalOwnershipMap.get(mOwner).remove(this.mFrequency); + } catch (Throwable t) { + } this.mFrequency += 1; default: // Utils.LOG_INFO("Did not click the correct place."); + try { + CORE.sTesseractTerminalOwnershipMap.get(mOwner).remove(this.mFrequency); + } catch (Throwable t) { + } break; } PlayerUtils.messagePlayer(aPlayer, "Frequency: " + this.mFrequency); @@ -180,22 +192,38 @@ public class GT_MetaTileEntity_TesseractTerminal extends GT_MetaTileEntity_Basic final float[] tCoords = GT_Utility.getClickedFacingCoords(aSide, aX, aY, aZ); switch ((byte) ((byte) (int) (tCoords[0] * 2.0F) + (2 * (byte) (int) (tCoords[1] * 2.0F)))) { case 0: + try { + CORE.sTesseractTerminalOwnershipMap.get(mOwner).remove(this.mFrequency); + } catch (Throwable t) { + } this.mFrequency -= 64; break; case 1: + try { + CORE.sTesseractTerminalOwnershipMap.get(mOwner).remove(this.mFrequency); + } catch (Throwable t) { + } this.mFrequency += 64; break; case 2: + try { + CORE.sTesseractTerminalOwnershipMap.get(mOwner).remove(this.mFrequency); + } catch (Throwable t) { + } this.mFrequency -= 512; break; case 3: + try { + CORE.sTesseractTerminalOwnershipMap.get(mOwner).remove(this.mFrequency); + } catch (Throwable t) { + } this.mFrequency += 512; } GT_Utility.sendChatToPlayer(aPlayer, "Frequency: " + this.mFrequency - + (this.getTesseract(this.mFrequency, false) == null ? "" - : new StringBuilder().append(EnumChatFormatting.GREEN).append(" (Connected)") - .toString())); + + (this.getTesseract(this.mFrequency, false) == null ? "" + : new StringBuilder().append(EnumChatFormatting.GREEN).append(" (Connected)") + .toString())); } } else { PlayerUtils.messagePlayer(aPlayer, "This is not your Tesseract Terminal to configure."); @@ -426,7 +454,8 @@ public class GT_MetaTileEntity_TesseractTerminal extends GT_MetaTileEntity_Basic return tTileEntity.drain(aSide, aFluid, doDrain); } - public void onPostTick() { + @Override + public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if ((this.getBaseMetaTileEntity().isServerSide()) && (this.getBaseMetaTileEntity().isAllowedToWork())) { // Set owner if (PlayerUtils.getPlayersUUIDByName(this.getBaseMetaTileEntity().getOwnerName()) != null) { @@ -476,8 +505,8 @@ public class GT_MetaTileEntity_TesseractTerminal extends GT_MetaTileEntity_Basic return aSide == aFacing ? new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Dimensional), new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Screen_Frequency) } - : new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Dimensional), - new GT_RenderedTexture(Textures.BlockIcons.VOID) }; + : new ITexture[] { new GT_RenderedTexture(TexturesGtBlock.Casing_Machine_Dimensional), + new GT_RenderedTexture(Textures.BlockIcons.VOID) }; } // To-Do? |