diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-11-23 21:53:04 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-11-23 21:53:04 +1000 |
commit | ae8a4b14a0de47c081d518681647d14122163f8e (patch) | |
tree | cfad69fc4475cf6560fcfbe9454184d463c407ff /src/Java | |
parent | 757d747a2f7a63bec084a48303250af2956876ef (diff) | |
download | GT5-Unofficial-ae8a4b14a0de47c081d518681647d14122163f8e.tar.gz GT5-Unofficial-ae8a4b14a0de47c081d518681647d14122163f8e.tar.bz2 GT5-Unofficial-ae8a4b14a0de47c081d518681647d14122163f8e.zip |
$ Heavily improved the code for item replacements in CoreItem.java.
+ Added handlers in Material.java for materials with invalid names.
% Changed logging on some math related functions in Utils.java.
+ Added an extra case for Infused dusts into MaterialUtils.java.
Diffstat (limited to 'src/Java')
-rw-r--r-- | src/Java/gtPlusPlus/core/item/base/CoreItem.java | 23 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/material/Material.java | 56 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/util/Utils.java | 6 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/util/item/ItemUtils.java | 4 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java | 4 |
5 files changed, 55 insertions, 38 deletions
diff --git a/src/Java/gtPlusPlus/core/item/base/CoreItem.java b/src/Java/gtPlusPlus/core/item/base/CoreItem.java index 5f4ef7a823..22896fcf9b 100644 --- a/src/Java/gtPlusPlus/core/item/base/CoreItem.java +++ b/src/Java/gtPlusPlus/core/item/base/CoreItem.java @@ -22,7 +22,7 @@ public class CoreItem extends Item private final EnumChatFormatting descColour; private final String itemDescription; private final boolean hasEffect; - + //Replace Item - What does this item turn into when held. private final ItemStack turnsInto; @@ -42,7 +42,7 @@ public class CoreItem extends Item public CoreItem(String unlocalizedName, CreativeTabs creativeTab, ItemStack OverrideItem) { this(unlocalizedName, creativeTab, 64, 0, "This item will be replaced by another when helf by a player, it is old and should not be used in recipes.", EnumRarity.uncommon, EnumChatFormatting.UNDERLINE, false, OverrideItem); //Calls 5 - + } //1 @@ -131,16 +131,27 @@ public class CoreItem extends Item public boolean hasEffect(ItemStack par1ItemStack){ return hasEffect; } - + @Override public void onUpdate(ItemStack iStack, World world, Entity entityHolding, int p_77663_4_, boolean p_77663_5_) { if (turnsInto != null){ if (entityHolding instanceof EntityPlayer){ + Utils.LOG_INFO("Replacing "+iStack.getDisplayName()+" with "+turnsInto.getDisplayName()+"."); ItemStack tempTransform = turnsInto; - tempTransform.stackSize = iStack.stackSize; - ((EntityPlayer) entityHolding).inventory.addItemStackToInventory((tempTransform)); - ((EntityPlayer) entityHolding).inventory.consumeInventoryItem(this); + if (iStack.stackSize == 64){ + tempTransform.stackSize=64; + ((EntityPlayer) entityHolding).inventory.addItemStackToInventory((tempTransform)); + for (int l=0;l<64;l++){ + ((EntityPlayer) entityHolding).inventory.consumeInventoryItem(this); + } + + } + else { + tempTransform.stackSize=1; + ((EntityPlayer) entityHolding).inventory.addItemStackToInventory((tempTransform)); + ((EntityPlayer) entityHolding).inventory.consumeInventoryItem(this); + } } } } diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index b7263d26a6..1ddd93003a 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -23,7 +23,7 @@ public class Material { private final Fluid vMoltenFluid; - protected Object dataVar; + protected Object dataVar = MathUtils.generateSingularRandomHexValue(); private ArrayList<MaterialStack> vMaterialInput = new ArrayList<MaterialStack>(); public final long[] vSmallestRatio; @@ -172,15 +172,21 @@ public class Material { } final public String getLocalizedName(){ - return localizedName; + if (this.localizedName != null) + return this.localizedName; + return "ERROR BAD LOCALIZED NAME"; } final public String getUnlocalizedName(){ - return unlocalizedName; + if (this.unlocalizedName != null) + return this.unlocalizedName; + return "ERROR.BAD.UNLOCALIZED.NAME"; } final public short[] getRGBA(){ - return this.RGBA; + if (this.RGBA != null) + return this.RGBA; + return new short[] {255,0,0}; } final public int getRgbAsHex(){ @@ -287,29 +293,29 @@ public class Material { final public ItemStack[] getMaterialComposites(){ //Utils.LOG_WARNING("Something requested the materials needed for "+localizedName); if (vMaterialInput != null){ - if (!vMaterialInput.isEmpty()){ - ItemStack[] temp = new ItemStack[vMaterialInput.size()]; - for (int i=0;i<vMaterialInput.size();i++){ - //Utils.LOG_WARNING("i:"+i); - ItemStack testNull = null; - try { - testNull = vMaterialInput.get(i).getDustStack(); - } catch (Throwable r){ - Utils.LOG_WARNING("Failed gathering material stack for "+localizedName+"."); - Utils.LOG_WARNING("What Failed: Length:"+vMaterialInput.size()+" current:"+i); - } - try { - if (testNull != null){ - //Utils.LOG_WARNING("not null"); - temp[i] = vMaterialInput.get(i).getDustStack(); + if (!vMaterialInput.isEmpty()){ + ItemStack[] temp = new ItemStack[vMaterialInput.size()]; + for (int i=0;i<vMaterialInput.size();i++){ + //Utils.LOG_WARNING("i:"+i); + ItemStack testNull = null; + try { + testNull = vMaterialInput.get(i).getDustStack(); + } catch (Throwable r){ + Utils.LOG_WARNING("Failed gathering material stack for "+localizedName+"."); + Utils.LOG_WARNING("What Failed: Length:"+vMaterialInput.size()+" current:"+i); } - } catch (Throwable r){ - Utils.LOG_WARNING("Failed setting slot "+i+", using "+localizedName); - } - } - return temp; + try { + if (testNull != null){ + //Utils.LOG_WARNING("not null"); + temp[i] = vMaterialInput.get(i).getDustStack(); + } + } catch (Throwable r){ + Utils.LOG_WARNING("Failed setting slot "+i+", using "+localizedName); + } + } + return temp; + } } - } return new ItemStack[]{}; } diff --git a/src/Java/gtPlusPlus/core/util/Utils.java b/src/Java/gtPlusPlus/core/util/Utils.java index 36a0b717aa..99b5a30827 100644 --- a/src/Java/gtPlusPlus/core/util/Utils.java +++ b/src/Java/gtPlusPlus/core/util/Utils.java @@ -411,7 +411,7 @@ public class Utils { code = code+code+code; int i = Integer.parseInt(code); hexColorMap.put(a,Integer.toHexString( 0x1000000 | i).substring(1).toUpperCase()); - Utils.LOG_INFO(""+Integer.toHexString( 0x1000000 | i).substring(1).toUpperCase()); + Utils.LOG_WARNING(""+Integer.toHexString( 0x1000000 | i).substring(1).toUpperCase()); } return hexColorMap; } @@ -445,7 +445,7 @@ public class Utils { public static Integer appenedHexNotationToInteger(int hexAsStringOrInt){ String hexChar = "0x"; String result; - Utils.LOG_INFO(String.valueOf(hexAsStringOrInt)); + Utils.LOG_WARNING(String.valueOf(hexAsStringOrInt)); result = hexChar+String.valueOf(hexAsStringOrInt); return Integer.getInteger(result); } @@ -481,7 +481,7 @@ public class Utils { methode.setAccessible(true); Utils.LOG_WARNING("7 "+methode.isAccessible()); ItemStack temp = (ItemStack) methode.invoke(item, cellID++, yourName, new Block[0]); - Utils.LOG_INFO("Successfully created "+temp.getDisplayName()+"s."); + Utils.LOG_WARNING("Successfully created "+temp.getDisplayName()+"s."); FluidContainerRegistry.registerFluidContainer(FluidUtils.getFluidStack(s.toLowerCase(), 0), temp.copy(), Ic2Items.cell.copy()); ItemUtils.addItemToOreDictionary(temp.copy(), "cell"+s); return temp; diff --git a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java index f78c09152e..24875748bc 100644 --- a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java +++ b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java @@ -296,8 +296,8 @@ public class ItemUtils { } public static Item[] generateSpecialUseDusts(Material material, boolean onlyLargeDust){ - String unlocalizedName = material.getUnlocalizedName(); - String materialName = material.getUnlocalizedName(); + String materialName = material.getLocalizedName(); + String unlocalizedName = Utils.sanitizeString(materialName); int Colour = material.getRgbAsHex(); Item[] output = null; if (onlyLargeDust == false){ diff --git a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java index d72af46c8a..d96d813e6f 100644 --- a/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java +++ b/src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java @@ -55,8 +55,8 @@ public class MaterialUtils { int radioactivity = 0; if (material.isRadioactive()){ radioactivity = 1; - } - if (hasValidRGBA(rgba) || element == Element.H){ + } + if (hasValidRGBA(rgba) || element == Element.H || (material == Materials.InfusedAir || material == Materials.InfusedFire || material == Materials.InfusedEarth || material == Materials.InfusedWater)){ //ModItems.itemBaseDecidust = UtilsItems.generateDecidust(material); //ModItems.itemBaseCentidust = UtilsItems.generateCentidust(material); return new Material(name, rgba, melting, boiling, protons, neutrons, blastFurnace, chemicalFormula, radioactivity); |