From 782c8467e838d79802546cd1dbc2ac3a82b98ba6 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Mon, 20 May 2013 13:51:18 -0400 Subject: [PATCH] v5.5.6 Beta #2 *Robit uses energy when following it's owner. *Robit has built in furnace. *Robit only moves when it has energy. *Fixed Wind Turbine/Adv Solar Gen crash. *Fixed bad direct IC2 conversion. *Chargepads charge armor inventory. *Better Heat/Bio generation. *Crafting recipe for Robit. *Ore Dictionary support for iron/gold ore. --- .../mods/mekanism/gui/GuiRobitCrafting.png | Bin 7336 -> 8123 bytes .../mods/mekanism/gui/GuiRobitInventory.png | Bin 7299 -> 8092 bytes .../mods/mekanism/gui/GuiRobitMain.png | Bin 8148 -> 8940 bytes .../mods/mekanism/gui/GuiRobitSmelting.png | Bin 0 -> 8686 bytes .../mekanism/client/ClientProxy.java | 6 + .../mekanism/client/GuiRobitCrafting.java | 14 ++ .../mekanism/client/GuiRobitInventory.java | 14 ++ .../mekanism/client/GuiRobitMain.java | 20 +- .../mekanism/client/GuiRobitSmelting.java | 138 +++++++++++++ .../mekanism/common/CommonProxy.java | 6 + .../common/ContainerRobitSmelting.java | 188 ++++++++++++++++++ .../mekanism/common/EntityRobit.java | 120 ++++++++++- src/minecraft/mekanism/common/Mekanism.java | 21 +- .../mekanism/common/PacketHandler.java | 4 + .../mekanism/common/RobitAIFollow.java | 6 +- .../mekanism/common/TileEntityChargepad.java | 73 ++++--- .../generators/client/GuiWindTurbine.java | 2 +- .../generators/common/ItemBlockGenerator.java | 4 +- .../common/TileEntityBioGenerator.java | 4 +- .../common/TileEntityGenerator.java | 4 +- .../common/TileEntityHeatGenerator.java | 4 +- 21 files changed, 575 insertions(+), 53 deletions(-) create mode 100644 bin/minecraft/mods/mekanism/gui/GuiRobitSmelting.png create mode 100644 src/minecraft/mekanism/client/GuiRobitSmelting.java create mode 100644 src/minecraft/mekanism/common/ContainerRobitSmelting.java diff --git a/bin/minecraft/mods/mekanism/gui/GuiRobitCrafting.png b/bin/minecraft/mods/mekanism/gui/GuiRobitCrafting.png index 4318055873cb313258bfc1d4a02a2ce3638bf26e..4a0660a79b1dc64cc1623b3f52591984a448f80a 100644 GIT binary patch delta 7079 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 delta 6286 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 A{Qv*} diff --git a/bin/minecraft/mods/mekanism/gui/GuiRobitInventory.png b/bin/minecraft/mods/mekanism/gui/GuiRobitInventory.png index b63f2c6de1641e87ecebd82bd5b7edfbee0e9634..5550d85ef26f14c27864ab1b08e65bcf64c6cbc1 100644 GIT binary patch delta 7047 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 delta 6248 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 diff --git a/bin/minecraft/mods/mekanism/gui/GuiRobitMain.png b/bin/minecraft/mods/mekanism/gui/GuiRobitMain.png index 5e19e90fbf087b80541d264fe85cd4f5e234a4d8..1908739845310dd4dd3c88279865a0f5d216c09e 100644 GIT binary patch delta 7902 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 E0Is5cm;e9( delta 7104 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 diff --git a/bin/minecraft/mods/mekanism/gui/GuiRobitSmelting.png b/bin/minecraft/mods/mekanism/gui/GuiRobitSmelting.png new file mode 100644 index 0000000000000000000000000000000000000000..93510de817b0391d6c7eed96f44767dd4d5a1ef3 GIT binary patch literal 8686 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 DBYNRv literal 0 HcmV?d00001 diff --git a/src/minecraft/mekanism/client/ClientProxy.java b/src/minecraft/mekanism/client/ClientProxy.java index bfe5391e0..f17e5d755 100644 --- a/src/minecraft/mekanism/client/ClientProxy.java +++ b/src/minecraft/mekanism/client/ClientProxy.java @@ -266,6 +266,12 @@ public class ClientProxy extends CommonProxy { return new GuiRobitInventory(player.inventory, robit1); } + case 24: + EntityRobit robit2 = (EntityRobit)world.getEntityByID(x); + if(robit2 != null) + { + return new GuiRobitSmelting(player.inventory, robit2); + } } return null; diff --git a/src/minecraft/mekanism/client/GuiRobitCrafting.java b/src/minecraft/mekanism/client/GuiRobitCrafting.java index 9a00f5a33..2e24919f3 100644 --- a/src/minecraft/mekanism/client/GuiRobitCrafting.java +++ b/src/minecraft/mekanism/client/GuiRobitCrafting.java @@ -64,6 +64,14 @@ public class GuiRobitCrafting extends GuiContainer else { drawTexturedModalRect(guiWidth + 179, guiHeight + 50, 176 + 25, 90, 18, 18); } + + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 70 && yAxis <= 88) + { + drawTexturedModalRect(guiWidth + 179, guiHeight + 70, 176 + 25, 108, 18, 18); + } + else { + drawTexturedModalRect(guiWidth + 179, guiHeight + 70, 176 + 25, 126, 18, 18); + } } @Override @@ -92,6 +100,12 @@ public class GuiRobitCrafting extends GuiContainer PacketHandler.sendRobitGui(2, entityId); mc.thePlayer.openGui(Mekanism.instance, 23, mc.theWorld, entityId, 0, 0); } + else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 70 && yAxis <= 88) + { + mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); + PacketHandler.sendRobitGui(3, entityId); + mc.thePlayer.openGui(Mekanism.instance, 24, mc.theWorld, entityId, 0, 0); + } } } } diff --git a/src/minecraft/mekanism/client/GuiRobitInventory.java b/src/minecraft/mekanism/client/GuiRobitInventory.java index f25002405..64e094037 100644 --- a/src/minecraft/mekanism/client/GuiRobitInventory.java +++ b/src/minecraft/mekanism/client/GuiRobitInventory.java @@ -63,6 +63,14 @@ public class GuiRobitInventory extends GuiContainer else { drawTexturedModalRect(guiWidth + 179, guiHeight + 50, 176 + 25, 90, 18, 18); } + + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 70 && yAxis <= 88) + { + drawTexturedModalRect(guiWidth + 179, guiHeight + 70, 176 + 25, 108, 18, 18); + } + else { + drawTexturedModalRect(guiWidth + 179, guiHeight + 70, 176 + 25, 126, 18, 18); + } } @Override @@ -91,6 +99,12 @@ public class GuiRobitInventory extends GuiContainer { mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); } + else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 70 && yAxis <= 88) + { + mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); + PacketHandler.sendRobitGui(3, robit.entityId); + mc.thePlayer.openGui(Mekanism.instance, 24, mc.theWorld, robit.entityId, 0, 0); + } } } } diff --git a/src/minecraft/mekanism/client/GuiRobitMain.java b/src/minecraft/mekanism/client/GuiRobitMain.java index 7ccde0823..ed379151e 100644 --- a/src/minecraft/mekanism/client/GuiRobitMain.java +++ b/src/minecraft/mekanism/client/GuiRobitMain.java @@ -83,12 +83,20 @@ public class GuiRobitMain extends GuiContainer drawTexturedModalRect(guiWidth + 179, guiHeight + 50, 176 + 25, 90, 18, 18); } - if(xAxis >= 152 && xAxis <= 170 && yAxis >= 53 && yAxis <= 71) + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 70 && yAxis <= 88) { - drawTexturedModalRect(guiWidth + 152, guiHeight + 53, 176 + 25, 108, 18, 18); + drawTexturedModalRect(guiWidth + 179, guiHeight + 70, 176 + 25, 108, 18, 18); } else { - drawTexturedModalRect(guiWidth + 152, guiHeight + 53, 176 + 25, 126, 18, 18); + drawTexturedModalRect(guiWidth + 179, guiHeight + 70, 176 + 25, 126, 18, 18); + } + + if(xAxis >= 152 && xAxis <= 170 && yAxis >= 53 && yAxis <= 71) + { + drawTexturedModalRect(guiWidth + 152, guiHeight + 53, 176 + 25, 144, 18, 18); + } + else { + drawTexturedModalRect(guiWidth + 152, guiHeight + 53, 176 + 25, 162, 18, 18); } int displayInt; @@ -128,6 +136,12 @@ public class GuiRobitMain extends GuiContainer PacketHandler.sendRobitGui(2, robit.entityId); mc.thePlayer.openGui(Mekanism.instance, 23, mc.theWorld, robit.entityId, 0, 0); } + else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 70 && yAxis <= 88) + { + mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); + PacketHandler.sendRobitGui(3, robit.entityId); + mc.thePlayer.openGui(Mekanism.instance, 24, mc.theWorld, robit.entityId, 0, 0); + } else if(xAxis >= 152 && xAxis <= 170 && yAxis >= 53 && yAxis <= 71) { mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); diff --git a/src/minecraft/mekanism/client/GuiRobitSmelting.java b/src/minecraft/mekanism/client/GuiRobitSmelting.java new file mode 100644 index 000000000..e0cf73be8 --- /dev/null +++ b/src/minecraft/mekanism/client/GuiRobitSmelting.java @@ -0,0 +1,138 @@ +package mekanism.client; + +import mekanism.common.ContainerRobitSmelting; +import mekanism.common.EntityRobit; +import mekanism.common.Mekanism; +import mekanism.common.PacketHandler; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.entity.player.InventoryPlayer; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class GuiRobitSmelting extends GuiContainer +{ + public EntityRobit robit; + + public GuiRobitSmelting(InventoryPlayer inventory, EntityRobit entity) + { + super(new ContainerRobitSmelting(inventory, entity)); + xSize += 25; + robit = entity; + } + + @Override + protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) + { + fontRenderer.drawString("Robit Smelting", 8, 6, 0x404040); + fontRenderer.drawString("Inventory", 8, ySize - 96 + 3, 0x404040); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float par1, int mouseX, int mouseY) + { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + mc.renderEngine.bindTexture("/mods/mekanism/gui/GuiRobitSmelting.png"); + int guiWidth = (width - xSize) / 2; + int guiHeight = (height - ySize) / 2; + drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize); + + int xAxis = (mouseX - (width - xSize) / 2); + int yAxis = (mouseY - (height - ySize) / 2); + + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 10 && yAxis <= 28) + { + drawTexturedModalRect(guiWidth + 179, guiHeight + 10, 176 + 25, 0, 18, 18); + } + else { + drawTexturedModalRect(guiWidth + 179, guiHeight + 10, 176 + 25, 18, 18, 18); + } + + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 30 && yAxis <= 48) + { + drawTexturedModalRect(guiWidth + 179, guiHeight + 30, 176 + 25, 36, 18, 18); + } + else { + drawTexturedModalRect(guiWidth + 179, guiHeight + 30, 176 + 25, 54, 18, 18); + } + + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 50 && yAxis <= 68) + { + drawTexturedModalRect(guiWidth + 179, guiHeight + 50, 176 + 25, 72, 18, 18); + } + else { + drawTexturedModalRect(guiWidth + 179, guiHeight + 50, 176 + 25, 90, 18, 18); + } + + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 70 && yAxis <= 88) + { + drawTexturedModalRect(guiWidth + 179, guiHeight + 70, 176 + 25, 108, 18, 18); + } + else { + drawTexturedModalRect(guiWidth + 179, guiHeight + 70, 176 + 25, 126, 18, 18); + } + + int displayInt; + + if(robit.furnaceBurnTime > 0) + { + displayInt = getBurnTimeRemainingScaled(12); + drawTexturedModalRect(guiWidth + 56, guiHeight + 36 + 12 - displayInt, 176 + 25 + 18, 36 + 12 - displayInt, 14, displayInt + 2); + } + + displayInt = getCookProgressScaled(24); + drawTexturedModalRect(guiWidth + 79, guiHeight + 34, 176 + 25 + 18, 36 + 14, displayInt + 1, 16); + } + + @Override + protected void mouseClicked(int mouseX, int mouseY, int button) + { + super.mouseClicked(mouseX, mouseY, button); + + if(button == 0) + { + int xAxis = (mouseX - (width - xSize) / 2); + int yAxis = (mouseY - (height - ySize) / 2); + + if(xAxis >= 179 && xAxis <= 197 && yAxis >= 10 && yAxis <= 28) + { + mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); + PacketHandler.sendRobitGui(0, robit.entityId); + mc.thePlayer.openGui(Mekanism.instance, 21, mc.theWorld, robit.entityId, 0, 0); + } + else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 30 && yAxis <= 48) + { + mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); + PacketHandler.sendRobitGui(1, robit.entityId); + mc.thePlayer.openGui(Mekanism.instance, 22, mc.theWorld, robit.entityId, 0, 0); + } + else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 50 && yAxis <= 68) + { + mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); + PacketHandler.sendRobitGui(2, robit.entityId); + mc.thePlayer.openGui(Mekanism.instance, 23, mc.theWorld, robit.entityId, 0, 0); + } + else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 70 && yAxis <= 88) + { + mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); + } + } + } + + private int getCookProgressScaled(int i) + { + return robit.furnaceCookTime * i / 200; + } + + private int getBurnTimeRemainingScaled(int i) + { + if(robit.currentItemBurnTime == 0) + { + robit.currentItemBurnTime = 200; + } + + return robit.furnaceBurnTime * i / robit.currentItemBurnTime; + } +} diff --git a/src/minecraft/mekanism/common/CommonProxy.java b/src/minecraft/mekanism/common/CommonProxy.java index 796534cea..6ee08af80 100644 --- a/src/minecraft/mekanism/common/CommonProxy.java +++ b/src/minecraft/mekanism/common/CommonProxy.java @@ -208,6 +208,12 @@ public class CommonProxy { return new ContainerRobitInventory(player.inventory, robit1); } + case 24: + EntityRobit robit2 = (EntityRobit)world.getEntityByID(x); + if(robit2 != null) + { + return new ContainerRobitSmelting(player.inventory, robit2); + } } return null; diff --git a/src/minecraft/mekanism/common/ContainerRobitSmelting.java b/src/minecraft/mekanism/common/ContainerRobitSmelting.java new file mode 100644 index 000000000..73e9d8230 --- /dev/null +++ b/src/minecraft/mekanism/common/ContainerRobitSmelting.java @@ -0,0 +1,188 @@ +package mekanism.common; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.inventory.SlotFurnace; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.tileentity.TileEntityFurnace; + +public class ContainerRobitSmelting extends Container +{ + public EntityRobit robit; + + private int lastCookTime = 0; + private int lastBurnTime = 0; + private int lastItemBurnTime = 0; + + public ContainerRobitSmelting(InventoryPlayer inventory, EntityRobit entity) + { + robit = entity; + robit.openChest(); + + addSlotToContainer(new Slot(entity, 28, 56, 17)); + addSlotToContainer(new Slot(entity, 29, 56, 53)); + addSlotToContainer(new SlotFurnace(inventory.player, entity, 30, 116, 35)); + + int slotX; + + for(slotX = 0; slotX < 3; ++slotX) + { + for(int slotY = 0; slotY < 9; ++slotY) + { + addSlotToContainer(new Slot(inventory, slotY + slotX * 9 + 9, 8 + slotY * 18, 84 + slotX * 18)); + } + } + + for(slotX = 0; slotX < 9; ++slotX) + { + addSlotToContainer(new Slot(inventory, slotX, 8 + slotX * 18, 142)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer entityplayer) + { + return true; + } + + @Override + public void addCraftingToCrafters(ICrafting icrafting) + { + super.addCraftingToCrafters(icrafting); + icrafting.sendProgressBarUpdate(this, 0, robit.furnaceCookTime); + icrafting.sendProgressBarUpdate(this, 1, robit.furnaceBurnTime); + icrafting.sendProgressBarUpdate(this, 2, robit.currentItemBurnTime); + } + + @Override + public void detectAndSendChanges() + { + super.detectAndSendChanges(); + + for(int i = 0; i < crafters.size(); ++i) + { + ICrafting icrafting = (ICrafting)crafters.get(i); + + if(lastCookTime != robit.furnaceCookTime) + { + icrafting.sendProgressBarUpdate(this, 0, robit.furnaceCookTime); + } + + if(lastBurnTime != robit.furnaceBurnTime) + { + icrafting.sendProgressBarUpdate(this, 1, robit.furnaceBurnTime); + } + + if(lastItemBurnTime != robit.currentItemBurnTime) + { + icrafting.sendProgressBarUpdate(this, 2, robit.currentItemBurnTime); + } + } + + lastCookTime = robit.furnaceCookTime; + lastBurnTime = robit.furnaceBurnTime; + lastItemBurnTime = robit.currentItemBurnTime; + } + + @Override + public void updateProgressBar(int i, int j) + { + if(i == 0) + { + robit.furnaceCookTime = j; + } + + if(i == 1) + { + robit.furnaceBurnTime = j; + } + + if(i == 2) + { + robit.currentItemBurnTime = j; + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int slotID) + { + ItemStack stack = null; + Slot currentSlot = (Slot)inventorySlots.get(slotID); + + if(currentSlot != null && currentSlot.getHasStack()) + { + ItemStack slotStack = currentSlot.getStack(); + stack = slotStack.copy(); + + if(slotID == 2) + { + if(!mergeItemStack(slotStack, 3, 39, true)) + { + return null; + } + } + else if(slotID != 1 && slotID != 0) + { + if(FurnaceRecipes.smelting().getSmeltingResult(slotStack) != null) + { + if(!mergeItemStack(slotStack, 0, 1, false)) + { + return null; + } + } + else if(TileEntityFurnace.isItemFuel(slotStack)) + { + if(!mergeItemStack(slotStack, 1, 2, false)) + { + return null; + } + } + else if(slotID >= 3 && slotID < 30) + { + if(!mergeItemStack(slotStack, 30, 39, false)) + { + return null; + } + } + else if(slotID >= 30 && slotID < 39 && !mergeItemStack(slotStack, 3, 30, false)) + { + return null; + } + } + else if(!mergeItemStack(slotStack, 3, 39, false)) + { + return null; + } + + if(slotStack.stackSize == 0) + { + currentSlot.putStack((ItemStack)null); + } + else { + currentSlot.onSlotChanged(); + } + + if(slotStack.stackSize == stack.stackSize) + { + return null; + } + + currentSlot.onPickupFromSlot(player, slotStack); + } + + return stack; + } + + @Override + public void onCraftGuiClosed(EntityPlayer entityplayer) + { + super.onCraftGuiClosed(entityplayer); + robit.closeChest(); + } +} diff --git a/src/minecraft/mekanism/common/EntityRobit.java b/src/minecraft/mekanism/common/EntityRobit.java index 57a5bcfaf..c92af0a52 100644 --- a/src/minecraft/mekanism/common/EntityRobit.java +++ b/src/minecraft/mekanism/common/EntityRobit.java @@ -2,9 +2,10 @@ package mekanism.common; import ic2.api.item.ElectricItem; import ic2.api.item.IElectricItem; -import thermalexpansion.api.item.IChargeableItem; -import universalelectricity.core.item.ElectricItemHelper; -import universalelectricity.core.item.IItemElectric; + +import java.math.BigDecimal; +import java.math.RoundingMode; + import mekanism.api.EnergizedItemManager; import mekanism.api.IEnergizedItem; import mekanism.api.Object3D; @@ -17,11 +18,16 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; +import thermalexpansion.api.item.IChargeableItem; +import universalelectricity.core.item.ElectricItemHelper; +import universalelectricity.core.item.IItemElectric; import codechicken.core.alg.MathHelper; public class EntityRobit extends EntityCreature implements IInventory, ISustainedInventory @@ -30,14 +36,18 @@ public class EntityRobit extends EntityCreature implements IInventory, ISustaine public Object3D homeLocation; - public ItemStack[] inventory = new ItemStack[28]; + public ItemStack[] inventory = new ItemStack[31]; + + public int furnaceBurnTime = 0; + public int currentItemBurnTime = 0; + public int furnaceCookTime = 0; public EntityRobit(World world) { super(world); setSize(1, 1); - moveSpeed = 0.2F; + moveSpeed = 0.35F; texture = "/mods/mekanism/render/Robit.png"; getNavigator().setAvoidsWater(true); @@ -84,9 +94,22 @@ public class EntityRobit extends EntityCreature implements IInventory, ISustaine dataWatcher.addObject(13, new Byte((byte)0)); /* Follow */ } + public double getRoundedTravelEnergy() + { + return new BigDecimal(getDistance(prevPosX, prevPosY, prevPosZ)*1.5).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); + } + @Override public void onEntityUpdate() { + if(!worldObj.isRemote) + { + if(getFollowing() && getOwner() != null && getDistanceSqToEntity(getOwner()) > 4 && !getNavigator().noPath() && getEnergy() > 0) + { + setEnergy(getEnergy() - getRoundedTravelEnergy()); + } + } + super.onEntityUpdate(); if(!worldObj.isRemote) @@ -108,6 +131,7 @@ public class EntityRobit extends EntityCreature implements IInventory, ISustaine if(getEnergy() == 0 && !isOnChargepad()) { + setFollowing(false); setPositionAndUpdate(homeLocation.xCoord+0.5, homeLocation.yCoord+0.3, homeLocation.zCoord+0.5); motionX = 0; @@ -157,8 +181,88 @@ public class EntityRobit extends EntityCreature implements IInventory, ISustaine } } } + + if(furnaceBurnTime > 0) + { + furnaceBurnTime--; + } + + if(!worldObj.isRemote) + { + if(furnaceBurnTime == 0 && canSmelt()) + { + currentItemBurnTime = furnaceBurnTime = TileEntityFurnace.getItemBurnTime(inventory[29]); + + if(furnaceBurnTime > 0) + { + if(inventory[29] != null) + { + inventory[29].stackSize--; + + if(inventory[29].stackSize == 0) + { + inventory[29] = inventory[29].getItem().getContainerItemStack(inventory[29]); + } + } + } + } + + if(furnaceBurnTime > 0 && canSmelt()) + { + furnaceCookTime++; + + if(furnaceCookTime == 200) + { + furnaceCookTime = 0; + smeltItem(); + } + } + else { + furnaceCookTime = 0; + } + } } } + + private boolean canSmelt() + { + if(inventory[28] == null) + { + return false; + } + else { + ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(inventory[28]); + if(itemstack == null) return false; + if(inventory[30] == null) return true; + if(!inventory[30].isItemEqual(itemstack)) return false; + int result = inventory[30].stackSize + itemstack.stackSize; + return (result <= getInventoryStackLimit() && result <= itemstack.getMaxStackSize()); + } + } + + public void smeltItem() + { + if(canSmelt()) + { + ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(inventory[28]); + + if(inventory[30] == null) + { + inventory[30] = itemstack.copy(); + } + else if(inventory[30].isItemEqual(itemstack)) + { + inventory[30].stackSize += itemstack.stackSize; + } + + inventory[28].stackSize--; + + if(inventory[28].stackSize <= 0) + { + inventory[28] = null; + } + } + } public boolean isOnChargepad() { @@ -498,4 +602,10 @@ public class EntityRobit extends EntityCreature implements IInventory, ISustaine return tagList; } + + @Override + public float getShadowSize() + { + return 0.25F; + } } diff --git a/src/minecraft/mekanism/common/Mekanism.java b/src/minecraft/mekanism/common/Mekanism.java index b34c751a9..8194fd793 100644 --- a/src/minecraft/mekanism/common/Mekanism.java +++ b/src/minecraft/mekanism/common/Mekanism.java @@ -338,6 +338,9 @@ public class Mekanism CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 14), new Object[] { "PPP", "SES", Character.valueOf('P'), Block.pressurePlateStone, Character.valueOf('S'), "ingotSteel", Character.valueOf('E'), EnergyTablet.getUnchargedItem() })); + CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(Robit.getUnchargedItem(), new Object[] { + " S ", "ECE", "OIO", Character.valueOf('S'), "ingotSteel", Character.valueOf('E'), EnergyTablet.getUnchargedItem(), Character.valueOf('C'), AtomicCore, Character.valueOf('O'), "ingotRefinedObsidian", Character.valueOf('I'), new ItemStack(MachineBlock, 1, 13) + })); //Factory Recipes CraftingManager.getInstance().getRecipeList().add(new FactoryRecipe(MekanismUtils.getFactory(FactoryTier.BASIC, RecipeType.SMELTING), new Object[] { @@ -378,8 +381,6 @@ public class Mekanism //Enrichment Chamber Recipes RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreRedstone), new ItemStack(Item.redstone, 12)); RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.obsidian), new ItemStack(DirtyDust, 1, 6)); - RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreIron), new ItemStack(Dust, 2, 0)); - RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreGold), new ItemStack(Dust, 2, 1)); RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Item.coal, 1, 0), new ItemStack(CompressedCarbon)); RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Item.coal, 1, 1), new ItemStack(CompressedCarbon)); RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreLapis), new ItemStack(Item.dyePowder, 12, 4)); @@ -409,10 +410,6 @@ public class Mekanism RecipeHandler.addCrusherRecipe(new ItemStack(Block.stoneBrick, 1, 0), new ItemStack(Block.stoneBrick, 1, 2)); RecipeHandler.addCrusherRecipe(new ItemStack(Block.stoneBrick, 1, 3), new ItemStack(Block.stoneBrick, 1, 0)); - //Purification Chamber Recipes - RecipeHandler.addPurificationChamberRecipe(new ItemStack(Block.oreIron), new ItemStack(Clump, 3, 0)); - RecipeHandler.addPurificationChamberRecipe(new ItemStack(Block.oreGold), new ItemStack(Clump, 3, 1)); - //Metallurgic Infuser Recipes RecipeHandler.addMetallurgicInfuserRecipe(InfusionInput.getInfusion(InfusionType.COAL, 10, new ItemStack(EnrichedIron)), new ItemStack(Dust, 1, 5)); RecipeHandler.addMetallurgicInfuserRecipe(InfusionInput.getInfusion(InfusionType.BIO, 10, new ItemStack(Block.cobblestone)), new ItemStack(Block.cobblestoneMossy)); @@ -799,6 +796,18 @@ public class Mekanism RecipeHandler.addPurificationChamberRecipe(ore, new ItemStack(Clump, 3, 2)); } + for(ItemStack ore : OreDictionary.getOres("oreIron")) + { + RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreIron), new ItemStack(Dust, 2, 0)); + RecipeHandler.addPurificationChamberRecipe(new ItemStack(Block.oreIron), new ItemStack(Clump, 3, 0)); + } + + for(ItemStack ore : OreDictionary.getOres("oreGold")) + { + RecipeHandler.addEnrichmentChamberRecipe(new ItemStack(Block.oreGold), new ItemStack(Dust, 2, 1)); + RecipeHandler.addPurificationChamberRecipe(new ItemStack(Block.oreGold), new ItemStack(Clump, 3, 1)); + } + try { for(ItemStack ore : OreDictionary.getOres("oreLead")) { diff --git a/src/minecraft/mekanism/common/PacketHandler.java b/src/minecraft/mekanism/common/PacketHandler.java index 48316a35b..a04f3db63 100644 --- a/src/minecraft/mekanism/common/PacketHandler.java +++ b/src/minecraft/mekanism/common/PacketHandler.java @@ -486,6 +486,10 @@ public class PacketHandler implements IPacketHandler { entityplayer.openGui(Mekanism.instance, 23, entityplayer.worldObj, id, 0, 0); } + else if(type == 3) + { + entityplayer.openGui(Mekanism.instance, 24, entityplayer.worldObj, id, 0, 0); + } } catch(Exception e) { System.err.println("[Mekanism] Error while handling robit GUI packet."); e.printStackTrace(); diff --git a/src/minecraft/mekanism/common/RobitAIFollow.java b/src/minecraft/mekanism/common/RobitAIFollow.java index 18e833c24..cbc6ad972 100644 --- a/src/minecraft/mekanism/common/RobitAIFollow.java +++ b/src/minecraft/mekanism/common/RobitAIFollow.java @@ -63,6 +63,10 @@ public class RobitAIFollow extends EntityAIBase { return false; } + else if(theRobit.getEnergy() == 0) + { + return false; + } else { theOwner = player; return true; @@ -72,7 +76,7 @@ public class RobitAIFollow extends EntityAIBase @Override public boolean continueExecuting() { - return !thePathfinder.noPath() && theRobit.getDistanceSqToEntity(theOwner) > (maxDist * maxDist) && theRobit.getFollowing(); + return !thePathfinder.noPath() && theRobit.getDistanceSqToEntity(theOwner) > (maxDist * maxDist) && theRobit.getFollowing() && theRobit.getEnergy() > 0; } @Override diff --git a/src/minecraft/mekanism/common/TileEntityChargepad.java b/src/minecraft/mekanism/common/TileEntityChargepad.java index c01b52fd8..df0d482cc 100644 --- a/src/minecraft/mekanism/common/TileEntityChargepad.java +++ b/src/minecraft/mekanism/common/TileEntityChargepad.java @@ -80,36 +80,21 @@ public class TileEntityChargepad extends TileEntityElectricBlock implements IAct for(ItemStack itemstack : player.inventory.mainInventory) { - if(itemstack != null) + chargeItemStack(itemstack); + + if(prevEnergy != getEnergy()) { - if(itemstack.getItem() instanceof IEnergizedItem) - { - setEnergy(getEnergy() - EnergizedItemManager.charge(itemstack, getEnergy())); - } - else if(itemstack.getItem() instanceof IItemElectric) - { - setEnergy(getEnergy() - ElectricItemHelper.chargeItem(itemstack, getEnergy(), getVoltage())); - } - else if(Mekanism.hooks.IC2Loaded && itemstack.getItem() instanceof IElectricItem) - { - double sent = ElectricItem.charge(itemstack, (int)(getEnergy()*Mekanism.TO_IC2), 3, false, false)*Mekanism.FROM_IC2; - setEnergy(getEnergy() - sent); - } - else if(itemstack.getItem() instanceof IChargeableItem) - { - IChargeableItem item = (IChargeableItem)itemstack.getItem(); - - float itemEnergy = (float)Math.min(Math.sqrt(item.getMaxEnergyStored(itemstack)), item.getMaxEnergyStored(itemstack) - item.getEnergyStored(itemstack)); - float toTransfer = (float)Math.min(itemEnergy, (getEnergy()*Mekanism.TO_BC)); - - item.receiveEnergy(itemstack, toTransfer, true); - setEnergy(getEnergy() - (toTransfer*Mekanism.FROM_BC)); - } - - if(prevEnergy != getEnergy()) - { - break; - } + break; + } + } + + for(ItemStack itemstack : player.inventory.armorInventory) + { + chargeItemStack(itemstack); + + if(prevEnergy != getEnergy()) + { + break; } } } @@ -132,6 +117,36 @@ public class TileEntityChargepad extends TileEntityElectricBlock implements IAct } } + public void chargeItemStack(ItemStack itemstack) + { + if(itemstack != null) + { + if(itemstack.getItem() instanceof IEnergizedItem) + { + setEnergy(getEnergy() - EnergizedItemManager.charge(itemstack, getEnergy())); + } + else if(itemstack.getItem() instanceof IItemElectric) + { + setEnergy(getEnergy() - ElectricItemHelper.chargeItem(itemstack, getEnergy(), getVoltage())); + } + else if(Mekanism.hooks.IC2Loaded && itemstack.getItem() instanceof IElectricItem) + { + double sent = ElectricItem.charge(itemstack, (int)(getEnergy()*Mekanism.TO_IC2), 3, false, false)*Mekanism.FROM_IC2; + setEnergy(getEnergy() - sent); + } + else if(itemstack.getItem() instanceof IChargeableItem) + { + IChargeableItem item = (IChargeableItem)itemstack.getItem(); + + float itemEnergy = (float)Math.min(Math.sqrt(item.getMaxEnergyStored(itemstack)), item.getMaxEnergyStored(itemstack) - item.getEnergyStored(itemstack)); + float toTransfer = (float)Math.min(itemEnergy, (getEnergy()*Mekanism.TO_BC)); + + item.receiveEnergy(itemstack, toTransfer, true); + setEnergy(getEnergy() - (toTransfer*Mekanism.FROM_BC)); + } + } + } + @Override public void invalidate() { diff --git a/src/minecraft/mekanism/generators/client/GuiWindTurbine.java b/src/minecraft/mekanism/generators/client/GuiWindTurbine.java index 757576aa1..5cc60570f 100644 --- a/src/minecraft/mekanism/generators/client/GuiWindTurbine.java +++ b/src/minecraft/mekanism/generators/client/GuiWindTurbine.java @@ -37,7 +37,7 @@ public class GuiWindTurbine extends GuiContainer fontRenderer.drawString(tileEntity.fullName, 45, 6, 0x404040); fontRenderer.drawString("Inventory", 8, (ySize - 96) + 2, 0x404040); fontRenderer.drawString(ElectricityDisplay.getDisplayShort(tileEntity.electricityStored, ElectricUnit.JOULES), 51, 26, 0x00CD00); - fontRenderer.drawString("Power: " + tileEntity.GENERATION_RATE*tileEntity.getVolumeMultiplier(), 51, 35, 0x00CD00); + fontRenderer.drawString("Power: " + tileEntity.GENERATION_RATE*tileEntity.getMultiplier(), 51, 35, 0x00CD00); fontRenderer.drawString(tileEntity.getVoltage() + "v", 51, 44, 0x00CD00); int size = 44; diff --git a/src/minecraft/mekanism/generators/common/ItemBlockGenerator.java b/src/minecraft/mekanism/generators/common/ItemBlockGenerator.java index f1e1d00e7..ba40e8105 100644 --- a/src/minecraft/mekanism/generators/common/ItemBlockGenerator.java +++ b/src/minecraft/mekanism/generators/common/ItemBlockGenerator.java @@ -214,7 +214,7 @@ public class ItemBlockGenerator extends ItemBlock implements IEnergizedItem, IIt { for(int zPos=-1;zPos<=1;zPos++) { - if(world.getBlockId(x+xPos, y+2, z+zPos) != 0) + if(world.getBlockId(x+xPos, y+2, z+zPos) != 0 || y+2 > 255) place = false; } } @@ -232,7 +232,7 @@ public class ItemBlockGenerator extends ItemBlock implements IEnergizedItem, IIt for(int yPos = y+1; yPos <= y+4; yPos++) { - if(world.getBlockId(x, yPos, z) != 0) + if(world.getBlockId(x, yPos, z) != 0 || yPos > 255) place = false; } } diff --git a/src/minecraft/mekanism/generators/common/TileEntityBioGenerator.java b/src/minecraft/mekanism/generators/common/TileEntityBioGenerator.java index 1607be173..7ef89db88 100644 --- a/src/minecraft/mekanism/generators/common/TileEntityBioGenerator.java +++ b/src/minecraft/mekanism/generators/common/TileEntityBioGenerator.java @@ -38,7 +38,7 @@ public class TileEntityBioGenerator extends TileEntityGenerator implements ITank public float crushMatrix = 0; /** The amount of electricity this machine can produce with a unit of fuel. */ - public final int GENERATION = 50; + public final int GENERATION = 120; /** The LiquidSlot biofuel instance for this generator. */ public LiquidSlot bioFuelSlot = new LiquidSlot(24000, Mekanism.hooks.ForestryBiofuelID); @@ -48,7 +48,7 @@ public class TileEntityBioGenerator extends TileEntityGenerator implements ITank public TileEntityBioGenerator() { - super("Bio-Generator", 160000, 100); + super("Bio-Generator", 160000, 240); inventory = new ItemStack[2]; if(Mekanism.hooks.ForestryLoaded) diff --git a/src/minecraft/mekanism/generators/common/TileEntityGenerator.java b/src/minecraft/mekanism/generators/common/TileEntityGenerator.java index cc698498d..db6cd5135 100644 --- a/src/minecraft/mekanism/generators/common/TileEntityGenerator.java +++ b/src/minecraft/mekanism/generators/common/TileEntityGenerator.java @@ -97,9 +97,9 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem { if(electricityStored >= output) { - EnergyTileSourceEvent event = new EnergyTileSourceEvent(this, output); + EnergyTileSourceEvent event = new EnergyTileSourceEvent(this, (int)(output*Mekanism.TO_IC2)); MinecraftForge.EVENT_BUS.post(event); - setEnergy(electricityStored - (output - event.amount)); + setEnergy(electricityStored - (output - (event.amount*Mekanism.FROM_IC2))); } } else if(isPowerReceptor(tileEntity) && Mekanism.hooks.BuildCraftLoaded) diff --git a/src/minecraft/mekanism/generators/common/TileEntityHeatGenerator.java b/src/minecraft/mekanism/generators/common/TileEntityHeatGenerator.java index a6113a3b2..4c39d6719 100644 --- a/src/minecraft/mekanism/generators/common/TileEntityHeatGenerator.java +++ b/src/minecraft/mekanism/generators/common/TileEntityHeatGenerator.java @@ -29,11 +29,11 @@ public class TileEntityHeatGenerator extends TileEntityGenerator implements ITan public LiquidTank lavaTank = new LiquidTank(24000); /** The amount of electricity this machine can produce with a unit of fuel. */ - public final int GENERATION = 80; + public final int GENERATION = 100; public TileEntityHeatGenerator() { - super("Heat Generator", 160000, 160); + super("Heat Generator", 160000, 200); inventory = new ItemStack[2]; }