aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-11-23 21:53:04 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-11-23 21:53:04 +1000
commitae8a4b14a0de47c081d518681647d14122163f8e (patch)
treecfad69fc4475cf6560fcfbe9454184d463c407ff
parent757d747a2f7a63bec084a48303250af2956876ef (diff)
downloadGT5-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.
-rw-r--r--src/Java/gtPlusPlus/core/item/base/CoreItem.java23
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java56
-rw-r--r--src/Java/gtPlusPlus/core/util/Utils.java6
-rw-r--r--src/Java/gtPlusPlus/core/util/item/ItemUtils.java4
-rw-r--r--src/Java/gtPlusPlus/core/util/materials/MaterialUtils.java4
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);