aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/gregtech/GT_Mod.java6
-rw-r--r--src/main/java/gregtech/api/util/GT_Assemblyline_Server.java100
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java23
3 files changed, 127 insertions, 2 deletions
diff --git a/src/main/java/gregtech/GT_Mod.java b/src/main/java/gregtech/GT_Mod.java
index ea43588016..95273f6d7e 100644
--- a/src/main/java/gregtech/GT_Mod.java
+++ b/src/main/java/gregtech/GT_Mod.java
@@ -585,7 +585,11 @@ public class GT_Mod implements IGT_Mod {
for (Runnable tRunnable : GregTech_API.sAfterGTPreload) {
tRunnable.run();
}
- } catch (Throwable e) {e.printStackTrace(GT_Log.err);}
+ } catch (Throwable e) {
+ e.printStackTrace(GT_Log.err);
+ }
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer())
+ GT_Assemblyline_Server.fillMap(aEvent);
}
@Mod.EventHandler
diff --git a/src/main/java/gregtech/api/util/GT_Assemblyline_Server.java b/src/main/java/gregtech/api/util/GT_Assemblyline_Server.java
new file mode 100644
index 0000000000..e08cb0ea8b
--- /dev/null
+++ b/src/main/java/gregtech/api/util/GT_Assemblyline_Server.java
@@ -0,0 +1,100 @@
+package gregtech.api.util;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import com.google.common.collect.ImmutableMap;
+
+import cpw.mods.fml.common.FMLLog;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import gregtech.api.GregTech_API;
+import net.minecraftforge.common.config.ConfigCategory;
+import net.minecraftforge.common.config.Configuration;
+import net.minecraftforge.common.config.Property;
+
+public class GT_Assemblyline_Server {
+
+
+ public static LinkedHashMap<String,String> lServerNames = new LinkedHashMap<String,String>();
+ private static LinkedHashMap<String,String> internal2= new LinkedHashMap<String,String>(),internal3 = new LinkedHashMap<String,String>(),internal4= new LinkedHashMap<String,String>();
+ private static HashMap<String, Property> internal = new HashMap<String, Property>();
+
+ public static void fillMap(FMLPreInitializationEvent aEvent) {
+
+ String s = new String(aEvent.getModConfigurationDirectory().getAbsolutePath());
+ s = s.substring(0, aEvent.getModConfigurationDirectory().getAbsolutePath().length()-6);
+ s = s + "GregTech.lang";
+ File f = new File(s);
+ s = "";
+ Configuration conf = new Configuration(f);
+
+ ConfigCategory cat = conf.getCategory("languagefile");
+ internal.putAll(cat.getValues());
+ for (Map.Entry<String, Property> entry : internal.entrySet())
+ {
+ s=entry.getValue().getString().replaceAll("%", "");
+ /*if (s.contains("material")&&!entry.getKey().contains("metaitem"))
+ lServerNames.put(entry.getKey(), entry.getKey());
+ else */
+ if (entry.getKey().contains("metaitem")&&s.contains("material"))
+ internal2.put(entry.getKey(), s);
+ else if (entry.getKey().contains("blockmachines")&&s.contains("material"))
+ internal3.put(entry.getKey(), s);
+ else if (entry.getKey().contains("blockmetal")&&s.contains("material"))
+ internal4.put(entry.getKey(), s);
+ else
+ lServerNames.put(entry.getKey(), s);
+ }
+ for (Map.Entry<String, String> entry : internal2.entrySet()) {
+ if (entry.getKey().contains("name")) {
+ int i = Integer.parseInt(entry.getKey().substring("gt.metaitem.01.".length(), entry.getKey().length()-".name".length()));
+ i=i%1000;
+ lServerNames.put(entry.getKey(), entry.getValue().replace("material",GregTech_API.sGeneratedMaterials[i].toString()));
+ }
+ }
+ for (Map.Entry<String, String> entry : internal3.entrySet()) {
+ if (entry.getKey().contains("cable"))
+ lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.cable.".length(), entry.getKey().length()-".01.name".length())));
+ else if (entry.getKey().contains("gt_frame_"))
+ lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.gt_frame_".length(), entry.getKey().length()-".name".length())));
+ else if(entry.getKey().contains("gt_pipe_")) {
+ if(
+ !entry.getKey().contains("_huge") &&
+ !entry.getKey().contains("_large") &&
+ !entry.getKey().contains("_nonuple")&&
+ !entry.getKey().contains("_quadruple")&&
+ !entry.getKey().contains("_small")&&
+ !entry.getKey().contains("_tiny")
+ )
+ lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.gt_pipe_".length(), entry.getKey().length()-".name".length())));
+ else if (entry.getKey().contains("_huge")||entry.getKey().contains("_small")||entry.getKey().contains("_tiny"))
+ lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.gt_pipe_".length(), entry.getKey().length()-"_tiny.name".length())));
+ else if (entry.getKey().contains("_large"))
+ lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.gt_pipe_".length(), entry.getKey().length()-"_large.name".length())));
+ else if (entry.getKey().contains("_nonuple"))
+ lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.gt_pipe_".length(), entry.getKey().length()-"_nonuple.name".length())));
+ else if (entry.getKey().contains("_quadruple"))
+ lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.gt_pipe_".length(), entry.getKey().length()-"_quadruple.name".length())));
+ }
+ else if (entry.getKey().contains("wire"))
+ lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.wire.".length(), entry.getKey().length()-".01.name".length())));
+ else
+ lServerNames.put(entry.getKey(), entry.getValue());
+ }
+ for (Map.Entry<String, String> entry : internal4.entrySet()) {
+ if (entry.getValue().contains("blockores")) {
+ int i = Integer.parseInt(entry.getKey().substring("gt.blockores.".length(), entry.getKey().length()-".name".length()));
+ i=i%1000;
+ lServerNames.put(entry.getKey(), entry.getValue().replace("material",GregTech_API.sGeneratedMaterials[i].toString()));
+ }
+ }
+
+ internal = null;
+ internal2 = null;
+ internal3 = null;
+ internal4 = null;
+ }
+
+}
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java
index 33e89a3faa..e77a9253ca 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java
@@ -1,5 +1,6 @@
package gregtech.common.tileentities.machines.basic;
+import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.FMLLog;
import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.IIndividual;
@@ -16,6 +17,7 @@ import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.objects.ItemData;
+import gregtech.api.util.GT_Assemblyline_Server;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
@@ -219,7 +221,11 @@ public class GT_MetaTileEntity_Scanner
if(GT_Utility.areStacksEqual(tRecipe.mResearchItem, aStack, true)){
String s = tRecipe.mOutput.getDisplayName();
-
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) {
+ s = GT_Assemblyline_Server.lServerNames.get(tRecipe.mOutput.getDisplayName());
+ if (s==null)
+ s=tRecipe.mOutput.getDisplayName();
+ }
this.mOutputItems[0] = GT_Utility.copyAmount(1L, new Object[]{getSpecialSlot()});
GT_Utility.ItemNBT.setBookTitle(this.mOutputItems[0], s+" Construction Data");
@@ -247,6 +253,11 @@ public class GT_MetaTileEntity_Scanner
tNBT.setString("author", "Assembling Line Recipe Generator");
NBTTagList tNBTList = new NBTTagList();
s=tRecipe.mOutput.getDisplayName();
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) {
+ s = GT_Assemblyline_Server.lServerNames.get(tRecipe.mOutput.getDisplayName());
+ if (s==null)
+ s=tRecipe.mOutput.getDisplayName();
+ }
tNBTList.appendTag(new NBTTagString("Construction plan for "+tRecipe.mOutput.stackSize+" "+s+". Needed EU/t: "+tRecipe.mEUt+" Production time: "+(tRecipe.mDuration/20)));
for(int i=0;i<tRecipe.mInputs.length;i++){
if (tRecipe.mOreDictAlt[i] != null) {
@@ -262,12 +273,22 @@ public class GT_MetaTileEntity_Scanner
if (count > 0) tNBTList.appendTag(new NBTTagString(tBuilder.toString()));
} else if(tRecipe.mInputs[i]!=null){
s=tRecipe.mInputs[i].getDisplayName();
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) {
+ s = GT_Assemblyline_Server.lServerNames.get(tRecipe.mInputs[i].getDisplayName());
+ if (s==null)
+ s=tRecipe.mInputs[i].getDisplayName();
+ }
tNBTList.appendTag(new NBTTagString("Input Bus "+(i+1)+": "+tRecipe.mInputs[i].stackSize+" "+s));
}
}
for(int i=0;i<tRecipe.mFluidInputs.length;i++){
if(tRecipe.mFluidInputs[i]!=null){
s=tRecipe.mFluidInputs[i].getLocalizedName();
+ if (FMLCommonHandler.instance().getEffectiveSide().isServer()) {
+ s = GT_Assemblyline_Server.lServerNames.get(tRecipe.mFluidInputs[i].getLocalizedName());
+ if (s==null)
+ s=tRecipe.mFluidInputs[i].getLocalizedName();
+ }
tNBTList.appendTag(new NBTTagString("Input Hatch "+(i+1)+": "+tRecipe.mFluidInputs[i].amount+"L "+s));
}
}