From 46186569d5cb462f90e59a37dc17a9fad51cfa4a Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Wed, 1 Jul 2015 16:11:31 +0100 Subject: Added a curse tab, added a config to enable/disable extra jewelry info, plus more! --- .../jewelrycraft/events/EntityEventHandler.java | 12 ++- .../jewelrycraft/events/KeyBindings.java | 71 +++++++------ .../jewelrycraft/events/ScreenHandler.java | 116 +++++++-------------- 3 files changed, 80 insertions(+), 119 deletions(-) (limited to 'src/main/java/darkknight/jewelrycraft/events') diff --git a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java index 0bc2257..0419c7f 100644 --- a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java @@ -22,7 +22,9 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; +import net.minecraft.util.StatCollector; import net.minecraft.util.WeightedRandom; import net.minecraftforge.client.event.EntityViewRenderEvent; import net.minecraftforge.event.entity.EntityJoinWorldEvent; @@ -148,8 +150,7 @@ public class EntityEventHandler { JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); if (addedCurses) { JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo()); - // player.openGui(JewelrycraftMod.instance, 4, - // player.worldObj, 0, 0, 0); + player.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("curse." + Variables.MODID + ".activated"))); addedCurses = false; } } @@ -184,7 +185,7 @@ public class EntityEventHandler { if (entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entity; NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); - if (!(event.source.getEntity() instanceof EntityPlayer)) { + if (!(event.source.getEntity() instanceof EntityPlayer) && !player.capabilities.isCreativeMode) { if (!player.worldObj.isRemote) for (int i = 0; i < 18; i++) if (playerInfo.hasKey("ext" + i)) { NBTTagCompound nbt = (NBTTagCompound) playerInfo.getTag("ext" + i); @@ -207,7 +208,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 && !event.source.isUnblockable()) { + if (!player.worldObj.isRemote && !player.capabilities.isCreativeMode && (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()); @@ -232,7 +233,7 @@ public class EntityEventHandler { Iterator iterator = enemies.iterator(); while (iterator.hasNext()) { Entity enemy = (Entity) iterator.next(); - enemy.attackEntityFrom(DamageSourceList.blackHeart, 5f * event.ammount); + enemy.attackEntityFrom(DamageSourceList.blackHeart, 2f * event.ammount); } } float damage = playerInfo.getFloat("BlackHeart") - event.ammount; @@ -270,6 +271,7 @@ public class EntityEventHandler { } if (ConfigHandler.CURSES_ENABLED) for (Curse curse : Curse.getCurseList()) if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) curse.attackedByPlayerAction(entity.worldObj, player, entity); + if(entity instanceof EntityHeart && entity.getAge() < 50) event.setCanceled(true); } } diff --git a/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java b/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java index 948a422..5104426 100644 --- a/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java +++ b/src/main/java/darkknight/jewelrycraft/events/KeyBindings.java @@ -1,35 +1,38 @@ -package darkknight.jewelrycraft.events; - -import net.minecraft.client.settings.KeyBinding; -import org.lwjgl.input.Keyboard; -import cpw.mods.fml.client.registry.ClientRegistry; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.InputEvent; -import darkknight.jewelrycraft.JewelrycraftMod; -import darkknight.jewelrycraft.network.PacketKeyPressEvent; -import darkknight.jewelrycraft.util.Variables; - -public class KeyBindings -{ - public static KeyBinding render = new KeyBinding("Pretty Render", Keyboard.KEY_Z, Variables.MODNAME); - public static KeyBinding inventory = new KeyBinding("Jewelry Inventory", Keyboard.KEY_J, Variables.MODNAME); - - /** - * - */ - public KeyBindings() - { - ClientRegistry.registerKeyBinding(render); - ClientRegistry.registerKeyBinding(inventory); - } - - /** - * @param event - */ - @SubscribeEvent - public void onKeyInput(InputEvent.KeyInputEvent event) - { - if (render.isPressed()) JewelrycraftMod.fancyRender = !JewelrycraftMod.fancyRender; - if (inventory.isPressed()) JewelrycraftMod.netWrapper.sendToServer(new PacketKeyPressEvent(0)); - } +package darkknight.jewelrycraft.events; + +import net.minecraft.client.settings.KeyBinding; +import org.lwjgl.input.Keyboard; +import cpw.mods.fml.client.registry.ClientRegistry; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.InputEvent; +import darkknight.jewelrycraft.JewelrycraftMod; +import darkknight.jewelrycraft.network.PacketKeyPressEvent; +import darkknight.jewelrycraft.util.Variables; + +public class KeyBindings +{ + public static KeyBinding render = new KeyBinding("Pretty Render", Keyboard.KEY_Z, Variables.MODNAME); + public static KeyBinding inventory = new KeyBinding("Jewelry Inventory", Keyboard.KEY_J, Variables.MODNAME); + public static KeyBinding curses = new KeyBinding("Curses Tab", Keyboard.KEY_C, Variables.MODNAME); + + /** + * + */ + public KeyBindings() + { + ClientRegistry.registerKeyBinding(render); + ClientRegistry.registerKeyBinding(inventory); + ClientRegistry.registerKeyBinding(curses); + } + + /** + * @param event + */ + @SubscribeEvent + public void onKeyInput(InputEvent.KeyInputEvent event) + { + if (render.isPressed()) JewelrycraftMod.fancyRender = !JewelrycraftMod.fancyRender; + if (inventory.isPressed()) JewelrycraftMod.netWrapper.sendToServer(new PacketKeyPressEvent(0)); + if (curses.isPressed()) JewelrycraftMod.netWrapper.sendToServer(new PacketKeyPressEvent(1)); + } } \ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java b/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java index b8df767..c86597e 100644 --- a/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/ScreenHandler.java @@ -15,84 +15,40 @@ import darkknight.jewelrycraft.api.Curse; import darkknight.jewelrycraft.config.ConfigHandler; import darkknight.jewelrycraft.util.Variables; -public class ScreenHandler extends Gui -{ - private Minecraft mc; - public static NBTTagCompound tagCache = null; - public static int cooldown; - - public ScreenHandler(Minecraft mc) - { - super(); - this.mc = mc; - } - - @SubscribeEvent - public void renderScreen(RenderGameOverlayEvent event) - { - if (event.isCancelable() || event.type != ElementType.ALL || tagCache == null) return; - if (!mc.gameSettings.showDebugInfo && !(mc.currentScreen instanceof GuiChat)){ - int count = 0; - int size = 32; - ScaledResolution resolution = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight); - if (tagCache.hasKey("cursePoints") && tagCache.getInteger("cursePoints") > 0){ - mc.renderEngine.bindTexture(Variables.MISC_TEXTURE); - if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList()){ - if (curse.canCurseBeActivated(mc.theWorld) && tagCache.hasKey(curse.getName()) && tagCache.getInteger(curse.getName()) > 0){ - drawTexturedModalRect(-16, -16 + (size - 6) * count, 0, 32, 144, 60); - count++; - } - } - count = 0; - if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList()) - if (curse.canCurseBeActivated(mc.theWorld) && tagCache.hasKey(curse.getName()) && tagCache.getInteger(curse.getName()) > 0){ - mc.renderEngine.bindTexture(new ResourceLocation(Variables.MODID, "textures/gui/" + curse.getTexturePack() + ".png")); - int tag = curse.getTextureID(); - GL11.glPushMatrix(); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glScalef(0.45f, 0.45f, 0.0f); - drawTexturedModalRect(28, 18 + (size + 26) * count, tag % 8 * size, tag / 8 * size, size, size); - GL11.glPopMatrix(); - count++; - } - count = 0; - size = 16; - if (ConfigHandler.CURSES_ENABLED) for(Curse curse: Curse.getCurseList()) - if (curse.canCurseBeActivated(mc.theWorld) && tagCache.hasKey(curse.getName()) && tagCache.getInteger(curse.getName()) > 0){ - mc.fontRenderer.drawStringWithShadow(curse.getName().split(":")[1], 30, 11 + (size + 10) * count, 16777215); - if (tagCache.getInteger(curse.getName()) == 2){ - mc.renderEngine.bindTexture(Variables.MISC_TEXTURE); - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glColor4f(1f, 1f, 1f, 0.5f); - drawTexturedModalRect(95, 7 + (size + 10) * count, 3 * size, 0, size, size); - GL11.glPopMatrix(); - } - count++; - } - } - GL11.glPushMatrix(); - GL11.glColor4f(1f, 1f, 1f, 1.0f); - mc.renderEngine.bindTexture(Variables.MISC_TEXTURE); - count = 0; - size = 16; - if (tagCache.getFloat("BlueHeart") > 0){ - drawTexturedModalRect(resolution.getScaledWidth()/2 + 90 + 35*count, resolution.getScaledHeight() - 20, 0 * size, 0 * size, size, size); - mc.fontRenderer.drawStringWithShadow("x" + (MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F), resolution.getScaledWidth()/2 + 105 + 35*count, resolution.getScaledHeight() - 16, 16777215); - } - count++; - mc.renderEngine.bindTexture(Variables.MISC_TEXTURE); - if (tagCache.getFloat("BlackHeart") > 0){ - drawTexturedModalRect(resolution.getScaledWidth()/2 + 90 + (mc.fontRenderer.getStringWidth(String.valueOf((MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F))) - 14) + 35*count, resolution.getScaledHeight() - 20, 1 * size, 0 * size, size, size); - mc.fontRenderer.drawStringWithShadow("x" + (MathHelper.ceiling_float_int(tagCache.getFloat("BlackHeart")) / 2.0F), resolution.getScaledWidth()/2 + 105 + (mc.fontRenderer.getStringWidth(String.valueOf((MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F))) - 14) + 35*count, resolution.getScaledHeight() - 16, 16777215); - } - count++; - mc.renderEngine.bindTexture(Variables.MISC_TEXTURE); - if (tagCache.getFloat("WhiteHeart") > 0) - drawTexturedModalRect(resolution.getScaledWidth()/2 + 90 + (mc.fontRenderer.getStringWidth(String.valueOf((MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F))) - 14) + (mc.fontRenderer.getStringWidth(String.valueOf((MathHelper.ceiling_float_int(tagCache.getFloat("BlackHeart")) / 2.0F))) - 14) + 35*count, resolution.getScaledHeight() - 20, 2 * size, 1 * size, size, size); - GL11.glPopMatrix(); - } - } +public class ScreenHandler extends Gui { + private Minecraft mc; + public static NBTTagCompound tagCache = null; + public static int cooldown; + + public ScreenHandler(Minecraft mc) { + super(); + this.mc = mc; + } + + @SubscribeEvent + public void renderScreen(RenderGameOverlayEvent event) { + if (event.isCancelable() || event.type != ElementType.ALL || tagCache == null) return; + int count = 0; + int size = 32; + ScaledResolution resolution = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight); + GL11.glPushMatrix(); + GL11.glColor4f(1f, 1f, 1f, 1.0f); + mc.renderEngine.bindTexture(Variables.MISC_TEXTURE); + count = 0; + size = 16; + if (tagCache.getFloat("BlueHeart") > 0) { + drawTexturedModalRect(resolution.getScaledWidth() / 2 + 90 + 35 * count, resolution.getScaledHeight() - 20, 0 * size, 0 * size, size, size); + mc.fontRenderer.drawStringWithShadow("x" + (MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F), resolution.getScaledWidth() / 2 + 105 + 35 * count, resolution.getScaledHeight() - 16, 16777215); + } + count++; + mc.renderEngine.bindTexture(Variables.MISC_TEXTURE); + if (tagCache.getFloat("BlackHeart") > 0) { + drawTexturedModalRect(resolution.getScaledWidth() / 2 + 90 + (mc.fontRenderer.getStringWidth(String.valueOf((MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F))) - 14) + 35 * count, resolution.getScaledHeight() - 20, 1 * size, 0 * size, size, size); + mc.fontRenderer.drawStringWithShadow("x" + (MathHelper.ceiling_float_int(tagCache.getFloat("BlackHeart")) / 2.0F), resolution.getScaledWidth() / 2 + 105 + (mc.fontRenderer.getStringWidth(String.valueOf((MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F))) - 14) + 35 * count, resolution.getScaledHeight() - 16, 16777215); + } + count++; + mc.renderEngine.bindTexture(Variables.MISC_TEXTURE); + if (tagCache.getFloat("WhiteHeart") > 0) drawTexturedModalRect(resolution.getScaledWidth() / 2 + 90 + (mc.fontRenderer.getStringWidth(String.valueOf((MathHelper.ceiling_float_int(tagCache.getFloat("BlueHeart")) / 2.0F))) - 14) + (mc.fontRenderer.getStringWidth(String.valueOf((MathHelper.ceiling_float_int(tagCache.getFloat("BlackHeart")) / 2.0F))) - 14) + 35 * count, resolution.getScaledHeight() - 20, 2 * size, 1 * size, size, size); + GL11.glPopMatrix(); + } } \ No newline at end of file -- cgit v1.2.3