summaryrefslogtreecommitdiff
path: root/java/darkknight/jewelrycraft/events
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-02-03 21:09:09 +0000
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-02-03 21:09:09 +0000
commit3f4c717de5ebc9b942d65ae45ac87c43bdf8a31b (patch)
tree15c68c8b61dbd0b7f44937a5c790c4b844e50f58 /java/darkknight/jewelrycraft/events
parent73ca377dc01f859dabd7b07738cb7aeb762272b1 (diff)
Made a few modifications to some classes, added earrings and bracelets. Improved coloring algorithm and balanced the Thieving Glove
Diffstat (limited to 'java/darkknight/jewelrycraft/events')
-rw-r--r--java/darkknight/jewelrycraft/events/BucketHandler.java8
-rw-r--r--java/darkknight/jewelrycraft/events/EntityEventHandler.java146
-rw-r--r--java/darkknight/jewelrycraft/events/ScreenHandler.java49
3 files changed, 104 insertions, 99 deletions
diff --git a/java/darkknight/jewelrycraft/events/BucketHandler.java b/java/darkknight/jewelrycraft/events/BucketHandler.java
index 6eef59b..a7b40cd 100644
--- a/java/darkknight/jewelrycraft/events/BucketHandler.java
+++ b/java/darkknight/jewelrycraft/events/BucketHandler.java
@@ -44,8 +44,7 @@ public class BucketHandler
}
private ItemStack fillCustomBucket(World world, MovingObjectPosition pos)
- {
-
+ {
Block block = world.getBlock(pos.blockX, pos.blockY, pos.blockZ);
Item bucket = buckets.get(block);
@@ -57,13 +56,14 @@ public class BucketHandler
if (ingotData != null && ingotData != "")
{
String[] splitData = ingotData.split(":");
- if (splitData.length == 2)
+ if (splitData.length == 3)
{
- int itemID, itemDamage;
+ int itemID, itemDamage, color;
try
{
itemID = Integer.parseInt(splitData[0]);
itemDamage = Integer.parseInt(splitData[1]);
+ color = Integer.parseInt(splitData[2]);
JewelryNBT.addMetal(item, new ItemStack(Item.getItemById(itemID), 1, itemDamage));
}
catch (Exception e)
diff --git a/java/darkknight/jewelrycraft/events/EntityEventHandler.java b/java/darkknight/jewelrycraft/events/EntityEventHandler.java
index c791d74..7229318 100644
--- a/java/darkknight/jewelrycraft/events/EntityEventHandler.java
+++ b/java/darkknight/jewelrycraft/events/EntityEventHandler.java
@@ -16,6 +16,7 @@ import net.minecraftforge.client.event.EntityViewRenderEvent;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
+import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.world.WorldEvent;
import org.lwjgl.opengl.GL11;
@@ -25,10 +26,9 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import darkknight.jewelrycraft.JewelrycraftMod;
-import darkknight.jewelrycraft.container.JewelryInventory;
import darkknight.jewelrycraft.item.ItemList;
-import darkknight.jewelrycraft.lib.Reference;
import darkknight.jewelrycraft.network.PacketClearColorCache;
+import darkknight.jewelrycraft.network.PacketRequestPlayerInfo;
import darkknight.jewelrycraft.util.BlockUtils;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
import darkknight.jewelrycraft.util.PlayerUtils;
@@ -56,100 +56,76 @@ public class EntityEventHandler
if (shouldGiveManual)
{
ItemStack manual = new ItemStack(ItemList.guide);
- if (!player.inventory.addItemStackToInventory(manual))
- {
- BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
- }
+ if (!player.inventory.addItemStackToInventory(manual)) BlockUtils.dropItemStackInWorld(player.worldObj, player.posX, player.posY, player.posZ, manual);
persistTag.setBoolean("givenGuide", true);
}
boolean render = persistTag.getBoolean("fancyRender");
JewelrycraftMod.fancyRender = render;
- // System.out.println("FancyRender: " + JewelrycraftMod.fancyRender
- // + " Render:" + render);
}
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
}
@SubscribeEvent
public void onEntityUpdate(LivingUpdateEvent event)
{
final Entity entity = event.entity;
- if (!entity.worldObj.isRemote && entity instanceof EntityPlayer)
+ if (entity instanceof EntityPlayer)
{
EntityPlayer player = (EntityPlayer) entity;
- NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
- for (String l : JewelrycraftUtil.curses.keySet())
- if (!persistTag.hasKey(l) || player.getHealth() >= 19F) persistTag.setInteger(l, -1);
- if (!player.isDead && player.getHealth() > 0F && player.getHealth() < 19F) persistTag.setInteger(Reference.MODNAME + ":" + "Blind", 0);
- // boolean render = persistTag.getBoolean("fancyRender");
- // System.out.println("FancyRender: " + JewelrycraftMod.fancyRender
- // + " Render:" + render);
- // circle(player.worldObj, player.posX, player.posY, player.posZ,
- // 4);
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
+ playerInfo.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ if (!player.worldObj.isRemote)
+ {
+// System.out.println(playerInfo.getInteger("curseTime") + " " + playerInfo.getBoolean("reselectCurses"));
+ if (playerInfo.hasKey("reselectCurses") && !playerInfo.getBoolean("reselectCurses"))
+ {
+ playerInfo.setInteger("curseTime", playerInfo.getInteger("curseTime") - 100);
+ if (playerInfo.getInteger("curseTime") <= 0) playerInfo.setBoolean("reselectCurses", true);
+ }
+ }
}
- if (entity instanceof EntityPlayer)
+ }
+
+ @SubscribeEvent
+ public void onPlayerRespawn(PlayerEvent.Clone event)
+ {
+ EntityPlayer player = event.entityPlayer;
+ if (!player.worldObj.isRemote)
{
- EntityPlayer player = (EntityPlayer) entity;
- NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
- persistTag.setBoolean("fancyRender", JewelrycraftMod.fancyRender);
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
+ if (playerInfo.hasKey("cursePoints") && playerInfo.getInteger("cursePoints") > 0)
+ {
+ int points = playerInfo.getInteger("cursePoints");
+ addCurse(player, playerInfo, "curse1");
+ if (points > 50) addCurse(player, playerInfo, "curse2");
+ if(!playerInfo.hasKey("curseTime") || !playerInfo.hasKey("reselectCurses") || playerInfo.getBoolean("reselectCurses"))
+ {
+ playerInfo.setInteger("curseTime", 23000);
+ playerInfo.setBoolean("reselectCurses", false);
+ }
+ }
}
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
}
- // public static void circle(World world, double x, double y, double z, int
- // radius)
- // {
- // for (int i = 0; i < radius; i++)
- // for (int j = 0; j < radius; j++)
- // for (int k = 0; k < radius; k++)
- // {
- // double distance = (radius - i) * (radius - i) + (radius - j) * (radius -
- // j) + (radius - k) * (radius - k);
- //
- // if (distance - 1 == (radius * radius) || distance - 2 == (radius *
- // radius))
- // {
- // Minecraft.getMinecraft().effectRenderer.addEffect(new
- // EntityShadowsFX(world, x + i - radius + 1F, y + j - radius / 2 - 1.5f, z
- // + k - radius + 1F, 2F, 0.05F));
- // Minecraft.getMinecraft().effectRenderer.addEffect(new
- // EntityShadowsFX(world, x - i + radius - 1F, y + j - radius / 2 - 1.5f, z
- // + k - radius + 1F, 2F, 0.05F));
- //
- // Minecraft.getMinecraft().effectRenderer.addEffect(new
- // EntityShadowsFX(world, x + i - radius + 1F, y + j - radius / 2 - 1.5f, z
- // - k + radius - 1F, 2F, 0.05F));
- // Minecraft.getMinecraft().effectRenderer.addEffect(new
- // EntityShadowsFX(world, x - i + radius - 1F, y + j - radius / 2 - 1.5f, z
- // - k + radius - 1F, 2F, 0.05F));
- // }
- // }
- //
- // for (int i = 0; i < radius; i++)
- // for (int j = radius - 1; j >= 0; j--)
- // for (int k = 0; k < radius; k++)
- // {
- // double distance = (radius - i) * (radius - i) + (radius - j) * (radius -
- // j) + (radius - k) * (radius - k);
- //
- // if (distance - 1 == (radius * radius) || distance - 2 == (radius *
- // radius))
- // {
- // Minecraft.getMinecraft().effectRenderer.addEffect(new
- // EntityShadowsFX(world, x + i - radius + 1F, y - j + radius / 2 + 0.5f, z
- // + k - radius + 1F, 2F, 0.05F));
- // Minecraft.getMinecraft().effectRenderer.addEffect(new
- // EntityShadowsFX(world, x - i + radius - 1F, y - j + radius / 2 + 0.5f, z
- // + k - radius + 1F, 2F, 0.05F));
- //
- // Minecraft.getMinecraft().effectRenderer.addEffect(new
- // EntityShadowsFX(world, x + i - radius + 1F, y - j + radius / 2 + 0.5f, z
- // - k + radius - 1F, 2F, 0.05F));
- // Minecraft.getMinecraft().effectRenderer.addEffect(new
- // EntityShadowsFX(world, x - i + radius - 1F, y - j + radius / 2 + 0.5f, z
- // - k + radius - 1F, 2F, 0.05F));
- // }
- // }
- // }
+ public void addCurse(EntityPlayer player, NBTTagCompound playerInfo, String curse)
+ {
+ if ((!playerInfo.hasKey(curse) || playerInfo.getInteger(curse) == -1) && JewelrycraftUtil.availableCurseNames.size() > 0)
+ {
+ String name = JewelrycraftUtil.availableCurseNames.get(JewelrycraftUtil.rand.nextInt(JewelrycraftUtil.availableCurseNames.size()));
+ int grade = player.worldObj.rand.nextInt(2);
+ playerInfo.setByte(name, (byte) grade);
+ JewelrycraftUtil.availableCurseNames.remove(JewelrycraftUtil.curseValues.get(name));
+ playerInfo.setInteger(curse, grade);
+ }
+ }
+
+ @SubscribeEvent
+ public void playerFileSave(PlayerEvent.SaveToFile event)
+ {
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
+ }
@SubscribeEvent
public void onEntityDead(LivingDeathEvent event)
@@ -158,10 +134,19 @@ public class EntityEventHandler
if (!entity.worldObj.isRemote && entity instanceof EntityPlayer)
{
EntityPlayer player = (EntityPlayer) entity;
- NBTTagCompound persistTag = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
- for (String l : JewelrycraftUtil.curses.keySet())
- if (persistTag.getInteger(l) == 0) persistTag.setInteger(l, -1);
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
+ if (playerInfo.hasKey("reselectCurses") && playerInfo.getBoolean("reselectCurses"))
+ {
+ for (String l : JewelrycraftUtil.curseValues.keySet())
+ if (playerInfo.getInteger(l) == 0 || playerInfo.getInteger("Deaths") == 2) playerInfo.setByte(l, (byte) -1);
+ for (int i = 1; i <= 2; i++)
+ if ((playerInfo.hasKey(("curse" + i).toString()) && playerInfo.getInteger(("curse" + i).toString()) == 0) || playerInfo.getInteger("Deaths") == 2) playerInfo.setInteger(("curse" + i).toString(), -1);
+ JewelrycraftUtil.availableCurseNames.putAll(JewelrycraftUtil.curseNames);
+ }
+ if (!playerInfo.hasKey("Deaths") || playerInfo.getInteger("Deaths") == 2) playerInfo.setInteger("Deaths", 0);
+ playerInfo.setInteger("Deaths", playerInfo.getInteger("Deaths") + 1);
}
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
}
@SubscribeEvent
@@ -196,6 +181,7 @@ public class EntityEventHandler
e.printStackTrace();
}
}
+ JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
}
diff --git a/java/darkknight/jewelrycraft/events/ScreenHandler.java b/java/darkknight/jewelrycraft/events/ScreenHandler.java
index 300968a..237a452 100644
--- a/java/darkknight/jewelrycraft/events/ScreenHandler.java
+++ b/java/darkknight/jewelrycraft/events/ScreenHandler.java
@@ -1,8 +1,11 @@
package darkknight.jewelrycraft.events;
+import java.awt.Color;
+
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.gui.GuiChat;
+import net.minecraft.client.gui.ScaledResolution;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
@@ -11,6 +14,7 @@ import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
import org.lwjgl.input.Keyboard;
+import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.registry.ClientRegistry;
@@ -36,22 +40,37 @@ public class ScreenHandler extends Gui
}
@SubscribeEvent
- public void onEntityJoinWorld(RenderGameOverlayEvent event)
+ public void renderScreen(RenderGameOverlayEvent event)
{
- if (cooldown == 0)
- {
- JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo());
- cooldown = 500;
- }
- else cooldown--;
-
- if (event.isCancelable() || event.type != ElementType.EXPERIENCE || tagCache == null) return;
- mc.renderEngine.bindTexture(new ResourceLocation("jewelrycraft", "textures/gui/curses1.png"));
- for (String l : JewelrycraftUtil.curses.keySet())
- if (tagCache.getInteger(l) > -1){
- int tag = JewelrycraftUtil.curses.get(l) + 1;
- int size = 32;
- this.drawTexturedModalRect(2 + size * tag, 2, tag % size * size, tag / size * size, size, size);
+ if (event.isCancelable() || event.type != ElementType.ALL || tagCache == null) return;
+ mc.renderEngine.bindTexture(new ResourceLocation("jewelrycraft", "textures/gui/curses.png"));
+ int count = 0;
+ for (String l : JewelrycraftUtil.curseValues.keySet())
+ if (tagCache.getByte(l) > -1){
+ int tag = JewelrycraftUtil.curseValues.get(l);
+ int size = 16;
+ this.drawRect(0, (size + 6) * count, 24 + mc.fontRenderer.getStringWidth(l.split(":")[1]), 4 + (size + 6) * count + 16, 0xaf000000);
+ this.drawRect(2, 2 + (size + 6) * count, 22 + mc.fontRenderer.getStringWidth(l.split(":")[1]), 2 + (size + 6) * count + 16, 0x95700064);
+ count++;
+ }
+ count = 0;
+ for (String l : JewelrycraftUtil.curseValues.keySet())
+ if (tagCache.getByte(l) > -1){
+ int tag = JewelrycraftUtil.curseValues.get(l);
+ int size = 16;
+ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
+ GL11.glDisable(GL11.GL_LIGHTING);
+ this.drawTexturedModalRect(2, 2 + (size + 6) * count, tag % size * size, tag / size * size, size, size);
+ count++;
}
+ count = 0;
+ for (String l : JewelrycraftUtil.curseValues.keySet())
+ if (tagCache.getByte(l) > -1){
+ int tag = JewelrycraftUtil.curseValues.get(l);
+ int size = 16;
+ mc.fontRenderer.drawStringWithShadow(l.split(":")[1], 20, 7 + (size + 6) * count, 16777215);
+ if(tagCache.getByte(l) == 1) mc.fontRenderer.drawStringWithShadow("Leech", mc.fontRenderer.getStringWidth(l.split(":")[1]) + 25, 7 + (size + 6) * count, 16777215);
+ count++;
+ }
}
} \ No newline at end of file