More work on getting the Alchemical Tome working properly
This commit is contained in:
parent
051fc7f929
commit
88b7c26756
9 changed files with 46 additions and 26 deletions
|
@ -1,8 +1,9 @@
|
||||||
package com.pahimar.ee3.client.gui.inventory;
|
package com.pahimar.ee3.client.gui.inventory;
|
||||||
|
|
||||||
import com.pahimar.ee3.inventory.ContainerAlchemicalTome;
|
import com.pahimar.ee3.inventory.ContainerAlchemicalTome;
|
||||||
|
import com.pahimar.ee3.network.PacketHandler;
|
||||||
|
import com.pahimar.ee3.network.message.MessageGuiElementClicked;
|
||||||
import com.pahimar.ee3.reference.Textures;
|
import com.pahimar.ee3.reference.Textures;
|
||||||
import com.pahimar.ee3.util.LogHelper;
|
|
||||||
import com.pahimar.repackage.cofh.lib.gui.GuiBase;
|
import com.pahimar.repackage.cofh.lib.gui.GuiBase;
|
||||||
import com.pahimar.repackage.cofh.lib.gui.element.ElementButton;
|
import com.pahimar.repackage.cofh.lib.gui.element.ElementButton;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
@ -21,10 +22,8 @@ public class GuiAlchemicalTome extends GuiBase
|
||||||
|
|
||||||
public GuiAlchemicalTome(EntityPlayer entityPlayer)
|
public GuiAlchemicalTome(EntityPlayer entityPlayer)
|
||||||
{
|
{
|
||||||
super(new ContainerAlchemicalTome(entityPlayer.inventory), Textures.Gui.ALCHEMICAL_TOME);
|
super(new ContainerAlchemicalTome(entityPlayer), Textures.Gui.ALCHEMICAL_TOME);
|
||||||
LogHelper.info(this.inventorySlots instanceof ContainerAlchemicalTome);
|
|
||||||
ContainerAlchemicalTome containerAlchemicalTome = (ContainerAlchemicalTome) this.inventorySlots;
|
ContainerAlchemicalTome containerAlchemicalTome = (ContainerAlchemicalTome) this.inventorySlots;
|
||||||
LogHelper.info(containerAlchemicalTome.getInventorySize());
|
|
||||||
xSize = 256;
|
xSize = 256;
|
||||||
ySize = 226;
|
ySize = 226;
|
||||||
}
|
}
|
||||||
|
@ -65,11 +64,7 @@ public class GuiAlchemicalTome extends GuiBase
|
||||||
@Override
|
@Override
|
||||||
protected void updateElementInformation()
|
protected void updateElementInformation()
|
||||||
{
|
{
|
||||||
if (((ContainerAlchemicalTome) this.inventorySlots).getInventorySize() < 80)
|
|
||||||
{
|
|
||||||
prevPageButton.setDisabled();
|
|
||||||
nextPageButton.setDisabled();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -81,6 +76,6 @@ public class GuiAlchemicalTome extends GuiBase
|
||||||
@Override
|
@Override
|
||||||
public void handleElementButtonClick(String buttonName, int mouseButton)
|
public void handleElementButtonClick(String buttonName, int mouseButton)
|
||||||
{
|
{
|
||||||
LogHelper.info(String.format("%s %s", buttonName, mouseButton));
|
PacketHandler.INSTANCE.sendToServer(new MessageGuiElementClicked(buttonName, mouseButton));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class ConfigurationHandler
|
||||||
Settings.General.syncThreshold = configuration.getInt(Messages.Configuration.GENERAL_SYNC_THRESHOLD, Configuration.CATEGORY_GENERAL, 5, 0, Short.MAX_VALUE, StatCollector.translateToLocal(Messages.Configuration.GENERAL_SYNC_THRESHOLD_COMMENT), Messages.Configuration.GENERAL_SYNC_THRESHOLD_LABEL);
|
Settings.General.syncThreshold = configuration.getInt(Messages.Configuration.GENERAL_SYNC_THRESHOLD, Configuration.CATEGORY_GENERAL, 5, 0, Short.MAX_VALUE, StatCollector.translateToLocal(Messages.Configuration.GENERAL_SYNC_THRESHOLD_COMMENT), Messages.Configuration.GENERAL_SYNC_THRESHOLD_LABEL);
|
||||||
Settings.Sounds.soundMode = ConfigurationHelper.getString(configuration, Messages.Configuration.SOUND_MODE, Configuration.CATEGORY_GENERAL, "All", StatCollector.translateToLocal(Messages.Configuration.SOUND_MODE_COMMENT), new String[]{"All", "Self", "None"}, Messages.Configuration.SOUND_MODE_LABEL);
|
Settings.Sounds.soundMode = ConfigurationHelper.getString(configuration, Messages.Configuration.SOUND_MODE, Configuration.CATEGORY_GENERAL, "All", StatCollector.translateToLocal(Messages.Configuration.SOUND_MODE_COMMENT), new String[]{"All", "Self", "None"}, Messages.Configuration.SOUND_MODE_LABEL);
|
||||||
Settings.Abilities.onlyLoadFile = configuration.getBoolean(Messages.Configuration.ABILITIES_ONLY_LOAD_FILE, Configuration.CATEGORY_GENERAL, false, StatCollector.translateToLocal(Messages.Configuration.ABILITIES_ONLY_LOAD_FILE_COMMENT), Messages.Configuration.ABILITIES_ONLY_LOAD_FILE_LABEL);
|
Settings.Abilities.onlyLoadFile = configuration.getBoolean(Messages.Configuration.ABILITIES_ONLY_LOAD_FILE, Configuration.CATEGORY_GENERAL, false, StatCollector.translateToLocal(Messages.Configuration.ABILITIES_ONLY_LOAD_FILE_COMMENT), Messages.Configuration.ABILITIES_ONLY_LOAD_FILE_LABEL);
|
||||||
Settings.DynamicEnergyValueGeneration.regenerateEnergyValuesWhen = ConfigurationHelper.getString(configuration, Messages.Configuration.REGENERATE_ENERGYVALUES_WHEN, Configuration.CATEGORY_GENERAL, "Never", StatCollector.translateToLocal(Messages.Configuration.REGENERATE_ENERGYVALUES_WHEN_COMMENT), new String[]{"Never", "When Mods Change"}, Messages.Configuration.REGENERATE_ENERGYVALUES_WHEN_LABEL);
|
Settings.DynamicEnergyValueGeneration.regenerateEnergyValuesWhen = ConfigurationHelper.getString(configuration, Messages.Configuration.REGENERATE_ENERGYVALUES_WHEN, Configuration.CATEGORY_GENERAL, "When Mods Change", StatCollector.translateToLocal(Messages.Configuration.REGENERATE_ENERGYVALUES_WHEN_COMMENT), new String[]{"Never", "When Mods Change"}, Messages.Configuration.REGENERATE_ENERGYVALUES_WHEN_LABEL);
|
||||||
|
|
||||||
if (configuration.hasChanged())
|
if (configuration.hasChanged())
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,8 +29,7 @@ public class GuiHandler implements IGuiHandler
|
||||||
}
|
}
|
||||||
else if (id == GUIs.ALCHEMICAL_TOME.ordinal())
|
else if (id == GUIs.ALCHEMICAL_TOME.ordinal())
|
||||||
{
|
{
|
||||||
// return new ContainerAlchemicalTome(new InventoryAlchemicalTome(entityPlayer.getHeldItem()));
|
return new ContainerAlchemicalTome(entityPlayer);
|
||||||
return new ContainerAlchemicalTome(entityPlayer.inventory);
|
|
||||||
}
|
}
|
||||||
else if (id == GUIs.CALCINATOR.ordinal())
|
else if (id == GUIs.CALCINATOR.ordinal())
|
||||||
{
|
{
|
||||||
|
@ -79,7 +78,6 @@ public class GuiHandler implements IGuiHandler
|
||||||
}
|
}
|
||||||
else if (id == GUIs.ALCHEMICAL_TOME.ordinal())
|
else if (id == GUIs.ALCHEMICAL_TOME.ordinal())
|
||||||
{
|
{
|
||||||
// return new GuiAlchemicalTome(new InventoryAlchemicalTome(entityPlayer.getHeldItem()));
|
|
||||||
return new GuiAlchemicalTome(entityPlayer);
|
return new GuiAlchemicalTome(entityPlayer);
|
||||||
}
|
}
|
||||||
else if (id == GUIs.CALCINATOR.ordinal())
|
else if (id == GUIs.CALCINATOR.ordinal())
|
||||||
|
|
|
@ -4,7 +4,6 @@ import com.pahimar.ee3.knowledge.TransmutationKnowledgeRegistry;
|
||||||
import com.pahimar.ee3.util.ItemHelper;
|
import com.pahimar.ee3.util.ItemHelper;
|
||||||
import com.pahimar.repackage.cofh.lib.gui.slot.SlotViewOnly;
|
import com.pahimar.repackage.cofh.lib.gui.slot.SlotViewOnly;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.entity.player.InventoryPlayer;
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
@ -17,10 +16,10 @@ public class ContainerAlchemicalTome extends ContainerEE
|
||||||
private final static int MAX_ROW_INDEX = 8;
|
private final static int MAX_ROW_INDEX = 8;
|
||||||
private final static int MAX_COLUMN_INDEX = 5;
|
private final static int MAX_COLUMN_INDEX = 5;
|
||||||
|
|
||||||
public ContainerAlchemicalTome(InventoryPlayer inventoryPlayer)
|
public ContainerAlchemicalTome(EntityPlayer entityPlayer)
|
||||||
{
|
{
|
||||||
TreeSet<ItemStack> knownTransmutations = new TreeSet<ItemStack>(ItemHelper.displayNameComparator);
|
TreeSet<ItemStack> knownTransmutations = new TreeSet<ItemStack>(ItemHelper.displayNameComparator);
|
||||||
knownTransmutations.addAll(TransmutationKnowledgeRegistry.getInstance().getPlayersKnownTransmutations(inventoryPlayer.player.getUniqueID()));
|
knownTransmutations.addAll(TransmutationKnowledgeRegistry.getInstance().getPlayersKnownTransmutations(entityPlayer.getUniqueID()));
|
||||||
|
|
||||||
inventoryTransmutationKnowledge = new InventoryTransmutationKnowledge(knownTransmutations);
|
inventoryTransmutationKnowledge = new InventoryTransmutationKnowledge(knownTransmutations);
|
||||||
pageOffset = 0;
|
pageOffset = 0;
|
||||||
|
@ -55,4 +54,10 @@ public class ContainerAlchemicalTome extends ContainerEE
|
||||||
{
|
{
|
||||||
return inventoryTransmutationKnowledge.getSizeInventory();
|
return inventoryTransmutationKnowledge.getSizeInventory();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handleElementButtonClick(String buttonName, int mouseButton)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,4 +87,9 @@ public abstract class ContainerEE extends Container
|
||||||
|
|
||||||
return slotFound;
|
return slotFound;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void handleElementButtonClick(String buttonName, int mouseButton)
|
||||||
|
{
|
||||||
|
// NOOP
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,7 +98,10 @@ public class ItemAlchemicalBag extends ItemEE implements IOwnable
|
||||||
if (!world.isRemote)
|
if (!world.isRemote)
|
||||||
{
|
{
|
||||||
// Set the owner
|
// Set the owner
|
||||||
|
if (!ItemHelper.hasOwner(itemStack))
|
||||||
|
{
|
||||||
ItemHelper.setOwner(itemStack, entityPlayer);
|
ItemHelper.setOwner(itemStack, entityPlayer);
|
||||||
|
}
|
||||||
|
|
||||||
// Set a UUID on the Alchemical Bag, if one doesn't exist already
|
// Set a UUID on the Alchemical Bag, if one doesn't exist already
|
||||||
NBTHelper.setUUID(itemStack);
|
NBTHelper.setUUID(itemStack);
|
||||||
|
|
|
@ -33,9 +33,7 @@ public class ItemAlchemicalTome extends ItemEE implements IOwnable
|
||||||
{
|
{
|
||||||
ItemHelper.setOwner(itemStack, entityPlayer);
|
ItemHelper.setOwner(itemStack, entityPlayer);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
entityPlayer.openGui(EquivalentExchange3.instance, GUIs.ALCHEMICAL_TOME.ordinal(), entityPlayer.worldObj, (int) entityPlayer.posX, (int) entityPlayer.posY, (int) entityPlayer.posZ);
|
entityPlayer.openGui(EquivalentExchange3.instance, GUIs.ALCHEMICAL_TOME.ordinal(), entityPlayer.worldObj, (int) entityPlayer.posX, (int) entityPlayer.posY, (int) entityPlayer.posZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,5 +20,6 @@ public class PacketHandler
|
||||||
INSTANCE.registerMessage(MessageSoundEvent.class, MessageSoundEvent.class, 5, Side.CLIENT);
|
INSTANCE.registerMessage(MessageSoundEvent.class, MessageSoundEvent.class, 5, Side.CLIENT);
|
||||||
INSTANCE.registerMessage(MessageSyncEnergyValues.class, MessageSyncEnergyValues.class, 6, Side.CLIENT);
|
INSTANCE.registerMessage(MessageSyncEnergyValues.class, MessageSyncEnergyValues.class, 6, Side.CLIENT);
|
||||||
INSTANCE.registerMessage(MessageSetEnergyValue.class, MessageSetEnergyValue.class, 7, Side.CLIENT);
|
INSTANCE.registerMessage(MessageSetEnergyValue.class, MessageSetEnergyValue.class, 7, Side.CLIENT);
|
||||||
|
INSTANCE.registerMessage(MessageGuiElementClicked.class, MessageGuiElementClicked.class, 8, Side.SERVER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
package com.pahimar.ee3.network.message;
|
package com.pahimar.ee3.network.message;
|
||||||
|
|
||||||
|
import com.pahimar.ee3.inventory.ContainerEE;
|
||||||
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||||
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
|
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
|
||||||
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
|
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
|
||||||
public class MessageGuiElementClicked implements IMessage, IMessageHandler<MessageGuiElementClicked, IMessage>
|
public class MessageGuiElementClicked implements IMessage, IMessageHandler<MessageGuiElementClicked, IMessage>
|
||||||
{
|
{
|
||||||
public int guiId;
|
|
||||||
public String elementName;
|
public String elementName;
|
||||||
public int buttonPressed;
|
public int buttonPressed;
|
||||||
|
|
||||||
|
@ -16,27 +17,41 @@ public class MessageGuiElementClicked implements IMessage, IMessageHandler<Messa
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public MessageGuiElementClicked(int guiId, String elementName, int buttonPressed)
|
public MessageGuiElementClicked(String elementName, int buttonPressed)
|
||||||
{
|
{
|
||||||
|
this.elementName = elementName;
|
||||||
|
this.buttonPressed = buttonPressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void fromBytes(ByteBuf buf)
|
public void fromBytes(ByteBuf buf)
|
||||||
{
|
{
|
||||||
|
int elementNameLength = buf.readInt();
|
||||||
|
this.elementName = new String(buf.readBytes(elementNameLength).array());
|
||||||
|
this.buttonPressed = buf.readInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void toBytes(ByteBuf buf)
|
public void toBytes(ByteBuf buf)
|
||||||
{
|
{
|
||||||
buf.writeInt(guiId);
|
|
||||||
buf.writeInt(elementName.length());
|
buf.writeInt(elementName.length());
|
||||||
|
buf.writeBytes(elementName.getBytes());
|
||||||
|
buf.writeInt(buttonPressed);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IMessage onMessage(MessageGuiElementClicked message, MessageContext ctx)
|
public IMessage onMessage(MessageGuiElementClicked message, MessageContext ctx)
|
||||||
{
|
{
|
||||||
|
EntityPlayer entityPlayer = ctx.getServerHandler().playerEntity;
|
||||||
|
|
||||||
|
if (entityPlayer != null)
|
||||||
|
{
|
||||||
|
if (entityPlayer.openContainer instanceof ContainerEE)
|
||||||
|
{
|
||||||
|
((ContainerEE) entityPlayer.openContainer).handleElementButtonClick(message.elementName, message.buttonPressed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue