Editions for the lexica, also a cool render for the cover.

This commit is contained in:
Vasco Lavos committed 2014-06-11 14:32:59 +01:00
1 parent caa3d45e02
commit fdc83024e1
5 files changed
+74 -4

No files matched your search

@@ -13,6 +13,7 @@ package vazkii.botania.client.gui;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.util.ResourceLocation;
@@ -25,6 +26,7 @@ import vazkii.botania.api.lexicon.LexiconCategory;
import vazkii.botania.client.core.handler.ClientTickHandler;
import vazkii.botania.client.gui.button.GuiButtonInvisible;
import vazkii.botania.client.lib.LibResources;
import vazkii.botania.common.item.ItemLexicon;
import vazkii.botania.common.item.ModItems;
public class GuiLexicon extends GuiScreen {
@@ -33,6 +35,7 @@ public class GuiLexicon extends GuiScreen {
public static final ResourceLocation texture = new ResourceLocation(LibResources.GUI_LEXICON);
String title;
int guiWidth = 146;
int guiHeight = 180;
int left, top;
@@ -40,6 +43,7 @@ public class GuiLexicon extends GuiScreen {
@Override
public void initGui() {
super.initGui();
title = Minecraft.getMinecraft().thePlayer.getCurrentEquippedItem().getDisplayName();
currentOpenLexicon = this;
left = width / 2 - guiWidth / 2;
@@ -77,7 +81,7 @@ public class GuiLexicon extends GuiScreen {
void drawHeader() {
boolean unicode = fontRendererObj.getUnicodeFlag();
fontRendererObj.setUnicodeFlag(true);
fontRendererObj.drawSplitString(StatCollector.translateToLocal("botania.gui.lexicon.header"), left + 15, top + 20, 110, 0);
fontRendererObj.drawSplitString(String.format(StatCollector.translateToLocal("botania.gui.lexicon.header"), ItemLexicon.getEdition()), left + 18, top + 14, 110, 0);
fontRendererObj.setUnicodeFlag(unicode);
}
@@ -102,7 +106,7 @@ public class GuiLexicon extends GuiScreen {
}
String getTitle() {
return ModItems.lexicon.getItemStackDisplayName(null);
return title;
}
String getSubtitle() {
@@ -12,15 +12,20 @@
package vazkii.botania.client.render.item;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.model.ModelBook;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import vazkii.botania.client.core.handler.ClientTickHandler;
import vazkii.botania.client.lib.LibResources;
import vazkii.botania.common.item.ItemLexicon;
import vazkii.botania.common.item.ModItems;
public class RenderLexicon implements IItemRenderer {
@@ -47,13 +52,44 @@ public class RenderLexicon implements IItemRenderer {
int ticks = ClientTickHandler.ticksWithLexicaOpen;
GL11.glTranslatef(0.3F + 0.02F * ticks, 0.475F + 0.01F * ticks, -0.2F - 0.01F * ticks);
GL11.glRotatef(95F + ticks * 5, 0F, 1F, 0F);
GL11.glRotatef(87.5F + ticks * 5, 0F, 1F, 0F);
GL11.glRotatef(ticks * 2.5F, 0F, 0F, 1F);
GL11.glScalef(0.9F, 0.9F, 0.9F);
opening = ticks / 12F;
pageFlip = ClientTickHandler.pageFlipTicks / 5F;
model.render(null, 0F, 0F, pageFlip, opening, 0F, 1F / 16F);
if(ticks < 3) {
FontRenderer font = Minecraft.getMinecraft().fontRenderer;
GL11.glRotatef(180F, 0F, 0F, 0F);
GL11.glTranslatef(-0.3F, -0.2F, 0.07F);
GL11.glScalef(0.0035F, 0.0035F, 0.0035F);
String title = ModItems.lexicon.getItemStackDisplayName(null);
if(Minecraft.getMinecraft().thePlayer.getCurrentEquippedItem() != null)
title = Minecraft.getMinecraft().thePlayer.getCurrentEquippedItem().getDisplayName();
font.drawString(title, 0, 0, 0xD69700);
GL11.glTranslatef(0F, 10F, 0F);
GL11.glScalef(0.6F, 0.6F, 0.6F);
font.drawString(EnumChatFormatting.ITALIC + "" + EnumChatFormatting.BOLD + String.format(StatCollector.translateToLocal("botaniamisc.edition"), ItemLexicon.getEdition()), 0, 0, 0xA07100);
GL11.glTranslatef(0F, 15F, 0F);
font.drawString(StatCollector.translateToLocal("botaniamisc.lexiconcover0"), 0, 0, 0x79ff92);
GL11.glTranslatef(0F, 10F, 0F);
font.drawString(EnumChatFormatting.UNDERLINE + StatCollector.translateToLocal("botaniamisc.lexiconcover1"), 0, 0, 0x79ff92);
GL11.glTranslatef(0F, 25F, 0F);
GL11.glPushMatrix();
GL11.glScalef(6F, 6F, 6F);
GL11.glTranslatef(5F, -0.3F, 0F);
font.drawString(EnumChatFormatting.BOLD + "~", 0, 0, 0x002206);
GL11.glPopMatrix();
GL11.glTranslatef(0F, 25F, 0F);
font.drawString(StatCollector.translateToLocal("botaniamisc.lexiconcover2"), 0, 0, 0x79ff92);
GL11.glTranslatef(0F, 10F, 0F);
font.drawString(EnumChatFormatting.ITALIC + StatCollector.translateToLocal("botaniamisc.lexiconcover3"), 0, 0, 0x79ff92);
}
GL11.glPopMatrix();
}
@@ -30,5 +30,10 @@ public final class MathHelper {
entity.motionY = finalVector.y * modifier;
entity.motionZ = finalVector.z * modifier;
}
private static final String[] ORDINAL_SUFFIXES = new String[]{ "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th" };
public static String numberToOrdinal(int i) {
return i % 100 == 11 || i % 100 == 12 || i % 100 == 13 ? i + "th" : i + ORDINAL_SUFFIXES[i % 10];
}
}
@@ -11,16 +11,21 @@
*/
package vazkii.botania.common.item;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import vazkii.botania.api.lexicon.ILexiconable;
import vazkii.botania.api.lexicon.LexiconEntry;
import vazkii.botania.common.Botania;
import vazkii.botania.common.core.helper.MathHelper;
import vazkii.botania.common.lib.LibGuiIDs;
import vazkii.botania.common.lib.LibItemNames;
import vazkii.botania.common.lib.LibMisc;
public class ItemLexicon extends ItemMod {
@@ -48,6 +53,19 @@ public class ItemLexicon extends ItemMod {
return false;
}
@Override
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
String edition = String.format(StatCollector.translateToLocal("botaniamisc.edition"), getEdition());
if(!edition.isEmpty())
par3List.add(edition);
}
public static String getEdition() {
String version = LibMisc.BUILD;
int build = version.contains("ANT") ? 0 : Integer.parseInt(version);
return build == 0 ? StatCollector.translateToLocal("botaniamisc.devEdition") : MathHelper.numberToOrdinal(build);
}
@Override
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) {
par3EntityPlayer.openGui(Botania.instance, LibGuiIDs.LEXICON, par2World, 0, 0, 0);
+8 -1
View File
@@ -25,6 +25,13 @@ botaniamisc.creativePool0=Creative Mana Pool, has infinite Mana
botaniamisc.creativePool1=Worthy of an Egoist
botaniamisc.savedByLaurel=Your Golden Laurel Crown shatters, as it saves you from death.
botaniamisc.toolRank=%s&7 Rank
botaniamisc.edition=%s Edition
# ^ Leave this empty for no edition display
botaniamisc.devEdition=Writer's
botaniamisc.lexiconcover0=Your guide to all
botaniamisc.lexiconcover1=Botanical needs
botaniamisc.lexiconcover2=From Bestselling author
botaniamisc.lexiconcover3=Lizbeth "Vazkii" Rika
# COLORS
botania.color0=White
@@ -426,7 +433,7 @@ item.botania:quartz3.name=Lavender Quartz
item.botania:quartz4.name=Redquartz
# GUI TEXT
botania.gui.lexicon.header=Lexica Botania Index - Pick which category you would like to study:
botania.gui.lexicon.header=Lexica Botania, %s Edition's Index - Pick which category you would like to study:
botania.gui.lexicon.wip=(This entry is a Work In Progress. It's not even it's final form)
# LEXICON CATEGORIES