diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-02-03 21:09:09 +0000 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2015-02-03 21:09:09 +0000 |
| commit | 3f4c717de5ebc9b942d65ae45ac87c43bdf8a31b (patch) | |
| tree | 15c68c8b61dbd0b7f44937a5c790c4b844e50f58 /java/darkknight/jewelrycraft/events | |
| parent | 73ca377dc01f859dabd7b07738cb7aeb762272b1 (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')
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 |
