aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/common
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2017-08-04 11:46:19 +1000
committerAlkalus <draknyte1@hotmail.com>2017-08-04 11:46:19 +1000
commit02d62fb6c09c5c03bafaa0afe8443e4125bf2c76 (patch)
treef733f69d25a73da8b7c4ecbe908629b62a42ceb8 /src/Java/gtPlusPlus/xmod/gregtech/common
parent8ea753b53ebc6a921c4aff1a0bbf7bcdf5ef46ba (diff)
downloadGT5-Unofficial-02d62fb6c09c5c03bafaa0afe8443e4125bf2c76.tar.gz
GT5-Unofficial-02d62fb6c09c5c03bafaa0afe8443e4125bf2c76.tar.bz2
GT5-Unofficial-02d62fb6c09c5c03bafaa0afe8443e4125bf2c76.zip
+ Basic framework for Tesseract reworking.
> Tesseracts now have a frequency range per play, which is unique to them.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TesseractHelper.java70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TesseractHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TesseractHelper.java
new file mode 100644
index 0000000000..4494af54d9
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TesseractHelper.java
@@ -0,0 +1,70 @@
+package gtPlusPlus.xmod.gregtech.common.helpers;
+
+import static gtPlusPlus.core.lib.CORE.sTesseractGeneratorOwnershipMap;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.UUID;
+
+import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractGenerator;
+import net.minecraft.entity.player.EntityPlayer;
+
+public class TesseractHelper {
+
+ public Map<Integer, GT_MetaTileEntity_TesseractGenerator> getOwnershipByPlayer(EntityPlayer player){
+ UUID playerIdentifier = player.getUniqueID();
+ if (!sTesseractGeneratorOwnershipMap.isEmpty() && playerIdentifier != null){
+ Set<Entry<UUID, Map<Integer, GT_MetaTileEntity_TesseractGenerator>>> players = sTesseractGeneratorOwnershipMap.entrySet();
+ Iterator<Entry<UUID, Map<Integer, GT_MetaTileEntity_TesseractGenerator>>> i = players.iterator();
+ while(i.hasNext()) {
+ Entry<UUID, Map<Integer, GT_MetaTileEntity_TesseractGenerator>> current = i.next();
+ if (current.getKey().compareTo(playerIdentifier) == 0){
+ return current.getValue();
+ }
+
+ }
+ }
+ return null;
+ }
+
+ public boolean isTesseractOwnedByPlayer(EntityPlayer player, GT_MetaTileEntity_TesseractGenerator generator){
+ UUID playerIdentifier = player.getUniqueID();
+ if (!sTesseractGeneratorOwnershipMap.isEmpty() && playerIdentifier != null){
+
+ Map<Integer, GT_MetaTileEntity_TesseractGenerator> generators = getOwnershipByPlayer(player);
+ Set<Entry<Integer, GT_MetaTileEntity_TesseractGenerator>> players = generators.entrySet();
+ Iterator<Entry<Integer, GT_MetaTileEntity_TesseractGenerator>> i = players.iterator();
+ while(i.hasNext()) {
+ Entry<Integer, GT_MetaTileEntity_TesseractGenerator> current = i.next();
+ if (current.getValue().equals(generator)){
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public boolean setOwnershipByPlayer(EntityPlayer player, int freq, GT_MetaTileEntity_TesseractGenerator generator){
+ UUID playerIdentifier = player.getUniqueID();
+ if (playerIdentifier != null){
+ Map<Integer, GT_MetaTileEntity_TesseractGenerator> playerOwned = sTesseractGeneratorOwnershipMap.get(playerIdentifier);
+ if (playerOwned == null || playerOwned.isEmpty()){
+ Map<Integer, GT_MetaTileEntity_TesseractGenerator> newOwnershipMap = new HashMap<Integer, GT_MetaTileEntity_TesseractGenerator>();
+ newOwnershipMap.put(freq, generator);
+ sTesseractGeneratorOwnershipMap.put(playerIdentifier, newOwnershipMap);
+ return true;
+ }
+ else if (sTesseractGeneratorOwnershipMap.containsKey(playerIdentifier)){
+ Map<Integer, GT_MetaTileEntity_TesseractGenerator> ownershipMap = sTesseractGeneratorOwnershipMap.get(playerIdentifier);
+ ownershipMap.put(freq, generator);
+ sTesseractGeneratorOwnershipMap.put(playerIdentifier, ownershipMap);
+ return true;
+ }
+ }
+ return false;
+ }
+
+}