forked from TAIGA/TAIGA
Reformatted tinker page for type ore to get coloured titles, and reduced the size of the icon.
This commit is contained in:
@@ -24,7 +24,7 @@ public class Blocks {
|
||||
|
||||
|
||||
// blocks and ores spawned via worldgen
|
||||
public static Block basaltBlock = new BasicBlock("basalt_block", Material.ROCK, 20.0f, 35.0f, DIAMOND, PREFIX_BLOCK);
|
||||
public static Block basaltBlock = new BasicBlock("basalt_block", Material.ROCK, 20.0f, 35.0f, IRON, PREFIX_BLOCK);
|
||||
public static Block tiberiumOre = new BlockTiberium();
|
||||
public static Block auroriumOre = new BasicBlock("aurorium_ore", Material.ROCK, 15.0f, 12f, COBALT, 0.2f, PREFIX_ORE);
|
||||
public static Block prometheumOre = new BasicBlock("prometheum_ore", Material.ROCK, 20.0f, 12f, DURANITE, 0.4f, PREFIX_ORE);
|
||||
|
||||
@@ -17,12 +17,14 @@ import java.util.List;
|
||||
|
||||
public class ContentOre extends TinkerPage {
|
||||
|
||||
public static final transient int INPUT_X = 100;
|
||||
public static final transient int INPUT_X = 110;
|
||||
public static final transient int INPUT_Y = 80;
|
||||
|
||||
public static final transient float ITEM_SCALE = 1.75F;
|
||||
public static final transient float ITEM_SCALE = 1.5F;
|
||||
|
||||
public String title = "Ore";
|
||||
public int r, g, b;
|
||||
|
||||
public ItemStackData input;
|
||||
public TextData[] description;
|
||||
public String[] informations;
|
||||
@@ -33,9 +35,9 @@ public class ContentOre extends TinkerPage {
|
||||
|
||||
TextData tdTitle = new TextData(title);
|
||||
tdTitle.underlined = true;
|
||||
//list.add(new ElementText(GuiBook.PAGE_WIDTH/2, 0, GuiBook.PAGE_WIDTH, 9, new TextData[]{tdTitle}));
|
||||
|
||||
addTitle(list, CustomFontColor.encodeColor(0xcccccc) + title, true);
|
||||
|
||||
addTitle(list, CustomFontColor.encodeColor(r, g, b) + title, true);
|
||||
|
||||
if (input != null && !input.id.equals("")) {
|
||||
list.add(new ElementItem(INPUT_X, INPUT_Y, ITEM_SCALE * 2.5f, input.getItems(), input.action));
|
||||
|
||||
@@ -1,203 +0,0 @@
|
||||
package com.sosnitzka.taiga.book;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import slimeknights.mantle.client.book.data.BookData;
|
||||
import slimeknights.mantle.client.book.data.element.ImageData;
|
||||
import slimeknights.mantle.client.book.data.element.TextData;
|
||||
import slimeknights.mantle.client.gui.book.GuiBook;
|
||||
import slimeknights.mantle.client.gui.book.element.BookElement;
|
||||
import slimeknights.mantle.client.gui.book.element.ElementImage;
|
||||
import slimeknights.mantle.client.gui.book.element.ElementText;
|
||||
import slimeknights.tconstruct.common.ClientProxy;
|
||||
import slimeknights.tconstruct.library.TinkerRegistry;
|
||||
import slimeknights.tconstruct.library.Util;
|
||||
import slimeknights.tconstruct.library.book.TinkerPage;
|
||||
import slimeknights.tconstruct.library.book.elements.ElementTinkerItem;
|
||||
import slimeknights.tconstruct.library.client.CustomFontColor;
|
||||
import slimeknights.tconstruct.library.materials.Material;
|
||||
import slimeknights.tconstruct.library.modifiers.IModifier;
|
||||
import slimeknights.tconstruct.library.modifiers.IModifierDisplay;
|
||||
import slimeknights.tconstruct.library.tools.ToolCore;
|
||||
import slimeknights.tconstruct.tools.TinkerMaterials;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class ContentOres extends TinkerPage {
|
||||
|
||||
public static final transient String ID = "modifier";
|
||||
|
||||
public static final transient int TEX_SIZE = 256;
|
||||
//public static final transient ImageData IMG_MODIFY = new ImageData(ClientProxy.BOOK_MODIFY), 0, 0, 122, 70, TEX_SIZE, TEX_SIZE);
|
||||
public static final transient ImageData IMG_SLOT_1 = new ImageData(ClientProxy.BOOK_MODIFY, 0, 75, 22, 22, TEX_SIZE, TEX_SIZE);
|
||||
public static final transient ImageData IMG_SLOT_2 = new ImageData(ClientProxy.BOOK_MODIFY, 0, 97, 40, 22, TEX_SIZE, TEX_SIZE);
|
||||
public static final transient ImageData IMG_SLOT_3 = new ImageData(ClientProxy.BOOK_MODIFY, 0, 119, 58, 22, TEX_SIZE, TEX_SIZE);
|
||||
public static final transient ImageData IMG_SLOT_5 = new ImageData(ClientProxy.BOOK_MODIFY, 0, 141, 58, 41, TEX_SIZE, TEX_SIZE);
|
||||
public static final transient ImageData IMG_TABLE = new ImageData(ClientProxy.BOOK_MODIFY, 214, 0, 42, 46, TEX_SIZE, TEX_SIZE);
|
||||
public TextData[] text;
|
||||
public String[] effects;
|
||||
@SerializedName("modifier")
|
||||
public String modifierName;
|
||||
public String[] demoTool = new String[]{Util.getResource("pickaxe").toString()};
|
||||
private transient IModifier modifier;
|
||||
private transient List<Item> tool;
|
||||
|
||||
public ContentOres() {
|
||||
}
|
||||
|
||||
public ContentOres(IModifier modifier) {
|
||||
this.modifier = modifier;
|
||||
this.modifierName = modifier.getIdentifier();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load() {
|
||||
if (modifierName == null) {
|
||||
modifierName = parent.name;
|
||||
}
|
||||
if (modifier == null) {
|
||||
modifier = TinkerRegistry.getModifier(modifierName);
|
||||
}
|
||||
if (tool == null) {
|
||||
tool = Lists.newArrayList();
|
||||
for (String entry : demoTool) {
|
||||
Item item = Item.REGISTRY.getObject(new ResourceLocation(entry));
|
||||
if (item != null) {
|
||||
tool.add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void build(BookData book, ArrayList<BookElement> list, boolean rightSide) {
|
||||
int color = 0xdddddd;
|
||||
int inCount = 1;
|
||||
ItemStack[][] inputItems = null;
|
||||
if (modifier instanceof IModifierDisplay) {
|
||||
IModifierDisplay modifierDisplay = (IModifierDisplay) modifier;
|
||||
color = modifierDisplay.getColor();
|
||||
|
||||
// determine how many slots we need to display
|
||||
List<List<ItemStack>> inputList = modifierDisplay.getItems(); // cache it, can be expensive
|
||||
inputItems = new ItemStack[5][]; // max size so we don't have to iterate twice
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
inputItems[i] = new ItemStack[inputList.size()];
|
||||
}
|
||||
|
||||
for (int i = 0; i < inputList.size(); i++) {
|
||||
List<ItemStack> inputs = new ArrayList<>(inputList.get(i));
|
||||
if (inputs.size() > inCount) {
|
||||
inCount = inputs.size();
|
||||
}
|
||||
|
||||
for (int j = 0; j < inputs.size() && j < 5; j++) {
|
||||
ItemStack stack = inputs.get(j);
|
||||
if (stack != null && stack.getMetadata() == OreDictionary.WILDCARD_VALUE) {
|
||||
stack = stack.copy();
|
||||
stack.setItemDamage(0);
|
||||
}
|
||||
inputItems[j][i] = stack;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
addTitle(list, CustomFontColor.encodeColor(color) + modifier.getLocalizedName(), true);
|
||||
|
||||
// description
|
||||
int h = GuiBook.PAGE_WIDTH / 3 - 10;
|
||||
list.add(new ElementText(10, 20, GuiBook.PAGE_WIDTH - 20, h, text));
|
||||
|
||||
if (effects.length > 0) {
|
||||
TextData head = new TextData(parent.translate("modifier.effect"));
|
||||
head.underlined = true;
|
||||
list.add(new ElementText(10, 20 + h, GuiBook.PAGE_WIDTH / 2 - 5, GuiBook.PAGE_HEIGHT - h - 20, head));
|
||||
|
||||
List<TextData> effectData = Lists.newArrayList();
|
||||
for (String e : effects) {
|
||||
effectData.add(new TextData("\u25CF "));
|
||||
effectData.add(new TextData(e));
|
||||
effectData.add(new TextData("\n"));
|
||||
}
|
||||
|
||||
list.add(new ElementText(10, 30 + h, GuiBook.PAGE_WIDTH / 2 + 5, GuiBook.PAGE_HEIGHT - h - 20, effectData));
|
||||
}
|
||||
|
||||
ImageData img;
|
||||
switch (inCount) {
|
||||
case 1:
|
||||
img = IMG_SLOT_1;
|
||||
break;
|
||||
case 2:
|
||||
img = IMG_SLOT_2;
|
||||
break;
|
||||
case 3:
|
||||
img = IMG_SLOT_3;
|
||||
break;
|
||||
default:
|
||||
img = IMG_SLOT_5;
|
||||
}
|
||||
|
||||
int imgX = GuiBook.PAGE_WIDTH / 2 + 20;
|
||||
int imgY = GuiBook.PAGE_HEIGHT / 2 + 30;
|
||||
|
||||
// move ot towards the center wher ewe want it, since image sice can differ
|
||||
imgX = imgX + 29 - img.width / 2;
|
||||
imgY = imgY + 20 - img.height / 2;
|
||||
|
||||
//int[] slotX = new int[] { 7, 3, 28, 53, 49};
|
||||
//int[] slotY = new int[] {50, 24, 3, 24, 50};
|
||||
int[] slotX = new int[]{3, 21, 39, 12, 30};
|
||||
int[] slotY = new int[]{3, 3, 3, 22, 22};
|
||||
|
||||
//list.add(new ElementItemCustom(imgX + IMG_MODIFY.width/2 - 24, imgY - 25, 3f, new ItemStack(TinkerTools.toolTables, 1, BlockToolTable.TableTypes.ToolStation.meta), new ItemStack(TinkerTools.toolForge)));
|
||||
|
||||
list.add(new ElementImage(imgX + (img.width - IMG_TABLE.width) / 2, imgY - 24, -1, -1, IMG_TABLE));
|
||||
list.add(new ElementImage(imgX, imgY, -1, -1, img, book.appearance.slotColor));
|
||||
|
||||
ItemStack[] demo = getDemoTools(inputItems);
|
||||
|
||||
ElementTinkerItem toolItem = new ElementTinkerItem(imgX + (img.width - 16) / 2, imgY - 24, 1f, demo);
|
||||
toolItem.noTooltip = true;
|
||||
|
||||
list.add(toolItem);
|
||||
list.add(new ElementImage(imgX + (img.width - 22) / 2, imgY - 27, -1, -1, IMG_SLOT_1, 0xffffff));
|
||||
|
||||
if (inputItems != null) {
|
||||
for (int i = 0; i < inCount; i++) {
|
||||
list.add(new ElementTinkerItem(imgX + slotX[i], imgY + slotY[i], 1f, inputItems[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected ItemStack[] getDemoTools(ItemStack[][] inputItems) {
|
||||
ItemStack[] demo = new ItemStack[tool.size()];
|
||||
|
||||
for (int i = 0; i < tool.size(); i++) {
|
||||
if (tool.get(i) instanceof ToolCore) {
|
||||
ToolCore core = (ToolCore) tool.get(i);
|
||||
List<Material> mats = ImmutableList.<Material>of(TinkerMaterials.wood, TinkerMaterials.cobalt, TinkerMaterials.ardite, TinkerMaterials.manyullyn);
|
||||
mats = mats.subList(0, core.getRequiredComponents().size());
|
||||
demo[i] = ((ToolCore) tool.get(i)).buildItemForRendering(mats);
|
||||
} else if (tool != null) {
|
||||
demo[i] = new ItemStack(tool.get(i));
|
||||
}
|
||||
|
||||
if (demo[i] != null) {
|
||||
modifier.apply(demo[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return demo;
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
package com.sosnitzka.taiga.book;
|
||||
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import slimeknights.mantle.client.book.data.BookData;
|
||||
import slimeknights.mantle.client.book.data.content.PageContent;
|
||||
import slimeknights.mantle.client.book.data.element.ImageData;
|
||||
import slimeknights.mantle.client.book.data.element.TextData;
|
||||
import slimeknights.mantle.client.gui.book.GuiBook;
|
||||
import slimeknights.mantle.client.gui.book.element.BookElement;
|
||||
import slimeknights.mantle.client.gui.book.element.ElementImage;
|
||||
import slimeknights.mantle.client.gui.book.element.ElementText;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class ContentTextRightImage extends PageContent {
|
||||
|
||||
public String title;
|
||||
public TextData[] text1;
|
||||
public TextData[] text2;
|
||||
public ImageData image;
|
||||
|
||||
@Override
|
||||
public void build(BookData book, ArrayList<BookElement> list, boolean rightSide) {
|
||||
int y = TITLE_HEIGHT;
|
||||
|
||||
if (title == null || title.isEmpty()) {
|
||||
y = 0;
|
||||
} else {
|
||||
addTitle(list, title);
|
||||
}
|
||||
|
||||
if (text1 != null && text1.length > 0) {
|
||||
list.add(new ElementText(0, y, GuiBook.PAGE_WIDTH - 55, 50, text1));
|
||||
}
|
||||
|
||||
if (image != null && image.location != null) {
|
||||
list.add(new ElementImage(GuiBook.PAGE_WIDTH - 50, y, 50, 50, image));
|
||||
} else {
|
||||
list.add(new ElementImage(GuiBook.PAGE_WIDTH - 50, y, 50, 50, ImageData.MISSING));
|
||||
}
|
||||
|
||||
if (text2 != null && text2.length > 0) {
|
||||
list.add(new ElementText(0, y + 55, GuiBook.PAGE_WIDTH, GuiBook.PAGE_HEIGHT - 55 - y, text2));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user