aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6
diff options
context:
space:
mode:
authorGWYOG <jjn1jjn2@163.com>2016-11-10 12:51:44 +0800
committerGWYOG <jjn1jjn2@163.com>2016-11-10 12:51:44 +0800
commit96a346cbe022086815d014e3616182df05b9bfd8 (patch)
tree2b413aa832d1f178321186a5baf22e7212018e0e /src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6
parent4d9e74936b20d24020b0fdebed723caad9cbf9b4 (diff)
downloadGT5-Unofficial-96a346cbe022086815d014e3616182df05b9bfd8.tar.gz
GT5-Unofficial-96a346cbe022086815d014e3616182df05b9bfd8.tar.bz2
GT5-Unofficial-96a346cbe022086815d014e3616182df05b9bfd8.zip
Add 3 plugins supporting GT6 and refactor some code
Diffstat (limited to 'src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6')
-rw-r--r--src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6/PluginGT6BedrockOreStat.java114
-rw-r--r--src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6/PluginGT6SmallOreStat.java139
-rw-r--r--src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6/PluginGT6VeinStat.java138
3 files changed, 391 insertions, 0 deletions
diff --git a/src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6/PluginGT6BedrockOreStat.java b/src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6/PluginGT6BedrockOreStat.java
new file mode 100644
index 0000000000..ce46736597
--- /dev/null
+++ b/src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6/PluginGT6BedrockOreStat.java
@@ -0,0 +1,114 @@
+package pers.gwyog.gtneioreplugin.plugin.gregtech6;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import codechicken.lib.gui.GuiDraw;
+import codechicken.nei.PositionedStack;
+import codechicken.nei.recipe.TemplateRecipeHandler.CachedRecipe;
+import gregapi.block.prefixblock.PrefixBlock;
+import gregapi.data.CS;
+import net.minecraft.client.resources.I18n;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import pers.gwyog.gtneioreplugin.plugin.PluginBase;
+import pers.gwyog.gtneioreplugin.util.GT6OreBedrockHelper;
+import pers.gwyog.gtneioreplugin.util.GT6OreLayerHelper;
+import pers.gwyog.gtneioreplugin.util.GT6OreSmallHelper;
+import pers.gwyog.gtneioreplugin.util.GT6OreBedrockHelper.OreBedrockWrapper;
+
+public class PluginGT6BedrockOreStat extends PluginBase {
+
+ public class CachedBedrockOreStatRecipe extends CachedRecipe {
+ public String oreName;
+ public PositionedStack positionedStackOreBedrock;
+ public PositionedStack positionedStackOreSmallBedrock;
+ public PositionedStack positionedStackOre;
+ public PositionedStack positionedStackOreSmall;
+
+ public CachedBedrockOreStatRecipe(String oreName, ItemStack stackOreBedrock, ItemStack stackOreSmallBedrock,
+ List<ItemStack> stackListOre, List<ItemStack> stackListOreSmall) {
+ this.oreName = oreName;
+ positionedStackOreBedrock = new PositionedStack(stackOreBedrock, 2, 0);
+ positionedStackOreSmallBedrock = new PositionedStack(stackOreSmallBedrock, 22, 0);
+ positionedStackOre = new PositionedStack(stackListOre, 42, 0);
+ positionedStackOreSmall = new PositionedStack(stackListOreSmall, 62, 0);
+ }
+
+ @Override
+ public List<PositionedStack> getIngredients() {
+ List<PositionedStack> ingredientsList = new ArrayList<PositionedStack>();
+ positionedStackOre.setPermutationToRender((cycleticks / 20) % positionedStackOre.items.length);;
+ positionedStackOreSmall.setPermutationToRender((cycleticks / 20) % positionedStackOreSmall.items.length);;
+ ingredientsList.add(positionedStackOreBedrock);
+ ingredientsList.add(positionedStackOreSmallBedrock);
+ ingredientsList.add(positionedStackOre);
+ ingredientsList.add(positionedStackOreSmall);
+ return ingredientsList;
+ }
+
+ @Override
+ public PositionedStack getResult() {
+ return null;
+ }
+
+ }
+
+ @Override
+ public void loadCraftingRecipes(String outputId, Object... results) {
+ if (outputId.equals(getOutputId()))
+ for (OreBedrockWrapper worldGen: GT6OreBedrockHelper.mapOreBedrockWrapper.values())
+ loadCraftingRecipes(new ItemStack(CS.BlocksGT.oreBedrock, 1, worldGen.meta));
+ else
+ super.loadCraftingRecipes(outputId, results);
+ }
+
+ @Override
+ public void loadCraftingRecipes(ItemStack stack) {
+ String unlocalizedName = stack.getUnlocalizedName();
+ if (unlocalizedName.startsWith("oredict.oreBedrock") || unlocalizedName.startsWith("oredict.ore") || unlocalizedName.startsWith("oredict.oreSmall")) {
+ short meta = (short)stack.getItemDamage();
+ for (OreBedrockWrapper worldGen: GT6OreBedrockHelper.mapOreBedrockWrapper.values()) {
+ if (meta==worldGen.meta) {
+ ItemStack stackOreBedrock = new ItemStack(CS.BlocksGT.oreBedrock, 1, meta);
+ ItemStack stackOreSmallBedrock = new ItemStack(CS.BlocksGT.oreSmallBedrock, 1, meta);
+ List<ItemStack> stackListOre = new ArrayList<ItemStack>();
+ List<ItemStack> stackListOreSmall = new ArrayList<ItemStack>();
+ for (PrefixBlock prefixBlock: GT6OreLayerHelper.setOreNormalBasicTypes)
+ stackListOre.add(new ItemStack(prefixBlock, 1, meta));
+ for (PrefixBlock prefixBlock: GT6OreSmallHelper.setOreSmallBasicTypes)
+ stackListOreSmall.add(new ItemStack(prefixBlock, 1, meta));
+ this.arecipes.add(new CachedBedrockOreStatRecipe(worldGen.veinName, stackOreBedrock, stackOreSmallBedrock, stackListOre, stackListOreSmall));
+ }
+ }
+ }
+ else
+ super.loadCraftingRecipes(stack);
+ }
+
+ @Override
+ public void drawExtras(int recipe) {
+ CachedBedrockOreStatRecipe crecipe = (CachedBedrockOreStatRecipe) this.arecipes.get(recipe);
+ OreBedrockWrapper oreLayer = GT6OreBedrockHelper.mapOreBedrockWrapper.get(crecipe.oreName);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.oreName") + ": " + GT6OreBedrockHelper.mapMetaToLocalizedName.get(oreLayer.meta), 2, 18, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.oreOthers") + ": " + GT6OreSmallHelper.mapMetaToLocalizedName.get(oreLayer.meta), 2, 31, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.oreOthers") + ": " + GT6OreLayerHelper.mapMetaToLocalizedName.get(oreLayer.meta), 2, 44, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.oreOthers") + ": " + GT6OreSmallHelper.mapMetaToLocalizedName.get(oreLayer.meta), 2, 57, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.genHeight") + ": " + "0-6", 2, 70, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.nei.genPosition") + ": " + I18n.format("gtnop.nei.genPositionInfo"), 2,83, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.weightedChance") + ": " + "1/" + oreLayer.probability, 2, 96, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.worldNames") + ": " + getWorldNameTranslated(oreLayer.genOverworld, oreLayer.genNether, oreLayer.genEnd, false, false), 2, 109, 0x404040, false);
+ GuiDraw.drawStringR(EnumChatFormatting.BOLD + I18n.format("gtnop.gui.nei.seeAll"), getGuiWidth()-3, 5, 0x404040, false);
+ }
+
+ @Override
+ public String getOutputId() {
+ return "GTOrePluginOreBedrock";
+ }
+
+ @Override
+ public String getRecipeName() {
+ return I18n.format("gtnop.gui.bedrockOreStat.name");
+ }
+
+}
diff --git a/src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6/PluginGT6SmallOreStat.java b/src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6/PluginGT6SmallOreStat.java
new file mode 100644
index 0000000000..02f43a02f9
--- /dev/null
+++ b/src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6/PluginGT6SmallOreStat.java
@@ -0,0 +1,139 @@
+package pers.gwyog.gtneioreplugin.plugin.gregtech6;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+
+import codechicken.lib.gui.GuiDraw;
+import codechicken.nei.PositionedStack;
+import codechicken.nei.recipe.TemplateRecipeHandler.CachedRecipe;
+import gregapi.block.IBlockPlacable;
+import gregapi.block.behaviors.Drops_SmallOre;
+import gregapi.block.prefixblock.PrefixBlock;
+import gregapi.data.CS;
+import gregapi.data.OP;
+import gregapi.oredict.OreDictMaterial;
+import net.minecraft.client.resources.I18n;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import pers.gwyog.gtneioreplugin.plugin.PluginBase;
+import pers.gwyog.gtneioreplugin.util.GT6OreSmallHelper;
+import pers.gwyog.gtneioreplugin.util.GT6OreSmallHelper.OreSmallWrapper;
+
+public class PluginGT6SmallOreStat extends PluginBase {
+
+ public class CachedOreSmallRecipe extends CachedRecipe {
+ public String oreGenName;
+ public PositionedStack positionedStackOreSmall;
+ public PositionedStack positionedStackMaterialDust;
+ public List<PositionedStack> positionedDropStackList;
+
+ public CachedOreSmallRecipe(String oreGenName, List<ItemStack> stackList, List<ItemStack> materialDustStackList, List<ItemStack> dropStackList) {
+ this.oreGenName = oreGenName;
+ this.positionedStackOreSmall = new PositionedStack(stackList, 2, 0);
+ this.positionedStackMaterialDust = new PositionedStack(materialDustStackList, 43, 67);
+ List<PositionedStack> positionedDropStackList = new ArrayList<PositionedStack>();
+ int i = 1;
+ for (ItemStack stackDrop: dropStackList)
+ positionedDropStackList.add(new PositionedStack(stackDrop, 43+20*(i%5), 67+17*((i++)/5)));
+ this.positionedDropStackList = positionedDropStackList;
+ }
+
+ @Override
+ public List<PositionedStack> getIngredients() {
+ positionedStackOreSmall.setPermutationToRender((cycleticks / 20) % positionedStackOreSmall.items.length);
+ positionedStackMaterialDust.setPermutationToRender((cycleticks / 20) % positionedStackMaterialDust.items.length);
+ positionedDropStackList.add(positionedStackOreSmall);
+ positionedDropStackList.add(positionedStackMaterialDust);
+ return positionedDropStackList;
+
+ }
+
+ @Override
+ public PositionedStack getResult() {
+ return null;
+ }
+
+ }
+
+ @Override
+ public void drawExtras(int recipe) {
+ CachedOreSmallRecipe crecipe = (CachedOreSmallRecipe) this.arecipes.get(recipe);
+ OreSmallWrapper oreSmall = GT6OreSmallHelper.mapOreSmallWrapper.get(crecipe.oreGenName);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.oreName") + ": " + GT6OreSmallHelper.mapMetaToLocalizedName.get(oreSmall.oreMeta), 2, 18, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.genHeight") + ": " + oreSmall.worldGenHeightRange, 2, 31, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.amount") + ": " + oreSmall.amountPerChunk, 2, 44, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.worldNames") + ": " + getWorldNameTranslated(oreSmall.genOverworld, oreSmall.genNether, oreSmall.genEnd, false, false), 2, 57, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.chanceDrops") + ": ", 2, 70, 0x404040, false);
+ GuiDraw.drawStringR(EnumChatFormatting.BOLD + I18n.format("gtnop.gui.nei.seeAll"), getGuiWidth()-3, 5, 0x404040, false);
+ }
+
+ @Override
+ public void loadCraftingRecipes(String outputId, Object... results) {
+ if (outputId.equals(getOutputId()))
+ for (ItemStack stack: GT6OreSmallHelper.oreSmallList)
+ loadCraftingRecipes(stack);
+ else
+ super.loadCraftingRecipes(outputId, results);
+ }
+
+ @Override
+ public void loadCraftingRecipes(ItemStack stack) {
+ if (stack.getUnlocalizedName().startsWith("oredict.oreSmall") && !stack.isItemEqual(new ItemStack(CS.BlocksGT.oreSmallBedrock, 1, stack.getItemDamage()))) {
+ short meta = (short)stack.getItemDamage();
+ for (OreSmallWrapper oreSmallWorldGen: GT6OreSmallHelper.mapOreSmallWrapper.values()) {
+ if (oreSmallWorldGen.oreMeta == meta) {
+ List<ItemStack> stackList = new ArrayList<ItemStack>();
+ List<ItemStack> materialDustStackList = new ArrayList<ItemStack>();
+ for (PrefixBlock prefixBlock: GT6OreSmallHelper.setOreSmallBasicTypes) {
+ stackList.add(new ItemStack(prefixBlock, 1, meta));
+ Drops_SmallOre drops_SmallOre = ((Drops_SmallOre)prefixBlock.mDrops);
+ Class clazzDropsOreSmall = drops_SmallOre.getClass();
+ try {
+ Field fieldSecondaryDrop = clazzDropsOreSmall.getDeclaredField("mSecondaryDrop");
+ fieldSecondaryDrop.setAccessible(true);
+ OreDictMaterial oreDictMaterial = (OreDictMaterial)fieldSecondaryDrop.get(drops_SmallOre);
+ materialDustStackList.add(OP.dust.mat(oreDictMaterial.mTargetCrushing.mMaterial, 1L));
+ } catch (Exception e) {}
+ }
+ this.arecipes.add(new CachedOreSmallRecipe(oreSmallWorldGen.oreGenName, stackList, materialDustStackList, GT6OreSmallHelper.mapOreMetaToOreDrops.get(meta)));
+ }
+ }
+ }
+ else if (GT6OreSmallHelper.mapOreDropUnlocalizedNameToOreMeta.keySet().contains(stack.getUnlocalizedName())) {
+ short meta = GT6OreSmallHelper.mapOreDropUnlocalizedNameToOreMeta.get(stack.getUnlocalizedName());
+ for (String oreGenName: GT6OreSmallHelper.mapOreSmallWrapper.keySet()) {
+ OreSmallWrapper oreSmallWrapper = GT6OreSmallHelper.mapOreSmallWrapper.get(oreGenName);
+ if (oreSmallWrapper.oreMeta == meta) {
+ List<ItemStack> stackList = new ArrayList<ItemStack>();
+ List<ItemStack> materialDustStackList = new ArrayList<ItemStack>();
+ for (PrefixBlock prefixBlock: GT6OreSmallHelper.setOreSmallBasicTypes) {
+ stackList.add(new ItemStack(prefixBlock, 1, meta));
+ Drops_SmallOre drops_OreSmall = ((Drops_SmallOre)prefixBlock.mDrops);
+ Class clazzDropsOreSmall = drops_OreSmall.getClass();
+ try {
+ Field fieldSecondaryDrop = clazzDropsOreSmall.getDeclaredField("mSecondaryDrop");
+ fieldSecondaryDrop.setAccessible(true);
+ OreDictMaterial oreDictMaterial = (OreDictMaterial)fieldSecondaryDrop.get(drops_OreSmall);
+ materialDustStackList.add(OP.dust.mat(oreDictMaterial.mTargetCrushing.mMaterial, 1L));
+ } catch (Exception e) {}
+ }
+ this.arecipes.add(new CachedOreSmallRecipe(GT6OreSmallHelper.mapOreSmallWrapper.get(oreGenName).oreGenName, stackList, materialDustStackList, GT6OreSmallHelper.mapOreMetaToOreDrops.get(meta)));
+ }
+ }
+ }
+ else
+ super.loadCraftingRecipes(stack);
+ }
+
+ @Override
+ public String getOutputId() {
+ return "GTOrePluginOreSmall";
+ }
+
+ @Override
+ public String getRecipeName() {
+ return I18n.format("gtnop.gui.smallOreStat.name");
+ }
+
+}
diff --git a/src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6/PluginGT6VeinStat.java b/src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6/PluginGT6VeinStat.java
new file mode 100644
index 0000000000..83ebb1211e
--- /dev/null
+++ b/src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6/PluginGT6VeinStat.java
@@ -0,0 +1,138 @@
+package pers.gwyog.gtneioreplugin.plugin.gregtech6;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import codechicken.lib.gui.GuiDraw;
+import codechicken.nei.PositionedStack;
+import codechicken.nei.recipe.TemplateRecipeHandler.CachedRecipe;
+import gregapi.block.IBlockPlacable;
+import gregapi.block.prefixblock.PrefixBlock;
+import gregapi.data.CS;
+import net.minecraft.client.resources.I18n;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import pers.gwyog.gtneioreplugin.plugin.PluginBase;
+import pers.gwyog.gtneioreplugin.util.GT6OreLayerHelper;
+import pers.gwyog.gtneioreplugin.util.GT6OreLayerHelper.OreLayerWrapper;
+
+public class PluginGT6VeinStat extends PluginBase {
+
+ public class CachedVeinStatRecipe extends CachedRecipe {
+ public String veinName;
+ public PositionedStack positionedStackPrimary;
+ public PositionedStack positionedStackSecondary;
+ public PositionedStack positionedStackBetween;
+ public PositionedStack positionedStackSporadic;
+
+ public CachedVeinStatRecipe(String veinName, List<ItemStack> stackListPrimary, List<ItemStack> stackListSecondary,
+ List<ItemStack> stackListBetween, List<ItemStack> stackListSporadic) {
+ this.veinName = veinName;
+ positionedStackPrimary = new PositionedStack(stackListPrimary, 2, 0);
+ positionedStackSecondary = new PositionedStack(stackListSecondary, 22, 0);
+ positionedStackBetween = new PositionedStack(stackListBetween, 42, 0);
+ positionedStackSporadic = new PositionedStack(stackListSporadic, 62, 0);
+ }
+
+ @Override
+ public List<PositionedStack> getIngredients() {
+ List<PositionedStack> ingredientsList = new ArrayList<PositionedStack>();
+ positionedStackPrimary.setPermutationToRender((cycleticks / 20) % positionedStackPrimary.items.length);;
+ positionedStackSecondary.setPermutationToRender((cycleticks / 20) % positionedStackPrimary.items.length);;
+ positionedStackBetween.setPermutationToRender((cycleticks / 20) % positionedStackPrimary.items.length);;
+ positionedStackSporadic.setPermutationToRender((cycleticks / 20) % positionedStackPrimary.items.length);;
+ ingredientsList.add(positionedStackPrimary);
+ ingredientsList.add(positionedStackSecondary);
+ ingredientsList.add(positionedStackBetween);
+ ingredientsList.add(positionedStackSporadic);
+ return ingredientsList;
+ }
+
+ @Override
+ public PositionedStack getResult() {
+ return null;
+ }
+
+ }
+
+ @Override
+ public void loadCraftingRecipes(String outputId, Object... results) {
+ if (outputId.equals(getOutputId())) {
+ OreLayerWrapper oreLayerWrapper;
+ for (String veinName: GT6OreLayerHelper.mapOreLayerWrapper.keySet()) {
+ oreLayerWrapper = GT6OreLayerHelper.mapOreLayerWrapper.get(veinName);
+ List<ItemStack> stackListPrimary = new ArrayList<ItemStack>();
+ List<ItemStack> stackListSecondary = new ArrayList<ItemStack>();
+ List<ItemStack> stackListBetween = new ArrayList<ItemStack>();
+ List<ItemStack> stackListSporadic = new ArrayList<ItemStack>();
+ for (PrefixBlock prefixBlock: GT6OreLayerHelper.setOreNormalBasicTypes) {
+ stackListPrimary.add(new ItemStack(prefixBlock, 1, oreLayerWrapper.primaryMeta));
+ stackListSecondary.add(new ItemStack(prefixBlock, 1, oreLayerWrapper.secondaryMeta));
+ stackListBetween.add(new ItemStack(prefixBlock, 1, oreLayerWrapper.betweenMeta));
+ stackListSporadic.add(new ItemStack(prefixBlock, 1, oreLayerWrapper.sporadicMeta));
+ }
+ this.arecipes.add(new CachedVeinStatRecipe(veinName, stackListPrimary, stackListSecondary, stackListBetween, stackListSporadic));
+ }
+ }
+ else
+ super.loadCraftingRecipes(outputId, results);
+ }
+
+ @Override
+ public void loadCraftingRecipes(ItemStack stack) {
+ String unlocalizedName = stack.getUnlocalizedName();
+ if (unlocalizedName.startsWith("oredict.ore") && !unlocalizedName.startsWith("oredict.oreSmall") && !unlocalizedName.startsWith("oredict.oreBedrock")) {
+ short meta = (short)stack.getItemDamage();
+ for (OreLayerWrapper worldGen: GT6OreLayerHelper.mapOreLayerWrapper.values()) {
+ if (meta==worldGen.primaryMeta || meta==worldGen.secondaryMeta || meta==worldGen.betweenMeta || meta==worldGen.sporadicMeta) {
+ List<ItemStack> stackListPrimary = new ArrayList<ItemStack>();
+ List<ItemStack> stackListSecondary = new ArrayList<ItemStack>();
+ List<ItemStack> stackListBetween = new ArrayList<ItemStack>();
+ List<ItemStack> stackListSporadic = new ArrayList<ItemStack>();
+ for (PrefixBlock prefixBlock: GT6OreLayerHelper.setOreNormalBasicTypes) {
+ stackListPrimary.add(new ItemStack(prefixBlock, 1, worldGen.primaryMeta));
+ stackListSecondary.add(new ItemStack(prefixBlock, 1, worldGen.secondaryMeta));
+ stackListBetween.add(new ItemStack(prefixBlock, 1, worldGen.betweenMeta));
+ stackListSporadic.add(new ItemStack(prefixBlock, 1, worldGen.sporadicMeta));
+ }
+ this.arecipes.add(new CachedVeinStatRecipe(worldGen.veinName, stackListPrimary, stackListSecondary, stackListBetween, stackListSporadic));
+ }
+ }
+ }
+ else
+ super.loadCraftingRecipes(stack);
+ }
+
+ @Override
+ public void drawExtras(int recipe) {
+ CachedVeinStatRecipe crecipe = (CachedVeinStatRecipe) this.arecipes.get(recipe);
+ OreLayerWrapper oreLayer = GT6OreLayerHelper.mapOreLayerWrapper.get(crecipe.veinName);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.veinName") + ": " + getLocalizedVeinName(oreLayer.veinName), 2, 18, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.primaryOre") + ": " + GT6OreLayerHelper.mapMetaToLocalizedName.get(oreLayer.primaryMeta), 2, 31, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.secondaryOre") + ": " + GT6OreLayerHelper.mapMetaToLocalizedName.get(oreLayer.secondaryMeta), 2, 44, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.betweenOre") + ": " + GT6OreLayerHelper.mapMetaToLocalizedName.get(oreLayer.betweenMeta), 2, 57, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.sporadicOre") + ": " + GT6OreLayerHelper.mapMetaToLocalizedName.get(oreLayer.sporadicMeta), 2, 70, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.genHeight") + ": " + oreLayer.worldGenHeightRange, 2, 83, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.weightedChance") + ": " + oreLayer.weightedChance, 2, 96, 0x404040, false);
+ GuiDraw.drawString(I18n.format("gtnop.gui.nei.worldNames") + ": " + getWorldNameTranslated(oreLayer.genOverworld, oreLayer.genNether, oreLayer.genEnd, false, false), 2, 109, 0x404040, false);
+ GuiDraw.drawStringR(EnumChatFormatting.BOLD + I18n.format("gtnop.gui.nei.seeAll"), getGuiWidth()-3, 5, 0x404040, false);
+ }
+
+ public String getLocalizedVeinName(String unlocalizedName) {
+ if (unlocalizedName.startsWith("ore.mix.custom."))
+ return I18n.format("gtnop.ore.custom.name") + I18n.format("gtnop.ore.vein.name") + unlocalizedName.substring(15);
+ else
+ return I18n.format("gtnop." + unlocalizedName) + I18n.format("gtnop.ore.vein.name");
+ }
+
+ @Override
+ public String getOutputId() {
+ return "GTOrePluginVein";
+ }
+
+ @Override
+ public String getRecipeName() {
+ return I18n.format("gtnop.gui.veinStat.name");
+ }
+
+}