diff options
Diffstat (limited to 'main/java/gregtech/api/util')
-rw-r--r-- | main/java/gregtech/api/util/GT_Config.java | 8 | ||||
-rw-r--r-- | main/java/gregtech/api/util/GT_Utility.java | 11 |
2 files changed, 14 insertions, 5 deletions
diff --git a/main/java/gregtech/api/util/GT_Config.java b/main/java/gregtech/api/util/GT_Config.java index 93b3a51e45..9ad2ebab50 100644 --- a/main/java/gregtech/api/util/GT_Config.java +++ b/main/java/gregtech/api/util/GT_Config.java @@ -36,11 +36,15 @@ public class GT_Config implements Runnable { Object rName = GT_OreDictUnificator.getAssociation(aStack); if (rName != null) return rName.toString(); try {if (GT_Utility.isStringValid(rName = aStack.getUnlocalizedName())) return rName.toString();} catch (Throwable e) {/*Do nothing*/} - return aStack.getItem() + "." + aStack.getItemDamage(); + String sName = aStack.getItem().toString(); + String[] tmp = sName.split("@"); + if(tmp.length>0)sName=tmp[0]; + return sName + "." + aStack.getItemDamage(); } public boolean get(Object aCategory, ItemStack aStack, boolean aDefault) { - return get(aCategory, getStackConfigName(aStack), aDefault); + String aName = getStackConfigName(aStack); + return get(aCategory, aName , aDefault); } public boolean get(Object aCategory, String aName, boolean aDefault) { diff --git a/main/java/gregtech/api/util/GT_Utility.java b/main/java/gregtech/api/util/GT_Utility.java index 2bfae10fee..3285661d8f 100644 --- a/main/java/gregtech/api/util/GT_Utility.java +++ b/main/java/gregtech/api/util/GT_Utility.java @@ -1149,11 +1149,16 @@ public class GT_Utility { return aStack; } - public static boolean isOpaqueBlock(World aWorld, int aX, int aY, int aZ) { - return aWorld.getBlock(aX, aY, aZ).isOpaqueCube(); + public static boolean isBlockOccluded(World aWorld, int aX, int aY, int aZ, boolean aIgnoreUnloadedChunks, boolean aDefault) { + return isBlockOpaque(aWorld, aX+1, aY, aZ, aIgnoreUnloadedChunks, aDefault) && isBlockOpaque(aWorld, aX-1, aY, aZ, aIgnoreUnloadedChunks, aDefault) && isBlockOpaque(aWorld, aX, aY+1, aZ, T, aDefault) && isBlockOpaque(aWorld, aX, aY-1, aZ, T, aDefault) && isBlockOpaque(aWorld, aX, aY, aZ+1, aIgnoreUnloadedChunks, aDefault) && isBlockOpaque(aWorld, aX, aY, aZ-1, aIgnoreUnloadedChunks, aDefault); } - public static boolean isAirBlock(World aWorld, int aX, int aY, int aZ) { + public static boolean isBlockOpaque(World aWorld, int aX, int aY, int aZ, boolean aIgnoreUnloadedChunks, boolean aDefault) { + if (aIgnoreUnloadedChunks || aWorld.blockExists(aX, aY, aZ)) return aWorld.getBlock(aX, aY, aZ).isOpaqueCube(); + return aDefault; + } + + public static boolean isBlockAir(World aWorld, int aX, int aY, int aZ) { return aWorld.getBlock(aX, aY, aZ).isAir(aWorld, aX, aY, aZ); } |