summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-06-12 18:55:47 +0100
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-06-12 18:55:47 +0100
commitc15dc0a62d572c19cea8c8e5ab949191b4c20121 (patch)
tree6b570b943ca644ca5da2df3658a9f18cddcbb144 /src
parent2f93a3de229a3351d91708cf60fbc9ab7a1be97f (diff)
Fixed potential loop hole?
Diffstat (limited to 'src')
-rw-r--r--src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelryModifier.java443
-rw-r--r--src/main/java/darkknight/jewelrycraft/damage/DamageSourceList.java52
-rw-r--r--src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java2
3 files changed, 252 insertions, 245 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelryModifier.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelryModifier.java
index fb94b25..f7bf7b0 100644
--- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelryModifier.java
+++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiJewelryModifier.java
@@ -1,218 +1,225 @@
-package darkknight.jewelrycraft.client.gui;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.GuiButton;
-import net.minecraft.client.gui.GuiTextField;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-import darkknight.jewelrycraft.JewelrycraftMod;
-import darkknight.jewelrycraft.client.gui.container.ContainerJewelryModifier;
-import darkknight.jewelrycraft.network.PacketRequestSetSlot;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-
-public class GuiJewelryModifier extends GuiContainer
-{
- private ResourceLocation texture;
- private GuiButton addItems;
- private GuiTextField searchField, pages;
- private boolean clicked;
- private int page = 1, maxPages = 1, selectedX = 0, selectedY = 0, selectedPage = 0, enabled = 0;
- private ItemStack selectedItem;
- private ArrayList<ItemStack> selectedItems = new ArrayList<ItemStack>();
- private List<Map<Integer, Map<Integer, Integer>>> selectedItemsPos = new ArrayList<Map<Integer, Map<Integer, Integer>>>();
- ContainerJewelryModifier jMod;
-
- public GuiJewelryModifier(ContainerJewelryModifier containerJewelryTab, ResourceLocation texture)
- {
- super(containerJewelryTab);
- xSize = 211;
- ySize = 247;
- jMod = containerJewelryTab;
- this.maxPages = JewelrycraftUtil.objects.size() / 48 + 1;
- this.texture = texture;
- }
-
- @Override
- public void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY)
- {
- GL11.glColor3f(1, 1, 1);
- Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
- int k = (this.width - this.xSize) / 2;
- int l = (this.height - this.ySize) / 2;
- drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
- if (selectedX != 0 && selectedY != 0 && page == selectedPage) drawTexturedModalRect(k + selectedX, l + selectedY, 211, 0, 18, 18);
- for(Map<Integer, Map<Integer, Integer>> items: selectedItemsPos){
- for(Object itemPage: items.keySet()){
- if (page == (Integer)itemPage) for(int x: ((Map<Integer, Integer>)items.get(itemPage)).keySet())
- drawTexturedModalRect(k + x, l + (int)((Map<Integer, Integer>)items.get(itemPage)).get(x), 211, 0, 18, 18);
- }
- }
- this.searchField.drawTextBox();
- this.pages.drawTextBox();
- }
-
- @Override
- public void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
- {
- int i = 0;
- for(ItemStack item: JewelrycraftUtil.objects){
- if (item != null && (this.searchField.getText() == "" || item.getDisplayName().toLowerCase().contains(this.searchField.getText().toLowerCase()))){
- GL11.glDisable(GL11.GL_LIGHTING);
- GL11.glColor3f(1F, 1F, 1F);
- GL11.glEnable(GL11.GL_LIGHTING);
- GL11.glEnable(GL12.GL_RESCALE_NORMAL);
- if (i >= (page - 1) * 48 && i < page * 48) try{
- itemRender.renderItemAndEffectIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), item, 88 + 20 * (i % 6), 7 + 17 * (i / 6) - 136 * (page - 1));
- }
- catch(Exception e){
- JewelrycraftMod.logger.info("Trying to display an item but gets this error: " + e.getMessage() + "\nThe item causing the issue is: " + item);
- }
- GL11.glDisable(GL11.GL_LIGHTING);
- i++;
- }
- }
- }
-
- @Override
- protected void keyTyped(char character, int key)
- {
- if (this.searchField.textboxKeyTyped(character, key)){
- int items = 0;
- for(ItemStack item: JewelrycraftUtil.objects)
- if (item != null && item.getDisplayName().toLowerCase().contains(this.searchField.getText().toLowerCase())) items++;
- maxPages = items / 48 + 1;
- page = 1;
- this.pages.setText(page + "/" + maxPages);
- }else super.keyTyped(character, key);
- }
-
- protected void mouseClicked(int x, int y, int id)
- {
- super.mouseClicked(x, y, id);
- if (x >= this.searchField.xPosition && x <= this.searchField.xPosition + this.searchField.width && y >= this.searchField.yPosition && y <= this.searchField.yPosition + this.searchField.height){
- this.searchField.setText("");
- this.searchField.setFocused(true);
- maxPages = JewelrycraftUtil.objects.size() / 48 + 1;
- }else this.searchField.setFocused(false);
- for(Object button: this.buttonList){
- if (((GuiButton)button).id < 4 && ((GuiButton)button).mousePressed(mc, x, y)){
- if (((GuiButton)button).id != 3){
- this.selectedItems.removeAll(selectedItems);
- this.selectedItemsPos.removeAll(selectedItemsPos);
- }else{
- this.selectedX = 0;
- this.selectedY = 0;
- this.selectedItem = null;
- }
- ((GuiButton)buttonList.get(0)).enabled = true;
- ((GuiButton)buttonList.get(1)).enabled = true;
- ((GuiButton)buttonList.get(2)).enabled = true;
- ((GuiButton)buttonList.get(3)).enabled = true;
- ((GuiButton)button).enabled = false;
- enabled = ((GuiButton)button).id;
- }
- }
- int i = 0;
- for(ItemStack item: JewelrycraftUtil.objects){
- if (this.searchField.getText() == "" || item.getDisplayName().toLowerCase().contains(this.searchField.getText().toLowerCase())){
- if (i >= (page - 1) * 48 && i < page * 48 && x >= this.guiLeft + 88 + 20 * (i % 6) && x < this.guiLeft + 108 + 20 * (i % 6) && y >= this.guiTop + 9 + 17 * (i / 6) - 136 * (page - 1) && y < this.guiTop + 25 + 17 * (i / 6) - 136 * (page - 1)){
- if (!((GuiButton)buttonList.get(0)).enabled || !((GuiButton)buttonList.get(1)).enabled || !((GuiButton)buttonList.get(2)).enabled){
- this.selectedItem = item;
- this.selectedX = 87 + 20 * (i % 6);
- this.selectedY = 6 + 17 * (i / 6) - 136 * (page - 1);
- this.selectedPage = page;
- }else if (!((GuiButton)buttonList.get(3)).enabled){
- Map<Integer, Map<Integer, Integer>> itemPage = new HashMap<Integer, Map<Integer, Integer>>();
- Map<Integer, Integer> pos = new HashMap<Integer, Integer>();
- pos.put(87 + 20 * (i % 6), 6 + 17 * (i / 6) - 136 * (page - 1));
- itemPage.put(page, pos);
- if (!this.selectedItems.contains(item)){
- this.selectedItems.add(item);
- this.selectedItemsPos.add(itemPage);
- }else{
- this.selectedItems.remove(item);
- this.selectedItemsPos.remove(itemPage);
- }
- }
- }
- i++;
- }
- }
- if (((GuiButton)buttonList.get(5)).mousePressed(mc, x, y) && page > 1) page--;
- if (((GuiButton)buttonList.get(6)).mousePressed(mc, x, y) && page < maxPages) page++;
- if (jMod.modInv.getStackInSlot(36) != null){
- ItemStack targetItem = jMod.modInv.getStackInSlot(36).copy();
- if (((GuiButton)buttonList.get(4)).mousePressed(mc, x, y) && !((GuiButton)buttonList.get(0)).enabled){
- JewelryNBT.addIngotColor(targetItem, 16777215);
- JewelryNBT.addMetal(targetItem, new ItemStack(Item.getItemById(0), 0, 0));
- if (selectedItem != null) JewelryNBT.addMetal(targetItem, this.selectedItem);
- JewelrycraftMod.netWrapper.sendToServer(new PacketRequestSetSlot(targetItem));
- }
- if (((GuiButton)buttonList.get(4)).mousePressed(mc, x, y) && !((GuiButton)buttonList.get(1)).enabled){
- JewelryNBT.addGemColor(targetItem, 16777215);
- JewelryNBT.addGem(targetItem, new ItemStack(Item.getItemById(0), 0, 0));
- if (selectedItem != null) JewelryNBT.addGem(targetItem, this.selectedItem);
- JewelrycraftMod.netWrapper.sendToServer(new PacketRequestSetSlot(targetItem));
- }
- if (((GuiButton)buttonList.get(4)).mousePressed(mc, x, y) && !((GuiButton)buttonList.get(2)).enabled){
- if (selectedItem != null) JewelryNBT.addItem(targetItem, selectedItem);
- JewelrycraftMod.netWrapper.sendToServer(new PacketRequestSetSlot(targetItem));
- }
- if (((GuiButton)buttonList.get(4)).mousePressed(mc, x, y) && !((GuiButton)buttonList.get(3)).enabled){
- if (!selectedItems.isEmpty()) JewelryNBT.addModifiers(targetItem, selectedItems);
- JewelrycraftMod.netWrapper.sendToServer(new PacketRequestSetSlot(targetItem));
- }
- }
- this.pages.setText(page + "/" + maxPages);
- }
-
- @Override
- public void initGui()
- {
- super.initGui();
- this.searchField = new GuiTextField(this.fontRendererObj, this.guiLeft + 89, this.guiTop + 148, 115, this.fontRendererObj.FONT_HEIGHT + 3);
- this.searchField.setMaxStringLength(15);
- this.searchField.setTextColor(16777215);
- this.searchField.setVisible(true);
- this.searchField.setCanLoseFocus(true);
- this.pages = new GuiTextField(this.fontRendererObj, this.guiLeft + 20, this.guiTop + 146, 50, this.fontRendererObj.FONT_HEIGHT + 3);
- this.pages.setMaxStringLength(15);
- this.pages.setTextColor(16777215);
- this.pages.setVisible(true);
- this.pages.setText(page + "/" + maxPages);
- this.buttonList.add(new GuiButton(0, this.guiLeft + 17, this.guiTop + 30, 52, 20, "Metal"));
- this.buttonList.add(new GuiButton(1, this.guiLeft + 17, this.guiTop + 52, 52, 20, "Gem"));
- this.buttonList.add(new GuiButton(2, this.guiLeft + 17, this.guiTop + 74, 52, 20, "Item"));
- this.buttonList.add(new GuiButton(3, this.guiLeft + 17, this.guiTop + 96, 52, 20, "Modifiers"));
- this.buttonList.add(new GuiButton(4, this.guiLeft + 17, this.guiTop + 118, 52, 20, "Add Items"));
- this.buttonList.add(new GuiButton(5, this.guiLeft + 5, this.guiTop + 142, 13, 20, "<<"));
- this.buttonList.add(new GuiButton(6, this.guiLeft + 73, this.guiTop + 142, 13, 20, ">>"));
- ((GuiButton)buttonList.get(enabled)).enabled = false;
- }
-
- public void drawScreen(int x, int y, float z)
- {
- super.drawScreen(x, y, z);
- int i = 0;
- List<String> list = new ArrayList<String>();
- for(ItemStack item: JewelrycraftUtil.objects){
- if (this.searchField.getText() == "" || item.getDisplayName().toLowerCase().contains(this.searchField.getText().toLowerCase())){
- if (i >= (page - 1) * 48 && i < page * 48 && x >= this.guiLeft + 88 + 20 * (i % 6) && x < this.guiLeft + 108 + 20 * (i % 6) && y >= this.guiTop + 9 + 17 * (i / 6) - 136 * (page - 1) && y < this.guiTop + 25 + 17 * (i / 6) - 136 * (page - 1)){
- list.add(item.getDisplayName());
- if (item.getTooltip(mc.thePlayer, mc.gameSettings.advancedItemTooltips) != null) this.renderToolTip(item, x, y);
- else this.drawHoveringText(list, x, y, this.fontRendererObj);
- }
- i++;
- }
- }
- }
-}
+package darkknight.jewelrycraft.client.gui;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Level;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.GuiButton;
+import net.minecraft.client.gui.GuiTextField;
+import net.minecraft.client.gui.inventory.GuiContainer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.client.gui.container.ContainerJewelryModifier;
+import darkknight.jewelrycraft.network.PacketRequestSetSlot;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+
+public class GuiJewelryModifier extends GuiContainer
+{
+ private ResourceLocation texture;
+ private GuiButton addItems;
+ private GuiTextField searchField, pages;
+ private boolean clicked;
+ private int page = 1, maxPages = 1, selectedX = 0, selectedY = 0, selectedPage = 0, enabled = 0;
+ private ItemStack selectedItem;
+ private ArrayList<ItemStack> selectedItems = new ArrayList<ItemStack>();
+ private List<Map<Integer, Map<Integer, Integer>>> selectedItemsPos = new ArrayList<Map<Integer, Map<Integer, Integer>>>();
+ ContainerJewelryModifier jMod;
+
+ public GuiJewelryModifier(ContainerJewelryModifier containerJewelryTab, ResourceLocation texture)
+ {
+ super(containerJewelryTab);
+ xSize = 211;
+ ySize = 247;
+ jMod = containerJewelryTab;
+ this.maxPages = JewelrycraftUtil.objects.size() / 48 + 1;
+ this.texture = texture;
+ }
+
+ @Override
+ public void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY)
+ {
+ GL11.glColor3f(1, 1, 1);
+ Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
+ int k = (this.width - this.xSize) / 2;
+ int l = (this.height - this.ySize) / 2;
+ drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
+ if (selectedX != 0 && selectedY != 0 && page == selectedPage) drawTexturedModalRect(k + selectedX, l + selectedY, 211, 0, 18, 18);
+ for(Map<Integer, Map<Integer, Integer>> items: selectedItemsPos){
+ for(Object itemPage: items.keySet()){
+ if (page == (Integer)itemPage) for(int x: ((Map<Integer, Integer>)items.get(itemPage)).keySet())
+ drawTexturedModalRect(k + x, l + (int)((Map<Integer, Integer>)items.get(itemPage)).get(x), 211, 0, 18, 18);
+ }
+ }
+ this.searchField.drawTextBox();
+ this.pages.drawTextBox();
+ }
+
+ @Override
+ public void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
+ {
+ int i = 0;
+ for(ItemStack item: JewelrycraftUtil.objects){
+ if (item != null && (this.searchField.getText() == "" || item.getDisplayName().toLowerCase().contains(this.searchField.getText().toLowerCase()))){
+ GL11.glDisable(GL11.GL_LIGHTING);
+ GL11.glColor3f(1F, 1F, 1F);
+ GL11.glEnable(GL11.GL_LIGHTING);
+ GL11.glEnable(GL12.GL_RESCALE_NORMAL);
+ if (i >= (page - 1) * 48 && i < page * 48) try{
+ itemRender.renderItemAndEffectIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), item, 88 + 20 * (i % 6), 7 + 17 * (i / 6) - 136 * (page - 1));
+ }
+ catch(Exception e){
+ JewelrycraftMod.logger.info("Trying to display an item but gets this error: " + e.getMessage() + "\nThe item causing the issue is: " + item);
+ }
+ GL11.glDisable(GL11.GL_LIGHTING);
+ i++;
+ }
+ }
+ }
+
+ @Override
+ protected void keyTyped(char character, int key)
+ {
+ if (this.searchField.textboxKeyTyped(character, key)){
+ int items = 0;
+ for(ItemStack item: JewelrycraftUtil.objects)
+ {
+ JewelrycraftMod.logger.log(Level.WARNING, item.toString() + " " + item.getDisplayName());
+ if (item != null && item.getDisplayName().toLowerCase().contains(this.searchField.getText().toLowerCase())) items++;
+ }
+ maxPages = items / 48 + 1;
+ page = 1;
+ this.pages.setText(page + "/" + maxPages);
+ }else super.keyTyped(character, key);
+ }
+
+ protected void mouseClicked(int x, int y, int id)
+ {
+ super.mouseClicked(x, y, id);
+ if (x >= this.searchField.xPosition && x <= this.searchField.xPosition + this.searchField.width && y >= this.searchField.yPosition && y <= this.searchField.yPosition + this.searchField.height){
+ this.searchField.setText("");
+ this.searchField.setFocused(true);
+ maxPages = JewelrycraftUtil.objects.size() / 48 + 1;
+ }else this.searchField.setFocused(false);
+ for(Object button: this.buttonList){
+ if (((GuiButton)button).id < 4 && ((GuiButton)button).mousePressed(mc, x, y)){
+ if (((GuiButton)button).id != 3){
+ this.selectedItems.removeAll(selectedItems);
+ this.selectedItemsPos.removeAll(selectedItemsPos);
+ }else{
+ this.selectedX = 0;
+ this.selectedY = 0;
+ this.selectedItem = null;
+ }
+ ((GuiButton)buttonList.get(0)).enabled = true;
+ ((GuiButton)buttonList.get(1)).enabled = true;
+ ((GuiButton)buttonList.get(2)).enabled = true;
+ ((GuiButton)buttonList.get(3)).enabled = true;
+ ((GuiButton)button).enabled = false;
+ enabled = ((GuiButton)button).id;
+ }
+ }
+ int i = 0;
+ for(ItemStack item: JewelrycraftUtil.objects){
+ if (this.searchField.getText() == "" || item.getDisplayName().toLowerCase().contains(this.searchField.getText().toLowerCase())){
+ if (i >= (page - 1) * 48 && i < page * 48 && x >= this.guiLeft + 88 + 20 * (i % 6) && x < this.guiLeft + 108 + 20 * (i % 6) && y >= this.guiTop + 9 + 17 * (i / 6) - 136 * (page - 1) && y < this.guiTop + 25 + 17 * (i / 6) - 136 * (page - 1)){
+ if (!((GuiButton)buttonList.get(0)).enabled || !((GuiButton)buttonList.get(1)).enabled || !((GuiButton)buttonList.get(2)).enabled){
+ this.selectedItem = item;
+ this.selectedX = 87 + 20 * (i % 6);
+ this.selectedY = 6 + 17 * (i / 6) - 136 * (page - 1);
+ this.selectedPage = page;
+ }else if (!((GuiButton)buttonList.get(3)).enabled){
+ Map<Integer, Map<Integer, Integer>> itemPage = new HashMap<Integer, Map<Integer, Integer>>();
+ Map<Integer, Integer> pos = new HashMap<Integer, Integer>();
+ pos.put(87 + 20 * (i % 6), 6 + 17 * (i / 6) - 136 * (page - 1));
+ itemPage.put(page, pos);
+ if (!this.selectedItems.contains(item)){
+ this.selectedItems.add(item);
+ this.selectedItemsPos.add(itemPage);
+ }else{
+ this.selectedItems.remove(item);
+ this.selectedItemsPos.remove(itemPage);
+ }
+ }
+ }
+ i++;
+ }
+ }
+ if (((GuiButton)buttonList.get(5)).mousePressed(mc, x, y) && page > 1) page--;
+ if (((GuiButton)buttonList.get(6)).mousePressed(mc, x, y) && page < maxPages) page++;
+ if (jMod.modInv.getStackInSlot(36) != null){
+ ItemStack targetItem = jMod.modInv.getStackInSlot(36).copy();
+ if (((GuiButton)buttonList.get(4)).mousePressed(mc, x, y) && !((GuiButton)buttonList.get(0)).enabled){
+ JewelryNBT.addIngotColor(targetItem, 16777215);
+ JewelryNBT.addMetal(targetItem, new ItemStack(Item.getItemById(0), 0, 0));
+ if (selectedItem != null) JewelryNBT.addMetal(targetItem, this.selectedItem);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestSetSlot(targetItem));
+ }
+ if (((GuiButton)buttonList.get(4)).mousePressed(mc, x, y) && !((GuiButton)buttonList.get(1)).enabled){
+ JewelryNBT.addGemColor(targetItem, 16777215);
+ JewelryNBT.addGem(targetItem, new ItemStack(Item.getItemById(0), 0, 0));
+ if (selectedItem != null) JewelryNBT.addGem(targetItem, this.selectedItem);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestSetSlot(targetItem));
+ }
+ if (((GuiButton)buttonList.get(4)).mousePressed(mc, x, y) && !((GuiButton)buttonList.get(2)).enabled){
+ if (selectedItem != null) JewelryNBT.addItem(targetItem, selectedItem);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestSetSlot(targetItem));
+ }
+ if (((GuiButton)buttonList.get(4)).mousePressed(mc, x, y) && !((GuiButton)buttonList.get(3)).enabled){
+ if (!selectedItems.isEmpty()) JewelryNBT.addModifiers(targetItem, selectedItems);
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestSetSlot(targetItem));
+ }
+ }
+ this.pages.setText(page + "/" + maxPages);
+ }
+
+ @Override
+ public void initGui()
+ {
+ super.initGui();
+ this.searchField = new GuiTextField(this.fontRendererObj, this.guiLeft + 89, this.guiTop + 148, 115, this.fontRendererObj.FONT_HEIGHT + 3);
+ this.searchField.setMaxStringLength(15);
+ this.searchField.setTextColor(16777215);
+ this.searchField.setVisible(true);
+ this.searchField.setCanLoseFocus(true);
+ this.pages = new GuiTextField(this.fontRendererObj, this.guiLeft + 20, this.guiTop + 146, 50, this.fontRendererObj.FONT_HEIGHT + 3);
+ this.pages.setMaxStringLength(15);
+ this.pages.setTextColor(16777215);
+ this.pages.setVisible(true);
+ this.pages.setText(page + "/" + maxPages);
+ this.buttonList.add(new GuiButton(0, this.guiLeft + 17, this.guiTop + 30, 52, 20, "Metal"));
+ this.buttonList.add(new GuiButton(1, this.guiLeft + 17, this.guiTop + 52, 52, 20, "Gem"));
+ this.buttonList.add(new GuiButton(2, this.guiLeft + 17, this.guiTop + 74, 52, 20, "Item"));
+ this.buttonList.add(new GuiButton(3, this.guiLeft + 17, this.guiTop + 96, 52, 20, "Modifiers"));
+ this.buttonList.add(new GuiButton(4, this.guiLeft + 17, this.guiTop + 118, 52, 20, "Add Items"));
+ this.buttonList.add(new GuiButton(5, this.guiLeft + 5, this.guiTop + 142, 13, 20, "<<"));
+ this.buttonList.add(new GuiButton(6, this.guiLeft + 73, this.guiTop + 142, 13, 20, ">>"));
+ ((GuiButton)buttonList.get(enabled)).enabled = false;
+ }
+
+ public void drawScreen(int x, int y, float z)
+ {
+ super.drawScreen(x, y, z);
+ int i = 0;
+ List<String> list = new ArrayList<String>();
+ for(ItemStack item: JewelrycraftUtil.objects){
+ if (this.searchField.getText() == "" || item.getDisplayName().toLowerCase().contains(this.searchField.getText().toLowerCase())){
+ if (i >= (page - 1) * 48 && i < page * 48 && x >= this.guiLeft + 88 + 20 * (i % 6) && x < this.guiLeft + 108 + 20 * (i % 6) && y >= this.guiTop + 9 + 17 * (i / 6) - 136 * (page - 1) && y < this.guiTop + 25 + 17 * (i / 6) - 136 * (page - 1)){
+ list.add(item.getDisplayName());
+ if (item.getTooltip(mc.thePlayer, mc.gameSettings.advancedItemTooltips) != null) this.renderToolTip(item, x, y);
+ else this.drawHoveringText(list, x, y, this.fontRendererObj);
+ }
+ i++;
+ }
+ }
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/damage/DamageSourceList.java b/src/main/java/darkknight/jewelrycraft/damage/DamageSourceList.java
index 019b036..5b349d1 100644
--- a/src/main/java/darkknight/jewelrycraft/damage/DamageSourceList.java
+++ b/src/main/java/darkknight/jewelrycraft/damage/DamageSourceList.java
@@ -1,26 +1,26 @@
-package darkknight.jewelrycraft.damage;
-
-import net.minecraft.util.DamageSource;
-import cpw.mods.fml.common.event.FMLPostInitializationEvent;
-
-/**
- * @author Sorin
- */
-public class DamageSourceList
-{
- public static DamageSource shadows, weak, blackHeart;
- private static boolean isInitialized = false;
-
- /**
- * @param e
- */
- public static void postInit(FMLPostInitializationEvent e)
- {
- if (!isInitialized){
- shadows = new DamageSource("shadows").setDamageBypassesArmor().setDamageIsAbsolute();
- blackHeart = new DamageSource("blackHeart").setDamageBypassesArmor().setDamageIsAbsolute();
- weak = new DamageSource("weak");
- isInitialized = true;
- }
- }
-}
+package darkknight.jewelrycraft.damage;
+
+import net.minecraft.util.DamageSource;
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+
+/**
+ * @author Sorin
+ */
+public class DamageSourceList
+{
+ public static DamageSource shadows, weak, blackHeart;
+ private static boolean isInitialized = false;
+
+ /**
+ * @param e
+ */
+ public static void postInit(FMLPostInitializationEvent e)
+ {
+ if (!isInitialized){
+ shadows = new DamageSource("shadows").setDamageBypassesArmor().setDamageIsAbsolute();
+ blackHeart = new DamageSource("blackHeart").setDamageBypassesArmor().setDamageIsAbsolute();
+ weak = new DamageSource("weak").setDamageBypassesArmor();
+ isInitialized = true;
+ }
+ }
+}
diff --git a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java
index c27ba9d..b760706 100644
--- a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java
+++ b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java
@@ -207,7 +207,7 @@ public class EntityEventHandler {
if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.attackedAction(player.worldObj, player);
}
- if (!player.worldObj.isRemote && (float) player.hurtResistantTime <= (float) player.maxHurtResistantTime / 2.0F) {
+ if (!player.worldObj.isRemote && (float) player.hurtResistantTime <= (float) player.maxHurtResistantTime / 2.0F && !event.source.isUnblockable()) {
if (playerInfo.getFloat("WhiteHeart") > 0) {
playerInfo.setFloat("WhiteHeart", 0f);
JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());