diff options
3 files changed, 157 insertions, 71 deletions
diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java index db46364920..d143791f6e 100644 --- a/src/Java/gtPlusPlus/core/lib/CORE.java +++ b/src/Java/gtPlusPlus/core/lib/CORE.java @@ -13,6 +13,7 @@ import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder; import gtPlusPlus.xmod.gregtech.api.objects.XSTR; import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractGenerator; +import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractTerminal; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -63,8 +64,9 @@ public class CORE { */ public static final GT_Materials[] sMU_GeneratedMaterials = new GT_Materials[1000]; - //Tesseract map + //Tesseract maps public static final Map<UUID, Map<Integer, GT_MetaTileEntity_TesseractGenerator>> sTesseractGeneratorOwnershipMap = new HashMap<UUID, Map<Integer, GT_MetaTileEntity_TesseractGenerator>>(); + public static final Map<UUID, Map<Integer, GT_MetaTileEntity_TesseractTerminal>> sTesseractTerminalOwnershipMap = new HashMap<UUID, Map<Integer, GT_MetaTileEntity_TesseractTerminal>>(); /** * File Paths and Resource Paths diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TesseractHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TesseractHelper.java deleted file mode 100644 index 4494af54d9..0000000000 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/TesseractHelper.java +++ /dev/null @@ -1,70 +0,0 @@ -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; - } - -} diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java new file mode 100644 index 0000000000..2204400261 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/tesseract/TesseractHelper.java @@ -0,0 +1,154 @@ +package gtPlusPlus.xmod.gregtech.common.helpers.tesseract; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; +import java.util.UUID; +import java.util.Map.Entry; + +import static gtPlusPlus.core.lib.CORE.sTesseractGeneratorOwnershipMap; +import static gtPlusPlus.core.lib.CORE.sTesseractTerminalOwnershipMap; + +import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractGenerator; +import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractTerminal; +import net.minecraft.entity.player.EntityPlayer; + +public class TesseractHelper { + + /** + * Tesseract Generator Helpers + * + * @param player + * @return + */ + + public final boolean isGeneratorOwnedByPlayer(EntityPlayer player, GT_MetaTileEntity_TesseractGenerator generator){ + UUID playerIdentifier = player.getUniqueID(); + if (!sTesseractGeneratorOwnershipMap.isEmpty() && playerIdentifier != null){ + 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()) { + Entry<Integer, GT_MetaTileEntity_TesseractGenerator> current = i.next(); + if (current.getValue().equals(generator)){ + return true; + } + } + } + return false; + } + + public final boolean setGeneratorOwnershipByPlayer(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; + } + + + + /** + * + * Tesseract Terminal Helpers + * + * @param player + * @return + */ + + + public final boolean isTerminalOwnedByPlayer(EntityPlayer player, GT_MetaTileEntity_TesseractTerminal generator){ + UUID playerIdentifier = player.getUniqueID(); + if (!sTesseractTerminalOwnershipMap.isEmpty() && playerIdentifier != null){ + Map<Integer, GT_MetaTileEntity_TesseractTerminal> generators = getTerminalOwnershipByPlayer(player); + Set<Entry<Integer, GT_MetaTileEntity_TesseractTerminal>> players = generators.entrySet(); + Iterator<Entry<Integer, GT_MetaTileEntity_TesseractTerminal>> i = players.iterator(); + while(i.hasNext()) { + Entry<Integer, GT_MetaTileEntity_TesseractTerminal> current = i.next(); + if (current.getValue().equals(generator)){ + return true; + } + } + } + return false; + } + + public final boolean setTerminalOwnershipByPlayer(EntityPlayer player, int freq, GT_MetaTileEntity_TesseractTerminal generator){ + UUID playerIdentifier = player.getUniqueID(); + if (playerIdentifier != null){ + 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); + return true; + } + else if (sTesseractTerminalOwnershipMap.containsKey(playerIdentifier)){ + Map<Integer, GT_MetaTileEntity_TesseractTerminal> ownershipMap = sTesseractTerminalOwnershipMap.get(playerIdentifier); + ownershipMap.put(freq, generator); + sTesseractTerminalOwnershipMap.put(playerIdentifier, ownershipMap); + return true; + } + } + return false; + } + + + + + + + + /** + * + * Internal Methods + * + */ + + private final Map<Integer, GT_MetaTileEntity_TesseractGenerator> getGeneratorOwnershipByPlayer(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; + } + + private final Map<Integer, GT_MetaTileEntity_TesseractTerminal> getTerminalOwnershipByPlayer(EntityPlayer player){ + UUID playerIdentifier = player.getUniqueID(); + if (!sTesseractTerminalOwnershipMap.isEmpty() && playerIdentifier != null){ + Set<Entry<UUID, Map<Integer, GT_MetaTileEntity_TesseractTerminal>>> players = sTesseractTerminalOwnershipMap.entrySet(); + Iterator<Entry<UUID, Map<Integer, GT_MetaTileEntity_TesseractTerminal>>> i = players.iterator(); + while(i.hasNext()) { + Entry<UUID, Map<Integer, GT_MetaTileEntity_TesseractTerminal>> current = i.next(); + if (current.getKey().compareTo(playerIdentifier) == 0){ + return current.getValue(); + } + + } + } + return null; + } + + +} |