From b82f96d19bbeb03e9156eaded422f333456aa8e4 Mon Sep 17 00:00:00 2001 From: "Aidan C. Brady" Date: Mon, 13 Jan 2014 15:41:23 -0500 Subject: [PATCH] Fixed a few textures, added Salt, added NEI recipe handler for Precision Sawmill --- .../nei/ChanceMachineRecipeHandler.java | 143 ++++++++++++++++++ .../client/nei/NEIMekanismConfig.java | 5 + .../nei/PrecisionSawmillRecipeHandler.java | 45 ++++++ common/mekanism/common/Mekanism.java | 11 +- .../mekanism/common/block/BlockMachine.java | 26 +--- .../ChemicalInjectionChamberFrontOff.png | Bin 2723 -> 2659 bytes .../ChemicalInjectionChamberFrontOn.png | Bin 5953 -> 4073 bytes .../blocks/PrecisionSawmillFrontOff.png | Bin 2645 -> 2566 bytes .../blocks/PrecisionSawmillFrontOn.png | Bin 3905 -> 3629 bytes .../assets/mekanism/textures/items/Salt.png | Bin 239 -> 1432 bytes 10 files changed, 205 insertions(+), 25 deletions(-) create mode 100644 common/mekanism/client/nei/ChanceMachineRecipeHandler.java create mode 100644 common/mekanism/client/nei/PrecisionSawmillRecipeHandler.java diff --git a/common/mekanism/client/nei/ChanceMachineRecipeHandler.java b/common/mekanism/client/nei/ChanceMachineRecipeHandler.java new file mode 100644 index 000000000..ea8c05c95 --- /dev/null +++ b/common/mekanism/client/nei/ChanceMachineRecipeHandler.java @@ -0,0 +1,143 @@ +package mekanism.client.nei; + +import static codechicken.core.gui.GuiDraw.changeTexture; +import static codechicken.core.gui.GuiDraw.drawTexturedModalRect; +import static codechicken.core.gui.GuiDraw.drawString; + +import java.awt.Rectangle; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import mekanism.api.ChanceOutput; +import net.minecraft.item.ItemStack; + +import org.lwjgl.opengl.GL11; + +import codechicken.nei.NEIServerUtils; +import codechicken.nei.PositionedStack; +import codechicken.nei.recipe.TemplateRecipeHandler; + +public abstract class ChanceMachineRecipeHandler extends TemplateRecipeHandler +{ + private int ticksPassed; + + public abstract String getRecipeId(); + + public abstract Set> getRecipes(); + + @Override + public void drawBackground(int i) + { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + changeTexture(getGuiTexture()); + drawTexturedModalRect(12, 0, 28, 5, 144, 68); + } + + @Override + public void drawExtras(int i) + { + CachedIORecipe recipe = (CachedIORecipe)arecipes.get(i); + + float f = ticksPassed >= 20 ? (ticksPassed - 20) % 20 / 20.0F : 0.0F; + drawProgressBar(63, 34, 176, 0, 24, 7, f, 0); + f = ticksPassed <= 20 ? ticksPassed / 20.0F : 1.0F; + drawProgressBar(149, 12, 176, 7, 4, 52, f, 3); + + if(recipe.output.hasSecondary()) + { + drawString(Math.round(recipe.output.secondaryChance*100) + "%", 116, 52, 0x404040); + } + } + + @Override + public void onUpdate() + { + super.onUpdate(); + ticksPassed++; + } + + @Override + public void loadTransferRects() + { + transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(new Rectangle(63, 34, 24, 7), getRecipeId(), new Object[0])); + } + + @Override + public void loadCraftingRecipes(String outputId, Object... results) + { + if(outputId.equals(getRecipeId())) + { + for(Map.Entry irecipe : getRecipes()) + { + arecipes.add(new CachedIORecipe(irecipe)); + } + } + else { + super.loadCraftingRecipes(outputId, results); + } + } + + @Override + public void loadCraftingRecipes(ItemStack result) + { + for(Map.Entry irecipe : getRecipes()) + { + if(irecipe.getValue().hasPrimary() && NEIServerUtils.areStacksSameTypeCrafting(irecipe.getValue().primaryOutput, result)) + { + arecipes.add(new CachedIORecipe(irecipe)); + } + else if(irecipe.getValue().hasSecondary() && NEIServerUtils.areStacksSameTypeCrafting(irecipe.getValue().secondaryOutput, result)) + { + arecipes.add(new CachedIORecipe(irecipe)); + } + } + } + + @Override + public void loadUsageRecipes(ItemStack ingredient) + { + for(Map.Entry irecipe : getRecipes()) + { + if(NEIServerUtils.areStacksSameTypeCrafting((ItemStack)irecipe.getKey(), ingredient)) + { + arecipes.add(new CachedIORecipe(irecipe)); + } + } + } + + public class CachedIORecipe extends TemplateRecipeHandler.CachedRecipe + { + public PositionedStack input; + public ChanceOutput output; + + @Override + public PositionedStack getIngredient() + { + return input; + } + + @Override + public PositionedStack getResult() + { + return new PositionedStack(output.primaryOutput, 100, 30); + } + + @Override + public PositionedStack getOtherStack() + { + return new PositionedStack(output.secondaryOutput, 116, 30); + } + + public CachedIORecipe(ItemStack itemstack, ChanceOutput chance) + { + input = new PositionedStack(itemstack, 40, 12); + output = chance; + } + + public CachedIORecipe(Map.Entry recipe) + { + this((ItemStack)recipe.getKey(), (ChanceOutput)recipe.getValue()); + } + } +} diff --git a/common/mekanism/client/nei/NEIMekanismConfig.java b/common/mekanism/client/nei/NEIMekanismConfig.java index 5081c44f4..861b756cf 100644 --- a/common/mekanism/client/nei/NEIMekanismConfig.java +++ b/common/mekanism/client/nei/NEIMekanismConfig.java @@ -9,6 +9,7 @@ import mekanism.client.gui.GuiElectrolyticSeparator; import mekanism.client.gui.GuiEnrichmentChamber; import mekanism.client.gui.GuiMetallurgicInfuser; import mekanism.client.gui.GuiOsmiumCompressor; +import mekanism.client.gui.GuiPrecisionSawmill; import mekanism.client.gui.GuiPurificationChamber; import mekanism.client.gui.GuiRotaryCondensentrator; import mekanism.common.Mekanism; @@ -56,6 +57,9 @@ public class NEIMekanismConfig implements IConfigureNEI API.registerRecipeHandler(new ElectrolyticSeparatorRecipeHandler()); API.registerUsageHandler(new ElectrolyticSeparatorRecipeHandler()); + API.registerRecipeHandler(new PrecisionSawmillRecipeHandler()); + API.registerUsageHandler(new PrecisionSawmillRecipeHandler()); + API.setGuiOffset(GuiEnrichmentChamber.class, 16, 6); API.setGuiOffset(GuiOsmiumCompressor.class, 16, 6); API.setGuiOffset(GuiCrusher.class, 16, 6); @@ -67,6 +71,7 @@ public class NEIMekanismConfig implements IConfigureNEI API.setGuiOffset(GuiChemicalInfuser.class, ChemicalInfuserRecipeHandler.xOffset, ChemicalInfuserRecipeHandler.yOffset); API.setGuiOffset(GuiRotaryCondensentrator.class, RotaryCondensentratorRecipeHandler.xOffset, RotaryCondensentratorRecipeHandler.yOffset); API.setGuiOffset(GuiElectrolyticSeparator.class, ElectrolyticSeparatorRecipeHandler.xOffset, ElectrolyticSeparatorRecipeHandler.yOffset); + API.setGuiOffset(GuiPrecisionSawmill.class, 16, 6); API.hideItem(Mekanism.boundingBlockID); API.hideItem(Mekanism.ItemProxy.itemID); diff --git a/common/mekanism/client/nei/PrecisionSawmillRecipeHandler.java b/common/mekanism/client/nei/PrecisionSawmillRecipeHandler.java new file mode 100644 index 000000000..589cecbc5 --- /dev/null +++ b/common/mekanism/client/nei/PrecisionSawmillRecipeHandler.java @@ -0,0 +1,45 @@ +package mekanism.client.nei; + +import java.util.Set; + +import mekanism.client.gui.GuiPrecisionSawmill; +import mekanism.common.recipe.RecipeHandler.Recipe; + +public class PrecisionSawmillRecipeHandler extends ChanceMachineRecipeHandler +{ + @Override + public String getRecipeName() + { + return "Precision Sawmill"; + } + + @Override + public String getRecipeId() + { + return "mekanism.precisionsawmill"; + } + + @Override + public String getOverlayIdentifier() + { + return "precisionsawmill"; + } + + @Override + public Set getRecipes() + { + return Recipe.PRECISION_SAWMILL.get().entrySet(); + } + + @Override + public String getGuiTexture() + { + return "mekanism:gui/GuiPrecisionSawmill.png"; + } + + @Override + public Class getGuiClass() + { + return GuiPrecisionSawmill.class; + } +} diff --git a/common/mekanism/common/Mekanism.java b/common/mekanism/common/Mekanism.java index 257495c2e..54f4dcf5f 100644 --- a/common/mekanism/common/Mekanism.java +++ b/common/mekanism/common/Mekanism.java @@ -246,6 +246,7 @@ public class Mekanism public static Item ElectrolyticCore; public static Item CompressedRedstone; public static Item Sawdust; + public static Item Salt; //Blocks public static Block BasicBlock; @@ -710,6 +711,7 @@ public class Mekanism ElectrolyticCore = new ItemMekanism(configuration.getItem("ElectrolyticCore", 11228).getInt()).setUnlocalizedName("ElectrolyticCore"); CompressedRedstone = new ItemMekanism(configuration.getItem("CompressedRedstone", 11229).getInt()).setUnlocalizedName("CompressedRedstone"); Sawdust = new ItemMekanism(configuration.getItem("Sawdust", 11230).getInt()).setUnlocalizedName("Sawdust"); + Salt = new ItemMekanism(configuration.getItem("Salt", 11231).getInt()).setUnlocalizedName("Salt"); configuration.save(); @@ -744,6 +746,7 @@ public class Mekanism GameRegistry.registerItem(ElectrolyticCore, "ElectrolyticCore"); GameRegistry.registerItem(CompressedRedstone, "CompressedRedstone"); GameRegistry.registerItem(Sawdust, "Sawdust"); + GameRegistry.registerItem(Salt, "Salt"); } /** @@ -783,10 +786,14 @@ public class Mekanism OreDictionary.registerOre("universalCable", new ItemStack(PartTransmitter, 8, 0)); OreDictionary.registerOre("battery", EnergyTablet.getUnchargedItem()); - //GregoriousT, should I use "sawdust" or "dustSaw"? I'll use both. - OreDictionary.registerOre("sawdust", Sawdust); + //GregoriousT, should I use "itemDust" or "dustSaw"? I'll use both. + OreDictionary.registerOre("itemSawdust", Sawdust); OreDictionary.registerOre("dustSaw", Sawdust); + //Same question Greg... + OreDictionary.registerOre("itemSalt", Salt); + OreDictionary.registerOre("dustSalt", Salt); + OreDictionary.registerOre("dustIron", new ItemStack(Dust, 1, 0)); OreDictionary.registerOre("dustGold", new ItemStack(Dust, 1, 1)); OreDictionary.registerOre("dustOsmium", new ItemStack(Dust, 1, 2)); diff --git a/common/mekanism/common/block/BlockMachine.java b/common/mekanism/common/block/BlockMachine.java index de1021fb0..4b92c0bd2 100644 --- a/common/mekanism/common/block/BlockMachine.java +++ b/common/mekanism/common/block/BlockMachine.java @@ -421,34 +421,14 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds } else if(blockID == Mekanism.machineBlock2ID) { - if(meta == 2) + if(meta == 3 || meta == 5) { if(side == 3) { - return icons[2][0]; + return icons[meta][0]; } else { - return icons[2][2]; - } - } - else if(meta == 3) - { - if(side == 3) - { - return icons[3][0]; - } - else { - return icons[3][2]; - } - } - else if(meta == 4) - { - if(side == 3) - { - return icons[4][0]; - } - else { - return icons[4][2]; + return icons[meta][2]; } } } diff --git a/resources/assets/mekanism/textures/blocks/ChemicalInjectionChamberFrontOff.png b/resources/assets/mekanism/textures/blocks/ChemicalInjectionChamberFrontOff.png index 28ffbcba228d907e90cb0edbae45cf647b3ce723..2b386688912da2859f604676d3a724814ec0d65c 100644 GIT binary patch delta 2651 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 JPDHLkV1oM&D0u(? delta 2716 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 diff --git a/resources/assets/mekanism/textures/blocks/PrecisionSawmillFrontOff.png b/resources/assets/mekanism/textures/blocks/PrecisionSawmillFrontOff.png index e60f23f2799ceda997284bb1a3687b2ba29da327..bf970210c965e99b9152c66cb936a729477c6080 100644 GIT binary patch delta 2557 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 TVS}5500000NkvXXu0mjftuqg@ delta 2637 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 literal 3905 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 P00000NkvXXu0mjfjS7Iu diff --git a/resources/assets/mekanism/textures/items/Salt.png b/resources/assets/mekanism/textures/items/Salt.png index 45c19c1ee003187e9522f7fb5650961c37ff0ec0..6e0e4a7d1250c3c031d74ba58e45b53c9b007265 100644 GIT binary patch delta 1414 zcmV;11$p}K0hkMrBYy-WX+uL$Nkc;*P;zf(X>4Tx05}naRo`#hR1`jmZ&IWdKOk5~ zhl<6oRa0BJ8yc;~21%2p?MfD<>DVeH9(p*dx19w`~g7O0}n_%Aq@s% zd)fBDv`JHkDym6Hd+5XuAtvnwRpGmKVkc9?T=n|PIo~$m6N9yl%7qB(zDb{1JtYOPA!qk%@Qub75C2T;T?(y%k7cw{!aEIzj}+@(TO5Y zz-|>CeHr)+QOwk9wo4Sh2mAPGw+7tv9PraN1Olr9mwlWPc+tlvJx(D%369Vz>lLjC zyaqhH*k&)cVSir(7|4_1Rc;%)B4&}Zt&(AK&*3kRaknx54=$T^^z2=OSo@r%xnsBw ziQX&rRKAHn*R}K<@Jp~?uenKKe+BrD`qF#?cpp*psgiwk-seYOU#%402HpjG(Qu~= zP5WwfF?$>svC;J<>zK$RIM;P&60@WifbUlLwAf?lk$1u(mFRYq89Q?S8HyrsX^MVnpsf`{W6(5UXREr zZM&7ilpo6ux^|%%%N9z;(dj0Ct!8>>5!%=VyPg-?ke}Vs>~sbgdDuU^Ixpr19NS&g zQew8Fz<)>RL_{M_7A<1csY*MfP@XcB#Jxr~JS8&7goVS)VKE|4(h_Xlc{z{c$ApZs z7riZ_QKdV_uW-M~u~8PF3UX~a6)MwxDE0Ha zPjyrlI!;jX{6Kvuh*8ej?;85ekN$?5uuCiSBY#iOF*IB46Cei@XmvNzKBsGIKkN=X z$_Bgm&h5TyYjpf^^Nrn$ZO1mSZpOC4_}H(pE&Od#0y|)Oik6|u@OHupcq1J>TmjQ1 z4eM{2+Oeah>iL1tBPPK=$Ue-{x#7^N{-XY=Zm3_V7u4T7YJ?d(rX+nTeJlMa zeSar?Fa1o4bXmG0{UlwLzL72kIlJ$@pC#CPuU}yk-HKgk)oY(MCsR(!d*m18l>EH> zvOF8G6uDm>lc(gp@azfp%?$k=y%=-~vuaJXdoA$<7&H$h2Au}i##F_Gt8^Aw+nR z0003mNklu-@C|ZP~qPgV2 z2iJp=wcH!(;O9B_59j-Nu4-C-<$naSPN48Bfc0wr64wq#v!C`VikrxI{<>;7x6Edw zUe7;K{4I(9Apqxtevh19E;mwLuaWK#XVM_JlBOl0J^?uA@0@H3xBKHMM4FbCgt`RM zI)`l#aNQlHrjs$Lv)Pg+^@Mr^;GB0moTBS-3OxTvLx!PaN~|XJgmeO>*ne`vBph!u0hBys|QAe?))k--MFP09) z+;OMfp#1-R2O{>u03?v-M39H#ydzHf0%Ba<9zca$IT1eo$uXZVod7Q=kF!VM4OE+H UX6toEg8%>k07*qoM6N<$f&ksOd;kCd delta 212 zcmV;_04x8P3-1AtBYyz4NklM*ybi!+A+d=N78OI+0ZlNC=s``a11OGy0doK@ zhoCzMhS7r>hN)H#444COH9Uw7YO2=-1Lgoi4x+SaHuM}Y+AkP(4gdgwePml`O<5NJ O0000