aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util/minecraft
diff options
context:
space:
mode:
authorAlkalus <Draknyte1@hotmail.com>2020-04-11 22:40:18 +0100
committerAlkalus <Draknyte1@hotmail.com>2020-04-11 22:40:18 +0100
commitbaf1f6ff533b9ada00aeb7de98dd0bdaf5c28e10 (patch)
tree9cf8c1f5d0519345680569c0863eb7afe54ebb6b /src/Java/gtPlusPlus/core/util/minecraft
parent2a5ab9b1fce054e25af438c550328d7c18680a17 (diff)
downloadGT5-Unofficial-baf1f6ff533b9ada00aeb7de98dd0bdaf5c28e10.tar.gz
GT5-Unofficial-baf1f6ff533b9ada00aeb7de98dd0bdaf5c28e10.tar.bz2
GT5-Unofficial-baf1f6ff533b9ada00aeb7de98dd0bdaf5c28e10.zip
+ Added more milled materials.
+ Added proper structure for Flotation Cells. + Added all milled materials to flotation cell recipes. + Added Human meat drops for dead players. + Added Slicing mode for ICM. % Changed getVoltageForTier to be a switch case. % Stopped download of cape list in dev environment. $ Adjusted how Fusion MK4 injects power, it now pulls the voltage of the hatch. $ Fixed Fake Player Handling.
Diffstat (limited to 'src/Java/gtPlusPlus/core/util/minecraft')
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java118
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java60
2 files changed, 116 insertions, 62 deletions
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
index 64a6c9e820..7e9e34ae47 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
@@ -209,10 +209,10 @@ public class MaterialUtils {
}
public static int getTierOfMaterial(final double aMeltingPoint){
-
+
return aMeltingPoint < 1000 ? 0 : (MathUtils.roundToClosestInt(aMeltingPoint/1000f));
-
-
+
+
/*if ((aMeltingPoint >= 0) && (aMeltingPoint <= 1000)){
return 1;
}
@@ -250,40 +250,42 @@ public class MaterialUtils {
public static int getVoltageForTier(int aTier) {
//aTier += 1; - Probably some logic to this, idk.
- if (aTier <= 0) {
- return 16;
- } else if (aTier == 1) {
- return 30;
- } else if (aTier == 2) {
- return 120;
- } else if (aTier == 3) {
- return 480;
- } else if (aTier == 4) {
- return 1920;
- } else if (aTier == 5) {
- return 7680;
- } else if (aTier == 6) {
- return 30720;
- } else if (aTier == 7) {
- return 122880;
- } else if (aTier == 8) {
- return 491520;
- } else if (aTier == 9) {
- return 1966080;
- } else if (aTier == 10) {
- return 7864320;
- } else if (aTier == 11) {
- return 31457280;
- } else if (aTier == 12) {
- return 125829120;
- } else if (aTier == 13) {
- return 503316480;
- } else if (aTier == 14) {
- return 2013265920;
- } else {
- return Integer.MAX_VALUE;
- }
-
+
+ switch(aTier){
+ case 0:
+ return 16;
+ case 1:
+ return 30;
+ case 2:
+ return 120;
+ case 3:
+ return 480;
+ case 4:
+ return 1920;
+ case 5:
+ return 7680;
+ case 6:
+ return 30720;
+ case 7:
+ return 122880;
+ case 8:
+ return 491520;
+ case 9:
+ return 1966080;
+ case 10:
+ return 7864320;
+ case 11:
+ return 31457280;
+ case 12:
+ return 125829120;
+ case 13:
+ return 503316480;
+ case 14:
+ return 2013265920;
+ default:
+ return Integer.MAX_VALUE;
+ }
+
/*else {
int newTier = aTier - 1;
return (int) ((4*(Math.pow(4, newTier)))*7.5);
@@ -342,7 +344,7 @@ public class MaterialUtils {
TextureSet o = (r != null && r.isPresent() && r.get() != null) ? r.get() : null;
return o;*/
}
-
+
public static Materials getMaterial(String aMaterialName, String aFallbackMaterialName) {
@@ -416,7 +418,7 @@ public class MaterialUtils {
return aDataSet;
}
return aDataSet;
- */}
+ */}
public static AutoMap<Material> getCompoundMaterialsRecursively_Speiger(Material toSearch) {
AutoMap<Material> resultList = new AutoMap<Material>();
@@ -425,11 +427,11 @@ public class MaterialUtils {
return resultList;
}
final int HARD_LIMIT = 1000;
-
+
// Could be a Deque but i dont use the interface
// enough to use it as default.
LinkedList<Material> toCheck = new LinkedList<Material>();
-
+
toCheck.add(toSearch);
int processed = 0;
while (toCheck.size() > 0 && processed < HARD_LIMIT) {
@@ -445,11 +447,11 @@ public class MaterialUtils {
}
return resultList;
}
-
+
public static void generateComponentAndAssignToAMaterial(ComponentTypes aType, Material aMaterial) {
generateComponentAndAssignToAMaterial(aType, aMaterial, true);
}
-
+
public static void generateComponentAndAssignToAMaterial(ComponentTypes aType, Material aMaterial, boolean generateRecipes) {
Item aGC;
if (aType == ComponentTypes.PLATEHEAVY) {
@@ -460,33 +462,33 @@ public class MaterialUtils {
}
if (aGC != null) {
String aFormattedLangName = aType.getName();
-
+
if (!aFormattedLangName.startsWith(" ")) {
if (aFormattedLangName.contains("@")) {
String[] aSplit = aFormattedLangName.split("@");
aFormattedLangName = aSplit[0] + " " + aMaterial.getLocalizedName() + " " + aSplit[1];
}
}
-
+
if (aFormattedLangName.equals(aType.getName())) {
aFormattedLangName = aMaterial.getLocalizedName() + aFormattedLangName;
-
+
}
-
-
-
+
+
+
Logger.MATERIALS("[Lang] "+aGC.getUnlocalizedName()+".name="+aFormattedLangName);
aMaterial.registerComponentForMaterial(aType, ItemUtils.getSimpleStack(aGC));
}
}
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
public static void generateSpecialDustAndAssignToAMaterial(Material aMaterial) {
generateSpecialDustAndAssignToAMaterial(aMaterial, true);
}
@@ -498,7 +500,7 @@ public class MaterialUtils {
aMaterial.registerComponentForMaterial(OrePrefixes.dustSmall, ItemUtils.getSimpleStack(aDusts[1]));
aMaterial.registerComponentForMaterial(OrePrefixes.dustTiny, ItemUtils.getSimpleStack(aDusts[2]));
}
-
+
}
public static boolean doesMaterialExist(String aMatName) {
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java
index e64414b493..110b2baf25 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java
@@ -1,23 +1,27 @@
package gtPlusPlus.core.util.minecraft;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import gtPlusPlus.core.handler.events.BlockEventHandler;
import gtPlusPlus.core.util.Utils;
import net.minecraft.client.Minecraft;
+import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.ChunkCoordinates;
import net.minecraft.world.World;
+import net.minecraftforge.common.util.FakePlayer;
+import thaumcraft.common.lib.FakeThaumcraftPlayer;
public class PlayerUtils {
+ public static final Map<String, EntityPlayer> mCachedFakePlayers = new WeakHashMap<String, EntityPlayer>();
+
public static void messagePlayer(final EntityPlayer P, final String S){
gregtech.api.util.GT_Utility.sendChatToPlayer(P, S);
}
@@ -195,5 +199,53 @@ public class PlayerUtils {
public static boolean canTakeDamage(EntityPlayer aPlayer) {
return !aPlayer.capabilities.disableDamage;
}
+
+ public static void cacheFakePlayer(EntityPlayer aPlayer) {
+ ChunkCoordinates aChunkLocation = aPlayer.getPlayerCoordinates();
+ // Cache Fake Player
+ if (aPlayer instanceof FakePlayer || aPlayer instanceof FakeThaumcraftPlayer
+ || (aPlayer.getCommandSenderName() == null
+ || aPlayer.getCommandSenderName().length() <= 0)
+ || (aPlayer.isEntityInvulnerable() && !aPlayer.canCommandSenderUseCommand(0, "")
+ && (aChunkLocation == null) || (aChunkLocation.posX == 0 && aChunkLocation.posY == 0
+ && aChunkLocation.posZ == 0))) {
+ mCachedFakePlayers.put(aPlayer.getUniqueID().toString(), aPlayer);
+ }
+ }
+
+ public static boolean isCachedFakePlayer(String aUUID) {
+ return mCachedFakePlayers.containsKey(aUUID);
+ }
+
+ public static boolean isRealPlayer(EntityLivingBase aEntity) {
+ if (aEntity instanceof EntityPlayer) {
+ EntityPlayer p = (EntityPlayer) aEntity;
+ ChunkCoordinates aChunkLocation = p.getPlayerCoordinates();
+ if (p instanceof FakePlayer) {
+ cacheFakePlayer(p);
+ return false;
+ }
+ if (p instanceof FakeThaumcraftPlayer) {
+ cacheFakePlayer(p);
+ return false;
+ }
+ if (p.getCommandSenderName() == null) {
+ cacheFakePlayer(p);
+ return false;
+ }
+ if (p.getCommandSenderName().length() <= 0) {
+ cacheFakePlayer(p);
+ return false;
+ }
+ if (p.isEntityInvulnerable() && !p.canCommandSenderUseCommand(0, "") && (aChunkLocation.posX == 0 && aChunkLocation.posY == 0 && aChunkLocation.posZ == 0)) {
+ cacheFakePlayer(p);
+ return false;
+ }
+ if (!isCachedFakePlayer(p.getUniqueID().toString())) {
+ return true;
+ }
+ }
+ return false;
+ }
}