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.command.CommandEE;
import com.pahimar.ee3.exchange.EnergyValueRegistry;
import com.pahimar.ee3.exchange.WrappedStack;
import com.pahimar.ee3.handler.*;
import com.pahimar.ee3.init.*;
import com.pahimar.ee3.knowledge.AbilityRegistry;
@ -125,11 +124,6 @@ public class EquivalentExchange3
TransmutationKnowledgeRegistry.getInstance().saveAll();
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()

View File

@ -1,9 +1,11 @@
package com.pahimar.ee3.array;
import com.pahimar.ee3.EquivalentExchange3;
import com.pahimar.ee3.api.AlchemyArray;
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.TileEntityTransmutationTablet;
import com.pahimar.ee3.util.CommonParticleHelper;
@ -32,11 +34,12 @@ public class TransmutationAlchemyArray extends AlchemyArray implements IInventor
@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)
{
if (!entityPlayer.isSneaking())
{
entityPlayer.openGui(EquivalentExchange3.instance, GUIs.TRANSMUTATION_ARRAY.ordinal(), world, arrayX, arrayY, arrayZ);
return;
}
// 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;
// }
if (!world.isRemote && entityPlayer.isSneaking())
{

View File

@ -121,7 +121,7 @@ public class BlockAshInfusedStoneSlab extends BlockSlab
}
else if (metaData == 5)
{
shiftedZ--;
shiftedX--;
}
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;
import com.pahimar.ee3.client.gui.element.ElementSearchField;
import com.pahimar.ee3.inventory.ContainerAlchemicalTome;
import com.pahimar.ee3.network.PacketHandler;
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.Textures;
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);
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)
{
@Override
protected void onCharacterEntered(boolean success)
{
if (success)
{
PacketHandler.INSTANCE.sendToServer(new MessageGuiElementTextFieldUpdate(this));
}
}
};
searchTextField = new ElementSearchField(this, 64, 205, "searchField", 128, 20);
searchTextField.setPadding(6, 3, 0, 3);
searchTextField.borderColor = new GuiColor(160, 160, 160).getColor();
searchTextField.backgroundColor = new GuiColor(0, 0, 0).getColor();
searchTextField.setFocused(true);
addElement(prevPageButton);
addElement(nextPageButton);
@ -74,7 +63,7 @@ public class GuiAlchemicalTome extends GuiBase
}
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.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;
import com.pahimar.ee3.client.gui.element.ElementSearchField;
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.Textures;
import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet;
@ -38,22 +37,12 @@ public class GuiTransmutationTablet extends GuiBase
this.drawTitle = false;
this.drawInventory = false;
searchTextField = new ElementTextField(this, 173, 145, "searchField", 78, 10)
{
@Override
protected void onCharacterEntered(boolean success)
{
if (success)
{
PacketHandler.INSTANCE.sendToServer(new MessageGuiElementTextFieldUpdate(this));
}
}
};
searchTextField = new ElementSearchField(this, 173, 145, "searchField", 78, 10);
searchTextField.backgroundColor = new GuiColor(0, 0, 0, 0).getColor();
searchTextField.borderColor = new GuiColor(0, 0, 0, 0).getColor();
searchTextField.setFocused(true);
slider = new ElementSlider(this, 239, 163, 12, 74, 50, 0)
slider = new ElementSlider(this, 239, 163, 12, 74, 59, 0)
{
@Override
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 net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
@ -188,4 +189,33 @@ public class ContainerAlchemicalBag extends ContainerEE
{
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();
}
public int getKnownTransmutationsCount()
{
return inventoryAlchemicalTome.getKnownTransmutations().size();
}
public int getPageOffset()
{
return this.pageOffset;

View File

@ -1,11 +1,13 @@
package com.pahimar.ee3.inventory;
import com.pahimar.ee3.tileentity.TileEntityCalcinator;
import cpw.mods.fml.common.FMLCommonHandler;
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.ICrafting;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntityFurnace;
@ -166,4 +168,25 @@ public class ContainerCalcinator extends ContainerEE
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;
import com.pahimar.ee3.api.EnergyValue;
import com.pahimar.ee3.exchange.EnergyValueRegistry;
import com.pahimar.ee3.item.ItemAlchemicalTome;
import com.pahimar.ee3.item.ItemMiniumStone;
import com.pahimar.ee3.item.ItemPhilosophersStone;
import com.pahimar.ee3.knowledge.AbilityRegistry;
import com.pahimar.ee3.knowledge.TransmutationKnowledgeRegistry;
import com.pahimar.ee3.tileentity.TileEntityTransmutationTablet;
import com.pahimar.ee3.util.ItemHelper;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
@ -163,4 +166,32 @@ public class ContainerTransmutationTablet extends ContainerEE implements ITextFi
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;
}
}