aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
authorBlood-Asp <bloodasphendrik@gmail.com>2017-11-25 18:43:13 +0100
committerGitHub <noreply@github.com>2017-11-25 18:43:13 +0100
commitdbbefafbccc2aca31f718775e43c4f36ca7e0a85 (patch)
tree9ad3fcaef69c67c9451413a0ab958c2472cd8365 /src/main/java/gregtech/api
parent2b8cca2565c58f99654840f6e3cafc5142fbd9ca (diff)
parent1c9c9af45bfa46278ed4840c3c6ae1459879d2fe (diff)
downloadGT5-Unofficial-dbbefafbccc2aca31f718775e43c4f36ca7e0a85.tar.gz
GT5-Unofficial-dbbefafbccc2aca31f718775e43c4f36ca7e0a85.tar.bz2
GT5-Unofficial-dbbefafbccc2aca31f718775e43c4f36ca7e0a85.zip
Merge branch 'unstable' into GT6-styled_pipes
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/enums/Materials.java31
-rw-r--r--src/main/java/gregtech/api/enums/OrePrefixes.java67
-rw-r--r--src/main/java/gregtech/api/enums/Tier.java2
-rw-r--r--src/main/java/gregtech/api/events/TeleporterUsingEvent.java21
-rw-r--r--src/main/java/gregtech/api/items/GT_CoolantCell_Item.java17
-rw-r--r--src/main/java/gregtech/api/items/GT_Generic_Item.java4
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaBase_Item.java13
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X01.java22
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X32.java22
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java20
-rw-r--r--src/main/java/gregtech/api/items/GT_RadioactiveCell_Item.java16
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java9
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java10
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java2
-rw-r--r--src/main/java/gregtech/api/util/GT_LanguageManager.java20
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java43
16 files changed, 243 insertions, 76 deletions
diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java
index 599cc60fec..f06809432b 100644
--- a/src/main/java/gregtech/api/enums/Materials.java
+++ b/src/main/java/gregtech/api/enums/Materials.java
@@ -536,6 +536,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials HeavyFuel = new Materials(741, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "HeavyFuel", "Heavy Fuel", 3, 192, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack).setCanBeCracked(true);
public static Materials LPG = new Materials(742, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "LPG", "LPG", 1, 256, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow);
+ public static Materials Chlorobenzene = new MaterialBuilder(605, TextureSet.SET_FLUID, "Chlorobenzene").addCell().addFluid().setRGB(0, 50, 65).setColor(Dyes.dyeGray).setMaterialList(new MaterialStack(Carbon, 6), new MaterialStack(Hydrogen, 5), new MaterialStack(Chlorine, 1)).addElectrolyzerRecipe().constructMaterial();
public static Materials DilutedHydrochloricAcid = new MaterialBuilder(606, TextureSet.SET_FLUID, "Diluted Hydrochloric Acid").setName("DilutedHydrochloricAcid_GT5U").addCell().addFluid().setRGB(153, 167, 163).setColor(Dyes.dyeLightGray).setMaterialList(new MaterialStack(Hydrogen, 1), new MaterialStack(Chlorine, 1)).constructMaterial();
public static Materials Pyrochlore = new MaterialBuilder(607, TextureSet.SET_METALLIC, "Pyrochlore").addDustItems().addOreItems().setRGB(43, 17, 0).setColor(Dyes.dyeBlack).setMaterialList(new MaterialStack(Calcium, 2), new MaterialStack(Niobium, 2), new MaterialStack(Oxygen, 7)).addElectrolyzerRecipe().constructMaterial();
public static Materials GrowthMediumRaw = new MaterialBuilder(608, TextureSet.SET_FLUID, "Raw Growth Medium").setName("GrowthMediumRaw").addCell().addFluid().setRGB(211, 141, 95).setColor(Dyes.dyeOrange).constructMaterial();
@@ -818,7 +819,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public byte mEnchantmentToolsLevel = 0, mEnchantmentArmorsLevel = 0;
public boolean mBlastFurnaceRequired = false, mTransparent = false;
public float mToolSpeed = 1.0F, mHeatDamage = 0.0F;
- public String mChemicalFormula = "?", mName = "null", mDefaultLocalName = "null", mCustomID = "null", mConfigSection = "null";
+ public String mChemicalFormula = "?", mName = "null", mDefaultLocalName = "null", mCustomID = "null", mConfigSection = "null", mLocalizedName = "null";
public Dyes mColor = Dyes._NULL;
public short mMeltingPoint = 0, mBlastFurnaceTemp = 0, mGasTemp = 0;
public int mTypes = 0;
@@ -841,22 +842,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
static {
initSubTags();
- Iron .mOreReRegistrations.add(AnyIron );
- PigIron .mOreReRegistrations.add(AnyIron );
- WroughtIron .mOreReRegistrations.add(AnyIron );
- Copper .mOreReRegistrations.add(AnyCopper );
- AnnealedCopper .mOreReRegistrations.add(AnyCopper );
-
- Bronze .mOreReRegistrations.add(AnyBronze );
-
- Rubber .mOreReRegistrations.add(AnyRubber);
- StyreneButadieneRubber .mOreReRegistrations.add(AnyRubber);
- Silicone .mOreReRegistrations.add(AnyRubber);
-
- StyreneButadieneRubber .mOreReRegistrations.add(AnySyntheticRubber);
- Silicone .mOreReRegistrations.add(AnySyntheticRubber);
-
Peanutwood .setMaceratingInto(Wood );
WoodSealed .setMaceratingInto(Wood );
NetherBrick .setMaceratingInto(Netherrack );
@@ -1984,6 +1970,19 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
return new GT_FluidStack(mStandardMoltenFluid, (int) aAmount);
}
+ public String getLocalizedNameForItem(String aFormat) {
+ return String.format(aFormat.replace("%s", "%temp").replace("%material", "%s"), this.mLocalizedName).replace("%temp", "%s");
+ }
+
+ public static String getLocalizedNameForItem(String aFormat, int aMaterialID) {
+ if (aMaterialID >= 0 && aMaterialID < 1000) {
+ Materials aMaterial = GregTech_API.sGeneratedMaterials[aMaterialID];
+ if (aMaterial != null)
+ return aMaterial.getLocalizedNameForItem(aFormat);
+ }
+ return aFormat;
+ }
+
@Override
public short[] getRGBA() {
return mRGBa;
diff --git a/src/main/java/gregtech/api/enums/OrePrefixes.java b/src/main/java/gregtech/api/enums/OrePrefixes.java
index 9c9e8296d9..f9e44da60d 100644
--- a/src/main/java/gregtech/api/enums/OrePrefixes.java
+++ b/src/main/java/gregtech/api/enums/OrePrefixes.java
@@ -900,26 +900,31 @@ public enum OrePrefixes {
return name() + aMaterial;
}
- @SuppressWarnings("incomplete-switch")
+ @Deprecated
public String getDefaultLocalNameForItem(Materials aMaterial) {
+ return aMaterial.getLocalizedNameForItem(getDefaultLocalNameFormatForItem(aMaterial));
+ }
+
+ @SuppressWarnings("incomplete-switch")
+ public String getDefaultLocalNameFormatForItem(Materials aMaterial) {
// Certain Materials have slightly different Localizations.
switch (this) {
case crateGtDust:
- return mLocalizedMaterialPre + OrePrefixes.dust.getDefaultLocalNameForItem(aMaterial);
+ return mLocalizedMaterialPre + OrePrefixes.dust.getDefaultLocalNameFormatForItem(aMaterial);
case crateGtIngot:
- return mLocalizedMaterialPre + OrePrefixes.ingot.getDefaultLocalNameForItem(aMaterial);
+ return mLocalizedMaterialPre + OrePrefixes.ingot.getDefaultLocalNameFormatForItem(aMaterial);
case crateGtGem:
- return mLocalizedMaterialPre + OrePrefixes.gem.getDefaultLocalNameForItem(aMaterial);
+ return mLocalizedMaterialPre + OrePrefixes.gem.getDefaultLocalNameFormatForItem(aMaterial);
case crateGtPlate:
- return mLocalizedMaterialPre + OrePrefixes.plate.getDefaultLocalNameForItem(aMaterial);
+ return mLocalizedMaterialPre + OrePrefixes.plate.getDefaultLocalNameFormatForItem(aMaterial);
}
switch (aMaterial.mName) {
case "Glass":
case "BorosilicateGlass":
- if (name().startsWith("gem")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Crystal";
- if (name().startsWith("plate")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Pane";
- if (name().startsWith("ingot")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Bar";
- if (name().startsWith("nugget")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Chip";
+ if (name().startsWith("gem")) return mLocalizedMaterialPre + "%material" + " Crystal";
+ if (name().startsWith("plate")) return mLocalizedMaterialPre + "%material" + " Pane";
+ if (name().startsWith("ingot")) return mLocalizedMaterialPre + "%material" + " Bar";
+ if (name().startsWith("nugget")) return mLocalizedMaterialPre + "%material" + " Chip";
break;
case "Wheat":
if (name().startsWith("dust")) return mLocalizedMaterialPre + "Flour";
@@ -929,11 +934,11 @@ public enum OrePrefixes {
break;
case "Wood":
case "WoodSealed":
- if (name().startsWith("bolt")) return "Short " + aMaterial.mDefaultLocalName + " Stick";
- if (name().startsWith("stick")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Stick";
- if (name().startsWith("dust")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Pulp";
- if (name().startsWith("nugget")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Chip";
- if (name().startsWith("plate")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Plank";
+ if (name().startsWith("bolt")) return "Short " + "%material" + " Stick";
+ if (name().startsWith("stick")) return mLocalizedMaterialPre + "%material" + " Stick";
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "%material" + " Pulp";
+ if (name().startsWith("nugget")) return mLocalizedMaterialPre + "%material" + " Chip";
+ if (name().startsWith("plate")) return mLocalizedMaterialPre + "%material" + " Plank";
break;
case "Plastic":
case "Rubber":
@@ -948,17 +953,17 @@ public enum OrePrefixes {
case "PolyvinylChloride":
case "Polystyrene":
case "StyreneButadieneRubber":
- if (name().startsWith("dust")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Pulp";
- if (name().startsWith("plate")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Sheet";
- if (name().startsWith("ingot")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Bar";
- if (name().startsWith("nugget")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Chip";
- if (name().startsWith("foil")) return "Thin " + aMaterial.mDefaultLocalName + " Sheet";
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "%material" + " Pulp";
+ if (name().startsWith("plate")) return mLocalizedMaterialPre + "%material" + " Sheet";
+ if (name().startsWith("ingot")) return mLocalizedMaterialPre + "%material" + " Bar";
+ if (name().startsWith("nugget")) return mLocalizedMaterialPre + "%material" + " Chip";
+ if (name().startsWith("foil")) return "Thin " + "%material" + " Sheet";
break;
case "FierySteel":
if (mIsContainer) return mLocalizedMaterialPre + "Fiery Blood" + mLocalizedMaterialPost;
break;
case "Steeleaf":
- if (name().startsWith("ingot")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName;
+ if (name().startsWith("ingot")) return mLocalizedMaterialPre + "%material";
break;
case "Bone":
if (name().startsWith("dust")) return mLocalizedMaterialPre + "Bone Meal";
@@ -971,7 +976,7 @@ public enum OrePrefixes {
case "Chili":
case "Cheese":
case "Snow":
- if (name().startsWith("dust")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Powder";
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "%material" + " Powder";
break;
case "Paper":
if (name().startsWith("dust")) return mLocalizedMaterialPre + "Chad";
@@ -998,7 +1003,7 @@ public enum OrePrefixes {
case "RockSalt":
case "VolcanicAsh":
case "RareEarth":
- if (name().startsWith("dust")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName;
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "%material";
break;
case "Vermiculite":
case "Bentonite":
@@ -1012,13 +1017,13 @@ public enum OrePrefixes {
case "QuartzSand":
case "Pitchblende":
case "FullersEarth":
- if (name().startsWith("dust")) return mLocalizedMaterialPre + aMaterial.mDefaultLocalName;
+ if (name().startsWith("dust")) return mLocalizedMaterialPre + "%material";
switch (this) {
case crushedCentrifuged:
case crushedPurified:
- return mLocalizedMaterialPre + aMaterial.mDefaultLocalName;
+ return mLocalizedMaterialPre + "%material";
case crushed:
- return "Ground " + aMaterial.mDefaultLocalName;
+ return "Ground " + "%material";
}
break;
}
@@ -1032,22 +1037,22 @@ public enum OrePrefixes {
case "InfusedOrder":
case "InfusedVis":
case "InfusedWater":
- if (name().startsWith("gem")) return mLocalizedMaterialPre + "Shard of " + aMaterial.mDefaultLocalName;
- if (name().startsWith("crystal")) return mLocalizedMaterialPre + "Shard of " + aMaterial.mDefaultLocalName;
+ if (name().startsWith("gem")) return mLocalizedMaterialPre + "Shard of " + "%material";
+ if (name().startsWith("crystal")) return mLocalizedMaterialPre + "Shard of " + "%material";
if (name().startsWith("plate"))
- return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Crystal Plate";
+ return mLocalizedMaterialPre + "%material" + " Crystal Plate";
if (name().startsWith("dust"))
- return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Crystal Powder";
+ return mLocalizedMaterialPre + "%material" + " Crystal Powder";
switch (this) {
case crushedCentrifuged:
case crushedPurified:
case crushed:
- return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + " Crystals";
+ return mLocalizedMaterialPre + "%material" + " Crystals";
}
break;
}
}
// Use Standard Localization
- return mLocalizedMaterialPre + aMaterial.mDefaultLocalName + mLocalizedMaterialPost;
+ return mLocalizedMaterialPre + "%material" + mLocalizedMaterialPost;
}
} \ No newline at end of file
diff --git a/src/main/java/gregtech/api/enums/Tier.java b/src/main/java/gregtech/api/enums/Tier.java
index c40a4d8ed2..8ad7d3af0c 100644
--- a/src/main/java/gregtech/api/enums/Tier.java
+++ b/src/main/java/gregtech/api/enums/Tier.java
@@ -8,7 +8,7 @@ public class Tier {
ELECTRIC = new Tier[]{
new Tier(SubTag.ENERGY_ELECTRICITY, 0, 8, 1, 1, 1, Materials.WroughtIron, ItemList.Hull_ULV, OrePrefixes.cableGt01.get(Materials.Lead), OrePrefixes.cableGt04.get(Materials.Lead), OrePrefixes.circuit.get(Materials.Primitive), OrePrefixes.circuit.get(Materials.Basic)),
new Tier(SubTag.ENERGY_ELECTRICITY, 1, 32, 1, 1, 1, Materials.Steel, ItemList.Hull_LV, OrePrefixes.cableGt01.get(Materials.Tin), OrePrefixes.cableGt04.get(Materials.Tin), OrePrefixes.circuit.get(Materials.Basic), OrePrefixes.circuit.get(Materials.Good)),
- new Tier(SubTag.ENERGY_ELECTRICITY, 2, 128, 1, 1, 1, Materials.Aluminium, ItemList.Hull_MV, OrePrefixes.cableGt01.get(Materials.AnyCopper), OrePrefixes.cableGt04.get(Materials.AnyCopper), OrePrefixes.circuit.get(Materials.Good), OrePrefixes.circuit.get(Materials.Advanced)),
+ new Tier(SubTag.ENERGY_ELECTRICITY, 2, 128, 1, 1, 1, Materials.Aluminium, ItemList.Hull_MV, OrePrefixes.cableGt01.get(Materials.Copper), OrePrefixes.cableGt04.get(Materials.Copper), OrePrefixes.circuit.get(Materials.Good), OrePrefixes.circuit.get(Materials.Advanced)),
new Tier(SubTag.ENERGY_ELECTRICITY, 3, 512, 1, 1, 1, Materials.StainlessSteel, ItemList.Hull_HV, OrePrefixes.cableGt01.get(Materials.Gold), OrePrefixes.cableGt04.get(Materials.Gold), OrePrefixes.circuit.get(Materials.Advanced), OrePrefixes.circuit.get(Materials.Data)),
new Tier(SubTag.ENERGY_ELECTRICITY, 4, 2048, 1, 1, 1, Materials.Titanium, ItemList.Hull_EV, OrePrefixes.cableGt01.get(Materials.Aluminium), OrePrefixes.cableGt04.get(Materials.Aluminium), OrePrefixes.circuit.get(Materials.Data), OrePrefixes.circuit.get(Materials.Elite)),
new Tier(SubTag.ENERGY_ELECTRICITY, 5, 8192, 1, 1, 1, Materials.TungstenSteel, ItemList.Hull_IV, OrePrefixes.cableGt01.get(Materials.Platinum), OrePrefixes.cableGt04.get(Materials.Platinum), OrePrefixes.circuit.get(Materials.Elite), OrePrefixes.circuit.get(Materials.Master)),
diff --git a/src/main/java/gregtech/api/events/TeleporterUsingEvent.java b/src/main/java/gregtech/api/events/TeleporterUsingEvent.java
new file mode 100644
index 0000000000..ab065f6380
--- /dev/null
+++ b/src/main/java/gregtech/api/events/TeleporterUsingEvent.java
@@ -0,0 +1,21 @@
+package gregtech.api.events;
+
+import net.minecraft.entity.Entity;
+
+@cpw.mods.fml.common.eventhandler.Cancelable
+public class TeleporterUsingEvent extends net.minecraftforge.event.entity.EntityEvent {
+
+ public final Entity mEntity;
+ public final int mTargetX, mTargetY, mTargetZ, mTargetD;
+ public final boolean mHasEgg;
+
+ public TeleporterUsingEvent(Entity aEntity, int aTargetX, int aTargetY, int aTargetZ, int aTargetD, boolean aHasEgg) {
+ super(aEntity);
+ mEntity = aEntity;
+ mTargetX = aTargetX;
+ mTargetY = aTargetY;
+ mTargetZ = aTargetZ;
+ mTargetD = aTargetD;
+ mHasEgg = aHasEgg;
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/api/items/GT_CoolantCell_Item.java b/src/main/java/gregtech/api/items/GT_CoolantCell_Item.java
index 5a94d3b439..980967e553 100644
--- a/src/main/java/gregtech/api/items/GT_CoolantCell_Item.java
+++ b/src/main/java/gregtech/api/items/GT_CoolantCell_Item.java
@@ -5,6 +5,7 @@ import ic2.core.util.StackUtil;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
import java.util.List;
@@ -50,7 +51,21 @@ public class GT_CoolantCell_Item
public void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) {
super.addAdditionalToolTips(aList, aStack, aPlayer);
- aList.add("Stored Heat: " + getHeatOfStack(aStack));
+ int rHeat = getHeatOfStack(aStack) * 10 / this.heatStorage;
+ EnumChatFormatting color;
+ switch (rHeat) {
+ case 0: color = EnumChatFormatting.BLUE; break;
+ case 1:
+ case 2: color = EnumChatFormatting.GREEN; break;
+ case 3:
+ case 4:
+ case 5:
+ case 6: color = EnumChatFormatting.YELLOW; break;
+ case 7:
+ case 8: color = EnumChatFormatting.RED; break;
+ default: color = EnumChatFormatting.DARK_RED; break;
+ }
+ aList.add(EnumChatFormatting.WHITE + String.format(trans("000", "Stored Heat: %s"), "" + color + getHeatOfStack(aStack)));
switch (getControlTagOfStack(aStack)) {
case 1:
aList.add(StatCollector.translateToLocal("ic2.reactoritem.heatwarning.line1"));
diff --git a/src/main/java/gregtech/api/items/GT_Generic_Item.java b/src/main/java/gregtech/api/items/GT_Generic_Item.java
index 428270184d..73102711f4 100644
--- a/src/main/java/gregtech/api/items/GT_Generic_Item.java
+++ b/src/main/java/gregtech/api/items/GT_Generic_Item.java
@@ -155,4 +155,8 @@ public class GT_Generic_Item extends Item implements IProjectileItem {
return null;
}
}
+
+ public String trans(String aKey, String aEnglish){
+ return GT_LanguageManager.addStringLocalization("Item_DESCRIPTION_Index_"+aKey, aEnglish, false);
+ }
} \ No newline at end of file
diff --git a/src/main/java/gregtech/api/items/GT_MetaBase_Item.java b/src/main/java/gregtech/api/items/GT_MetaBase_Item.java
index 237b15fae9..7798ce7dc9 100644
--- a/src/main/java/gregtech/api/items/GT_MetaBase_Item.java
+++ b/src/main/java/gregtech/api/items/GT_MetaBase_Item.java
@@ -198,13 +198,13 @@ public abstract class GT_MetaBase_Item extends GT_Generic_Item implements ISpeci
tStats = getElectricStats(aStack);
if (tStats != null) {
if (tStats[3] > 0) {
- aList.add(EnumChatFormatting.AQUA + "Contains " + GT_Utility.formatNumbers(tStats[3]) + " EU Tier: " + (tStats[2] >= 0 ? tStats[2] : 0) + EnumChatFormatting.GRAY);
+ aList.add(EnumChatFormatting.AQUA + String.format(trans("009", "Contains %s EU Tier: %s"), GT_Utility.formatNumbers(tStats[3]), "" + (tStats[2] >= 0 ? tStats[2] : 0)) + EnumChatFormatting.GRAY);
} else {
long tCharge = getRealCharge(aStack);
if (tStats[3] == -2 && tCharge <= 0) {
- aList.add(EnumChatFormatting.AQUA + "Empty. You should recycle it properly." + EnumChatFormatting.GRAY);
+ aList.add(EnumChatFormatting.AQUA + trans("010", "Empty. You should recycle it properly.") + EnumChatFormatting.GRAY);
} else {
- aList.add(String.valueOf(EnumChatFormatting.AQUA) + GT_Utility.formatNumbers(tCharge) + " / " + GT_Utility.formatNumbers(Math.abs(tStats[0])) + " EU - Voltage: " + V[(int) (tStats[2] >= 0 ? tStats[2] < V.length ? tStats[2] : V.length - 1 : 1)] + EnumChatFormatting.GRAY);
+ aList.add(String.valueOf(EnumChatFormatting.AQUA) + String.format(trans("011", "%s / %s EU - Voltage: %s"), GT_Utility.formatNumbers(tCharge), GT_Utility.formatNumbers(Math.abs(tStats[0])), "" + V[(int) (tStats[2] >= 0 ? tStats[2] < V.length ? tStats[2] : V.length - 1 : 1)]) + EnumChatFormatting.GRAY);
}
}
}
@@ -212,8 +212,8 @@ public abstract class GT_MetaBase_Item extends GT_Generic_Item implements ISpeci
tStats = getFluidContainerStats(aStack);
if (tStats != null && tStats[0] > 0) {
FluidStack tFluid = getFluidContent(aStack);
- aList.add(EnumChatFormatting.BLUE + ((tFluid == null ? "No Fluids Contained" : GT_Utility.getFluidName(tFluid, true))) + EnumChatFormatting.GRAY);
- aList.add(EnumChatFormatting.BLUE + ((tFluid == null ? 0 : tFluid.amount) + "L / " + tStats[0] + "L") + EnumChatFormatting.GRAY);
+ aList.add(EnumChatFormatting.BLUE + ((tFluid == null ? trans("012", "No Fluids Contained") : GT_Utility.getFluidName(tFluid, true))) + EnumChatFormatting.GRAY);
+ aList.add(EnumChatFormatting.BLUE + String.format(trans("013", "%sL / %sL"), "" + (tFluid == null ? 0 : tFluid.amount), "" + tStats[0]) + EnumChatFormatting.GRAY);
}
ArrayList<IItemBehaviour<GT_MetaBase_Item>> tList = mItemBehaviors.get((short) getDamage(aStack));
@@ -256,7 +256,8 @@ public abstract class GT_MetaBase_Item extends GT_Generic_Item implements ISpeci
Long[] tStats = getElectricStats(aStack);
if (tStats == null || tStats[2] > aTier || !(tStats[3] == -1 || tStats[3] == -3 || (tStats[3] < 0 && aCharge == Integer.MAX_VALUE)) || aStack.stackSize != 1)
return 0;
- long tChargeBefore = getRealCharge(aStack), tNewCharge = aCharge == Integer.MAX_VALUE ? Long.MAX_VALUE : Math.min(Math.abs(tStats[0]), tChargeBefore + (aIgnoreTransferLimit ? (long) aCharge : Math.min(tStats[1], (long) aCharge)));
+ long tTransfer = aIgnoreTransferLimit ? (long) aCharge : Math.min(tStats[1], (long) aCharge);
+ long tChargeBefore = getRealCharge(aStack), tNewCharge = aCharge == Integer.MAX_VALUE ? Long.MAX_VALUE : Math.min(Math.abs(tStats[0]), Long.MAX_VALUE - tTransfer >= tChargeBefore ? tChargeBefore + tTransfer : Long.MAX_VALUE);
if (!aSimulate) setCharge(aStack, tNewCharge);
return tNewCharge - tChargeBefore;
}
diff --git a/src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X01.java b/src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X01.java
index 74e50e8694..a97613f589 100644
--- a/src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X01.java
+++ b/src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X01.java
@@ -54,7 +54,7 @@ public abstract class GT_MetaGenerated_Item_X01 extends GT_MetaGenerated_Item {
if (tMaterial == null) continue;
if (mPrefix.doGenerateItem(tMaterial)) {
ItemStack tStack = new ItemStack(this, 1, i);
- GT_LanguageManager.addStringLocalization(getUnlocalizedName(tStack) + ".name", getDefaultLocalization(tPrefix, tMaterial, i));
+ GT_LanguageManager.addStringLocalization(getUnlocalizedName(tStack) + ".name", getDefaultLocalizationFormat(tPrefix, tMaterial, i));
GT_LanguageManager.addStringLocalization(getUnlocalizedName(tStack) + ".tooltip", tMaterial.getToolTip(tPrefix.mMaterialAmount / M));
String tOreName = getOreDictString(tPrefix, tMaterial);
tPrefix = OrePrefixes.getOrePrefix(tOreName);
@@ -75,11 +75,22 @@ public abstract class GT_MetaGenerated_Item_X01 extends GT_MetaGenerated_Item {
* @param aMetaData a Index from [0 - 31999]
* @return the Localized Name when default LangFiles are used.
*/
+ @Deprecated
public String getDefaultLocalization(OrePrefixes aPrefix, Materials aMaterial, int aMetaData) {
return aPrefix.getDefaultLocalNameForItem(aMaterial);
}
/**
+ * @param aPrefix the OreDict Prefix
+ * @param aMaterial the Material
+ * @param aMetaData a Index from [0 - 31999]
+ * @return the Localized Name Format when default LangFiles are used.
+ */
+ public String getDefaultLocalizationFormat(OrePrefixes aPrefix, Materials aMaterial, int aMetaData) {
+ return aPrefix.getDefaultLocalNameFormatForItem(aMaterial);
+ }
+
+ /**
* @param aPrefix always != null
* @param aMaterial always != null
* @param aDoShowAllItems this is the Configuration Setting of the User, if he wants to see all the Stuff like Tiny Dusts or Crushed Ores as well.
@@ -103,6 +114,15 @@ public abstract class GT_MetaGenerated_Item_X01 extends GT_MetaGenerated_Item {
/* ---------- INTERNAL OVERRIDES ---------- */
@Override
+ public String getItemStackDisplayName(ItemStack aStack) {
+ String aName = super.getItemStackDisplayName(aStack);
+ int aDamage = getDamage(aStack);
+ if (aDamage < 32000 && aDamage >= 0)
+ return Materials.getLocalizedNameForItem(aName, aDamage % 1000);
+ return aName;
+ }
+
+ @Override
public ItemStack getContainerItem(ItemStack aStack) {
int aMetaData = aStack.getItemDamage();
if (aMetaData < GregTech_API.sGeneratedMaterials.length && aMetaData >= 0) {
diff --git a/src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X32.java b/src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X32.java
index cadbe685fe..515735f84b 100644
--- a/src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X32.java
+++ b/src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X32.java
@@ -52,7 +52,7 @@ public abstract class GT_MetaGenerated_Item_X32 extends GT_MetaGenerated_Item {
if (tMaterial == null) continue;
if (doesMaterialAllowGeneration(tPrefix, tMaterial)) {
ItemStack tStack = new ItemStack(this, 1, i);
- GT_LanguageManager.addStringLocalization(getUnlocalizedName(tStack) + ".name", getDefaultLocalization(tPrefix, tMaterial, i));
+ GT_LanguageManager.addStringLocalization(getUnlocalizedName(tStack) + ".name", getDefaultLocalizationFormat(tPrefix, tMaterial, i));
GT_LanguageManager.addStringLocalization(getUnlocalizedName(tStack) + ".tooltip", tMaterial.getToolTip(tPrefix.mMaterialAmount / M));
if (tPrefix.mIsUnificatable) {
GT_OreDictUnificator.set(tPrefix, tMaterial, tStack);
@@ -96,11 +96,22 @@ public abstract class GT_MetaGenerated_Item_X32 extends GT_MetaGenerated_Item {
* @param aMetaData a Index from [0 - 31999]
* @return the Localized Name when default LangFiles are used.
*/
+ @Deprecated
public String getDefaultLocalization(OrePrefixes aPrefix, Materials aMaterial, int aMetaData) {
return aPrefix.getDefaultLocalNameForItem(aMaterial);
}
/**
+ * @param aPrefix the OreDict Prefix
+ * @param aMaterial the Material
+ * @param aMetaData a Index from [0 - 31999]
+ * @return the Localized Name Format when default LangFiles are used.
+ */
+ public String getDefaultLocalizationFormat(OrePrefixes aPrefix, Materials aMaterial, int aMetaData) {
+ return aPrefix.getDefaultLocalNameFormatForItem(aMaterial);
+ }
+
+ /**
* @param aMetaData a Index from [0 - 31999]
* @param aMaterial the Material
* @return an Icon Container for the Item Display.
@@ -122,6 +133,15 @@ public abstract class GT_MetaGenerated_Item_X32 extends GT_MetaGenerated_Item {
/* ---------- INTERNAL OVERRIDES ---------- */
@Override
+ public String getItemStackDisplayName(ItemStack aStack) {
+ String aName = super.getItemStackDisplayName(aStack);
+ int aDamage = getDamage(aStack);
+ if (aDamage < 32000 && aDamage >= 0)
+ return Materials.getLocalizedNameForItem(aName, aDamage % 1000);
+ return aName;
+ }
+
+ @Override
public ItemStack getContainerItem(ItemStack aStack) {
int aDamage = aStack.getItemDamage();
if (aDamage < 32000 && aDamage >= 0) {
diff --git a/src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java b/src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
index 9ce0e913ca..d8b0976569 100644
--- a/src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
+++ b/src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
@@ -346,18 +346,18 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
if (tStats != null) {
String name = aStack.getUnlocalizedName();
if (name.equals("gt.metatool.01.170") || name.equals("gt.metatool.01.172") || name.equals("gt.metatool.01.174") || name.equals("gt.metatool.01.176")) {
- aList.add(tOffset + 0, EnumChatFormatting.WHITE + "Durability: " + EnumChatFormatting.GREEN + (tMaxDamage - getToolDamage(aStack)) + " / " + tMaxDamage + EnumChatFormatting.GRAY);
- aList.add(tOffset + 1, EnumChatFormatting.WHITE + tMaterial.mDefaultLocalName + EnumChatFormatting.YELLOW + " lvl " + getHarvestLevel(aStack, "") + EnumChatFormatting.GRAY);
- aList.add(tOffset + 2, EnumChatFormatting.WHITE + "Turbine Efficiency: " + EnumChatFormatting.BLUE + (50.0F + (10.0F * getToolCombatDamage(aStack))) + EnumChatFormatting.GRAY);
- aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Steam flow: " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed * 1000) + EnumChatFormatting.GRAY + "L/sec");
- aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Gas flow(EU burnvalue per tick): " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed * 50) + EnumChatFormatting.GRAY + "EU/t");
- aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Plasma flow(Plasma energyvalue per tick): " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed * 2000) + EnumChatFormatting.GRAY + "EU/t");
+ aList.add(tOffset + 0, EnumChatFormatting.WHITE + String.format(trans("001", "Durability: %s/%s"), "" + EnumChatFormatting.GREEN + (tMaxDamage - getToolDamage(aStack)) + " ", " " + tMaxDamage) + EnumChatFormatting.GRAY);
+ aList.add(tOffset + 1, EnumChatFormatting.WHITE + String.format(trans("002", "%s lvl %s"), tMaterial.mLocalizedName + EnumChatFormatting.YELLOW, "" + getHarvestLevel(aStack, "")) + EnumChatFormatting.GRAY);
+ aList.add(tOffset + 2, EnumChatFormatting.WHITE + String.format(trans("005", "Turbine Efficiency: %s"), "" + EnumChatFormatting.BLUE + (50.0F + (10.0F * getToolCombatDamage(aStack)))) + EnumChatFormatting.GRAY);
+ aList.add(tOffset + 3, EnumChatFormatting.WHITE + String.format(trans("006", "Optimal Steam flow: %sL/sec"), "" + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed * 1000) + EnumChatFormatting.GRAY));
+ aList.add(tOffset + 4, EnumChatFormatting.WHITE + String.format(trans("007", "Optimal Gas flow(EU burnvalue per tick): %sEU/t"), "" + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed * 50) + EnumChatFormatting.GRAY));
+ aList.add(tOffset + 5, EnumChatFormatting.WHITE + String.format(trans("008", "Optimal Plasma flow(Plasma energyvalue per tick): %sEU/t"), "" + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed * 2000) + EnumChatFormatting.GRAY));
} else {
- aList.add(tOffset + 0, EnumChatFormatting.WHITE + "Durability: " + EnumChatFormatting.GREEN + (tMaxDamage - getToolDamage(aStack)) + " / " + tMaxDamage + EnumChatFormatting.GRAY);
- aList.add(tOffset + 1, EnumChatFormatting.WHITE + tMaterial.mDefaultLocalName + EnumChatFormatting.YELLOW + " lvl " + getHarvestLevel(aStack, "") + EnumChatFormatting.GRAY);
- aList.add(tOffset + 2, EnumChatFormatting.WHITE + "Attack Damage: " + EnumChatFormatting.BLUE + getToolCombatDamage(aStack) + EnumChatFormatting.GRAY);
- aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Mining Speed: " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed) + EnumChatFormatting.GRAY);
+ aList.add(tOffset + 0, EnumChatFormatting.WHITE + String.format(trans("001", "Durability: %s/%s"), "" + EnumChatFormatting.GREEN + (tMaxDamage - getToolDamage(aStack)) + " ", " " + tMaxDamage) + EnumChatFormatting.GRAY);
+ aList.add(tOffset + 1, EnumChatFormatting.WHITE + String.format(trans("002", "%s lvl %s"), tMaterial.mLocalizedName + EnumChatFormatting.YELLOW, "" + getHarvestLevel(aStack, "")) + EnumChatFormatting.GRAY);
+ aList.add(tOffset + 2, EnumChatFormatting.WHITE + String.format(trans("003", "Attack Damage: %s"), "" + EnumChatFormatting.BLUE + getToolCombatDamage(aStack)) + EnumChatFormatting.GRAY);
+ aList.add(tOffset + 3, EnumChatFormatting.WHITE + String.format(trans("004", "Mining Speed: %s"), "" + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed)) + EnumChatFormatting.GRAY);
NBTTagCompound aNBT = aStack.getTagCompound();
if (aNBT != null) {
aNBT = aNBT.getCompoundTag("GT.ToolStats");
diff --git a/src/main/java/gregtech/api/items/GT_RadioactiveCell_Item.java b/src/main/java/gregtech/api/items/GT_RadioactiveCell_Item.java
index 082dab750b..bf6ca2aed1 100644
--- a/src/main/java/gregtech/api/items/GT_RadioactiveCell_Item.java
+++ b/src/main/java/gregtech/api/items/GT_RadioactiveCell_Item.java
@@ -5,9 +5,12 @@ import ic2.core.util.StackUtil;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
import java.util.List;
+import gregtech.common.items.GT_DepletetCell_Item;
+
public class GT_RadioactiveCell_Item
extends GT_Generic_Item implements IBoxable{
protected int cellCount;
@@ -139,7 +142,18 @@ public class GT_RadioactiveCell_Item
public void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) {
super.addAdditionalToolTips(aList, aStack, aPlayer);
//aList.add("Time left: " + (this.maxDelay - getDurabilityOfStack(aStack)) + " secs");
- aList.add("Durability: " + (this.maxDmg - getDurabilityOfStack(aStack)) + "/" + this.maxDmg);
+ int rDmg = getDurabilityOfStack(aStack) * 6 / this.maxDmg;
+ EnumChatFormatting color2;
+ switch (rDmg) {
+ case 0:
+ case 1: color2 = EnumChatFormatting.WHITE; break;
+ case 2:
+ case 3:
+ case 4: color2 = EnumChatFormatting.GRAY; break;
+ default: color2 = EnumChatFormatting.DARK_GRAY; break;
+ }
+ EnumChatFormatting color1 = this instanceof GT_DepletetCell_Item ? color2 = EnumChatFormatting.DARK_GRAY : EnumChatFormatting.WHITE;
+ aList.add(color1 + String.format(trans("001", "Durability: %s/%s"), "" + color2 + (this.maxDmg - getDurabilityOfStack(aStack)) + color1, "" + this.maxDmg));
}
@Override
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
index fe8c22c77b..f1fad63e3b 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
@@ -83,6 +83,15 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
mNEIName = aNEIName;
}
+ public GT_MetaTileEntity_BasicMachine(int aID, String aName, String aNameRegional, int aTier, int aAmperage, String[] aDescription, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName, ITexture... aOverlays) {
+ super(aID, aName, aNameRegional, aTier, OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1, aDescription, aOverlays);
+ mInputSlotCount = Math.max(0, aInputSlotCount);
+ mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
+ mAmperage = aAmperage;
+ mGUIName = aGUIName;
+ mNEIName = aNEIName;
+ }
+
public GT_MetaTileEntity_BasicMachine(String aName, int aTier, int aAmperage, String aDescription, ITexture[][][] aTextures, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName) {
super(aName, aTier, OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1, aDescription, aTextures);
mInputSlotCount = Math.max(0, aInputSlotCount);
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
index 06a115d3d4..ad808f3a71 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
@@ -156,7 +156,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
switch (mTier) {
case 0:
case 1:
- aRecipe[i] = OrePrefixes.wireGt02.get(Materials.AnyCopper);
+ aRecipe[i] = OrePrefixes.wireGt02.get(Materials.Copper);
break;
case 2:
aRecipe[i] = OrePrefixes.wireGt02.get(Materials.Cupronickel);
@@ -190,7 +190,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
switch (mTier) {
case 0:
case 1:
- aRecipe[i] = OrePrefixes.wireGt04.get(Materials.AnyCopper);
+ aRecipe[i] = OrePrefixes.wireGt04.get(Materials.Copper);
break;
case 2:
aRecipe[i] = OrePrefixes.wireGt04.get(Materials.Cupronickel);
@@ -258,7 +258,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
switch (mTier) {
case 0:
case 1:
- aRecipe[i] = OrePrefixes.stick.get(Materials.AnyIron);
+ aRecipe[i] = OrePrefixes.stick.get(Materials.Iron);
break;
case 2:
case 3:
@@ -283,10 +283,10 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aRecipe[i] = OrePrefixes.wireGt02.get(Materials.Tin);
break;
case 2:
- aRecipe[i] = OrePrefixes.wireGt02.get(Materials.AnyCopper);
+ aRecipe[i] = OrePrefixes.wireGt02.get(Materials.Copper);
break;
case 3:
- aRecipe[i] = OrePrefixes.wireGt04.get(Materials.AnyCopper);
+ aRecipe[i] = OrePrefixes.wireGt04.get(Materials.Copper);
break;
case 4:
aRecipe[i] = OrePrefixes.wireGt08.get(Materials.AnnealedCopper);
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java
index e59ba5f8ee..aabe833b16 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java
@@ -103,7 +103,7 @@ public class GT_MetaTileEntity_Hatch_Output extends GT_MetaTileEntity_Hatch {
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
aNBT.setByte("mMode", mMode);
- aNBT.setString("lockedFluidName", lockedFluidName);
+ aNBT.setString("lockedFluidName", lockedFluidName == null ? "" : lockedFluidName);
}
@Override
diff --git a/src/main/java/gregtech/api/util/GT_LanguageManager.java b/src/main/java/gregtech/api/util/GT_LanguageManager.java
index ed874e617a..dcb14b2823 100644
--- a/src/main/java/gregtech/api/util/GT_LanguageManager.java
+++ b/src/main/java/gregtech/api/util/GT_LanguageManager.java
@@ -321,7 +321,25 @@ public class GT_LanguageManager {
addStringLocalization("Interaction_DESCRIPTION_Index_213", "Input disabled");
addStringLocalization("Interaction_DESCRIPTION_Index_214", "Connected");
addStringLocalization("Interaction_DESCRIPTION_Index_215", "Disconnected");
-
+ addStringLocalization("Item_DESCRIPTION_Index_000", "Stored Heat: %s");
+ addStringLocalization("Item_DESCRIPTION_Index_001", "Durability: %s/%s");
+ addStringLocalization("Item_DESCRIPTION_Index_002", "%s lvl %s");
+ addStringLocalization("Item_DESCRIPTION_Index_003", "Attack Damage: %s");
+ addStringLocalization("Item_DESCRIPTION_Index_004", "Mining Speed: %s");
+ addStringLocalization("Item_DESCRIPTION_Index_005", "Turbine Efficiency: %s");
+ addStringLocalization("Item_DESCRIPTION_Index_006", "Optimal Steam flow: %sL/sec");
+ addStringLocalization("Item_DESCRIPTION_Index_007", "Optimal Gas flow(EU burnvalue per tick): %sEU/t");
+ addStringLocalization("Item_DESCRIPTION_Index_008", "Optimal Plasma flow(Plasma energyvalue per tick): %sEU/t");
+ addStringLocalization("Item_DESCRIPTION_Index_009", "Contains %s EU Tier: %s");
+ addStringLocalization("Item_DESCRIPTION_Index_010", "Empty. You should recycle it properly.");
+ addStringLocalization("Item_DESCRIPTION_Index_011", "%s / %s EU - Voltage: %s");
+ addStringLocalization("Item_DESCRIPTION_Index_012", "No Fluids Contained");
+ addStringLocalization("Item_DESCRIPTION_Index_013", "%sL / %sL");
+ addStringLocalization("Item_DESCRIPTION_Index_014", "Missing Coodinates!");
+ addStringLocalization("Item_DESCRIPTION_Index_015", "Device at:");
+ addStringLocalization("Item_DESCRIPTION_Index_016", "Amount: %s L");
+ addStringLocalization("Item_DESCRIPTION_Index_017", "Temperature: %s K");
+ addStringLocalization("Item_DESCRIPTION_Index_018", "State: %s");
}
}
diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java
index f102cc4246..69f5b9783c 100644
--- a/src/main/java/gregtech/api/util/GT_Utility.java
+++ b/src/main/java/gregtech/api/util/GT_Utility.java
@@ -56,7 +56,12 @@ import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.common.util.BlockSnapshot;
+import net.minecraftforge.common.util.FakePlayer;
+import net.minecraftforge.common.util.FakePlayerFactory;
import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.event.ForgeEventFactory;
+import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fluids.*;
import net.minecraftforge.fluids.FluidContainerRegistry.FluidContainerData;
@@ -69,6 +74,8 @@ import java.text.NumberFormat;
import java.util.*;
import java.util.Map.Entry;
+import com.mojang.authlib.GameProfile;
+
import static gregtech.api.enums.GT_Values.*;
import static gregtech.common.GT_Proxy.GTPOLLUTION;
import static gregtech.common.GT_UndergroundOil.undergroundOilReadInformation;
@@ -1994,7 +2001,41 @@ public class GT_Utility {
public static ItemStack getIntegratedCircuit(int config){
return ItemList.Circuit_Integrated.getWithDamage(0, config, new Object[0]);
}
-
+
+ public static float getBlockHardnessAt(World aWorld, int aX, int aY, int aZ) {
+ return aWorld.getBlock(aX, aY, aZ).getBlockHardness(aWorld, aX, aY, aZ);
+ }
+
+ public static FakePlayer getFakePlayer(IGregTechTileEntity aBaseMetaTileEntity) {
+ if (aBaseMetaTileEntity.getWorld() instanceof WorldServer) {
+ return FakePlayerFactory.get((WorldServer) aBaseMetaTileEntity.getWorld(), new GameProfile(null, aBaseMetaTileEntity.getOwnerName()));
+ }
+ return null;
+ }
+
+ public static boolean eraseBlockByFakePlayer(FakePlayer aPlayer, int aX, int aY, int aZ, boolean isSimulate) {
+ if (aPlayer == null) return false;
+ World aWorld = aPlayer.worldObj;
+ BlockEvent.BreakEvent event = new BlockEvent.BreakEvent(aX, aY, aZ, aWorld, aWorld.getBlock(aX, aY, aZ), aWorld.getBlockMetadata(aX, aY, aZ), aPlayer);
+ MinecraftForge.EVENT_BUS.post(event);
+ if (!event.isCanceled()) {
+ if (!isSimulate) return aWorld.setBlockToAir(aX, aY, aZ);
+ return true;
+ }
+ return false;
+ }
+
+ public static boolean setBlockByFakePlayer(FakePlayer aPlayer, int aX, int aY, int aZ, Block aBlock, int aMeta, boolean isSimulate) {
+ if (aPlayer == null) return false;
+ World aWorld = aPlayer.worldObj;
+ BlockEvent.PlaceEvent event = ForgeEventFactory.onPlayerBlockPlace(aPlayer, new BlockSnapshot(aWorld, aX, aY, aZ, aBlock, aMeta), ForgeDirection.UNKNOWN);
+ if (!event.isCanceled()) {
+ if (!isSimulate) return aWorld.setBlock(aX, aY, aZ, aBlock, aMeta, 3);
+ return true;
+ }
+ return false;
+ }
+
public static class ItemNBT {
public static void setNBT(ItemStack aStack, NBTTagCompound aNBT) {
if (aNBT == null) {