v5.5.6 Beta #3

*Better energy balance.
*Robit now can serve as an anvil.
*Robit's eyes and back panel now glow, and the rest of the body doesn't.
This commit is contained in:
Aidan Brady 2013-05-20 15:06:10 -04:00
parent 782c8467e8
commit 048a4742ca
18 changed files with 384 additions and 12 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -272,6 +272,8 @@ public class ClientProxy extends CommonProxy
{
return new GuiRobitSmelting(player.inventory, robit2);
}
case 25:
return new GuiRobitRepair(player.inventory, world, x);
}
return null;

View file

@ -72,6 +72,14 @@ public class GuiRobitCrafting extends GuiContainer
else {
drawTexturedModalRect(guiWidth + 179, guiHeight + 70, 176 + 25, 126, 18, 18);
}
if(xAxis >= 179 && xAxis <= 197 && yAxis >= 90 && yAxis <= 108)
{
drawTexturedModalRect(guiWidth + 179, guiHeight + 90, 176 + 25, 144, 18, 18);
}
else {
drawTexturedModalRect(guiWidth + 179, guiHeight + 90, 176 + 25, 162, 18, 18);
}
}
@Override
@ -106,6 +114,12 @@ public class GuiRobitCrafting extends GuiContainer
PacketHandler.sendRobitGui(3, entityId);
mc.thePlayer.openGui(Mekanism.instance, 24, mc.theWorld, entityId, 0, 0);
}
else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 90 && yAxis <= 108)
{
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
PacketHandler.sendRobitGui(4, entityId);
mc.thePlayer.openGui(Mekanism.instance, 25, mc.theWorld, entityId, 0, 0);
}
}
}
}

View file

@ -71,6 +71,14 @@ public class GuiRobitInventory extends GuiContainer
else {
drawTexturedModalRect(guiWidth + 179, guiHeight + 70, 176 + 25, 126, 18, 18);
}
if(xAxis >= 179 && xAxis <= 197 && yAxis >= 90 && yAxis <= 108)
{
drawTexturedModalRect(guiWidth + 179, guiHeight + 90, 176 + 25, 144, 18, 18);
}
else {
drawTexturedModalRect(guiWidth + 179, guiHeight + 90, 176 + 25, 162, 18, 18);
}
}
@Override
@ -105,6 +113,12 @@ public class GuiRobitInventory extends GuiContainer
PacketHandler.sendRobitGui(3, robit.entityId);
mc.thePlayer.openGui(Mekanism.instance, 24, mc.theWorld, robit.entityId, 0, 0);
}
else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 90 && yAxis <= 108)
{
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
PacketHandler.sendRobitGui(4, robit.entityId);
mc.thePlayer.openGui(Mekanism.instance, 25, mc.theWorld, robit.entityId, 0, 0);
}
}
}
}

View file

@ -91,12 +91,20 @@ public class GuiRobitMain extends GuiContainer
drawTexturedModalRect(guiWidth + 179, guiHeight + 70, 176 + 25, 126, 18, 18);
}
if(xAxis >= 152 && xAxis <= 170 && yAxis >= 53 && yAxis <= 71)
if(xAxis >= 179 && xAxis <= 197 && yAxis >= 90 && yAxis <= 108)
{
drawTexturedModalRect(guiWidth + 152, guiHeight + 53, 176 + 25, 144, 18, 18);
drawTexturedModalRect(guiWidth + 179, guiHeight + 90, 176 + 25, 144, 18, 18);
}
else {
drawTexturedModalRect(guiWidth + 152, guiHeight + 53, 176 + 25, 162, 18, 18);
drawTexturedModalRect(guiWidth + 179, guiHeight + 90, 176 + 25, 162, 18, 18);
}
if(xAxis >= 152 && xAxis <= 170 && yAxis >= 53 && yAxis <= 71)
{
drawTexturedModalRect(guiWidth + 152, guiHeight + 53, 176 + 25, 180, 18, 18);
}
else {
drawTexturedModalRect(guiWidth + 152, guiHeight + 53, 176 + 25, 198, 18, 18);
}
int displayInt;
@ -142,6 +150,12 @@ public class GuiRobitMain extends GuiContainer
PacketHandler.sendRobitGui(3, robit.entityId);
mc.thePlayer.openGui(Mekanism.instance, 24, mc.theWorld, robit.entityId, 0, 0);
}
else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 90 && yAxis <= 108)
{
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
PacketHandler.sendRobitGui(4, robit.entityId);
mc.thePlayer.openGui(Mekanism.instance, 25, 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);

View file

@ -0,0 +1,260 @@
package mekanism.client;
import java.util.List;
import mekanism.common.ContainerRobitRepair;
import mekanism.common.Mekanism;
import mekanism.common.PacketHandler;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ContainerRepair;
import net.minecraft.inventory.ICrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
public class GuiRobitRepair extends GuiContainer implements ICrafting
{
public int entityId;
private ContainerRepair repairContainer;
private GuiTextField itemNameField;
private InventoryPlayer playerInventory;
public GuiRobitRepair(InventoryPlayer inventory, World world, int id)
{
super(new ContainerRobitRepair(inventory, world));
xSize += 25;
entityId = id;
playerInventory = inventory;
repairContainer = (ContainerRobitRepair)inventorySlots;
}
@Override
public void initGui()
{
super.initGui();
Keyboard.enableRepeatEvents(true);
int i = (width - xSize) / 2;
int j = (height - ySize) / 2;
itemNameField = new GuiTextField(fontRenderer, i + 62, j + 24, 103, 12);
itemNameField.setTextColor(-1);
itemNameField.setDisabledTextColour(-1);
itemNameField.setEnableBackgroundDrawing(false);
itemNameField.setMaxStringLength(30);
inventorySlots.removeCraftingFromCrafters(this);
inventorySlots.addCraftingToCrafters(this);
}
@Override
public void onGuiClosed()
{
super.onGuiClosed();
Keyboard.enableRepeatEvents(false);
inventorySlots.removeCraftingFromCrafters(this);
}
@Override
protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
{
GL11.glDisable(GL11.GL_LIGHTING);
fontRenderer.drawString(StatCollector.translateToLocal("container.repair"), 60, 6, 4210752);
if(repairContainer.maximumCost > 0)
{
int k = 8453920;
boolean flag = true;
String s = StatCollector.translateToLocalFormatted("container.repair.cost", new Object[] {Integer.valueOf(repairContainer.maximumCost)});
if(repairContainer.maximumCost >= 40 && !mc.thePlayer.capabilities.isCreativeMode)
{
s = StatCollector.translateToLocal("container.repair.expensive");
k = 16736352;
}
else if(!repairContainer.getSlot(2).getHasStack())
{
flag = false;
}
else if(!repairContainer.getSlot(2).canTakeStack(playerInventory.player))
{
k = 16736352;
}
if(flag)
{
int l = -16777216 | (k & 16579836) >> 2 | k & -16777216;
int i1 = (xSize - 25) - 8 - fontRenderer.getStringWidth(s);
byte b0 = 67;
if(fontRenderer.getUnicodeFlag())
{
drawRect(i1 - 3, b0 - 2, (xSize - 25) - 7, b0 + 10, -16777216);
drawRect(i1 - 2, b0 - 1, (xSize - 25) - 8, b0 + 9, -12895429);
}
else {
fontRenderer.drawString(s, i1, b0 + 1, l);
fontRenderer.drawString(s, i1 + 1, b0, l);
fontRenderer.drawString(s, i1 + 1, b0 + 1, l);
}
fontRenderer.drawString(s, i1, b0, k);
}
}
GL11.glEnable(GL11.GL_LIGHTING);
}
@Override
protected void keyTyped(char par1, int par2)
{
if(itemNameField.textboxKeyTyped(par1, par2))
{
repairContainer.updateItemName(itemNameField.getText());
mc.thePlayer.sendQueue.addToSendQueue(new Packet250CustomPayload("MC|ItemName", itemNameField.getText().getBytes()));
}
else {
super.keyTyped(par1, par2);
}
}
@Override
protected void mouseClicked(int mouseX, int mouseY, int button)
{
super.mouseClicked(mouseX, mouseY, button);
itemNameField.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, entityId);
mc.thePlayer.openGui(Mekanism.instance, 21, mc.theWorld, 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, entityId);
mc.thePlayer.openGui(Mekanism.instance, 22, mc.theWorld, 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, 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);
}
else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 90 && yAxis <= 108)
{
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
}
}
}
@Override
public void drawScreen(int mouseX, int mouseY, float par3)
{
super.drawScreen(mouseX, mouseY, par3);
GL11.glDisable(GL11.GL_LIGHTING);
itemNameField.drawTextBox();
}
@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/GuiRobitRepair.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);
}
if(xAxis >= 179 && xAxis <= 197 && yAxis >= 90 && yAxis <= 108)
{
drawTexturedModalRect(guiWidth + 179, guiHeight + 90, 176 + 25, 144, 18, 18);
}
else {
drawTexturedModalRect(guiWidth + 179, guiHeight + 90, 176 + 25, 162, 18, 18);
}
drawTexturedModalRect(guiWidth + 59, guiHeight + 20, 0, ySize + (repairContainer.getSlot(0).getHasStack() ? 0 : 16), 110, 16);
if((repairContainer.getSlot(0).getHasStack() || repairContainer.getSlot(1).getHasStack()) && !repairContainer.getSlot(2).getHasStack())
{
drawTexturedModalRect(guiWidth + 99, guiHeight + 45, xSize + 18, 36, 28, 21);
}
}
@Override
public void sendContainerAndContentsToPlayer(Container container, List list)
{
sendSlotContents(container, 0, container.getSlot(0).getStack());
}
@Override
public void sendSlotContents(Container container, int slotID, ItemStack itemstack)
{
if(slotID == 0)
{
itemNameField.setText(itemstack == null ? "" : itemstack.getDisplayName());
itemNameField.setEnabled(itemstack != null);
if(itemstack != null)
{
repairContainer.updateItemName(itemNameField.getText());
mc.thePlayer.sendQueue.addToSendQueue(new Packet250CustomPayload("MC|ItemName", itemNameField.getText().getBytes()));
}
}
}
@Override
public void sendProgressBarUpdate(Container par1Container, int par2, int par3) {}
}

View file

@ -74,6 +74,14 @@ public class GuiRobitSmelting extends GuiContainer
drawTexturedModalRect(guiWidth + 179, guiHeight + 70, 176 + 25, 126, 18, 18);
}
if(xAxis >= 179 && xAxis <= 197 && yAxis >= 90 && yAxis <= 108)
{
drawTexturedModalRect(guiWidth + 179, guiHeight + 90, 176 + 25, 144, 18, 18);
}
else {
drawTexturedModalRect(guiWidth + 179, guiHeight + 90, 176 + 25, 162, 18, 18);
}
int displayInt;
if(robit.furnaceBurnTime > 0)
@ -118,6 +126,12 @@ public class GuiRobitSmelting extends GuiContainer
{
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
}
else if(xAxis >= 179 && xAxis <= 197 && yAxis >= 90 && yAxis <= 108)
{
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
PacketHandler.sendRobitGui(4, robit.entityId);
mc.thePlayer.openGui(Mekanism.instance, 25, mc.theWorld, robit.entityId, 0, 0);
}
}
}

View file

@ -20,6 +20,9 @@ public class ModelRobit extends ModelBase
public ModelRenderer leftarm;
public ModelRenderer righthand;
public ModelRenderer lefthand;
public ModelRenderer backLight;
public ModelRenderer eyeRight;
public ModelRenderer eyeLeft;
public ModelRobit()
{
@ -98,6 +101,24 @@ public class ModelRobit extends ModelBase
lefthand.setTextureSize(64, 64);
lefthand.mirror = true;
setRotation(lefthand, 0F, 0F, 0F);
backLight = new ModelRenderer(this, 20, 15);
backLight.addBox(0F, 0F, 0F, 2, 1, 1);
backLight.setRotationPoint(-1F, 17.8F, -4.001F);
backLight.setTextureSize(64, 64);
backLight.mirror = true;
setRotation(backLight, 0F, 0F, 0F);
eyeRight = new ModelRenderer(this, 43, 25);
eyeRight.addBox(0F, 0F, 0F, 1, 1, 1);
eyeRight.setRotationPoint(1.5F, 14.5F, 1.50001F);
eyeRight.setTextureSize(64, 64);
eyeRight.mirror = true;
setRotation(eyeRight, 0F, 0F, 0F);
eyeLeft = new ModelRenderer(this, 43, 25);
eyeLeft.addBox(0F, 0F, 0F, 1, 1, 1);
eyeLeft.setRotationPoint(-2.5F, 14.5F, 1.50001F);
eyeLeft.setTextureSize(64, 64);
eyeLeft.mirror = true;
setRotation(eyeLeft, 0F, 0F, 0F);
}
@Override
@ -108,7 +129,6 @@ public class ModelRobit extends ModelBase
GL11.glPushMatrix();
GL11.glRotatef(180, 0.0F, 1.0F, 0.0F);
MekanismRenderer.glowOn();
Body.render(f5);
Bottom.render(f5);
@ -123,7 +143,12 @@ public class ModelRobit extends ModelBase
righthand.render(f5);
lefthand.render(f5);
MekanismRenderer.glowOn();
backLight.render(f5);
eyeRight.render(f5);
eyeLeft.render(f5);
MekanismRenderer.glowOff();
GL11.glPopMatrix();
}
@ -141,6 +166,9 @@ public class ModelRobit extends ModelBase
leftarm.render(size);
righthand.render(size);
lefthand.render(size);
backLight.render(size);
eyeRight.render(size);
eyeLeft.render(size);
}
private void setRotation(ModelRenderer model, float x, float y, float z)

View file

@ -214,6 +214,8 @@ public class CommonProxy
{
return new ContainerRobitSmelting(player.inventory, robit2);
}
case 25:
return new ContainerRobitRepair(player.inventory, world);
}
return null;

View file

@ -0,0 +1,20 @@
package mekanism.common;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ContainerRepair;
import net.minecraft.world.World;
public class ContainerRobitRepair extends ContainerRepair
{
public ContainerRobitRepair(InventoryPlayer inventory, World world)
{
super(inventory, world, 0, 0, 0, inventory.player);
}
@Override
public boolean canInteractWith(EntityPlayer entityplayer)
{
return true;
}
}

View file

@ -490,6 +490,10 @@ public class PacketHandler implements IPacketHandler
{
entityplayer.openGui(Mekanism.instance, 24, entityplayer.worldObj, id, 0, 0);
}
else if(type == 4)
{
entityplayer.openGui(Mekanism.instance, 25, entityplayer.worldObj, id, 0, 0);
}
} catch(Exception e) {
System.err.println("[Mekanism] Error while handling robit GUI packet.");
e.printStackTrace();

View file

@ -14,10 +14,10 @@ public final class Tier
*/
public static enum EnergyCubeTier
{
BASIC("Basic", 5000000, 120, 320),
ADVANCED("Advanced", 10000000, 240, 540),
ELITE("Elite", 50000000, 240, 1280),
ULTIMATE("Ultimate", 100000000, 480, 2560);
BASIC("Basic", 1000000, 120, 320),
ADVANCED("Advanced", 5000000, 240, 540),
ELITE("Elite", 10000000, 240, 1280),
ULTIMATE("Ultimate", 25000000, 480, 2560);
public double MAX_ELECTRICITY;
public double VOLTAGE;

View file

@ -30,7 +30,7 @@ public class TileEntityHydrogenGenerator extends TileEntityGenerator implements
public TileEntityHydrogenGenerator()
{
super("Hydrogen Generator", 40000, 400);
super("Hydrogen Generator", 40000, 600);
inventory = new ItemStack[2];
}
@ -72,7 +72,7 @@ public class TileEntityHydrogenGenerator extends TileEntityGenerator implements
setActive(true);
hydrogenStored-=2;
setEnergy(electricityStored + 200);
setEnergy(electricityStored + 300);
}
else {
setActive(false);

View file

@ -27,8 +27,8 @@ public class TileEntitySolarGenerator extends TileEntityGenerator
public TileEntitySolarGenerator()
{
super("Solar Generator", 96000, 80);
GENERATION_RATE = 40;
super("Solar Generator", 96000, 60);
GENERATION_RATE = 30;
inventory = new ItemStack[1];
}