Another whack of stuff with varying levels of won't break

This commit is contained in:
pahimar 2015-03-23 19:10:46 -04:00
parent 91c6b6de6d
commit aeb617d22c
14 changed files with 162 additions and 153 deletions

View file

@ -3,7 +3,6 @@ package com.pahimar.ee3;
import com.pahimar.ee3.array.AlchemyArrayRegistry; import com.pahimar.ee3.array.AlchemyArrayRegistry;
import com.pahimar.ee3.command.CommandEE; import com.pahimar.ee3.command.CommandEE;
import com.pahimar.ee3.exchange.EnergyValueRegistry; import com.pahimar.ee3.exchange.EnergyValueRegistry;
import com.pahimar.ee3.exchange.WrappedStack;
import com.pahimar.ee3.handler.*; import com.pahimar.ee3.handler.*;
import com.pahimar.ee3.init.*; import com.pahimar.ee3.init.*;
import com.pahimar.ee3.knowledge.AbilityRegistry; import com.pahimar.ee3.knowledge.AbilityRegistry;
@ -125,11 +124,6 @@ public class EquivalentExchange3
TransmutationKnowledgeRegistry.getInstance().saveAll(); TransmutationKnowledgeRegistry.getInstance().saveAll();
AbilityRegistry.getInstance().saveAbilityRegistryToFile(); AbilityRegistry.getInstance().saveAbilityRegistryToFile();
for (WrappedStack wrappedStack : EnergyValueRegistry.getInstance().getStackValueMap().keySet())
{
LogHelper.info(String.format("Stack %s, Value: %s", wrappedStack, EnergyValueRegistry.getInstance().getStackValueMap().get(wrappedStack)));
}
} }
public EnergyValueRegistry getEnergyValueRegistry() public EnergyValueRegistry getEnergyValueRegistry()

View file

@ -1,9 +1,11 @@
package com.pahimar.ee3.array; package com.pahimar.ee3.array;
import com.pahimar.ee3.EquivalentExchange3;
import com.pahimar.ee3.api.AlchemyArray; import com.pahimar.ee3.api.AlchemyArray;
import com.pahimar.ee3.init.ModBlocks; import com.pahimar.ee3.init.ModBlocks;
import com.pahimar.ee3.reference.*; import com.pahimar.ee3.reference.Names;
import com.pahimar.ee3.reference.Particles;
import com.pahimar.ee3.reference.Sounds;
import com.pahimar.ee3.reference.Textures;
import com.pahimar.ee3.tileentity.TileEntityAlchemyArray; import com.pahimar.ee3.tileentity.TileEntityAlchemyArray;
import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet; import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet;
import com.pahimar.ee3.util.CommonParticleHelper; import com.pahimar.ee3.util.CommonParticleHelper;
@ -32,11 +34,12 @@ public class TransmutationAlchemyArray extends AlchemyArray implements IInventor
@Override @Override
public void onArrayActivated(World world, int eventX, int eventY, int eventZ, int arrayX, int arrayY, int arrayZ, EntityPlayer entityPlayer, int sideHit, float hitX, float hitY, float hitZ) public void onArrayActivated(World world, int eventX, int eventY, int eventZ, int arrayX, int arrayY, int arrayZ, EntityPlayer entityPlayer, int sideHit, float hitX, float hitY, float hitZ)
{ {
if (!entityPlayer.isSneaking()) // TODO Come back to this later to resolve inventory issues
{ // if (!entityPlayer.isSneaking())
entityPlayer.openGui(EquivalentExchange3.instance, GUIs.TRANSMUTATION_ARRAY.ordinal(), world, arrayX, arrayY, arrayZ); // {
return; // entityPlayer.openGui(EquivalentExchange3.instance, GUIs.TRANSMUTATION_ARRAY.ordinal(), world, arrayX, arrayY, arrayZ);
} // return;
// }
if (!world.isRemote && entityPlayer.isSneaking()) if (!world.isRemote && entityPlayer.isSneaking())
{ {

View file

@ -121,7 +121,7 @@ public class BlockAshInfusedStoneSlab extends BlockSlab
} }
else if (metaData == 5) else if (metaData == 5)
{ {
shiftedZ--; shiftedX--;
} }
else if (metaData == 6) else if (metaData == 6)
{ {

View file

@ -0,0 +1,56 @@
package com.pahimar.ee3.client.gui.element;
import com.pahimar.ee3.network.PacketHandler;
import com.pahimar.ee3.network.message.MessageGuiElementTextFieldUpdate;
import com.pahimar.repackage.cofh.lib.gui.GuiBase;
import com.pahimar.repackage.cofh.lib.gui.element.ElementTextField;
public class ElementSearchField extends ElementTextField
{
public ElementSearchField(GuiBase gui, int posX, int posY, String name, int width, int height)
{
super(gui, posX, posY, name, width, height);
}
@Override
protected void onCharacterEntered(boolean success)
{
if (success)
{
PacketHandler.INSTANCE.sendToServer(new MessageGuiElementTextFieldUpdate(this));
}
}
@Override
protected boolean onEnter()
{
if (isFocused())
{
this.setFocused(false);
}
return super.onEnter();
}
@Override
public boolean onMousePressed(int mouseX, int mouseY, int mouseButton)
{
super.onMousePressed(mouseX, mouseY, mouseButton);
if (mouseButton == 1)
{
this.setText("");
PacketHandler.INSTANCE.sendToServer(new MessageGuiElementTextFieldUpdate(this));
}
return true;
}
@Override
public void onMouseReleased(int mouseX, int mouseY)
{
super.onMouseReleased(mouseX, mouseY);
if (this.intersectsWith(mouseX, mouseY))
{
this.setFocused(true);
}
}
}

View file

@ -1,9 +1,9 @@
package com.pahimar.ee3.client.gui.inventory; package com.pahimar.ee3.client.gui.inventory;
import com.pahimar.ee3.client.gui.element.ElementSearchField;
import com.pahimar.ee3.inventory.ContainerAlchemicalTome; import com.pahimar.ee3.inventory.ContainerAlchemicalTome;
import com.pahimar.ee3.network.PacketHandler; import com.pahimar.ee3.network.PacketHandler;
import com.pahimar.ee3.network.message.MessageGuiElementClicked; import com.pahimar.ee3.network.message.MessageGuiElementClicked;
import com.pahimar.ee3.network.message.MessageGuiElementTextFieldUpdate;
import com.pahimar.ee3.reference.Messages; import com.pahimar.ee3.reference.Messages;
import com.pahimar.ee3.reference.Textures; import com.pahimar.ee3.reference.Textures;
import com.pahimar.repackage.cofh.lib.gui.GuiBase; import com.pahimar.repackage.cofh.lib.gui.GuiBase;
@ -41,21 +41,10 @@ public class GuiAlchemicalTome extends GuiBase
prevPageButton = new ElementButton(this, 15, 177, "prev", 0, 0, 20, 0, 40, 0, 20, 10, 60, 10, Textures.Gui.Elements.ARROW_LEFT); prevPageButton = new ElementButton(this, 15, 177, "prev", 0, 0, 20, 0, 40, 0, 20, 10, 60, 10, Textures.Gui.Elements.ARROW_LEFT);
nextPageButton = new ElementButton(this, 223, 177, "next", 0, 0, 22, 0, 44, 0, 22, 10, 66, 10, Textures.Gui.Elements.ARROW_RIGHT); nextPageButton = new ElementButton(this, 223, 177, "next", 0, 0, 22, 0, 44, 0, 22, 10, 66, 10, Textures.Gui.Elements.ARROW_RIGHT);
searchTextField = new ElementTextField(this, 64, 205, "searchField", 128, 20) searchTextField = new ElementSearchField(this, 64, 205, "searchField", 128, 20);
{
@Override
protected void onCharacterEntered(boolean success)
{
if (success)
{
PacketHandler.INSTANCE.sendToServer(new MessageGuiElementTextFieldUpdate(this));
}
}
};
searchTextField.setPadding(6, 3, 0, 3); searchTextField.setPadding(6, 3, 0, 3);
searchTextField.borderColor = new GuiColor(160, 160, 160).getColor(); searchTextField.borderColor = new GuiColor(160, 160, 160).getColor();
searchTextField.backgroundColor = new GuiColor(0, 0, 0).getColor(); searchTextField.backgroundColor = new GuiColor(0, 0, 0).getColor();
searchTextField.setFocused(true);
addElement(prevPageButton); addElement(prevPageButton);
addElement(nextPageButton); addElement(nextPageButton);
@ -74,7 +63,7 @@ public class GuiAlchemicalTome extends GuiBase
} }
else else
{ {
if (((ContainerAlchemicalTome) this.inventorySlots).getInventorySize() == 0) if (((ContainerAlchemicalTome) this.inventorySlots).getKnownTransmutationsCount() == 0)
{ {
fontRendererObj.drawSplitString(StatCollector.translateToLocal(Messages.Gui.NO_KNOWN_TRANSMUTATIONS), 142, 20, 100, new GuiColor(50, 50, 50).getColor()); fontRendererObj.drawSplitString(StatCollector.translateToLocal(Messages.Gui.NO_KNOWN_TRANSMUTATIONS), 142, 20, 100, new GuiColor(50, 50, 50).getColor());
fontRendererObj.drawSplitString(StatCollector.translateToLocal(Messages.Gui.HOW_TO_LEARN_TRANSMUTATIONS), 142, 60, 100, new GuiColor(50, 50, 50).getColor()); fontRendererObj.drawSplitString(StatCollector.translateToLocal(Messages.Gui.HOW_TO_LEARN_TRANSMUTATIONS), 142, 60, 100, new GuiColor(50, 50, 50).getColor());

View file

@ -1,8 +1,7 @@
package com.pahimar.ee3.client.gui.inventory; package com.pahimar.ee3.client.gui.inventory;
import com.pahimar.ee3.client.gui.element.ElementSearchField;
import com.pahimar.ee3.inventory.ContainerTransmutationTablet; import com.pahimar.ee3.inventory.ContainerTransmutationTablet;
import com.pahimar.ee3.network.PacketHandler;
import com.pahimar.ee3.network.message.MessageGuiElementTextFieldUpdate;
import com.pahimar.ee3.reference.Colors; import com.pahimar.ee3.reference.Colors;
import com.pahimar.ee3.reference.Textures; import com.pahimar.ee3.reference.Textures;
import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet; import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet;
@ -38,22 +37,12 @@ public class GuiTransmutationTablet extends GuiBase
this.drawTitle = false; this.drawTitle = false;
this.drawInventory = false; this.drawInventory = false;
searchTextField = new ElementTextField(this, 173, 145, "searchField", 78, 10) searchTextField = new ElementSearchField(this, 173, 145, "searchField", 78, 10);
{
@Override
protected void onCharacterEntered(boolean success)
{
if (success)
{
PacketHandler.INSTANCE.sendToServer(new MessageGuiElementTextFieldUpdate(this));
}
}
};
searchTextField.backgroundColor = new GuiColor(0, 0, 0, 0).getColor(); searchTextField.backgroundColor = new GuiColor(0, 0, 0, 0).getColor();
searchTextField.borderColor = new GuiColor(0, 0, 0, 0).getColor(); searchTextField.borderColor = new GuiColor(0, 0, 0, 0).getColor();
searchTextField.setFocused(true); searchTextField.setFocused(true);
slider = new ElementSlider(this, 239, 163, 12, 74, 50, 0) slider = new ElementSlider(this, 239, 163, 12, 74, 59, 0)
{ {
@Override @Override
protected void dragSlider(int x, int y) protected void dragSlider(int x, int y)

View file

@ -5,6 +5,7 @@ import com.pahimar.ee3.reference.Names;
import com.pahimar.ee3.util.NBTHelper; import com.pahimar.ee3.util.NBTHelper;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -188,4 +189,33 @@ public class ContainerAlchemicalBag extends ContainerEE
{ {
inventoryAlchemicalBag.onGuiSaved(entityPlayer); inventoryAlchemicalBag.onGuiSaved(entityPlayer);
} }
private class SlotAlchemicalBag extends Slot
{
private final EntityPlayer entityPlayer;
private ContainerAlchemicalBag containerAlchemicalBag;
public SlotAlchemicalBag(ContainerAlchemicalBag containerAlchemicalBag, IInventory inventory, EntityPlayer entityPlayer, int slotIndex, int x, int y)
{
super(inventory, slotIndex, x, y);
this.entityPlayer = entityPlayer;
this.containerAlchemicalBag = containerAlchemicalBag;
}
@Override
public void onSlotChange(ItemStack itemStack1, ItemStack itemStack2)
{
super.onSlotChange(itemStack1, itemStack2);
containerAlchemicalBag.saveInventory(entityPlayer);
}
/**
* Check if the stack is a valid item for this slot. Always true beside for the armor slots.
*/
@Override
public boolean isItemValid(ItemStack itemStack)
{
return !(itemStack.getItem() instanceof ItemAlchemicalBag);
}
}
} }

View file

@ -124,6 +124,11 @@ public class ContainerAlchemicalTome extends ContainerEE implements ITextFieldEl
return inventoryAlchemicalTome.getSizeInventory(); return inventoryAlchemicalTome.getSizeInventory();
} }
public int getKnownTransmutationsCount()
{
return inventoryAlchemicalTome.getKnownTransmutations().size();
}
public int getPageOffset() public int getPageOffset()
{ {
return this.pageOffset; return this.pageOffset;

View file

@ -1,11 +1,13 @@
package com.pahimar.ee3.inventory; package com.pahimar.ee3.inventory;
import com.pahimar.ee3.tileentity.TileEntityCalcinator; import com.pahimar.ee3.tileentity.TileEntityCalcinator;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.tileentity.TileEntityFurnace;
@ -166,4 +168,25 @@ public class ContainerCalcinator extends ContainerEE
this.tileEntityCalcinator.itemCookTime = updatedValue; this.tileEntityCalcinator.itemCookTime = updatedValue;
} }
} }
private class SlotCalcinator extends Slot
{
public SlotCalcinator(IInventory inventory, int slotIndex, int x, int y)
{
super(inventory, slotIndex, x, y);
}
@Override
public void onPickupFromSlot(EntityPlayer entityPlayer, ItemStack itemStack)
{
super.onPickupFromSlot(entityPlayer, itemStack);
FMLCommonHandler.instance().firePlayerCraftingEvent(entityPlayer, itemStack, inventory);
}
@Override
public boolean isItemValid(ItemStack itemStack)
{
return false;
}
}
} }

View file

@ -1,14 +1,17 @@
package com.pahimar.ee3.inventory; package com.pahimar.ee3.inventory;
import com.pahimar.ee3.api.EnergyValue; import com.pahimar.ee3.api.EnergyValue;
import com.pahimar.ee3.exchange.EnergyValueRegistry;
import com.pahimar.ee3.item.ItemAlchemicalTome; import com.pahimar.ee3.item.ItemAlchemicalTome;
import com.pahimar.ee3.item.ItemMiniumStone; import com.pahimar.ee3.item.ItemMiniumStone;
import com.pahimar.ee3.item.ItemPhilosophersStone; import com.pahimar.ee3.item.ItemPhilosophersStone;
import com.pahimar.ee3.knowledge.AbilityRegistry;
import com.pahimar.ee3.knowledge.TransmutationKnowledgeRegistry; import com.pahimar.ee3.knowledge.TransmutationKnowledgeRegistry;
import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet; import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet;
import com.pahimar.ee3.util.ItemHelper; import com.pahimar.ee3.util.ItemHelper;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -163,4 +166,32 @@ public class ContainerTransmutationTablet extends ContainerEE implements ITextFi
return itemStack; return itemStack;
} }
private class SlotTabletOutput extends Slot
{
public SlotTabletOutput(IInventory iInventory, int slotIndex, int x, int y)
{
super(iInventory, slotIndex, x, y);
}
@Override
public boolean isItemValid(ItemStack itemStack)
{
return false;
}
}
private class SlotTabletInput extends Slot
{
public SlotTabletInput(IInventory iInventory, int slotIndex, int x, int y)
{
super(iInventory, slotIndex, x, y);
}
@Override
public boolean isItemValid(ItemStack itemStack)
{
return EnergyValueRegistry.getInstance().hasEnergyValue(itemStack) && AbilityRegistry.getInstance().isRecoverable(itemStack);
}
}
} }

View file

@ -1,36 +0,0 @@
package com.pahimar.ee3.inventory;
import com.pahimar.ee3.item.ItemAlchemicalBag;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class SlotAlchemicalBag extends Slot
{
private final EntityPlayer entityPlayer;
private ContainerAlchemicalBag containerAlchemicalBag;
public SlotAlchemicalBag(ContainerAlchemicalBag containerAlchemicalBag, IInventory inventory, EntityPlayer entityPlayer, int slotIndex, int x, int y)
{
super(inventory, slotIndex, x, y);
this.entityPlayer = entityPlayer;
this.containerAlchemicalBag = containerAlchemicalBag;
}
@Override
public void onSlotChange(ItemStack itemStack1, ItemStack itemStack2)
{
super.onSlotChange(itemStack1, itemStack2);
containerAlchemicalBag.saveInventory(entityPlayer);
}
/**
* Check if the stack is a valid item for this slot. Always true beside for the armor slots.
*/
@Override
public boolean isItemValid(ItemStack itemStack)
{
return !(itemStack.getItem() instanceof ItemAlchemicalBag);
}
}

View file

@ -1,28 +0,0 @@
package com.pahimar.ee3.inventory;
import cpw.mods.fml.common.FMLCommonHandler;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class SlotCalcinator extends Slot
{
public SlotCalcinator(IInventory inventory, int slotIndex, int x, int y)
{
super(inventory, slotIndex, x, y);
}
@Override
public void onPickupFromSlot(EntityPlayer entityPlayer, ItemStack itemStack)
{
super.onPickupFromSlot(entityPlayer, itemStack);
FMLCommonHandler.instance().firePlayerCraftingEvent(entityPlayer, itemStack, inventory);
}
@Override
public boolean isItemValid(ItemStack itemStack)
{
return false;
}
}

View file

@ -1,21 +0,0 @@
package com.pahimar.ee3.inventory;
import com.pahimar.ee3.exchange.EnergyValueRegistry;
import com.pahimar.ee3.knowledge.AbilityRegistry;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class SlotTabletInput extends Slot
{
public SlotTabletInput(IInventory iInventory, int slotIndex, int x, int y)
{
super(iInventory, slotIndex, x, y);
}
@Override
public boolean isItemValid(ItemStack itemStack)
{
return EnergyValueRegistry.getInstance().hasEnergyValue(itemStack) && AbilityRegistry.getInstance().isRecoverable(itemStack);
}
}

View file

@ -1,26 +0,0 @@
package com.pahimar.ee3.inventory;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class SlotTabletOutput extends Slot
{
public SlotTabletOutput(IInventory iInventory, int slotIndex, int x, int y)
{
super(iInventory, slotIndex, x, y);
}
@Override
public void onPickupFromSlot(EntityPlayer entityPlayer, ItemStack itemStack)
{
}
@Override
public boolean isItemValid(ItemStack itemStack)
{
return false;
}
}