diff options
author | GWYOG <jjn1jjn2@163.com> | 2016-11-10 12:51:44 +0800 |
---|---|---|
committer | GWYOG <jjn1jjn2@163.com> | 2016-11-10 12:51:44 +0800 |
commit | 96a346cbe022086815d014e3616182df05b9bfd8 (patch) | |
tree | 2b413aa832d1f178321186a5baf22e7212018e0e /src/main/java/pers/gwyog/gtneioreplugin/plugin/gregtech6 | |
parent | 4d9e74936b20d24020b0fdebed723caad9cbf9b4 (diff) | |
download | GT5-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')
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"); + } + +} |