From 9e3bdacf929e5e85495c82b79f4990c1a4397c5f Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Sat, 15 Aug 2015 18:03:38 +0100 Subject: Updated the changelog as well as added some info on the curses GUI --- changelog.txt | 37 ++++++++++++++++++++-- .../jewelrycraft/client/gui/GuiCurseInfo.java | 32 ++++++++++++++++++- 2 files changed, 66 insertions(+), 3 deletions(-) diff --git a/changelog.txt b/changelog.txt index 1185bb7..5b32814 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,15 +1,48 @@ Added: -- A Gui for Curses (default key is C) +- A GUI for Curses (default key is C) - Curses now have localized names +- Config options to disable each curse individually or curses in general +- Config option to disable or enable extra info on jewelry (it's on by default) +- Crystals now emit particles (can be disabled through a config) +- 1 achievement +- 1 challenge (viewable in the achievements menu) +- 1 new structure +- 1 new curse +- A curse tab in the guide +- The book now remembers the last page and tab you visited +- The ability to activate or deactivate curses in creative through the Curses GUI +- A message telling you how bad of a person you are if you kill a heart +- Sound effects while the ritual is in progress Removed: +- The ore to ingots tab in the guide (it was more for testing anyway) Changed: - Changed Hearts despawn time from 30 to 45 seconds - Hearts now are invulnerable first 3 seconds after they spawn - "Humble Bundle" curse is now called "2 for 1" +- The guide GUI (it's fancy now) +- Crystals have a more random render +- With Pentagram curse you can now steal a maximum of 2 hearts per entity (3 if you completed the challenge) +- Moved the hearts icons so they don't conflict with the battlegears mod +- Structure spawning method so it is more reliable +- Molten metals are more reliable now +- If you destroy a full smelter it will drop 6 cobblestone, a bucket of lava and a bucket of the molten metal it contained +- The text in the guide is now slightly smaller +- Vampire Hunger now has a 50% to heal you when attacking a creature +- You will be set on fire if you go outside during the day while having Vampire Hunger active +- Aurelyium Pink Crystal to Razzium Pink Crystal +- Vazkiium Magenta Crystal to Aurelyium Magenta Crystal Fixed: - Pentagram should now be visible for everybody (aka people can now see the pentagram underneath you) - Hearts are no longer removed if in creative (so if you take damage in creative the extra hearts don't get removed) -- Shadow Eye rotation \ No newline at end of file +- Cursed Eye now follows you properly +- Hearts now protect you from all damages (not just physical) +- White Hearts not adding an extra heart in multiplayer +- Some recipes being wrong in the guide +- NEI not showing the recipes of some blocks +- A lot of sync issues between the client and server (woohoo) +- Smelters will now the block if you destroy them +- The console log is a bit cleaner now +- Displayer text being weird, displaying the same text twice \ No newline at end of file diff --git a/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java b/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java index c0c48cd..1d29d23 100644 --- a/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java +++ b/src/main/java/darkknight/jewelrycraft/client/gui/GuiCurseInfo.java @@ -1,5 +1,6 @@ package darkknight.jewelrycraft.client.gui; +import java.util.ArrayList; import java.util.List; import org.lwjgl.input.Keyboard; @@ -7,6 +8,7 @@ import org.lwjgl.opengl.GL11; import darkknight.jewelrycraft.JewelrycraftMod; import darkknight.jewelrycraft.api.Curse; +import darkknight.jewelrycraft.client.Page; import darkknight.jewelrycraft.client.TabCurses; import darkknight.jewelrycraft.client.TabRegistry; import darkknight.jewelrycraft.config.ConfigHandler; @@ -14,14 +16,17 @@ import darkknight.jewelrycraft.events.KeyBindings; import darkknight.jewelrycraft.network.PacketSendClientPlayerInfo; import darkknight.jewelrycraft.network.PacketSendServerPlayerInfo; import darkknight.jewelrycraft.network.PacketSendServerPlayersInfo; +import darkknight.jewelrycraft.util.JewelrycraftUtil; import darkknight.jewelrycraft.util.PlayerUtils; import darkknight.jewelrycraft.util.Variables; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import scala.swing.event.Key; @@ -59,10 +64,35 @@ public class GuiCurseInfo extends GuiContainer { else creativeCurses(playerInfo); if (playerInfo.hasKey("cursePoints")) this.drawString(fontRendererObj, "Curse points: " + playerInfo.getInteger("cursePoints") + " | Active curses: " + playerInfo.getInteger("activeCurses"), guiLeft, guiTop - 10, 0xffffff); } - this.drawString(fontRendererObj, page + "/" + maxPages, guiLeft + 90, guiTop + 153, 0xffffff); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft + 5, guiTop + ySize - 14, 0, ySize, 13, 11); drawTexturedModalRect(guiLeft + xSize - 38, guiTop + ySize - 14, 13, ySize, 13, 11); + this.drawString(fontRendererObj, page + "/" + maxPages, guiLeft + 90, guiTop + 153, 0xffffff); + this.drawString(fontRendererObj, "Click on an active curse to see its description", guiLeft, guiTop + 170, 0xffffff); + if(player.capabilities.isCreativeMode){ + drawText(this, "To enable or disable a curse simply hold the CTRL key and click on one.", guiLeft - 100, guiTop, 20, 0xff0000); + drawText(this, "If you do not have any curse points you need to type the command '/jw addCursePoints [playerUsername] [no of curse points]'. If you don't do this any curse you activate won't have any effect.", guiLeft - 100, guiTop + 50, 20, 0xff0000); + } + } + + public static void drawText(GuiCurseInfo gui, String text, int x, int y, int characters, int color) + { + String[] s = text.split(" "); + String displayText = ""; + ArrayList textLines = new ArrayList(); + for(String element: s) + if ((displayText + element + " ").length() <= characters) displayText += element + " "; + else{ + textLines.add(displayText.trim()); + displayText = element + " "; + } + textLines.add(displayText.trim()); + for(int i = 0; i < textLines.size(); i++) + gui.drawString(gui.getFont(), textLines.get(i), x, y + i * 9, color); + } + + public FontRenderer getFont() { + return fontRendererObj; } private void survivalCurses(NBTTagCompound playerInfo) { -- cgit v1.2.3