From 750bb2dab7678687b750c78821baf0df6c130652 Mon Sep 17 00:00:00 2001 From: "Aidan C. Brady" Date: Tue, 31 Dec 2013 15:07:09 -0500 Subject: [PATCH] Rename Oxidation Chamber to Chemical Oxidizer and added model, will explain why below. This means a minor lang update @crafteverywhere, @VeryBigBro, @Vexatos Notice that all Mekanism machines that perform similar tasks have a similar ending word; for example, the Metallurgic Infuser infuses alloys into ingots, and the Chemical Infuser infuses chemicals into other chemicals. Every ore processing machine has "Chamber" as the final word, and as this is not directly linked to ore processing, it would be best to move the "Oxidation" side of the machine to the end. Furthermore, for this chemical line, I am trying to keep "Chemical" as the first word in each machine title: Chemical Infuser, Chemical Oxidizer, Chemical Injection Chamber, etc. Hope that makes sense! --- common/mekanism/api/RecipeHelper.java | 6 +- common/mekanism/client/ClientProxy.java | 42 +++- .../client/gui/GuiChemicalInfuser.java | 2 +- ...nChamber.java => GuiChemicalOxidizer.java} | 16 +- .../client/model/ModelChemicalOxidizer.java | 202 ++++++++++++++++++ .../render/block/MachineRenderingHandler.java | 24 ++- .../tileentity/RenderChemicalOxidizer.java | 41 ++++ common/mekanism/common/CommonProxy.java | 8 +- common/mekanism/common/Mekanism.java | 2 +- common/mekanism/common/RecipeHandler.java | 12 +- .../mekanism/common/block/BlockMachine.java | 29 +-- ...er.java => ContainerChemicalOxidizer.java} | 10 +- .../common/item/ItemBlockMachine.java | 10 +- ...r.java => TileEntityChemicalOxidizer.java} | 18 +- ...ionChamber.png => GuiChemicalOxidizer.png} | Bin resources/assets/mekanism/lang/en_GB.lang | 1 + resources/assets/mekanism/lang/en_US.lang | 2 +- .../mekanism/render/ChemicalOxidizer.png | Bin 0 -> 2262 bytes 18 files changed, 352 insertions(+), 73 deletions(-) rename common/mekanism/client/gui/{GuiOxidationChamber.java => GuiChemicalOxidizer.java} (89%) create mode 100644 common/mekanism/client/model/ModelChemicalOxidizer.java create mode 100644 common/mekanism/client/render/tileentity/RenderChemicalOxidizer.java rename common/mekanism/common/inventory/container/{ContainerOxidationChamber.java => ContainerChemicalOxidizer.java} (92%) rename common/mekanism/common/tileentity/{TileEntityOxidationChamber.java => TileEntityChemicalOxidizer.java} (93%) rename resources/assets/mekanism/gui/{GuiOxidationChamber.png => GuiChemicalOxidizer.png} (100%) create mode 100644 resources/assets/mekanism/render/ChemicalOxidizer.png diff --git a/common/mekanism/api/RecipeHelper.java b/common/mekanism/api/RecipeHelper.java index abcf7d0da..3f8949aaa 100644 --- a/common/mekanism/api/RecipeHelper.java +++ b/common/mekanism/api/RecipeHelper.java @@ -94,15 +94,15 @@ public final class RecipeHelper } /** - * Add a Chemical Formulator recipe. + * Add a Chemical Oxidizer recipe. * @param input - input ItemStack * @param output - output GasStack */ - public static void addOxidationChamberRecipe(ItemStack input, GasStack output) + public static void addChemicalOxidizerRecipe(ItemStack input, GasStack output) { try { Class recipeClass = Class.forName("mekanism.common.RecipeHandler"); - Method m = recipeClass.getMethod("addOxidationChamberRecipe", ItemStack.class, GasStack.class); + Method m = recipeClass.getMethod("addChemicalOxidizerRecipe", ItemStack.class, GasStack.class); m.invoke(null, input, output); } catch(Exception e) { System.err.println("[Mekanism] Error while adding recipe: " + e.getMessage()); diff --git a/common/mekanism/client/ClientProxy.java b/common/mekanism/client/ClientProxy.java index 5b31c37c8..6a7daa30a 100644 --- a/common/mekanism/client/ClientProxy.java +++ b/common/mekanism/client/ClientProxy.java @@ -4,7 +4,6 @@ package mekanism.client; import java.io.File; import java.util.HashMap; -import mekanism.client.gui.GuiOxidationChamber; import mekanism.client.gui.GuiChemicalInfuser; import mekanism.client.gui.GuiChemicalInjectionChamber; import mekanism.client.gui.GuiCombiner; @@ -23,6 +22,7 @@ import mekanism.client.gui.GuiFactory; import mekanism.client.gui.GuiGasTank; import mekanism.client.gui.GuiMetallurgicInfuser; import mekanism.client.gui.GuiOsmiumCompressor; +import mekanism.client.gui.GuiChemicalOxidizer; import mekanism.client.gui.GuiPasswordEnter; import mekanism.client.gui.GuiPasswordModify; import mekanism.client.gui.GuiPortableTeleporter; @@ -58,6 +58,7 @@ import mekanism.client.render.tileentity.RenderLogisticalTransporter; import mekanism.client.render.tileentity.RenderMechanicalPipe; import mekanism.client.render.tileentity.RenderMetallurgicInfuser; import mekanism.client.render.tileentity.RenderObsidianTNT; +import mekanism.client.render.tileentity.RenderChemicalOxidizer; import mekanism.client.render.tileentity.RenderPressurizedTube; import mekanism.client.render.tileentity.RenderRotaryCondensentrator; import mekanism.client.render.tileentity.RenderTeleporter; @@ -74,8 +75,39 @@ import mekanism.common.Mekanism; import mekanism.common.block.BlockMachine.MachineType; import mekanism.common.inventory.InventoryElectricChest; import mekanism.common.item.ItemPortableTeleporter; -import mekanism.common.tileentity.*; -import mekanism.common.tileentity.TileEntityOxidationChamber; +import mekanism.common.tileentity.TileEntityAdvancedElectricMachine; +import mekanism.common.tileentity.TileEntityAdvancedFactory; +import mekanism.common.tileentity.TileEntityBin; +import mekanism.common.tileentity.TileEntityChargepad; +import mekanism.common.tileentity.TileEntityChemicalInfuser; +import mekanism.common.tileentity.TileEntityChemicalInjectionChamber; +import mekanism.common.tileentity.TileEntityCombiner; +import mekanism.common.tileentity.TileEntityCrusher; +import mekanism.common.tileentity.TileEntityDigitalMiner; +import mekanism.common.tileentity.TileEntityDiversionTransporter; +import mekanism.common.tileentity.TileEntityDynamicTank; +import mekanism.common.tileentity.TileEntityDynamicValve; +import mekanism.common.tileentity.TileEntityElectricChest; +import mekanism.common.tileentity.TileEntityElectricMachine; +import mekanism.common.tileentity.TileEntityElectricPump; +import mekanism.common.tileentity.TileEntityEliteFactory; +import mekanism.common.tileentity.TileEntityEnergizedSmelter; +import mekanism.common.tileentity.TileEntityEnergyCube; +import mekanism.common.tileentity.TileEntityEnrichmentChamber; +import mekanism.common.tileentity.TileEntityFactory; +import mekanism.common.tileentity.TileEntityGasTank; +import mekanism.common.tileentity.TileEntityLogisticalSorter; +import mekanism.common.tileentity.TileEntityLogisticalTransporter; +import mekanism.common.tileentity.TileEntityMechanicalPipe; +import mekanism.common.tileentity.TileEntityMetallurgicInfuser; +import mekanism.common.tileentity.TileEntityObsidianTNT; +import mekanism.common.tileentity.TileEntityOsmiumCompressor; +import mekanism.common.tileentity.TileEntityChemicalOxidizer; +import mekanism.common.tileentity.TileEntityPressurizedTube; +import mekanism.common.tileentity.TileEntityPurificationChamber; +import mekanism.common.tileentity.TileEntityRotaryCondensentrator; +import mekanism.common.tileentity.TileEntityTeleporter; +import mekanism.common.tileentity.TileEntityUniversalCable; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; @@ -239,7 +271,7 @@ public class ClientProxy extends CommonProxy ClientRegistry.registerTileEntity(TileEntityDigitalMiner.class, "DigitalMiner", new RenderDigitalMiner()); ClientRegistry.registerTileEntity(TileEntityRotaryCondensentrator.class, "RotaryCondensentrator", new RenderRotaryCondensentrator()); ClientRegistry.registerTileEntity(TileEntityTeleporter.class, "MekanismTeleporter", new RenderTeleporter()); - GameRegistry.registerTileEntity(TileEntityOxidationChamber.class, "OxidationChamber"); + ClientRegistry.registerTileEntity(TileEntityChemicalOxidizer.class, "ChemicalOxidizer", new RenderChemicalOxidizer()); GameRegistry.registerTileEntity(TileEntityChemicalInfuser.class, "ChemicalInfuser"); ClientRegistry.registerTileEntity(TileEntityChemicalInjectionChamber.class, "ChemicalInjectionChamber", new RenderConfigurableMachine()); } @@ -359,7 +391,7 @@ public class ClientProxy extends CommonProxy case 25: return new GuiRobitRepair(player.inventory, world, x); case 29: - return new GuiOxidationChamber(player.inventory, (TileEntityOxidationChamber) tileEntity); + return new GuiChemicalOxidizer(player.inventory, (TileEntityChemicalOxidizer) tileEntity); case 30: return new GuiChemicalInfuser(player.inventory, (TileEntityChemicalInfuser) tileEntity); case 31: diff --git a/common/mekanism/client/gui/GuiChemicalInfuser.java b/common/mekanism/client/gui/GuiChemicalInfuser.java index b2f308a35..9f2abcc9b 100644 --- a/common/mekanism/client/gui/GuiChemicalInfuser.java +++ b/common/mekanism/client/gui/GuiChemicalInfuser.java @@ -82,7 +82,7 @@ public class GuiChemicalInfuser extends GuiMekanism int displayInt; displayInt = tileEntity.getScaledEnergyLevel(52); - drawTexturedModalRect(guiWidth + 116, guiHeight + 76, 176, 36, displayInt, 4); + drawTexturedModalRect(guiWidth + 116, guiHeight + 76, 176, 0, displayInt, 4); if(tileEntity.isActive) { diff --git a/common/mekanism/client/gui/GuiOxidationChamber.java b/common/mekanism/client/gui/GuiChemicalOxidizer.java similarity index 89% rename from common/mekanism/client/gui/GuiOxidationChamber.java rename to common/mekanism/client/gui/GuiChemicalOxidizer.java index 77073ba9d..1e7fff8ca 100644 --- a/common/mekanism/client/gui/GuiOxidationChamber.java +++ b/common/mekanism/client/gui/GuiChemicalOxidizer.java @@ -2,8 +2,8 @@ package mekanism.client.gui; import mekanism.api.gas.GasStack; import mekanism.client.render.MekanismRenderer; -import mekanism.common.inventory.container.ContainerOxidationChamber; -import mekanism.common.tileentity.TileEntityOxidationChamber; +import mekanism.common.inventory.container.ContainerChemicalOxidizer; +import mekanism.common.tileentity.TileEntityChemicalOxidizer; import mekanism.common.util.MekanismUtils; import mekanism.common.util.MekanismUtils.ResourceType; import net.minecraft.entity.player.InventoryPlayer; @@ -15,13 +15,13 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class GuiOxidationChamber extends GuiMekanism +public class GuiChemicalOxidizer extends GuiMekanism { - public TileEntityOxidationChamber tileEntity; + public TileEntityChemicalOxidizer tileEntity; - public GuiOxidationChamber(InventoryPlayer inventory, TileEntityOxidationChamber tentity) + public GuiChemicalOxidizer(InventoryPlayer inventory, TileEntityChemicalOxidizer tentity) { - super(tentity, new ContainerOxidationChamber(inventory, tentity)); + super(tentity, new ContainerChemicalOxidizer(inventory, tentity)); tileEntity = tentity; guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiOxidationChamber.png"))); @@ -54,7 +54,7 @@ public class GuiOxidationChamber extends GuiMekanism { super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY); - mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiOxidationChamber.png")); + mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiChemicalOxidizer.png")); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); int guiWidth = (width - xSize) / 2; int guiHeight = (height - ySize) / 2; @@ -66,7 +66,7 @@ public class GuiOxidationChamber extends GuiMekanism int displayInt; displayInt = tileEntity.getScaledEnergyLevel(52); - drawTexturedModalRect(guiWidth + 116, guiHeight + 76, 176, 36, displayInt, 4); + drawTexturedModalRect(guiWidth + 116, guiHeight + 76, 176, 0, displayInt, 4); displayInt = tileEntity.getScaledProgress(48); drawTexturedModalRect(guiWidth + 64, guiHeight + 40, 176, 63, displayInt + 1, 8); diff --git a/common/mekanism/client/model/ModelChemicalOxidizer.java b/common/mekanism/client/model/ModelChemicalOxidizer.java new file mode 100644 index 000000000..dcaa4a497 --- /dev/null +++ b/common/mekanism/client/model/ModelChemicalOxidizer.java @@ -0,0 +1,202 @@ +package mekanism.client.model; + +import org.lwjgl.opengl.GL11; + +import mekanism.client.render.MekanismRenderer; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class ModelChemicalOxidizer extends ModelBase +{ + ModelRenderer Base; + ModelRenderer TSSW; + ModelRenderer TSNW; + ModelRenderer TSSE; + ModelRenderer TSNE; + ModelRenderer TTN; + ModelRenderer TTS; + ModelRenderer TTE; + ModelRenderer TTW; + ModelRenderer Connection; + ModelRenderer ItemEntry; + ModelRenderer GasExit; + ModelRenderer GasConnection; + ModelRenderer Machine; + ModelRenderer Post; + ModelRenderer GlassN; + ModelRenderer GlassS; + ModelRenderer GlassW; + ModelRenderer GlassE; + ModelRenderer GlassU; + + public ModelChemicalOxidizer() + { + textureWidth = 128; + textureHeight = 128; + + Base = new ModelRenderer(this, 0, 0); + Base.addBox(0F, 0F, 0F, 16, 1, 16); + Base.setRotationPoint(-8F, 23F, -8F); + Base.setTextureSize(128, 128); + Base.mirror = true; + setRotation(Base, 0F, 0F, 0F); + TSSW = new ModelRenderer(this, 0, 17); + TSSW.addBox(0F, 0F, 0F, 1, 15, 1); + TSSW.setRotationPoint(-1F, 8F, 3F); + TSSW.setTextureSize(128, 128); + TSSW.mirror = true; + setRotation(TSSW, 0F, 0F, 0F); + TSNW = new ModelRenderer(this, 0, 17); + TSNW.addBox(0F, 0F, 0F, 1, 15, 1); + TSNW.setRotationPoint(-1F, 8F, -4F); + TSNW.setTextureSize(128, 128); + TSNW.mirror = true; + setRotation(TSNW, 0F, 0F, 0F); + TSSE = new ModelRenderer(this, 0, 17); + TSSE.addBox(0F, 0F, 0F, 1, 15, 1); + TSSE.setRotationPoint(6F, 8F, 3F); + TSSE.setTextureSize(128, 128); + TSSE.mirror = true; + setRotation(TSSE, 0F, 0F, 0F); + TSNE = new ModelRenderer(this, 0, 17); + TSNE.addBox(0F, 0F, 0F, 1, 15, 1); + TSNE.setRotationPoint(6F, 8F, -4F); + TSNE.setTextureSize(128, 128); + TSNE.mirror = true; + setRotation(TSNE, 0F, 0F, 0F); + TTN = new ModelRenderer(this, 4, 17); + TTN.addBox(0F, 0F, 0F, 6, 1, 1); + TTN.setRotationPoint(0F, 8F, -4F); + TTN.setTextureSize(128, 128); + TTN.mirror = true; + setRotation(TTN, 0F, 0F, 0F); + TTS = new ModelRenderer(this, 4, 17); + TTS.addBox(0F, 0F, 0F, 6, 1, 1); + TTS.setRotationPoint(0F, 8F, 3F); + TTS.setTextureSize(128, 128); + TTS.mirror = true; + setRotation(TTS, 0F, 0F, 0F); + TTE = new ModelRenderer(this, 18, 17); + TTE.addBox(0F, 0F, 0F, 1, 1, 6); + TTE.setRotationPoint(6F, 8F, -3F); + TTE.setTextureSize(128, 128); + TTE.mirror = true; + setRotation(TTE, 0F, 0F, 0F); + TTW = new ModelRenderer(this, 18, 17); + TTW.addBox(0F, 0F, 0F, 1, 1, 6); + TTW.setRotationPoint(-1F, 8F, -3F); + TTW.setTextureSize(128, 128); + TTW.mirror = true; + setRotation(TTW, 0F, 0F, 0F); + Connection = new ModelRenderer(this, 32, 17); + Connection.addBox(0F, 0F, 0F, 7, 4, 4); + Connection.setRotationPoint(-7F, 14F, -2F); + Connection.setTextureSize(128, 128); + Connection.mirror = true; + setRotation(Connection, 0F, 0F, 0F); + ItemEntry = new ModelRenderer(this, 64, 0); + ItemEntry.addBox(0F, 0F, 0F, 1, 8, 8); + ItemEntry.setRotationPoint(-8F, 12F, -4F); + ItemEntry.setTextureSize(128, 128); + ItemEntry.mirror = true; + setRotation(ItemEntry, 0F, 0F, 0F); + GasExit = new ModelRenderer(this, 0, 33); + GasExit.addBox(0F, 1F, 0F, 1, 6, 6); + GasExit.setRotationPoint(7F, 12F, -3F); + GasExit.setTextureSize(128, 128); + GasExit.mirror = true; + setRotation(GasExit, 0F, 0F, 0F); + GasConnection = new ModelRenderer(this, 82, 0); + GasConnection.addBox(0F, 1F, 0F, 1, 4, 4); + GasConnection.setRotationPoint(6F, 13F, -2F); + GasConnection.setTextureSize(128, 128); + GasConnection.mirror = true; + setRotation(GasConnection, 0F, 0F, 0F); + Machine = new ModelRenderer(this, 0, 45); + Machine.addBox(0F, 0F, 0F, 4, 6, 6); + Machine.setRotationPoint(-6F, 13F, -3F); + Machine.setTextureSize(128, 128); + Machine.mirror = true; + setRotation(Machine, 0F, 0F, 0F); + Post = new ModelRenderer(this, 0, 57); + Post.addBox(0F, 0F, 0F, 2, 4, 2); + Post.setRotationPoint(-5F, 19F, -1F); + Post.setTextureSize(128, 128); + Post.mirror = true; + setRotation(Post, 0F, 0F, 0F); + GlassN = new ModelRenderer(this, 92, 0); + GlassN.addBox(0F, 0F, 0F, 6, 14, 1); + GlassN.setRotationPoint(0F, 9F, -4F); + GlassN.setTextureSize(128, 128); + GlassN.mirror = true; + setRotation(GlassN, 0F, 0F, 0F); + GlassS = new ModelRenderer(this, 92, 0); + GlassS.addBox(0F, 0F, 0F, 6, 14, 1); + GlassS.setRotationPoint(0F, 9F, 3F); + GlassS.setTextureSize(128, 128); + GlassS.mirror = true; + setRotation(GlassS, 0F, 0F, 0F); + GlassW = new ModelRenderer(this, 0, 70); + GlassW.addBox(0F, 0F, 0F, 1, 14, 6); + GlassW.setRotationPoint(-1F, 9F, -3F); + GlassW.setTextureSize(128, 128); + GlassW.mirror = true; + setRotation(GlassW, 0F, 0F, 0F); + GlassE = new ModelRenderer(this, 0, 70); + GlassE.addBox(0F, 0F, 0F, 1, 14, 6); + GlassE.setRotationPoint(6F, 9F, -3F); + GlassE.setTextureSize(128, 128); + GlassE.mirror = true; + setRotation(GlassE, 0F, 0F, 0F); + GlassU = new ModelRenderer(this, 0, 63); + GlassU.addBox(0F, 0F, 0F, 6, 1, 6); + GlassU.setRotationPoint(0F, 8F, -3F); + GlassU.setTextureSize(128, 128); + GlassU.mirror = true; + setRotation(GlassU, 0F, 0F, 0F); + } + + public void render(float size) + { + Base.render(size); + TSSW.render(size); + TSNW.render(size); + TSSE.render(size); + TSNE.render(size); + TTN.render(size); + TTS.render(size); + TTE.render(size); + TTW.render(size); + Connection.render(size); + ItemEntry.render(size); + GasExit.render(size); + GasConnection.render(size); + Machine.render(size); + Post.render(size); + + GL11.glPushMatrix(); + MekanismRenderer.blendOn(); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glColor4f(1, 1, 1, 0.2F); + + GlassN.render(size); + GlassS.render(size); + GlassW.render(size); + GlassE.render(size); + GlassU.render(size); + + MekanismRenderer.blendOff(); + GL11.glColor4f(1, 1, 1, 1); + GL11.glPopMatrix(); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } +} \ No newline at end of file diff --git a/common/mekanism/client/render/block/MachineRenderingHandler.java b/common/mekanism/client/render/block/MachineRenderingHandler.java index 512b96479..827130810 100644 --- a/common/mekanism/client/render/block/MachineRenderingHandler.java +++ b/common/mekanism/client/render/block/MachineRenderingHandler.java @@ -2,6 +2,7 @@ package mekanism.client.render.block; import mekanism.client.ClientProxy; import mekanism.client.model.ModelChargepad; +import mekanism.client.model.ModelChemicalOxidizer; import mekanism.client.model.ModelDigitalMiner; import mekanism.client.model.ModelElectricPump; import mekanism.client.model.ModelLogisticalSorter; @@ -31,6 +32,7 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler public ModelLogisticalSorter logisticalSorter = new ModelLogisticalSorter(); public ModelDigitalMiner digitalMiner = new ModelDigitalMiner(); public ModelRotaryCondensentrator rotaryCondensentrator = new ModelRotaryCondensentrator(); + public ModelChemicalOxidizer chemicalOxidizer = new ModelChemicalOxidizer(); @Override public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) @@ -43,7 +45,9 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler GL11.glPushMatrix(); GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); - if(MachineType.get(block.blockID, metadata) == MachineType.ELECTRIC_PUMP) + MachineType type = MachineType.get(block.blockID, metadata); + + if(type == MachineType.ELECTRIC_PUMP) { GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(90F, 0.0F, -1.0F, 0.0F); @@ -51,7 +55,7 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "ElectricPump.png")); electricPump.render(0.0560F); } - else if(MachineType.get(block.blockID, metadata) == MachineType.METALLURGIC_INFUSER) + else if(type == MachineType.METALLURGIC_INFUSER) { GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(270F, 0.0F, -1.0F, 0.0F); @@ -59,14 +63,14 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "MetallurgicInfuser.png")); metallurgicInfuser.render(0.0625F); } - else if(MachineType.get(block.blockID, metadata) == MachineType.CHARGEPAD) + else if(type == MachineType.CHARGEPAD) { GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); GL11.glTranslatef(0.0F, -1.1F, 0.0F); Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "Chargepad.png")); chargepad.render(0.0625F); } - else if(MachineType.get(block.blockID, metadata) == MachineType.LOGISTICAL_SORTER) + else if(type == MachineType.LOGISTICAL_SORTER) { GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(270F, 0.0F, -1.0F, 0.0F); @@ -74,7 +78,7 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "LogisticalSorter.png")); logisticalSorter.render(0.0625F, false); } - else if(MachineType.get(block.blockID, metadata) == MachineType.DIGITAL_MINER) + else if(type == MachineType.DIGITAL_MINER) { GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); @@ -82,7 +86,7 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "DigitalMiner.png")); digitalMiner.render(0.03125F, false); } - else if(MachineType.get(block.blockID, metadata) == MachineType.ROTARY_CONDENSENTRATOR) + else if(type == MachineType.ROTARY_CONDENSENTRATOR) { GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(270F, 0.0F, -1.0F, 0.0F); @@ -90,6 +94,14 @@ public class MachineRenderingHandler implements ISimpleBlockRenderingHandler Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "RotaryCondensentrator.png")); rotaryCondensentrator.render(0.0625F); } + else if(type == MachineType.CHEMICAL_OXIDIZER) + { + GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(270F, 0.0F, -1.0F, 0.0F); + GL11.glTranslatef(0.0F, -1.06F, 0.05F); + Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "ChemicalOxidizer.png")); + chemicalOxidizer.render(0.0625F); + } else { MekanismRenderer.renderItem(renderer, metadata, block); } diff --git a/common/mekanism/client/render/tileentity/RenderChemicalOxidizer.java b/common/mekanism/client/render/tileentity/RenderChemicalOxidizer.java new file mode 100644 index 000000000..96d0a2c10 --- /dev/null +++ b/common/mekanism/client/render/tileentity/RenderChemicalOxidizer.java @@ -0,0 +1,41 @@ +package mekanism.client.render.tileentity; + +import mekanism.client.model.ModelChemicalOxidizer; +import mekanism.common.tileentity.TileEntityChemicalOxidizer; +import mekanism.common.util.MekanismUtils; +import mekanism.common.util.MekanismUtils.ResourceType; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; + +import org.lwjgl.opengl.GL11; + +public class RenderChemicalOxidizer extends TileEntitySpecialRenderer +{ + private ModelChemicalOxidizer model = new ModelChemicalOxidizer(); + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float partialTick) + { + renderAModelAt((TileEntityChemicalOxidizer)tileEntity, x, y, z, partialTick); + } + + private void renderAModelAt(TileEntityChemicalOxidizer tileEntity, double x, double y, double z, float partialTick) + { + GL11.glPushMatrix(); + GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); + + bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "ChemicalOxidizer.png")); + + switch(tileEntity.facing) + { + case 2: GL11.glRotatef(0, 0.0F, 1.0F, 0.0F); break; + case 3: GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); break; + case 4: GL11.glRotatef(90, 0.0F, 1.0F, 0.0F); break; + case 5: GL11.glRotatef(270, 0.0F, 1.0F, 0.0F); break; + } + + GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); + model.render(0.0625F); + GL11.glPopMatrix(); + } +} diff --git a/common/mekanism/common/CommonProxy.java b/common/mekanism/common/CommonProxy.java index 2886e659a..eabead38a 100644 --- a/common/mekanism/common/CommonProxy.java +++ b/common/mekanism/common/CommonProxy.java @@ -3,9 +3,9 @@ package mekanism.common; import java.io.File; import mekanism.common.inventory.container.*; -import mekanism.common.inventory.container.ContainerOxidationChamber; +import mekanism.common.inventory.container.ContainerChemicalOxidizer; import mekanism.common.tileentity.*; -import mekanism.common.tileentity.TileEntityOxidationChamber; +import mekanism.common.tileentity.TileEntityChemicalOxidizer; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.inventory.Container; @@ -56,7 +56,7 @@ public class CommonProxy GameRegistry.registerTileEntity(TileEntityObsidianTNT.class, "ObsidianTNT"); GameRegistry.registerTileEntity(TileEntityRotaryCondensentrator.class, "RotaryCondensentrator"); GameRegistry.registerTileEntity(TileEntityTeleporter.class, "MekanismTeleporter"); - GameRegistry.registerTileEntity(TileEntityOxidationChamber.class, "OxidationChamber"); + GameRegistry.registerTileEntity(TileEntityChemicalOxidizer.class, "ChemicalOxidizer"); GameRegistry.registerTileEntity(TileEntityChemicalInfuser.class, "ChemicalInfuser"); GameRegistry.registerTileEntity(TileEntityChemicalInjectionChamber.class, "ChemicalInjectionChamber"); } @@ -290,7 +290,7 @@ public class CommonProxy case 28: return new ContainerFilter(player.inventory, (TileEntityContainerBlock)tileEntity); case 29: - return new ContainerOxidationChamber(player.inventory, (TileEntityOxidationChamber)tileEntity); + return new ContainerChemicalOxidizer(player.inventory, (TileEntityChemicalOxidizer)tileEntity); case 30: return new ContainerChemicalInfuser(player.inventory, (TileEntityChemicalInfuser)tileEntity); case 31: diff --git a/common/mekanism/common/Mekanism.java b/common/mekanism/common/Mekanism.java index e4d90bc8f..990ab1767 100644 --- a/common/mekanism/common/Mekanism.java +++ b/common/mekanism/common/Mekanism.java @@ -614,7 +614,7 @@ public class Mekanism } //Chemical Formulator Recipes - RecipeHandler.addOxidationChamberRecipe(new ItemStack(Mekanism.Dust, 1, 10), new GasStack(GasRegistry.getGas("sulfuricGas"), 100)); + RecipeHandler.addChemicalOxidizerRecipe(new ItemStack(Mekanism.Dust, 1, 10), new GasStack(GasRegistry.getGas("sulfuricGas"), 100)); //Chemical Infuser Recipes RecipeHandler.addChemicalInfuserRecipe(new ChemicalInput(new GasStack(GasRegistry.getGas("hydrogen"), 1), new GasStack(GasRegistry.getGas("sulfuricGas"), 1)), new GasStack(GasRegistry.getGas("sulfuricAcid"), 1)); diff --git a/common/mekanism/common/RecipeHandler.java b/common/mekanism/common/RecipeHandler.java index 6bac0809f..3eaff1b4a 100644 --- a/common/mekanism/common/RecipeHandler.java +++ b/common/mekanism/common/RecipeHandler.java @@ -94,13 +94,13 @@ public final class RecipeHandler } /** - * Add a Chemical Formulator recipe. + * Add a Chemical Oxidizer recipe. * @param input - input ItemStack * @param output - output GasStack */ - public static void addOxidationChamberRecipe(ItemStack input, GasStack output) + public static void addChemicalOxidizerRecipe(ItemStack input, GasStack output) { - Recipe.CHEMICAL_FORMULATOR.put(input, output); + Recipe.CHEMICAL_OXIDIZER.put(input, output); } /** @@ -185,11 +185,11 @@ public final class RecipeHandler * @param stackDecrease - whether or not to decrease the input slot's stack size * @return output GasStack */ - public static GasStack getOxidationChamberOutput(ItemStack itemstack, boolean stackDecrease) + public static GasStack getChemicalOxidizerOutput(ItemStack itemstack, boolean stackDecrease) { if(itemstack != null) { - HashMap recipes = Recipe.CHEMICAL_FORMULATOR.get(); + HashMap recipes = Recipe.CHEMICAL_OXIDIZER.get(); for(Map.Entry entry : recipes.entrySet()) { @@ -249,7 +249,7 @@ public final class RecipeHandler PURIFICATION_CHAMBER(new HashMap()), METALLURGIC_INFUSER(new HashMap()), CHEMICAL_INFUSER(new HashMap()), - CHEMICAL_FORMULATOR(new HashMap()), + CHEMICAL_OXIDIZER(new HashMap()), CHEMICAL_INJECTION_CHAMBER(new HashMap()); private HashMap recipes; diff --git a/common/mekanism/common/block/BlockMachine.java b/common/mekanism/common/block/BlockMachine.java index e0b5154d1..13cbb1ea6 100644 --- a/common/mekanism/common/block/BlockMachine.java +++ b/common/mekanism/common/block/BlockMachine.java @@ -27,7 +27,7 @@ import mekanism.common.network.PacketElectricChest.ElectricChestPacketType; import mekanism.common.network.PacketLogisticalSorterGui; import mekanism.common.network.PacketLogisticalSorterGui.SorterGuiPacket; import mekanism.common.tileentity.*; -import mekanism.common.tileentity.TileEntityOxidationChamber; +import mekanism.common.tileentity.TileEntityChemicalOxidizer; import mekanism.common.transporter.TransporterFilter; import mekanism.common.util.MekanismUtils; import mekanism.common.util.TransporterUtils; @@ -76,7 +76,7 @@ import cpw.mods.fml.relauncher.SideOnly; * 0:14: Chargepad * 0:15: Logistical Sorter * 1:0: Rotary Condensentrator - * 1:1: Chemical Formulator + * 1:1: Chemical Oxidizer * 1:2: Chemical Infuser * 1:3: Chemical Injection Chamber * @author AidanBrady @@ -132,9 +132,6 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds } else if(blockID == Mekanism.machineBlock2ID) { - icons[1][0] = register.registerIcon("mekanism:ChemicalInjectionChamberFrontOff"); - icons[1][1] = register.registerIcon("mekanism:ChemicalInjectionChamberFrontOn"); - icons[1][2] = register.registerIcon("mekanism:SteelCasing"); icons[2][0] = register.registerIcon("mekanism:ChemicalInjectionChamberFrontOff"); icons[2][1] = register.registerIcon("mekanism:ChemicalInjectionChamberFrontOn"); icons[2][2] = register.registerIcon("mekanism:SteelCasing"); @@ -396,17 +393,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds } else if(blockID == Mekanism.machineBlock2ID) { - if(meta == 1) - { - if(side == 3) - { - return icons[1][0]; - } - else { - return icons[1][2]; - } - } - else if(meta == 2) + if(meta == 2) { if(side == 3) { @@ -549,7 +536,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds } else if(blockID == Mekanism.machineBlock2ID) { - if(metadata == 1 || metadata == 2 || metadata == 3) + if(metadata == 2 || metadata == 3) { if(side == tileEntity.facing) { @@ -576,7 +563,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds { for(MachineType type : MachineType.values()) { - if(type == MachineType.OXIDATION_CHAMBER || type == MachineType.CHEMICAL_INFUSER /*TODO*/) + if(type == MachineType.CHEMICAL_OXIDIZER || type == MachineType.CHEMICAL_INFUSER /*TODO*/) { //continue; } @@ -967,9 +954,9 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds } } - if(tileEntity instanceof TileEntityOxidationChamber) + if(tileEntity instanceof TileEntityChemicalOxidizer) { - TileEntityOxidationChamber formulator = (TileEntityOxidationChamber)tileEntity; + TileEntityChemicalOxidizer formulator = (TileEntityChemicalOxidizer)tileEntity; if(formulator.gasTank.getGas() != null) { @@ -1089,7 +1076,7 @@ public class BlockMachine extends BlockContainer implements ISpecialBounds CHARGEPAD(Mekanism.machineBlockID, 14, "Chargepad", -1, 10000, TileEntityChargepad.class, true), LOGISTICAL_SORTER(Mekanism.machineBlockID, 15, "LogisticalSorter", -1, 0, TileEntityLogisticalSorter.class, true), ROTARY_CONDENSENTRATOR(Mekanism.machineBlock2ID, 0, "RotaryCondensentrator", 7, 20000, TileEntityRotaryCondensentrator.class, true), - OXIDATION_CHAMBER(Mekanism.machineBlock2ID, 1, "OxidationChamber", 29, 20000, TileEntityOxidationChamber.class, false), + CHEMICAL_OXIDIZER(Mekanism.machineBlock2ID, 1, "ChemicalOxidizer", 29, 20000, TileEntityChemicalOxidizer.class, true), CHEMICAL_INFUSER(Mekanism.machineBlock2ID, 2, "ChemicalInfuser", 30, 20000, TileEntityChemicalInfuser.class, false), CHEMICAL_INJECTION_CHAMBER(Mekanism.machineBlock2ID, 3, "ChemicalInjectionChamber", 31, Mekanism.chemicalInjectionChamberUsage*400, TileEntityChemicalInjectionChamber.class, false); diff --git a/common/mekanism/common/inventory/container/ContainerOxidationChamber.java b/common/mekanism/common/inventory/container/ContainerChemicalOxidizer.java similarity index 92% rename from common/mekanism/common/inventory/container/ContainerOxidationChamber.java rename to common/mekanism/common/inventory/container/ContainerChemicalOxidizer.java index d62c42eb5..4d3885c22 100644 --- a/common/mekanism/common/inventory/container/ContainerOxidationChamber.java +++ b/common/mekanism/common/inventory/container/ContainerChemicalOxidizer.java @@ -4,7 +4,7 @@ import mekanism.api.gas.IGasItem; import mekanism.common.RecipeHandler; import mekanism.common.inventory.slot.SlotEnergy.SlotDischarge; import mekanism.common.inventory.slot.SlotStorageTank; -import mekanism.common.tileentity.TileEntityOxidationChamber; +import mekanism.common.tileentity.TileEntityChemicalOxidizer; import mekanism.common.util.ChargeUtils; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; @@ -12,11 +12,11 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -public class ContainerOxidationChamber extends Container +public class ContainerChemicalOxidizer extends Container { - private TileEntityOxidationChamber tileEntity; + private TileEntityChemicalOxidizer tileEntity; - public ContainerOxidationChamber(InventoryPlayer inventory, TileEntityOxidationChamber tentity) + public ContainerChemicalOxidizer(InventoryPlayer inventory, TileEntityChemicalOxidizer tentity) { tileEntity = tentity; addSlotToContainer(new Slot(tentity, 0, 26, 36)); @@ -68,7 +68,7 @@ public class ContainerOxidationChamber extends Container ItemStack slotStack = currentSlot.getStack(); stack = slotStack.copy(); - if(RecipeHandler.getOxidationChamberOutput(slotStack, false) != null) + if(RecipeHandler.getChemicalOxidizerOutput(slotStack, false) != null) { if(!mergeItemStack(slotStack, 0, 1, true)) { diff --git a/common/mekanism/common/item/ItemBlockMachine.java b/common/mekanism/common/item/ItemBlockMachine.java index 8bf04b398..8b1a73fe9 100644 --- a/common/mekanism/common/item/ItemBlockMachine.java +++ b/common/mekanism/common/item/ItemBlockMachine.java @@ -29,7 +29,7 @@ import mekanism.common.miner.MinerFilter; import mekanism.common.network.PacketElectricChest; import mekanism.common.network.PacketElectricChest.ElectricChestPacketType; import mekanism.common.tileentity.*; -import mekanism.common.tileentity.TileEntityOxidationChamber; +import mekanism.common.tileentity.TileEntityChemicalOxidizer; import mekanism.common.transporter.TransporterFilter; import mekanism.common.util.MekanismUtils; import mekanism.common.util.TransporterUtils; @@ -72,7 +72,7 @@ import cpw.mods.fml.relauncher.SideOnly; * 0:14: Chargepad * 0:15: Logistical Sorter * 1:0: Rotary Condensentrator - * 1:1: Chemical Formulator + * 1:1: Chemical Oxidizer * 1:2: Chemical Infuser * 1:3: Chemical Injection Chamber * @author AidanBrady @@ -304,11 +304,11 @@ public class ItemBlockMachine extends ItemBlock implements IEnergizedItem, ISpec } } - if(tileEntity instanceof TileEntityOxidationChamber) + if(tileEntity instanceof TileEntityChemicalOxidizer) { if(stack.stackTagCompound != null) { - ((TileEntityOxidationChamber)tileEntity).gasTank.setGas(GasStack.readFromNBT(stack.stackTagCompound.getCompoundTag("gasTank"))); + ((TileEntityChemicalOxidizer)tileEntity).gasTank.setGas(GasStack.readFromNBT(stack.stackTagCompound.getCompoundTag("gasTank"))); } } @@ -504,7 +504,7 @@ public class ItemBlockMachine extends ItemBlock implements IEnergizedItem, ISpec MachineType type = MachineType.get((ItemStack)data[0]); if(type != MachineType.TELEPORTER && type != MachineType.ELECTRIC_PUMP && type != MachineType.ELECTRIC_CHEST && type != MachineType.CHARGEPAD && type != MachineType.LOGISTICAL_SORTER && - type != MachineType.ROTARY_CONDENSENTRATOR && type != MachineType.OXIDATION_CHAMBER && type != MachineType.CHEMICAL_INFUSER) + type != MachineType.ROTARY_CONDENSENTRATOR && type != MachineType.CHEMICAL_OXIDIZER && type != MachineType.CHEMICAL_INFUSER) { return true; } diff --git a/common/mekanism/common/tileentity/TileEntityOxidationChamber.java b/common/mekanism/common/tileentity/TileEntityChemicalOxidizer.java similarity index 93% rename from common/mekanism/common/tileentity/TileEntityOxidationChamber.java rename to common/mekanism/common/tileentity/TileEntityChemicalOxidizer.java index 593826f0c..00cd3fa54 100644 --- a/common/mekanism/common/tileentity/TileEntityOxidationChamber.java +++ b/common/mekanism/common/tileentity/TileEntityChemicalOxidizer.java @@ -10,8 +10,12 @@ import mekanism.api.gas.GasTransmission; import mekanism.api.gas.IGasHandler; import mekanism.api.gas.IGasItem; import mekanism.api.gas.ITubeConnection; -import mekanism.common.*; +import mekanism.common.IActiveState; +import mekanism.common.IRedstoneControl; +import mekanism.common.Mekanism; +import mekanism.common.PacketHandler; import mekanism.common.PacketHandler.Transmission; +import mekanism.common.RecipeHandler; import mekanism.common.block.BlockMachine.MachineType; import mekanism.common.network.PacketTileEntity; import mekanism.common.util.ChargeUtils; @@ -24,7 +28,7 @@ import net.minecraftforge.common.ForgeDirection; import com.google.common.io.ByteArrayDataInput; -public class TileEntityOxidationChamber extends TileEntityElectricBlock implements IActiveState, ITubeConnection, IRedstoneControl +public class TileEntityChemicalOxidizer extends TileEntityElectricBlock implements IActiveState, ITubeConnection, IRedstoneControl { public GasTank gasTank = new GasTank(MAX_GAS); @@ -48,9 +52,9 @@ public class TileEntityOxidationChamber extends TileEntityElectricBlock implemen public RedstoneControl controlType = RedstoneControl.DISABLED; - public TileEntityOxidationChamber() + public TileEntityChemicalOxidizer() { - super("OxidationChamber", MachineType.OXIDATION_CHAMBER.baseEnergy); + super("ChemicalOxidizer", MachineType.CHEMICAL_OXIDIZER.baseEnergy); inventory = new ItemStack[3]; } @@ -100,7 +104,7 @@ public class TileEntityOxidationChamber extends TileEntityElectricBlock implemen operatingTicks++; } else { - GasStack stack = RecipeHandler.getOxidationChamberOutput(inventory[0], true); + GasStack stack = RecipeHandler.getChemicalOxidizerOutput(inventory[0], true); gasTank.receive(stack, true); operatingTicks = 0; @@ -147,7 +151,7 @@ public class TileEntityOxidationChamber extends TileEntityElectricBlock implemen { if(slotID == 0) { - return RecipeHandler.getOxidationChamberOutput(itemstack, false) != null; + return RecipeHandler.getChemicalOxidizerOutput(itemstack, false) != null; } else if(slotID == 1) { @@ -199,7 +203,7 @@ public class TileEntityOxidationChamber extends TileEntityElectricBlock implemen return false; } - GasStack stack = RecipeHandler.getOxidationChamberOutput(inventory[0], false); + GasStack stack = RecipeHandler.getChemicalOxidizerOutput(inventory[0], false); if(stack == null || (gasTank.getGas() != null && (gasTank.getGas().getGas() != stack.getGas() || gasTank.getNeeded() < stack.amount))) { diff --git a/resources/assets/mekanism/gui/GuiOxidationChamber.png b/resources/assets/mekanism/gui/GuiChemicalOxidizer.png similarity index 100% rename from resources/assets/mekanism/gui/GuiOxidationChamber.png rename to resources/assets/mekanism/gui/GuiChemicalOxidizer.png diff --git a/resources/assets/mekanism/lang/en_GB.lang b/resources/assets/mekanism/lang/en_GB.lang index c2532f9da..d2161dc1c 100644 --- a/resources/assets/mekanism/lang/en_GB.lang +++ b/resources/assets/mekanism/lang/en_GB.lang @@ -1,5 +1,6 @@ tile.MachineBlock.EnergizedSmelter.name=Energised Smelter tile.Transmitter.PressurizedTube.name=Pressurised Tube +tile.MachineBlock2.ChemicalOxidizer=Chemical Oxidiser item.MultipartTransmitter.PressurizedTube.name=Pressurised Tube item.sulfurDust.name=Sulphur Dust gas.sulfuricGas=Sulphur Dioxide diff --git a/resources/assets/mekanism/lang/en_US.lang b/resources/assets/mekanism/lang/en_US.lang index 3d1c2714d..38e93ae00 100644 --- a/resources/assets/mekanism/lang/en_US.lang +++ b/resources/assets/mekanism/lang/en_US.lang @@ -66,7 +66,7 @@ tile.MachineBlock.DigitalMiner.name=Digital Miner //Machine Block 2 (second ID iteration) tile.MachineBlock2.RotaryCondensentrator.name=Rotary Condensentrator -tile.MachineBlock2.OxidationChamber.name=Oxidation Chamber +tile.MachineBlock2.ChemicalOxidizer.name=Chemical Oxidizer tile.MachineBlock2.ChemicalInfuser.name=Chemical Infuser tile.MachineBlock2.ChemicalInjectionChamber.name=Chemical Injection Chamber diff --git a/resources/assets/mekanism/render/ChemicalOxidizer.png b/resources/assets/mekanism/render/ChemicalOxidizer.png new file mode 100644 index 0000000000000000000000000000000000000000..2dc62072325516572d681a6f64ce2d7cdc5f57d9 GIT binary patch literal 2262 zcmb7Gc|6o>7yntx45lGMvV=)0Wl77FZ7`V1l9IShNyd_G7-PxE*b9T?BH7m)8ItAA zG8b8sCCXf{48zp8jhV4jrWu(#{qx?x-{<+9b3W($Jm)#*Ip;i|&-2jP(GDW5Dh&Vt z1Z8jIB9g>k1lld)ug!0dio|ZOi*`1E@YgKsu6-;*z*u{C902U;`$b~=^ezxZpj0@@ z0Vy>vtEq7K$dSL#z7j#|{#UPuTZaS%VS>X&DgaoAVQze{QaOyU-84mwRM4h;>7-1`@1CS6h7RfL=L5HJDfyhC+$eKpP(8rU5}s&O9zPU{kz z^}Fd6dK;CU`WG3|=6ex}NRip$!-qxj0Gt9$A^qYl?@5}wUF2l{T821WpOqG9Hg+n`X38 zd&AMGWR_>fI+?;c_a4tSOGqNYP$Jz(y~oeH)?b>b)~s(m*JjR0g7=@sMns&}KiNfy z3o#@12O8O;sfL4PSlS%Lh?=z1`dJ z@Sd?T2qjL)L6+sJ#DU8$`?rqH|sg2xy3$emNV+$RimIZ>nM3GiAY^xrR0V=fZ?D9-`7drik*ugy+C| z*VkWc?a9FfUNnxpcQ0*vdOC(gA>CXYI2WuP%;)n}Q8_%xMpnlo=PH6seL`Chy~tYB zN9)U}jqA0Tk_>|UrIq6|@|~r8O6qqoP5dlK>kGXt1kvTl!DNcQR{@|1Cgs zbAS|yW|pR=P$-m?8PypNzlK=j0@#S{M`81I${2V)BtX(V;4-zfalSVA{PX$O8x3_w z-!gHU(*sZKS!YI#7ZeNgVxQg>cd#Sy2%7y(dBSd3@Dik-ZJ;E><#0KiE?5TAkcXPMZrumt_l#UfF$X=UXA zjAa3b@Bap^dIpO|qNzGYfl~@emG?ERdOhw-JoyNQ+{sw4$o9$V#~M{+guk*qlH9Bx zE40*&vkK9=b(^^snXxmJ_h9agM;#HXZ7)0B#*V9rvDTr{XniWnuM=955ACF~Z-#E& z*6}O0Z?g#6z9cNxO{@nk!fPYk=qsZ44LZrkdXH?!T<;V!sOJ zQ_bS>+uInb#n!!qASMVnVPGKDaLPQEA1(pp>rwgn`4Veef%Bg}eZu1Lr}U~tIZ#Bd2xtbw&KG`k zr~@rClOD@UOI|$p`-W)suai|5`_f$ASkP>Q!t5w5TgA$_ZC+@D4vHgCsY2>o$(Y4o zm7y;?oJ#&aB{BT*Cl1pRs@B*5)(J;5Nsh~n<>S|z=;5)m=X$dgxnNt4l$3E|l04CrF zn+Qwbk}UKF0MxocD`dO4$+3TZv${X_NX=LG;X*ifF19gLDa6UNC${oN#HM4rW9sI* zcUBnS{!l@+RP6y!!{T`VzGlqr+36`sCSq8eK8O9Ie2GhYwwk2nD%0XS$%!+33!~Dp zaBb~QKm#8PkUJ$Q^p^QCXdxwnp6lUKeYk2@Laae}XOdtw9)(XTx zTJ}(1%{Wu*&&z<9_x^9=@cz(@8vizaK}7SQTA9D9K@zr8dA9QC;!nX=qS}yB#}0PF z(~tKz?wVB0q8MzME6~8Bvog3v)(cyd9cX(D70<>cp3Qu6V6_hDpQK;b*Or`ZKAvv- zDMSp2YtOEB@eFRN6kic&I85`#%IUphOZxyGdv3|d3Wk7n4#~h1TA&Age_*wS zwGwK60e@?a;%txif{%()db78s}vdK@=`EjjsJFn^Fv{? z>H{_BeTJB)JN@uk%YBx5fR&h>G|?Gg5bKCTK7y>|551WiL#40RJ}w=U6-yF7s0fq; zpk0;`&t$!$?V$e}{JZqOGm_-2KwAF?(-^o_nC~T*wV6u&^}RqL9c{=~o(cZ|SSdk% literal 0 HcmV?d00001