Fixed oversized Gui and made packets work
This commit is contained in:
parent
f2e0290c14
commit
f9ed7dbf60
7 changed files with 61 additions and 33 deletions
Binary file not shown.
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 3.6 KiB |
|
@ -27,6 +27,7 @@ import universalelectricity.core.vector.Vector3;
|
||||||
import universalelectricity.prefab.TranslationHelper;
|
import universalelectricity.prefab.TranslationHelper;
|
||||||
import universalelectricity.prefab.network.PacketManager;
|
import universalelectricity.prefab.network.PacketManager;
|
||||||
import assemblyline.common.AssemblyLine;
|
import assemblyline.common.AssemblyLine;
|
||||||
|
import assemblyline.common.machine.armbot.Command;
|
||||||
import assemblyline.common.machine.encoder.ContainerEncoder;
|
import assemblyline.common.machine.encoder.ContainerEncoder;
|
||||||
import assemblyline.common.machine.encoder.IInventoryWatcher;
|
import assemblyline.common.machine.encoder.IInventoryWatcher;
|
||||||
import assemblyline.common.machine.encoder.ItemDisk;
|
import assemblyline.common.machine.encoder.ItemDisk;
|
||||||
|
@ -62,22 +63,22 @@ public class GuiEncoder extends GuiContainer implements IInventoryWatcher
|
||||||
|
|
||||||
this.allowUserInput = true;
|
this.allowUserInput = true;
|
||||||
|
|
||||||
containerWidth = (this.width - this.xSize) / 2;
|
this.containerWidth = (this.width - this.xSize) / 2;
|
||||||
containerHeight = (this.height - this.ySize) / 2;
|
this.containerHeight = (this.height - this.ySize) / 2;
|
||||||
|
|
||||||
addButton = new GuiButton(0, containerWidth + (xSize - 25), containerHeight + 148, 18, 20, "+");
|
this.addButton = new GuiButton(0, containerWidth + (xSize - 25), containerHeight + 128, 18, 20, "+");
|
||||||
delButton = new GuiButton(1, containerWidth + (xSize - 43), containerHeight + 148, 18, 20, "-");
|
this.delButton = new GuiButton(1, containerWidth + (xSize - 43), containerHeight + 128, 18, 20, "-");
|
||||||
pUpButton = new GuiButton(2, containerWidth + (xSize - 25), containerHeight + 48, 18, 20, "");
|
this.pUpButton = new GuiButton(2, containerWidth + (xSize - 25), containerHeight + 48, 18, 20, "");
|
||||||
pDnButton = new GuiButton(3, containerWidth + (xSize - 25), containerHeight + 128, 18, 20, "");
|
this.pDnButton = new GuiButton(3, containerWidth + (xSize - 25), containerHeight + 108, 18, 20, "");
|
||||||
commandField = new GuiTextField(fontRenderer, 8, 149, xSize - 52, 18);
|
this.commandField = new GuiTextField(fontRenderer, 8, 129, xSize - 52, 18);
|
||||||
// commandList = new GuiCommandList(mc, xSize - 7, 128, 7, 120, 170, 20);
|
// commandList = new GuiCommandList(mc, xSize - 7, 128, 7, 120, 170, 20);
|
||||||
|
|
||||||
controlList.add(addButton);
|
this.controlList.add(addButton);
|
||||||
controlList.add(delButton);
|
this.controlList.add(delButton);
|
||||||
controlList.add(pUpButton);
|
this.controlList.add(pUpButton);
|
||||||
controlList.add(pDnButton);
|
this.controlList.add(pDnButton);
|
||||||
|
|
||||||
minCommand = 0;
|
this.minCommand = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -92,15 +93,14 @@ public class GuiEncoder extends GuiContainer implements IInventoryWatcher
|
||||||
if (this.tileEntity != null)
|
if (this.tileEntity != null)
|
||||||
{
|
{
|
||||||
ItemStack disk = this.tileEntity.getStackInSlot(0);
|
ItemStack disk = this.tileEntity.getStackInSlot(0);
|
||||||
if (disk != null)
|
|
||||||
|
if (disk != null && Command.getCommand(this.commandField.getText()) != null)
|
||||||
{
|
{
|
||||||
ArrayList<String> tempCmds = ItemDisk.getCommands(disk);
|
ArrayList<String> tempCmds = ItemDisk.getCommands(disk);
|
||||||
tempCmds.add(commandField.getText());
|
tempCmds.add(commandField.getText());
|
||||||
ItemDisk.setCommands(disk, tempCmds);
|
ItemDisk.setCommands(disk, tempCmds);
|
||||||
this.tileEntity.setInventorySlotContents(0, disk);
|
this.tileEntity.setInventorySlotContents(0, disk);
|
||||||
// TODO: Change command ID to corresponding ones.
|
PacketDispatcher.sendPacketToServer(PacketManager.getPacket(AssemblyLine.CHANNEL, this.tileEntity, (String) this.commandField.getText()));
|
||||||
int commandID = 0;
|
|
||||||
PacketDispatcher.sendPacketToServer(PacketManager.getPacket(AssemblyLine.CHANNEL, this.tileEntity, (int) commandID));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ public class GuiEncoder extends GuiContainer implements IInventoryWatcher
|
||||||
this.mc.renderEngine.bindTexture(var4);
|
this.mc.renderEngine.bindTexture(var4);
|
||||||
|
|
||||||
this.drawTexturedModalRect(containerWidth, containerHeight, 0, 0, this.xSize, this.ySize);
|
this.drawTexturedModalRect(containerWidth, containerHeight, 0, 0, this.xSize, this.ySize);
|
||||||
drawOutlineRect(containerWidth + 7, containerHeight + 48, containerWidth + (xSize - 25), containerHeight + 48 + 100, 0, 0, 0, 0.5f, 0.5f, 0.5f);
|
drawOutlineRect(containerWidth + 7, containerHeight + 48, containerWidth + (xSize - 25), containerHeight + 48 + 80, 0, 0, 0, 0.5f, 0.5f, 0.5f);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void drawOutlineRect(int x1, int y1, int x2, int y2, float rR, float rG, float rB, float lR, float lG, float lB)
|
public static void drawOutlineRect(int x1, int y1, int x2, int y2, float rR, float rG, float rB, float lR, float lG, float lB)
|
||||||
|
|
|
@ -35,7 +35,7 @@ import cpw.mods.fml.common.network.NetworkMod;
|
||||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||||
import cpw.mods.fml.common.registry.GameRegistry;
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
|
|
||||||
@Mod(modid = AssemblyLine.CHANNEL, name = AssemblyLine.NAME, version = AssemblyLine.VERSION, dependencies = "required-after:BasicComponents")
|
@Mod(modid = AssemblyLine.CHANNEL, name = AssemblyLine.NAME, version = AssemblyLine.VERSION, dependencies = "after:BasicComponents")
|
||||||
@NetworkMod(channels = { AssemblyLine.CHANNEL }, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketManager.class)
|
@NetworkMod(channels = { AssemblyLine.CHANNEL }, clientSideRequired = true, serverSideRequired = false, packetHandler = PacketManager.class)
|
||||||
public class AssemblyLine
|
public class AssemblyLine
|
||||||
{
|
{
|
||||||
|
@ -84,8 +84,6 @@ public class AssemblyLine
|
||||||
CONFIGURATION.load();
|
CONFIGURATION.load();
|
||||||
blockConveyorBelt = new BlockConveyorBelt(CONFIGURATION.getBlock("Conveyor Belt", BLOCK_ID_PREFIX).getInt());
|
blockConveyorBelt = new BlockConveyorBelt(CONFIGURATION.getBlock("Conveyor Belt", BLOCK_ID_PREFIX).getInt());
|
||||||
blockManipulator = new BlockManipulator(CONFIGURATION.getBlock("Manipulator", BLOCK_ID_PREFIX + 1).getInt());
|
blockManipulator = new BlockManipulator(CONFIGURATION.getBlock("Manipulator", BLOCK_ID_PREFIX + 1).getInt());
|
||||||
// blockEncoder = new BlockEncoder2(CONFIGURATION.getBlock("Encoder", BLOCK_ID_PREFIX +
|
|
||||||
// 2).getInt());
|
|
||||||
blockCrate = new BlockCrate(CONFIGURATION.getBlock("Crate", BLOCK_ID_PREFIX + 3).getInt(), 0);
|
blockCrate = new BlockCrate(CONFIGURATION.getBlock("Crate", BLOCK_ID_PREFIX + 3).getInt(), 0);
|
||||||
blockImprinter = new BlockImprinter(CONFIGURATION.getBlock("Imprinter", BLOCK_ID_PREFIX + 4).getInt(), 0);
|
blockImprinter = new BlockImprinter(CONFIGURATION.getBlock("Imprinter", BLOCK_ID_PREFIX + 4).getInt(), 0);
|
||||||
blockDetector = new BlockDetector(CONFIGURATION.getBlock("Detector", BLOCK_ID_PREFIX + 5).getInt(), 1);
|
blockDetector = new BlockDetector(CONFIGURATION.getBlock("Detector", BLOCK_ID_PREFIX + 5).getInt(), 1);
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package assemblyline.common.machine.armbot;
|
package assemblyline.common.machine.armbot;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
import assemblyline.common.machine.crafter.TileEntityArmbot;
|
import assemblyline.common.machine.crafter.TileEntityArmbot;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -11,9 +13,26 @@ import assemblyline.common.machine.crafter.TileEntityArmbot;
|
||||||
public abstract class Command
|
public abstract class Command
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* A class of all available commands. Command IDs are the indexes of the array.
|
* A class of all available commands.
|
||||||
|
*
|
||||||
|
* String - Command name. Command - The actual command class.
|
||||||
*/
|
*/
|
||||||
public static Class[] COMMANDS = { CommandIdle.class };
|
private static final HashMap<String, Class> COMMANDS = new HashMap<String, Class>();
|
||||||
|
|
||||||
|
static
|
||||||
|
{
|
||||||
|
registerCommand("idle", CommandIdle.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void registerCommand(String command, Class<? extends Command> commandClass)
|
||||||
|
{
|
||||||
|
COMMANDS.put(command, commandClass);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Class<? extends Command> getCommand(String command)
|
||||||
|
{
|
||||||
|
return COMMANDS.get(command);
|
||||||
|
}
|
||||||
|
|
||||||
protected int ticks;
|
protected int ticks;
|
||||||
protected TileEntityArmbot tileEntity;
|
protected TileEntityArmbot tileEntity;
|
||||||
|
|
|
@ -22,23 +22,21 @@ public class ContainerEncoder extends Container
|
||||||
this.encoder = encoder;
|
this.encoder = encoder;
|
||||||
|
|
||||||
// Disk
|
// Disk
|
||||||
this.addSlotToContainer(new Slot(encoder, 0, 80, 24));
|
this.addSlotToContainer(new Slot(encoder, 0, 80, 17));
|
||||||
// Output Disk
|
|
||||||
// this.addSlotToContainer(new SlotDiskResult(this, 2, 136, 24));
|
|
||||||
|
|
||||||
int var3;
|
int var3;
|
||||||
|
|
||||||
for (var3 = 0; var3 < 3; ++var3)
|
for (var3 = 0; var3 < 3; ++var3)
|
||||||
{
|
{
|
||||||
for (int var4 = 0; var4 < 9; ++var4)
|
for (int var4 = 0; var4 < 9; ++var4)
|
||||||
{
|
{
|
||||||
this.addSlotToContainer(new Slot(inventoryPlayer, var4 + var3 * 9 + 9, 8 + var4 * 18, 170 + var3 * 18));
|
this.addSlotToContainer(new Slot(inventoryPlayer, var4 + var3 * 9 + 9, 8 + var4 * 18, 155 + var3 * 18));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var3 = 0; var3 < 9; ++var3)
|
for (var3 = 0; var3 < 9; ++var3)
|
||||||
{
|
{
|
||||||
this.addSlotToContainer(new Slot(inventoryPlayer, var3, 8 + var3 * 18, 228));
|
this.addSlotToContainer(new Slot(inventoryPlayer, var3, 8 + var3 * 18, 213));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,12 @@ public class ItemDisk extends Item
|
||||||
|
|
||||||
if (commands.size() > 0)
|
if (commands.size() > 0)
|
||||||
{
|
{
|
||||||
list.add(commands.size() + " commands");
|
list.add(commands.size() + " command(s)");
|
||||||
|
|
||||||
|
for (String command : commands)
|
||||||
|
{
|
||||||
|
list.add(command);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package assemblyline.common.machine.encoder;
|
package assemblyline.common.machine.encoder;
|
||||||
|
|
||||||
import com.google.common.io.ByteArrayDataInput;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -11,6 +11,9 @@ import net.minecraftforge.common.ForgeDirection;
|
||||||
import net.minecraftforge.common.ISidedInventory;
|
import net.minecraftforge.common.ISidedInventory;
|
||||||
import universalelectricity.prefab.network.IPacketReceiver;
|
import universalelectricity.prefab.network.IPacketReceiver;
|
||||||
import universalelectricity.prefab.tile.TileEntityAdvanced;
|
import universalelectricity.prefab.tile.TileEntityAdvanced;
|
||||||
|
import assemblyline.common.machine.armbot.Command;
|
||||||
|
|
||||||
|
import com.google.common.io.ByteArrayDataInput;
|
||||||
|
|
||||||
public class TileEntityEncoder extends TileEntityAdvanced implements IPacketReceiver, ISidedInventory
|
public class TileEntityEncoder extends TileEntityAdvanced implements IPacketReceiver, ISidedInventory
|
||||||
{
|
{
|
||||||
|
@ -160,9 +163,14 @@ public class TileEntityEncoder extends TileEntityAdvanced implements IPacketRece
|
||||||
/**
|
/**
|
||||||
* Only the server receives this from the client's button click action.
|
* Only the server receives this from the client's button click action.
|
||||||
*/
|
*/
|
||||||
|
String newCommand = dataStream.readUTF();
|
||||||
int newAddCommandID = dataStream.readInt();
|
|
||||||
|
if (Command.getCommand(newCommand) != null && this.disk != null)
|
||||||
|
{
|
||||||
|
ArrayList<String> tempCmds = ItemDisk.getCommands(this.disk);
|
||||||
|
tempCmds.add(newCommand);
|
||||||
|
ItemDisk.setCommands(this.disk, tempCmds);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue