diff --git a/build.gradle b/build.gradle index a7ff58b1..5f01a3ff 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ buildscript { apply plugin: 'forge' version = "2.0-pre15" -if(System.getenv("BUILD_NUMBER")!=null){ +if (System.getenv("BUILD_NUMBER") != null) { version = version + "-b" + System.getenv("BUILD_NUMBER") } group = "binnie" // http://maven.apache.org/guides/mini/guide-naming-conventions.html @@ -26,7 +26,7 @@ archivesBaseName = "binnie-mods" sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 -// uncoment this hack if you use old IDEA +// uncomment this hack if you use old IDEA /*sourceSets { main { output.resourcesDir = output.classesDir diff --git a/src/main/java/binnie/botany/core/BotanyGUI.java b/src/main/java/binnie/botany/core/BotanyGUI.java index 965aef9c..cb87ead3 100644 --- a/src/main/java/binnie/botany/core/BotanyGUI.java +++ b/src/main/java/binnie/botany/core/BotanyGUI.java @@ -5,9 +5,9 @@ package binnie.botany.core; import net.minecraft.tileentity.TileEntity; -import binnie.craftgui.botany.WindowBotanistDatabase; +import binnie.botany.craftgui.WindowBotanistDatabase; import net.minecraft.inventory.IInventory; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.world.World; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/binnie/craftgui/botany/ControlColourDisplay.java b/src/main/java/binnie/botany/craftgui/ControlColourDisplay.java similarity index 68% rename from src/main/java/binnie/craftgui/botany/ControlColourDisplay.java rename to src/main/java/binnie/botany/craftgui/ControlColourDisplay.java index fb17c136..7dfefd24 100644 --- a/src/main/java/binnie/craftgui/botany/ControlColourDisplay.java +++ b/src/main/java/binnie/botany/craftgui/ControlColourDisplay.java @@ -2,16 +2,16 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.botany; +package binnie.botany.craftgui; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.ITooltip; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.ITooltip; import binnie.botany.api.IFlowerColour; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.controls.core.Control; public class ControlColourDisplay extends Control implements IControlValue, ITooltip { @@ -19,7 +19,7 @@ public class ControlColourDisplay extends Control implements IControlValue { diff --git a/src/main/java/binnie/craftgui/botany/ControlColourMixItem.java b/src/main/java/binnie/botany/craftgui/ControlColourMixItem.java similarity index 85% rename from src/main/java/binnie/craftgui/botany/ControlColourMixItem.java rename to src/main/java/binnie/botany/craftgui/ControlColourMixItem.java index b0823ab4..64f0b798 100644 --- a/src/main/java/binnie/craftgui/botany/ControlColourMixItem.java +++ b/src/main/java/binnie/botany/craftgui/ControlColourMixItem.java @@ -2,13 +2,13 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.botany; +package binnie.botany.craftgui; import binnie.core.genetics.BreedingSystem; -import binnie.craftgui.mod.database.WindowAbstractDatabase; -import binnie.craftgui.controls.listbox.ControlList; +import binnie.core.craftgui.database.WindowAbstractDatabase; +import binnie.core.craftgui.controls.listbox.ControlList; import binnie.botany.api.IColourMix; -import binnie.craftgui.controls.listbox.ControlOption; +import binnie.core.craftgui.controls.listbox.ControlOption; public class ControlColourMixItem extends ControlOption { diff --git a/src/main/java/binnie/craftgui/botany/ControlColourMixSymbol.java b/src/main/java/binnie/botany/craftgui/ControlColourMixSymbol.java similarity index 67% rename from src/main/java/binnie/craftgui/botany/ControlColourMixSymbol.java rename to src/main/java/binnie/botany/craftgui/ControlColourMixSymbol.java index 6596633a..5cd57cf4 100644 --- a/src/main/java/binnie/craftgui/botany/ControlColourMixSymbol.java +++ b/src/main/java/binnie/botany/craftgui/ControlColourMixSymbol.java @@ -2,19 +2,19 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.botany; +package binnie.botany.craftgui; -import binnie.craftgui.resource.minecraft.StandardTexture; -import binnie.craftgui.resource.minecraft.CraftGUITextureSheet; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; +import binnie.core.craftgui.resource.minecraft.StandardTexture; +import binnie.core.craftgui.resource.minecraft.CraftGUITextureSheet; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.CraftGUI; import binnie.botany.api.IColourMix; -import binnie.craftgui.resource.Texture; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.resource.Texture; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.controls.core.Control; public class ControlColourMixSymbol extends Control implements ITooltip { @@ -38,12 +38,12 @@ public class ControlColourMixSymbol extends Control implements ITooltip super(parent, x, y, 16 + type * 16, 16.0f); this.value = null; this.type = type; - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); } public void setValue(final IColourMix value) { this.value = value; - this.setColour(16777215); + this.setColor(16777215); } @Override diff --git a/src/main/java/binnie/craftgui/botany/ControlColourOption.java b/src/main/java/binnie/botany/craftgui/ControlColourOption.java similarity index 72% rename from src/main/java/binnie/craftgui/botany/ControlColourOption.java rename to src/main/java/binnie/botany/craftgui/ControlColourOption.java index 8e56ef6d..c7ada06a 100644 --- a/src/main/java/binnie/craftgui/botany/ControlColourOption.java +++ b/src/main/java/binnie/botany/craftgui/ControlColourOption.java @@ -2,15 +2,15 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.botany; +package binnie.botany.craftgui; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.geometry.CraftGUIUtil; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.controls.listbox.ControlList; -import binnie.craftgui.core.geometry.IPoint; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.geometry.CraftGUIUtil; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.listbox.ControlList; +import binnie.core.craftgui.geometry.IPoint; import binnie.botany.api.IFlowerColour; -import binnie.craftgui.controls.listbox.ControlTextOption; +import binnie.core.craftgui.controls.listbox.ControlTextOption; public class ControlColourOption extends ControlTextOption { @@ -21,7 +21,7 @@ public class ControlColourOption extends ControlTextOption super(controlList, option, option.getName(), y); this.setSize(new IPoint(this.getSize().x(), 20.0f)); (this.controlBee = new ControlColourDisplay(this, 2.0f, 2.0f)).setValue(option); - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); CraftGUIUtil.moveWidget(this.textWidget, new IPoint(22.0f, 0.0f)); this.textWidget.setSize(this.textWidget.getSize().sub(new IPoint(24.0f, 0.0f))); final int th = (int) CraftGUI.Render.textHeight(this.textWidget.getValue(), this.textWidget.getSize().x()); diff --git a/src/main/java/binnie/craftgui/botany/PageColourMix.java b/src/main/java/binnie/botany/craftgui/PageColourMix.java similarity index 78% rename from src/main/java/binnie/craftgui/botany/PageColourMix.java rename to src/main/java/binnie/botany/craftgui/PageColourMix.java index cf7a0046..32aff27c 100644 --- a/src/main/java/binnie/craftgui/botany/PageColourMix.java +++ b/src/main/java/binnie/botany/craftgui/PageColourMix.java @@ -2,18 +2,18 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.botany; +package binnie.botany.craftgui; import java.util.List; import binnie.botany.core.BotanyCore; import binnie.botany.api.IColourMix; import java.util.ArrayList; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.mod.database.DatabaseTab; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; import binnie.botany.api.IFlowerColour; -import binnie.craftgui.mod.database.PageAbstract; +import binnie.core.craftgui.database.PageAbstract; public class PageColourMix extends PageAbstract { diff --git a/src/main/java/binnie/craftgui/botany/PageColourMixResultant.java b/src/main/java/binnie/botany/craftgui/PageColourMixResultant.java similarity index 78% rename from src/main/java/binnie/craftgui/botany/PageColourMixResultant.java rename to src/main/java/binnie/botany/craftgui/PageColourMixResultant.java index 03fe4001..747f3414 100644 --- a/src/main/java/binnie/craftgui/botany/PageColourMixResultant.java +++ b/src/main/java/binnie/botany/craftgui/PageColourMixResultant.java @@ -2,18 +2,18 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.botany; +package binnie.botany.craftgui; import java.util.List; import binnie.botany.core.BotanyCore; import binnie.botany.api.IColourMix; import java.util.ArrayList; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.mod.database.DatabaseTab; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; import binnie.botany.api.IFlowerColour; -import binnie.craftgui.mod.database.PageAbstract; +import binnie.core.craftgui.database.PageAbstract; public class PageColourMixResultant extends PageAbstract { diff --git a/src/main/java/binnie/craftgui/botany/PageSpeciesFlowerGenome.java b/src/main/java/binnie/botany/craftgui/PageSpeciesFlowerGenome.java similarity index 87% rename from src/main/java/binnie/craftgui/botany/PageSpeciesFlowerGenome.java rename to src/main/java/binnie/botany/craftgui/PageSpeciesFlowerGenome.java index 2afa3a23..f3f5b051 100644 --- a/src/main/java/binnie/craftgui/botany/PageSpeciesFlowerGenome.java +++ b/src/main/java/binnie/botany/craftgui/PageSpeciesFlowerGenome.java @@ -2,30 +2,29 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.botany; +package binnie.botany.craftgui; import net.minecraft.item.ItemStack; import binnie.botany.api.IAlleleFlowerSpecies; import binnie.botany.api.IFlowerGenome; import forestry.api.genetics.IAllele; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.minecraft.control.ControlItemDisplay; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; import binnie.botany.api.EnumFlowerStage; import binnie.botany.api.IFlower; import forestry.api.genetics.IIndividual; import binnie.botany.core.BotanyCore; -import forestry.api.genetics.IChromosomeType; import binnie.botany.api.EnumFlowerChromosome; -import binnie.craftgui.controls.core.Control; -import binnie.craftgui.controls.scroll.ControlScrollableContent; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.scroll.ControlScrollableContent; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.controls.ControlText; import binnie.Binnie; import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.mod.database.DatabaseTab; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.mod.database.PageSpecies; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.database.PageSpecies; public class PageSpeciesFlowerGenome extends PageSpecies { diff --git a/src/main/java/binnie/craftgui/botany/WindowBotanistDatabase.java b/src/main/java/binnie/botany/craftgui/WindowBotanistDatabase.java similarity index 77% rename from src/main/java/binnie/craftgui/botany/WindowBotanistDatabase.java rename to src/main/java/binnie/botany/craftgui/WindowBotanistDatabase.java index d9724de6..12bb6acc 100644 --- a/src/main/java/binnie/craftgui/botany/WindowBotanistDatabase.java +++ b/src/main/java/binnie/botany/craftgui/WindowBotanistDatabase.java @@ -2,33 +2,34 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.botany; +package binnie.botany.craftgui; -import binnie.craftgui.controls.scroll.ControlScrollableContent; -import binnie.craftgui.mod.database.PageBreeder; -import java.util.List; -import java.util.ArrayList; -import binnie.craftgui.controls.listbox.ControlList; -import binnie.botany.api.IFlowerColour; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.mod.database.PageBranchSpecies; -import binnie.craftgui.mod.database.PageBranchOverview; -import binnie.craftgui.mod.database.PageSpeciesMutations; -import binnie.craftgui.mod.database.PageSpeciesResultant; -import binnie.craftgui.mod.database.PageSpeciesClassification; -import binnie.craftgui.core.IWidget; -import binnie.core.AbstractMod; -import binnie.craftgui.mod.database.DatabaseTab; -import binnie.botany.Botany; -import binnie.craftgui.mod.database.IDatabaseMode; -import binnie.craftgui.mod.database.PageSpeciesOverview; -import binnie.craftgui.minecraft.Window; import binnie.Binnie; +import binnie.botany.Botany; +import binnie.botany.api.IFlowerColour; +import binnie.botany.genetics.EnumFlowerColor; +import binnie.core.AbstractMod; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.listbox.ControlList; +import binnie.core.craftgui.controls.listbox.ControlListBox; +import binnie.core.craftgui.controls.scroll.ControlScrollableContent; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.database.IDatabaseMode; +import binnie.core.craftgui.database.PageBranchOverview; +import binnie.core.craftgui.database.PageBranchSpecies; +import binnie.core.craftgui.database.PageBreeder; +import binnie.core.craftgui.database.PageSpeciesClassification; +import binnie.core.craftgui.database.PageSpeciesMutations; +import binnie.core.craftgui.database.PageSpeciesOverview; +import binnie.core.craftgui.database.PageSpeciesResultant; +import binnie.core.craftgui.database.WindowAbstractDatabase; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.entity.player.EntityPlayer; -import binnie.botany.genetics.EnumFlowerColor; -import binnie.craftgui.controls.listbox.ControlListBox; -import binnie.craftgui.mod.database.WindowAbstractDatabase; + +import java.util.ArrayList; +import java.util.List; public class WindowBotanistDatabase extends WindowAbstractDatabase { diff --git a/src/main/java/binnie/core/AbstractMod.java b/src/main/java/binnie/core/AbstractMod.java index b04e6096..78718632 100644 --- a/src/main/java/binnie/core/AbstractMod.java +++ b/src/main/java/binnie/core/AbstractMod.java @@ -25,8 +25,8 @@ public abstract class AbstractMod implements IPacketProvider, IInitializable { protected List modules; public AbstractMod() { - this.fields = new LinkedHashSet<>(); - this.modules = new ArrayList<>(); + fields = new LinkedHashSet<>(); + modules = new ArrayList<>(); BinnieCore.registerMod(this); MinecraftForge.EVENT_BUS.register(this); } @@ -84,7 +84,7 @@ public abstract class AbstractMod implements IPacketProvider, IInitializable { for (IInitializable module : modules) { Collections.addAll(fields, module.getClass().getFields()); } - for (Field field4 : this.fields) { + for (Field field4 : fields) { try { FieldParser.preInitParse(field4, this); } catch (Exception e) { @@ -100,14 +100,14 @@ public abstract class AbstractMod implements IPacketProvider, IInitializable { } getProxy().init(); - wrapper = NetworkRegistry.INSTANCE.newSimpleChannel(this.getChannel()); + wrapper = NetworkRegistry.INSTANCE.newSimpleChannel(getChannel()); wrapper.registerMessage(getPacketHandler(), MessageBinnie.class, 1, Side.CLIENT); wrapper.registerMessage(getPacketHandler(), MessageBinnie.class, 1, Side.SERVER); - for (IInitializable module : this.modules) { + for (IInitializable module : modules) { module.init(); } - for (Field field : this.fields) { + for (Field field : fields) { try { FieldParser.initParse(field, this); } catch (Exception e) { @@ -123,11 +123,11 @@ public abstract class AbstractMod implements IPacketProvider, IInitializable { } getProxy().postInit(); - for (IInitializable module : this.modules) { + for (IInitializable module : modules) { module.postInit(); } - for (Field field : this.fields) { + for (Field field : fields) { try { FieldParser.postInitParse(field, this); } catch (Exception e) { diff --git a/src/main/java/binnie/core/BinnieCore.java b/src/main/java/binnie/core/BinnieCore.java index e57e72ef..1e23602a 100644 --- a/src/main/java/binnie/core/BinnieCore.java +++ b/src/main/java/binnie/core/BinnieCore.java @@ -3,6 +3,7 @@ package binnie.core; import binnie.Binnie; import binnie.core.block.MultipassBlockRenderer; import binnie.core.block.TileEntityMetadata; +import binnie.core.craftgui.minecraft.ModuleCraftGUI; import binnie.core.gui.BinnieCoreGUI; import binnie.core.gui.BinnieGUIHandler; import binnie.core.gui.IBinnieGUID; @@ -23,7 +24,6 @@ import binnie.core.network.IPacketID; import binnie.core.proxy.BinnieProxy; import binnie.core.proxy.IBinnieProxy; import binnie.core.triggers.ModuleTrigger; -import binnie.craftgui.minecraft.ModuleCraftGUI; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Mod; diff --git a/src/main/java/binnie/core/Mods.java b/src/main/java/binnie/core/Mods.java index 7e3a35e2..94dd07af 100644 --- a/src/main/java/binnie/core/Mods.java +++ b/src/main/java/binnie/core/Mods.java @@ -60,27 +60,27 @@ public class Mods { } public Item item(String name) { - return findItem(this.id, name); + return findItem(id, name); } public Block block(String name) { - return findBlock(this.id, name); + return findBlock(id, name); } public ItemStack stack(String name, int stackSize) { - return findItemStack(this.id, name, stackSize); + return findItemStack(id, name, stackSize); } public ItemStack stack(String name) { - return this.stack(name, 1); + return stack(name, 1); } public ItemStack stack(String string, int i, int j) { - return new ItemStack(this.item(string), i, j); + return new ItemStack(item(string), i, j); } public boolean active() { - return Loader.isModLoaded(this.id); + return Loader.isModLoaded(id); } public boolean dev() { diff --git a/src/main/java/binnie/core/block/BlockMetadata.java b/src/main/java/binnie/core/block/BlockMetadata.java index 677df236..6ed78c8a 100644 --- a/src/main/java/binnie/core/block/BlockMetadata.java +++ b/src/main/java/binnie/core/block/BlockMetadata.java @@ -52,7 +52,7 @@ public class BlockMetadata extends BlockContainer implements IBlockMetadata { @Override public IIcon getIcon(IBlockAccess block, int x, int y, int z, int par5) { int metadata = TileEntityMetadata.getTileMetadata(block, x, y, z); - return this.getIcon(par5, metadata); + return getIcon(par5, metadata); } @Override @@ -105,7 +105,7 @@ public class BlockMetadata extends BlockContainer implements IBlockMetadata { @Override public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { - this.dropBlockAsItem(world, x, y, z, itemStack); + dropBlockAsItem(world, x, y, z, itemStack); } @Override diff --git a/src/main/java/binnie/core/craftgui/CraftGUI.java b/src/main/java/binnie/core/craftgui/CraftGUI.java new file mode 100644 index 00000000..c8974090 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/CraftGUI.java @@ -0,0 +1,9 @@ +package binnie.core.craftgui; + +import binnie.core.craftgui.renderer.Renderer; +import binnie.core.craftgui.resource.minecraft.CraftGUIResourceManager; + +public class CraftGUI { + public static CraftGUIResourceManager ResourceManager; + public static Renderer Render; +} diff --git a/src/main/java/binnie/core/craftgui/ITooltip.java b/src/main/java/binnie/core/craftgui/ITooltip.java new file mode 100644 index 00000000..16e540fe --- /dev/null +++ b/src/main/java/binnie/core/craftgui/ITooltip.java @@ -0,0 +1,5 @@ +package binnie.core.craftgui; + +public interface ITooltip { + void getTooltip(Tooltip tooltip); +} diff --git a/src/main/java/binnie/core/craftgui/ITooltipHelp.java b/src/main/java/binnie/core/craftgui/ITooltipHelp.java new file mode 100644 index 00000000..1d91f66e --- /dev/null +++ b/src/main/java/binnie/core/craftgui/ITooltipHelp.java @@ -0,0 +1,5 @@ +package binnie.core.craftgui; + +public interface ITooltipHelp { + void getHelpTooltip(Tooltip tooltip); +} diff --git a/src/main/java/binnie/core/craftgui/ITopLevelWidget.java b/src/main/java/binnie/core/craftgui/ITopLevelWidget.java new file mode 100644 index 00000000..db0324e2 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/ITopLevelWidget.java @@ -0,0 +1,27 @@ +package binnie.core.craftgui; + +import binnie.core.craftgui.geometry.IPoint; + +public interface ITopLevelWidget extends IWidget { + void setMousePosition(int x, int y); + + IPoint getAbsoluteMousePosition(); + + IWidget getFocusedWidget(); + + IWidget getMousedOverWidget(); + + IWidget getDraggedWidget(); + + boolean isFocused(IWidget widget); + + boolean isMouseOver(IWidget widget); + + boolean isDragged(IWidget widget); + + void updateTopLevel(); + + void widgetDeleted(IWidget widget); + + IPoint getDragDistance(); +} diff --git a/src/main/java/binnie/core/craftgui/IWidget.java b/src/main/java/binnie/core/craftgui/IWidget.java new file mode 100644 index 00000000..debcc225 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/IWidget.java @@ -0,0 +1,138 @@ +package binnie.core.craftgui; + +import binnie.core.craftgui.events.Event; +import binnie.core.craftgui.events.EventHandler; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; + +import java.util.List; + +public interface IWidget { + IWidget getParent(); + + void deleteChild(IWidget child); + + void deleteAllChildren(); + + ITopLevelWidget getSuperParent(); + + boolean isTopLevel(); + + IPoint getPosition(); + + IPoint pos(); + + void setPosition(IPoint position); + + IPoint getSize(); + + IPoint size(); + + void setSize(IPoint size); + + IPoint getOriginalPosition(); + + IPoint getAbsolutePosition(); + + IPoint getOriginalAbsolutePosition(); + + IPoint getOffset(); + + IArea getArea(); + + IArea area(); + + void setOffset(IPoint offset); + + IPoint getMousePosition(); + + IPoint getRelativeMousePosition(); + + void setColor(int color); + + int getColor(); + + void render(); + + void updateClient(); + + void enable(); + + void disable(); + + void show(); + + void hide(); + + boolean calculateIsMouseOver(); + + boolean isEnabled(); + + boolean isVisible(); + + boolean isFocused(); + + boolean isMouseOver(); + + boolean isDragged(); + + boolean isChildVisible(IWidget child); + + boolean isChildEnabled(IWidget child); + + boolean canMouseOver(); + + boolean canFocus(); + + IWidget addWidget(IWidget widget); + + List getWidgets(); + + void callEvent(Event event); + + void recieveEvent(Event event); + + void onUpdateClient(); + + void delete(); + + void onDelete(); + + T getWidget(Class p0); + + IArea getCroppedZone(); + + void setCroppedZone(IWidget relative, IArea area); + + boolean isCroppedWidet(); + + IWidget getCropWidget(); + + boolean isMouseOverWidget(IPoint p0); + + int getLevel(); + + boolean isDescendant(IWidget widget); + + List getAttributes(); + + boolean hasAttribute(WidgetAttribute attribute); + + boolean addAttribute(WidgetAttribute attribute); + + void addEventHandler(EventHandler handler); + + void addSelfEventHandler(EventHandler handler); + + boolean contains(IPoint p0); + + float x(); + + float y(); + + float w(); + + float h(); + + void onRender(RenderStage stage); +} diff --git a/src/main/java/binnie/core/craftgui/RenderStage.java b/src/main/java/binnie/core/craftgui/RenderStage.java new file mode 100644 index 00000000..66432c25 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/RenderStage.java @@ -0,0 +1,7 @@ +package binnie.core.craftgui; + +public enum RenderStage { + PreChildren, + PostChildren, + PostSiblings +} diff --git a/src/main/java/binnie/core/craftgui/Tooltip.java b/src/main/java/binnie/core/craftgui/Tooltip.java new file mode 100644 index 00000000..145f76d3 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/Tooltip.java @@ -0,0 +1,81 @@ +package binnie.core.craftgui; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.fluids.FluidStack; + +import java.util.ArrayList; +import java.util.List; + +public class Tooltip { + public int maxWidth; + + protected List tooltip; + protected ITooltipType type; + + public Tooltip() { + tooltip = new ArrayList<>(); + type = Type.Standard; + maxWidth = 256; + } + + public void add(String string) { + tooltip.add(string); + } + + public void add(ItemStack item, String string) { + NBTTagCompound nbt = new NBTTagCompound(); + item.writeToNBT(nbt); + nbt.setByte("nbt-type", (byte) 105); + add("~~~" + nbt.toString() + "~~~" + string); + } + + public void add(FluidStack item, String string) { + NBTTagCompound nbt = new NBTTagCompound(); + item.writeToNBT(nbt); + nbt.setByte("nbt-type", (byte) 102); + add("~~~" + nbt.toString() + "~~~" + string); + } + + public boolean exists() { + return tooltip.size() > 0; + } + + public String getLine(int index) { + String string = getList().get(index); + return string; + } + + public void add(List list) { + for (Object obj : list) { + tooltip.add((String) obj); + } + } + + public List getList() { + return tooltip; + } + + public void setType(ITooltipType type) { + this.type = type; + } + + public void setMaxWidth(int w) { + maxWidth = w; + } + + public ITooltipType getType() { + return type; + } + + public enum Type implements ITooltipType { + Standard, + Help, + Information, + User, + Power + } + + public interface ITooltipType { + } +} diff --git a/src/main/java/binnie/core/craftgui/TopLevelWidget.java b/src/main/java/binnie/core/craftgui/TopLevelWidget.java new file mode 100644 index 00000000..4738d407 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/TopLevelWidget.java @@ -0,0 +1,231 @@ +package binnie.core.craftgui; + +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.events.EventWidget; +import binnie.core.craftgui.geometry.IPoint; +import org.lwjgl.input.Mouse; + +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Deque; +import java.util.List; +import java.util.ListIterator; + +public abstract class TopLevelWidget extends Widget implements ITopLevelWidget { + protected IWidget mousedOverWidget; + protected IWidget draggedWidget; + protected IWidget focusedWidget; + protected IPoint mousePosition; + protected IPoint dragStart; + + public TopLevelWidget() { + super(null); + mousePosition = new IPoint(0.0f, 0.0f); + dragStart = IPoint.ZERO; + + addEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + setDraggedWidget(mousedOverWidget, event.getButton()); + setFocusedWidget(mousedOverWidget); + } + }); + + addEventHandler(new EventMouse.Up.Handler() { + @Override + public void onEvent(EventMouse.Up event) { + setDraggedWidget(null); + } + }); + + addEventHandler(new EventWidget.StartDrag.Handler() { + @Override + public void onEvent(EventWidget.StartDrag event) { + dragStart = getRelativeMousePosition(); + } + }); + } + + public void setMousedOverWidget(IWidget widget) { + if (mousedOverWidget == widget) { + return; + } + + if (mousedOverWidget != null) { + callEvent(new EventWidget.EndMouseOver(mousedOverWidget)); + } + + mousedOverWidget = widget; + if (mousedOverWidget != null) { + callEvent(new EventWidget.StartMouseOver(mousedOverWidget)); + } + } + + public void setDraggedWidget(IWidget widget) { + setDraggedWidget(widget, -1); + } + + public void setDraggedWidget(IWidget widget, int button) { + if (draggedWidget == widget) { + return; + } + + if (draggedWidget != null) { + callEvent(new EventWidget.EndDrag(draggedWidget)); + } + + draggedWidget = widget; + if (draggedWidget != null) { + callEvent(new EventWidget.StartDrag(draggedWidget, button)); + } + } + + public void setFocusedWidget(IWidget widget) { + IWidget newWidget = widget; + if (focusedWidget == newWidget) { + return; + } + + if (newWidget != null && !newWidget.canFocus()) { + newWidget = null; + } + if (focusedWidget != null) { + callEvent(new EventWidget.LoseFocus(focusedWidget)); + } + + focusedWidget = newWidget; + if (focusedWidget != null) { + callEvent(new EventWidget.GainFocus(focusedWidget)); + } + } + + @Override + public IWidget getMousedOverWidget() { + return mousedOverWidget; + } + + @Override + public IWidget getDraggedWidget() { + return draggedWidget; + } + + @Override + public IWidget getFocusedWidget() { + return focusedWidget; + } + + @Override + public boolean isMouseOver(IWidget widget) { + return getMousedOverWidget() == widget; + } + + @Override + public boolean isDragged(IWidget widget) { + return getDraggedWidget() == widget; + } + + @Override + public boolean isFocused(IWidget widget) { + return getFocusedWidget() == widget; + } + + @Override + public void updateTopLevel() { + setMousedOverWidget(calculateMousedOverWidget()); + if (getFocusedWidget() != null && (!getFocusedWidget().isVisible() || !getFocusedWidget().isEnabled())) { + setFocusedWidget(null); + } + + if (!Mouse.isButtonDown(0)) { + if (draggedWidget != null) { + setDraggedWidget(null); + } + } + } + + private IWidget calculateMousedOverWidget() { + Deque queue = calculateMousedOverWidgets(); + while (!queue.isEmpty()) { + IWidget widget = queue.removeFirst(); + if (widget.isEnabled() && widget.isVisible()) { + if (!widget.canMouseOver()) { + continue; + } + if (widget.isEnabled() && widget.isVisible() && widget.canMouseOver() && widget.calculateIsMouseOver()) { + return widget; + } + } + } + return null; + } + + public Deque calculateMousedOverWidgets() { + Deque list = new ArrayDeque<>(); + for (IWidget widget : getQueuedWidgets(this)) { + if (widget.calculateIsMouseOver()) { + list.addLast(widget); + } + } + return list; + } + + private Collection getQueuedWidgets(IWidget widget) { + List widgets = new ArrayList<>(); + boolean addChildren = true; + if (widget.isCroppedWidet()) { + addChildren = widget.getCroppedZone().contains(widget.getCropWidget().getRelativeMousePosition()); + } + + if (addChildren) { + ListIterator li = widget.getWidgets().listIterator(widget.getWidgets().size()); + while (li.hasPrevious()) { + IWidget child = li.previous(); + widgets.addAll(getQueuedWidgets(child)); + } + } + widgets.add(widget); + return widgets; + } + + @Override + public void setMousePosition(int x, int y) { + float dx = x - mousePosition.x(); + float dy = y - mousePosition.y(); + if (dx != 0.0f || dy != 0.0f) { + if (getDraggedWidget() != null) { + callEvent(new EventMouse.Drag(getDraggedWidget(), dx, dy)); + } else { + callEvent(new EventMouse.Move(this, dx, dy)); + } + } + + if (mousePosition.x() != x || mousePosition.y() != y) { + mousePosition = new IPoint(x, y); + setMousedOverWidget(calculateMousedOverWidget()); + } + } + + @Override + public IPoint getAbsoluteMousePosition() { + return mousePosition; + } + + @Override + public void widgetDeleted(IWidget widget) { + if (isMouseOver(widget)) { + setMousedOverWidget(null); + } + if (isDragged(widget)) { + setDraggedWidget(null); + } + if (isFocused(widget)) { + setFocusedWidget(null); + } + } + + @Override + public IPoint getDragDistance() { + return getRelativeMousePosition().sub(dragStart); + } +} diff --git a/src/main/java/binnie/core/craftgui/Widget.java b/src/main/java/binnie/core/craftgui/Widget.java new file mode 100644 index 00000000..ab3c0f22 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/Widget.java @@ -0,0 +1,522 @@ +package binnie.core.craftgui; + +import binnie.core.craftgui.events.Event; +import binnie.core.craftgui.events.EventHandler; +import binnie.core.craftgui.events.EventWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.ConcurrentModificationException; +import java.util.List; + +public class Widget implements IWidget { + protected IArea cropArea; + protected IWidget cropWidget; + protected boolean cropped; + protected int color; + + private IWidget parent; + private List subWidgets; + private List attributes; + private IPoint position; + private IPoint size; + private IPoint offset; + private Collection globalEventHandlers; + private boolean enabled; + private boolean visible; + + public Widget(IWidget parent) { + this.parent = null; + subWidgets = new ArrayList<>(); + attributes = new ArrayList<>(); + position = new IPoint(0.0f, 0.0f); + size = new IPoint(0.0f, 0.0f); + offset = new IPoint(0.0f, 0.0f); + cropped = false; + color = 0xffffff; + globalEventHandlers = new ArrayList<>(); + enabled = true; + visible = true; + + this.parent = parent; + if (parent != null) { + parent.addWidget(this); + } + } + + @Override + public List getAttributes() { + return attributes; + } + + @Override + public boolean hasAttribute(WidgetAttribute attribute) { + return attributes.contains(attribute); + } + + @Override + public boolean addAttribute(WidgetAttribute attribute) { + return attributes.add(attribute); + } + + @Override + public void deleteChild(IWidget child) { + if (child == null) { + return; + } + + child.delete(); + subWidgets.remove(child); + } + + @Override + public void deleteAllChildren() { + while (!subWidgets.isEmpty()) { + deleteChild(subWidgets.get(0)); + } + } + + @Override + public IWidget getParent() { + return parent; + } + + @Override + public ITopLevelWidget getSuperParent() { + return (ITopLevelWidget) (isTopLevel() ? this : parent.getSuperParent()); + } + + @Override + public IWidget addWidget(IWidget widget) { + if (subWidgets.size() != 0 && subWidgets.get(subWidgets.size() - 1).hasAttribute(WidgetAttribute.AlwaysOnTop)) { + subWidgets.add(subWidgets.size() - 1, widget); + } else { + subWidgets.add(widget); + } + onAddChild(widget); + return widget; + } + + protected void onAddChild(IWidget widget) { + // ignored + } + + @Override + public List getWidgets() { + return subWidgets; + } + + @Override + public boolean isTopLevel() { + return this instanceof ITopLevelWidget; + } + + @Override + public IPoint pos() { + return position.add(offset); + } + + @Override + public IPoint size() { + return size; + } + + @Override + public IArea area() { + return getArea(); + } + + @Override + public IPoint getPosition() { + return pos(); + } + + @Override + public IArea getArea() { + return new IArea(IPoint.ZERO, size()); + } + + @Override + public IPoint getOriginalPosition() { + return position; + } + + @Override + public IArea getCroppedZone() { + return cropArea; + } + + @Override + public void setCroppedZone(IWidget relative, IArea area) { + cropArea = area; + cropped = true; + cropWidget = relative; + } + + @Override + public IPoint getAbsolutePosition() { + return isTopLevel() ? getPosition() : getParent().getAbsolutePosition().add(getPosition()); + } + + @Override + public IPoint getOriginalAbsolutePosition() { + return isTopLevel() ? getOriginalPosition() : getParent().getOriginalPosition().sub(getOriginalPosition()); + } + + @Override + public IPoint getSize() { + return size(); + } + + @Override + public IPoint getOffset() { + return offset; + } + + @Override + public void setPosition(IPoint position) { + if (!position.equals(this.position)) { + this.position = new IPoint(position); + callEvent(new EventWidget.ChangePosition(this)); + } + } + + @Override + public void setSize(IPoint size) { + if (!size.equals(this.size)) { + this.size = new IPoint(size); + callEvent(new EventWidget.ChangeSize(this)); + } + } + + @Override + public void setOffset(IPoint offset) { + if (offset != this.offset) { + this.offset = new IPoint(offset); + callEvent(new EventWidget.ChangeOffset(this)); + } + } + + @Override + public void setColor(int color) { + if (this.color != color) { + this.color = color; + callEvent(new EventWidget.ChangeColour(this)); + } + } + + @Override + public int getColor() { + return color; + } + + @Override + public boolean canMouseOver() { + return hasAttribute(WidgetAttribute.MouseOver); + } + + @Override + public boolean canFocus() { + return hasAttribute(WidgetAttribute.CanFocus); + } + + @Override + public void addEventHandler(EventHandler handler) { + globalEventHandlers.add(handler); + } + + @Override + public void addSelfEventHandler(EventHandler handler) { + addEventHandler(handler.setOrigin(EventHandler.Origin.Self, this)); + } + + @Override + public void callEvent(Event event) { + getSuperParent().recieveEvent(event); + } + + @Override + public void recieveEvent(Event event) { + for (EventHandler handler : globalEventHandlers) { + if (handler.handles(event)) { + handler.onEvent(event); + } + } + + try { + for (IWidget child : getWidgets()) { + child.recieveEvent(event); + } + } catch (ConcurrentModificationException e) { + // ignored + } + } + + @Override + public IPoint getMousePosition() { + return getSuperParent().getAbsoluteMousePosition(); + } + + @Override + public IPoint getRelativeMousePosition() { + return isTopLevel() ? getMousePosition() : getParent().getRelativeMousePosition().sub(getPosition()); + } + + @Override + public boolean isCroppedWidet() { + return cropped; + } + + @Override + public IWidget getCropWidget() { + return (cropWidget == null) ? this : cropWidget; + } + + @Override + public void render() { + if (isVisible()) { + CraftGUI.Render.preRender(this); + onRender(RenderStage.PreChildren); + + for (IWidget widget : getWidgets()) { + widget.render(); + } + + for (IWidget widget : getWidgets()) { + CraftGUI.Render.preRender(widget); + widget.onRender(RenderStage.PostSiblings); + CraftGUI.Render.postRender(widget); + } + + onRender(RenderStage.PostChildren); + CraftGUI.Render.postRender(this); + } + } + + @Override + public void updateClient() { + if (!isVisible()) { + return; + } + + if (getSuperParent() == this) { + ((ITopLevelWidget) this).updateTopLevel(); + } + + onUpdateClient(); + List deletedWidgets = new ArrayList(); + for (IWidget widget : getWidgets()) { + if (widget.hasAttribute(WidgetAttribute.NeedsDeletion)) { + deletedWidgets.add(widget); + } else { + widget.updateClient(); + } + } + + for (IWidget widget : deletedWidgets) { + deleteChild(widget); + } + } + + @Override + public boolean calculateIsMouseOver() { + IPoint mouse = getRelativeMousePosition(); + if (!cropped) { + return isMouseOverWidget(mouse); + } + + IWidget cropRelative = (cropWidget != null) ? cropWidget : this; + IPoint pos = IPoint.sub(cropRelative.getAbsolutePosition(), getAbsolutePosition()); + IPoint size = new IPoint(cropArea.size().x(), cropArea.size().y()); + return mouse.x() > pos.x() + && mouse.y() > pos.y() + && mouse.x() < pos.x() + size.x() + && mouse.y() < pos.y() + size.y() + && isMouseOverWidget(mouse); + } + + @Override + public boolean isMouseOverWidget(IPoint relativeMouse) { + return getArea().contains(relativeMouse); + } + + @Override + public void enable() { + enabled = true; + callEvent(new EventWidget.Enable(this)); + } + + @Override + public void disable() { + enabled = false; + callEvent(new EventWidget.Disable(this)); + } + + @Override + public void show() { + visible = true; + callEvent(new EventWidget.Show(this)); + } + + @Override + public void hide() { + visible = false; + callEvent(new EventWidget.Hide(this)); + } + + @Override + public boolean isEnabled() { + if (!enabled) { + return false; + } + if (isTopLevel()) { + return true; + } + return getParent().isEnabled() && getParent().isChildEnabled(this); + } + + @Override + public boolean isVisible() { + if (!visible) { + return false; + } + if (isTopLevel()) { + return true; + } + return getParent().isVisible() && getParent().isChildVisible(this); + } + + @Override + public boolean isFocused() { + return getSuperParent().isFocused(this); + } + + @Override + public boolean isDragged() { + return getSuperParent().isDragged(this); + } + + @Override + public boolean isMouseOver() { + return getSuperParent().isMouseOver(this); + } + + @Override + public boolean isChildVisible(IWidget child) { + return true; + } + + @Override + public boolean isChildEnabled(IWidget child) { + return true; + } + + @Override + public void onRender(RenderStage stage) { + if (stage == RenderStage.PreChildren) { + onRenderBackground(); + } + if (stage == RenderStage.PostChildren) { + onRenderForeground(); + } + if (stage == RenderStage.PostSiblings) { + onRenderOverlay(); + } + } + + public void onRenderBackground() { + // ignored + } + + public void onRenderForeground() { + // ignored + } + + public void onRenderOverlay() { + // ignored + } + + @Override + public void onUpdateClient() { + // ignored + } + + @Override + public void delete() { + getSuperParent().widgetDeleted(this); + onDelete(); + } + + @Override + public void onDelete() { + } + + @Override + public T getWidget(Class x) { + for (IWidget child : getWidgets()) { + if (x.isInstance(child)) { + return (T) child; + } + + T found = child.getWidget(x); + if (found != null) { + return found; + } + } + return null; + } + + @Override + public boolean contains(IPoint position) { + return getArea().contains(position); + } + + public void scheduleDeletion() { + addAttribute(WidgetAttribute.NeedsDeletion); + } + + @Override + public int getLevel() { + int level = (getParent() == null) ? 0 : getParent().getLevel(); + int index = (getParent() == null) ? 0 : getParent().getWidgets().indexOf(this); + return level + index; + } + + @Override + public boolean isDescendant(IWidget widget) { + IWidget clss = this; + while (clss != widget) { + clss = clss.getParent(); + if (clss == null) { + return false; + } + } + return true; + } + + @Override + public float x() { + return pos().x(); + } + + @Override + public float y() { + return pos().y(); + } + + @Override + public float w() { + return size().x(); + } + + @Override + public float h() { + return size().y(); + } + + public IWidget getWidget() { + return this; + } +} diff --git a/src/main/java/binnie/core/craftgui/WidgetAttribute.java b/src/main/java/binnie/core/craftgui/WidgetAttribute.java new file mode 100644 index 00000000..a96700a7 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/WidgetAttribute.java @@ -0,0 +1,9 @@ +package binnie.core.craftgui; + +public enum WidgetAttribute { + MouseOver, + CanFocus, + NeedsDeletion, + AlwaysOnTop, + BlockTooltip +} diff --git a/src/main/java/binnie/core/craftgui/WindowFieldKit.java b/src/main/java/binnie/core/craftgui/WindowFieldKit.java new file mode 100644 index 00000000..1c5beb1e --- /dev/null +++ b/src/main/java/binnie/core/craftgui/WindowFieldKit.java @@ -0,0 +1,288 @@ +package binnie.core.craftgui; + +import binnie.Binnie; +import binnie.core.AbstractMod; +import binnie.core.BinnieCore; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.events.EventHandler; +import binnie.core.craftgui.events.EventValueChanged; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.minecraft.InventoryType; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.control.ControlImage; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.resource.StyleSheet; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.craftgui.resource.minecraft.PaddedTexture; +import binnie.core.craftgui.resource.minecraft.StandardTexture; +import binnie.core.machines.inventory.SlotValidator; +import binnie.extrabees.core.ExtraBeeTexture; +import binnie.extrabees.gui.punnett.ExtraBeeGUITexture; +import binnie.genetics.gui.ControlChromosome; +import binnie.genetics.machine.Analyser; +import cpw.mods.fml.relauncher.Side; +import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IChromosomeType; +import forestry.api.genetics.IIndividual; +import forestry.api.genetics.ISpeciesRoot; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Items; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; + +public class WindowFieldKit extends Window { + private float glassOffsetX; + private float glassOffsetY; + private float glassVX; + private float glassVY; + private Random glassRand; + private Control GlassControl; + private ControlChromosome chromo; + private ControlText text; + private float analyseProgress; + private boolean isAnalysing; + private Map info; + private ItemStack prev; + + public WindowFieldKit(EntityPlayer player, IInventory inventory, Side side) { + super(280.0f, 230.0f, player, inventory, side); + glassOffsetX = 0.0f; + glassOffsetY = 0.0f; + glassVX = 0.0f; + glassVY = 0.0f; + glassRand = new Random(); + analyseProgress = 1.0f; + isAnalysing = false; + info = new HashMap<>(); + prev = null; + } + + @Override + protected AbstractMod getMod() { + return BinnieCore.instance; + } + + @Override + protected String getName() { + return "Field Kit"; + } + + private void setupValidators() { + getWindowInventory().setValidator(0, new SlotValidator(null) { + @Override + public boolean isValid(ItemStack object) { + return AlleleManager.alleleRegistry.isIndividual(object) + || Binnie.Genetics.getConversion(object) != null; + } + + @Override + public String getTooltip() { + return "Individual"; + } + }); + + getWindowInventory().setValidator(1, new SlotValidator(null) { + @Override + public boolean isValid(ItemStack object) { + return object.getItem() == Items.paper; + } + + @Override + public String getTooltip() { + return "Paper"; + } + }); + getWindowInventory().disableAutoDispense(1); + } + + @Override + public void initialiseClient() { + setTitle("Field Kit"); + CraftGUI.Render.stylesheet(new StyleSheetPunnett()); + getWindowInventory().createSlot(0); + getWindowInventory().createSlot(1); + setupValidators(); + new ControlPlayerInventory(this); + IPoint handGlass = new IPoint(16.0f, 32.0f); + GlassControl = new ControlImage(this, handGlass.x(), handGlass.y(), new StandardTexture(0, 160, 96, 96, ExtraBeeTexture.GUIPunnett)); + new ControlSlot(this, handGlass.x() + 54.0f, handGlass.y() + 26.0f).assign(InventoryType.Window, 0); + new ControlSlot(this, 208.0f, 8.0f).assign(InventoryType.Window, 1); + (text = new ControlText(this, new IPoint(232.0f, 13.0f), "Paper")).setColor(2236962); + (text = new ControlText(this, new IArea(0.0f, 120.0f, w(), 24.0f), "", TextJustification.MiddleCenter)).setColor(2236962); + chromo = new ControlChromosome(this, 150.0f, 24.0f); + + addEventHandler(new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + IChromosomeType type = (IChromosomeType) event.getValue(); + if (type != null && info.containsKey(type)) { + String t = info.get(type); + text.setValue(t); + } else { + text.setValue(""); + } + } + }.setOrigin(EventHandler.Origin.DirectChild, chromo)); + } + + @Override + public void initialiseServer() { + ItemStack kit = getPlayer().getHeldItem(); + int sheets = 64 - kit.getItemDamage(); + if (sheets != 0) { + getWindowInventory().setInventorySlotContents(1, new ItemStack(Items.paper, sheets)); + } + setupValidators(); + } + + @Override + public void onUpdateClient() { + super.onUpdateClient(); + if (isAnalysing) { + analyseProgress += 0.01f; + if (analyseProgress >= 1.0f) { + isAnalysing = false; + analyseProgress = 1.0f; + ItemStack stack = getWindowInventory().getStackInSlot(0); + if (stack != null) { + sendClientAction("analyse", new NBTTagCompound()); + } + refreshSpecies(); + } + } + + glassVX += glassRand.nextFloat() - 0.5f - glassOffsetX * 0.2f; + glassVY += glassRand.nextFloat() - 0.5f - glassOffsetY * 0.2f; + glassOffsetX += glassVX; + glassOffsetX *= 1.0f - analyseProgress; + glassOffsetY += glassVY; + glassOffsetY *= 1.0f - analyseProgress; + GlassControl.setOffset(new IPoint(glassOffsetX, glassOffsetY)); + } + + private void refreshSpecies() { + ItemStack item = getWindowInventory().getStackInSlot(0); + if (item == null || !AlleleManager.alleleRegistry.isIndividual(item)) { + return; + } + + IIndividual ind = AlleleManager.alleleRegistry.getIndividual(item); + if (ind == null) { + return; + } + + ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(item); + chromo.setRoot(root); + Random rand = new Random(); + info.clear(); + for (IChromosomeType type : root.getKaryotype()) { + if (!Binnie.Genetics.isInvalidChromosome(type)) { + IAllele allele = ind.getGenome().getActiveAllele(type); + List infos = new ArrayList<>(); + + int i = 0; + for (String pref = root.getUID() + ".fieldkit." + type.getName().toLowerCase() + "."; Binnie.Language.canLocalise(pref + i); ++i) { + infos.add(Binnie.Language.localise(pref + i)); + } + + String text = Binnie.Genetics.getSystem(root).getAlleleName(type, allele); + if (!infos.isEmpty()) { + text = infos.get(rand.nextInt(infos.size())); + } + + info.put(type, text); + chromo.setRoot(root); + } + } + } + + @Override + public void onWindowInventoryChanged() { + super.onWindowInventoryChanged(); + if (isServer()) { + ItemStack kit = getPlayer().getHeldItem(); + int sheets = 64 - kit.getItemDamage(); + int size = (getWindowInventory().getStackInSlot(1) == null) ? 0 : getWindowInventory().getStackInSlot(1).stackSize; + if (sheets != size) { + kit.setItemDamage(64 - size); + } + ((EntityPlayerMP) getPlayer()).updateHeldItem(); + } + + if (isClient()) { + ItemStack item = getWindowInventory().getStackInSlot(0); + prev = item; + text.setValue(""); + if (item != null && !Analyser.isAnalysed(item)) { + if (getWindowInventory().getStackInSlot(1) == null) { + text.setValue("No Paper!"); + isAnalysing = false; + analyseProgress = 1.0f; + } else { + startAnalysing(); + chromo.setRoot(null); + } + } else if (item != null) { + isAnalysing = false; + analyseProgress = 1.0f; + refreshSpecies(); + } else { + isAnalysing = false; + analyseProgress = 1.0f; + chromo.setRoot(null); + } + } + } + + private void startAnalysing() { + glassVX = 0.0f; + glassVY = 0.0f; + glassOffsetX = 0.0f; + glassOffsetY = 0.0f; + isAnalysing = true; + analyseProgress = 0.0f; + } + + @Override + public boolean showHelpButton() { + return true; + } + + @Override + public String showInfoButton() { + return "The Field Kit analyses bees, trees, flowers and butterflies. All that is required is a piece of paper to jot notes"; + } + + @Override + public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { + super.recieveGuiNBT(side, player, name, nbt); + if (side == Side.SERVER && name.equals("analyse")) { + getWindowInventory().setInventorySlotContents(0, Analyser.analyse(getWindowInventory().getStackInSlot(0))); + getWindowInventory().decrStackSize(1, 1); + } + } + + static class StyleSheetPunnett extends StyleSheet { + public StyleSheetPunnett() { + textures.put(CraftGUITexture.Window, new PaddedTexture(0, 0, 160, 160, 0, ExtraBeeTexture.GUIPunnett, 32, 32, 32, 32)); + textures.put(CraftGUITexture.Slot, new StandardTexture(160, 0, 18, 18, 0, ExtraBeeTexture.GUIPunnett)); + textures.put(ExtraBeeGUITexture.Chromosome, new StandardTexture(160, 36, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); + textures.put(ExtraBeeGUITexture.Chromosome2, new StandardTexture(160, 52, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); + textures.put(CraftGUITexture.HelpButton, new StandardTexture(178, 0, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); + textures.put(CraftGUITexture.InfoButton, new StandardTexture(178, 16, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); + } + } +} diff --git a/src/main/java/binnie/core/craftgui/WindowGenesis.java b/src/main/java/binnie/core/craftgui/WindowGenesis.java new file mode 100644 index 00000000..5ed75003 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/WindowGenesis.java @@ -0,0 +1,231 @@ +package binnie.core.craftgui; + +import binnie.Binnie; +import binnie.core.AbstractMod; +import binnie.core.BinnieCore; +import binnie.core.craftgui.controls.listbox.ControlListBox; +import binnie.core.craftgui.controls.listbox.ControlTextOption; +import binnie.core.craftgui.controls.tab.ControlTab; +import binnie.core.craftgui.controls.tab.ControlTabBar; +import binnie.core.craftgui.events.EventHandler; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.events.EventValueChanged; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.MinecraftGUI; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlTabIcon; +import binnie.core.craftgui.window.Panel; +import binnie.core.genetics.BreedingSystem; +import binnie.core.genetics.Gene; +import binnie.genetics.gui.ControlGenesisOption; +import cpw.mods.fml.relauncher.Side; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IChromosomeType; +import forestry.api.genetics.IIndividual; +import forestry.api.genetics.ISpeciesRoot; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public class WindowGenesis extends Window { + private ISpeciesRoot root; + private IAllele[] template; + private ControlListBox geneList; + private ControlListBox geneOptions; + private Panel panelPickup; + + public WindowGenesis(EntityPlayer player, IInventory inventory, Side side) { + super(342.0f, 228.0f, player, inventory, side); + } + + @Override + protected AbstractMod getMod() { + return BinnieCore.instance; + } + + @Override + protected String getName() { + return "Genesis"; + } + + @Override + public void initialiseClient() { + new ControlPlayerInventory(this); + setTitle("Genesis"); + ControlTabBar tabSystems = new ControlTabBar(this, 8.0f, 28.0f, 23.0f, 100.0f, Position.Left) { + @Override + public ControlTab createTab(float x, float y, float w, float h, BreedingSystem value) { + return new ControlTabIcon(this, x, y, w, h, value) { + @Override + public ItemStack getItemStack() { + int type = value.getDefaultType(); + IIndividual ind = value.getDefaultIndividual(); + return value.getSpeciesRoot().getMemberStack(ind, type); + } + + @Override + public String getName() { + return value.getName(); + } + + @Override + public int getOutlineColour() { + return value.getColour(); + } + + @Override + public boolean hasOutline() { + return true; + } + }; + } + }; + + tabSystems.setValues(Binnie.Genetics.getActiveSystems()); + root = Binnie.Genetics.getActiveSystems().iterator().next().getSpeciesRoot(); + template = root.getDefaultTemplate(); + IArea one = new IArea(32.0f, 28.0f, 170.0f, 100.0f); + IArea two = new IArea(214.0f, 28.0f, 100.0f, 100.0f); + new Panel(this, one.outset(1), MinecraftGUI.PanelType.Black); + new Panel(this, two.outset(1), MinecraftGUI.PanelType.Black); + + geneList = new ControlListBox(this, one.x(), one.y(), one.w(), one.h(), 10.0f) { + @Override + public IWidget createOption(Gene value, int y) { + return new ControlGenesisOption(getContent(), value, y); + } + }; + + geneOptions = new ControlListBox(this, two.x(), two.y(), two.w(), two.h(), 10.0f) { + @Override + public IWidget createOption(Gene value, int y) { + return new ControlTextOption<>(getContent(), value, y); + } + }; + + tabSystems.addEventHandler(new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + root = ((BreedingSystem) event.getValue()).getSpeciesRoot(); + template = root.getDefaultTemplate(); + refreshTemplate(null); + } + }.setOrigin(EventHandler.Origin.Self, tabSystems)); + + geneList.addEventHandler(new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + Map> map = Binnie.Genetics.getChromosomeMap(root); + List opts = new ArrayList<>(); + IChromosomeType chromo = event.value != null ? ((Gene) event.value).getChromosome() : null; + if (chromo != null) {// fix NPE + for (IAllele allele : map.get(chromo)) { + opts.add(new Gene(allele, chromo, root)); + } + } + geneOptions.setOptions(opts); + } + }.setOrigin(EventHandler.Origin.Self, geneList)); + + geneOptions.addEventHandler(new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + if (event.value == null) { + return; + } + + IChromosomeType chromo = ((Gene) event.value).getChromosome(); + template[chromo.ordinal()] = ((Gene) event.value).getAllele(); + if (chromo == ((Gene) event.value).getSpeciesRoot().getKaryotypeKey()) { + template = ((Gene) event.value).getSpeciesRoot().getTemplate(((Gene) event.value).getAllele().getUID()); + } + refreshTemplate(chromo); + } + }.setOrigin(EventHandler.Origin.Self, geneOptions)); + panelPickup = new Panel(this, 16.0f, 140.0f, 60.0f, 42.0f, MinecraftGUI.PanelType.Black); + refreshTemplate(null); + } + + private void refreshTemplate(IChromosomeType selection) { + List genes = new ArrayList<>(); + IChromosomeType[] chromos = Binnie.Genetics.getChromosomeMap(root).keySet().toArray(new IChromosomeType[0]); + + for (IChromosomeType type : chromos) { + IAllele allele = template[type.ordinal()]; + if (allele == null) { + throw new NullPointerException("Allele missing for Chromosome " + type.getName()); + } + genes.add(new Gene(allele, type, root)); + } + + Map> map = Binnie.Genetics.getChromosomeMap(root); + geneList.setOptions(genes); + if (selection != null) { + geneList.setValue(new Gene(template[selection.ordinal()], selection, root)); + } else { + geneOptions.setOptions(new ArrayList<>()); + } + refreshPickup(); + } + + private void refreshPickup() { + panelPickup.deleteAllChildren(); + int i = 0; + for (int type : Binnie.Genetics.getSystem(root).getActiveTypes()) { + IIndividual ind = root.templateAsIndividual(template); + ind.analyze(); + ItemStack stack = root.getMemberStack(ind, type); + ControlItemDisplay display = new ControlItemDisplay(panelPickup, 4 + i % 3 * 18, 4 + i / 3 * 18); + display.setItemStack(stack); + display.setTooltip(); + display.addEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + NBTTagCompound nbt = new NBTTagCompound(); + stack.writeToNBT(nbt); + Window.get(event.getOrigin()).sendClientAction("genesis", nbt); + } + }.setOrigin(EventHandler.Origin.Self, display)); + i++; + } + } + + @Override + public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { + super.recieveGuiNBT(side, player, name, nbt); + if (side == Side.SERVER && name.equals("genesis")) { + ItemStack stack = ItemStack.loadItemStackFromNBT(nbt); + InventoryPlayer playerInv = player.inventory; + if (stack == null) { + return; + } + + if (playerInv.getItemStack() == null) { + playerInv.setItemStack(stack); + } else if (playerInv.getItemStack().isItemEqual(stack) && ItemStack.areItemStackTagsEqual(playerInv.getItemStack(), stack)) { + int fit = stack.getMaxStackSize() - (stack.stackSize + playerInv.getItemStack().stackSize); + if (fit >= 0) { + ItemStack itemStack; + ItemStack rec = itemStack = stack; + itemStack.stackSize += playerInv.getItemStack().stackSize; + playerInv.setItemStack(rec); + } + } + + player.openContainer.detectAndSendChanges(); + if (player instanceof EntityPlayerMP) { + ((EntityPlayerMP) player).updateHeldItem(); + } + } + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/ControlCheckbox.java b/src/main/java/binnie/core/craftgui/controls/ControlCheckbox.java new file mode 100644 index 00000000..f9279dc7 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/ControlCheckbox.java @@ -0,0 +1,69 @@ +package binnie.core.craftgui.controls; + +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.events.EventHandler; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.events.EventValueChanged; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; + +public class ControlCheckbox extends Control implements IControlValue { + boolean value; + String text; + + public ControlCheckbox(IWidget parent, float x, float y, boolean bool) { + this(parent, x, y, 0.0f, "", bool); + } + + public ControlCheckbox(IWidget parent, float x, float y, float w, String text, boolean bool) { + super(parent, x, y, (w > 16.0f) ? w : 16.0f, 16.0f); + this.text = text; + value = bool; + if (w > 16.0f) { + new ControlText(this, new IArea(16.0f, 1.0f, w - 16.0f, 16.0f), text, TextJustification.MiddleCenter).setColor(4473924); + } + + addAttribute(WidgetAttribute.MouseOver); + addEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + toggleValue(); + } + }.setOrigin(EventHandler.Origin.Self, this)); + } + + @Override + public void onRenderBackground() { + Object texture = getValue() ? CraftGUITexture.CheckboxChecked : CraftGUITexture.Checkbox; + if (isMouseOver()) { + texture = (getValue() ? CraftGUITexture.CheckboxCheckedHighlighted : CraftGUITexture.CheckboxHighlighted); + } + CraftGUI.Render.texture(texture, IPoint.ZERO); + } + + protected void onValueChanged(boolean value) { + // ignored + } + + public void toggleValue() { + setValue(!getValue()); + } + + @Override + public Boolean getValue() { + return value; + } + + @Override + public void setValue(Boolean value) { + this.value = value; + onValueChanged(value); + callEvent(new EventValueChanged(this, value)); + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/ControlText.java b/src/main/java/binnie/core/craftgui/controls/ControlText.java new file mode 100644 index 00000000..4d650d38 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/ControlText.java @@ -0,0 +1,43 @@ +package binnie.core.craftgui.controls; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.geometry.TextJustification; + +public class ControlText extends Control implements IControlValue { + private String text; + private TextJustification align; + + public ControlText(IWidget parent, IPoint pos, String text) { + this(parent, new IArea(pos, new IPoint(500.0f, 0.0f)), text, TextJustification.TopLeft); + } + + public ControlText(IWidget parent, String text, TextJustification align) { + this(parent, parent.getArea(), text, align); + } + + public ControlText(IWidget parent, IArea area, String text, TextJustification align) { + super(parent, area.pos().x(), area.pos().y(), area.size().x(), area.size().y()); + setValue(text); + this.align = align; + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.text(getArea(), align, text, getColor()); + } + + @Override + public void setValue(String text) { + this.text = text; + } + + @Override + public String getValue() { + return text; + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/ControlTextCentered.java b/src/main/java/binnie/core/craftgui/controls/ControlTextCentered.java new file mode 100644 index 00000000..1c11ed05 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/ControlTextCentered.java @@ -0,0 +1,12 @@ +package binnie.core.craftgui.controls; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.geometry.TextJustification; + +public class ControlTextCentered extends ControlText { + public ControlTextCentered(IWidget parent, float y, String text) { + super(parent, new IArea(new IPoint(0.0f, y), new IPoint(parent.size().x(), 0.0f)), text, TextJustification.TopCenter); + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/ControlTextEdit.java b/src/main/java/binnie/core/craftgui/controls/ControlTextEdit.java new file mode 100644 index 00000000..1adf3570 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/ControlTextEdit.java @@ -0,0 +1,98 @@ +package binnie.core.craftgui.controls; + +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.events.EventHandler; +import binnie.core.craftgui.events.EventKey; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.events.EventTextEdit; +import binnie.core.craftgui.events.EventWidget; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import net.minecraft.client.gui.GuiTextField; + +public class ControlTextEdit extends Control implements IControlValue { + GuiTextField field; + private String cachedValue; + + public ControlTextEdit(IWidget parent, float x, float y, float width, float height) { + super(parent, x, y, width, height); + cachedValue = ""; + field = new GuiTextField(getWindow().getGui().getFontRenderer(), 0, 0, 10, 10); + addAttribute(WidgetAttribute.CanFocus); + addAttribute(WidgetAttribute.MouseOver); + field.setEnableBackgroundDrawing(false); + + addEventHandler(new EventKey.Down.Handler() { + @Override + public void onEvent(EventKey.Down event) { + field.textboxKeyTyped(event.getCharacter(), event.getKey()); + String text = getValue(); + if (!text.equals(cachedValue)) { + cachedValue = text; + callEvent(new EventTextEdit(ControlTextEdit.this, cachedValue)); + onTextEdit(cachedValue); + } + } + }.setOrigin(EventHandler.Origin.Self, this)); + + addEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + field.mouseClicked((int) getRelativeMousePosition().x(), (int) getRelativeMousePosition().y(), event.getButton()); + } + }.setOrigin(EventHandler.Origin.Self, this)); + + addEventHandler(new EventWidget.GainFocus.Handler() { + @Override + public void onEvent(EventWidget.GainFocus event) { + field.setFocused(true); + } + }.setOrigin(EventHandler.Origin.Self, this)); + + addEventHandler(new EventWidget.LoseFocus.Handler() { + @Override + public void onEvent(EventWidget.LoseFocus event) { + field.setFocused(false); + } + }.setOrigin(EventHandler.Origin.Self, this)); + } + + @Override + public void onUpdateClient() { + // ignored + } + + protected void onTextEdit(String value) { + // ignored + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.texture(CraftGUITexture.Slot, getArea()); + renderTextField(); + } + + protected void renderTextField() { + field.width = (int) w(); + field.height = (int) h(); + field.xPosition = (int) ((h() - 8.0f) / 2.0f); + field.yPosition = (int) ((h() - 8.0f) / 2.0f); + field.drawTextBox(); + } + + @Override + public String getValue() { + return (field.getText() == null) ? "" : field.getText(); + } + + @Override + public void setValue(String value) { + if (!getValue().equals(value)) { + field.setText(value); + field.setCursorPosition(0); + } + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/IControlSelection.java b/src/main/java/binnie/core/craftgui/controls/IControlSelection.java new file mode 100644 index 00000000..d9b04915 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/IControlSelection.java @@ -0,0 +1,10 @@ +package binnie.core.craftgui.controls; + +// TODO unused interface? +public interface IControlSelection { + T getSelectedValue(); + + void setSelectedValue(T p0); + + boolean isSelected(IControlSelectionOption p0); +} diff --git a/src/main/java/binnie/core/craftgui/controls/IControlSelectionOption.java b/src/main/java/binnie/core/craftgui/controls/IControlSelectionOption.java new file mode 100644 index 00000000..7a22ade5 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/IControlSelectionOption.java @@ -0,0 +1,5 @@ +package binnie.core.craftgui.controls; + +public interface IControlSelectionOption { + T getValue(); +} diff --git a/src/main/java/binnie/core/craftgui/controls/button/ControlButton.java b/src/main/java/binnie/core/craftgui/controls/button/ControlButton.java new file mode 100644 index 00000000..4e07e84e --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/button/ControlButton.java @@ -0,0 +1,65 @@ +package binnie.core.craftgui.controls.button; + +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.events.EventButtonClicked; +import binnie.core.craftgui.events.EventHandler; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; + +public class ControlButton extends Control { + private ControlText textWidget; + private String text; + + public ControlButton(IWidget parent, float x, float y, float width, float height) { + super(parent, x, y, width, height); + addAttribute(WidgetAttribute.MouseOver); + + mouseHandler.setOrigin(EventHandler.Origin.Self, this); + addEventHandler(mouseHandler); + } + + public ControlButton(IWidget parent, float x, float y, float width, float height, String text) { + this(parent, x, y, width, height); + this.text = text; + textWidget = new ControlText(this, getArea(), text, TextJustification.MiddleCenter); + } + + private EventMouse.Down.Handler mouseHandler = new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + callEvent(new EventButtonClicked(getWidget())); + onMouseClick(event); + } + }; + + protected void onMouseClick(EventMouse.Down event) { + // ignored + } + + @Override + public void onUpdateClient() { + if (textWidget != null) { + textWidget.setValue(getText()); + } + } + + @Override + public void onRenderBackground() { + Object texture = CraftGUITexture.ButtonDisabled; + if (isMouseOver()) { + texture = CraftGUITexture.ButtonHighlighted; + } else if (isEnabled()) { + texture = CraftGUITexture.Button; + } + CraftGUI.Render.texture(texture, getArea()); + } + + public String getText() { + return text; + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/button/ControlEnumButton.java b/src/main/java/binnie/core/craftgui/controls/button/ControlEnumButton.java new file mode 100644 index 00000000..7d24c19a --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/button/ControlEnumButton.java @@ -0,0 +1,57 @@ +package binnie.core.craftgui.controls.button; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.events.EventValueChanged; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +// TODO unused class? +public class ControlEnumButton extends ControlButton implements IControlValue { + public static String eventEnumChanged = "eventEnumButtonChanged"; + private T currentSelection; + private List enumConstants; + + @Override + public String getText() { + return currentSelection.toString(); + } + + @Override + public void onMouseClick(EventMouse.Down event) { + int index = enumConstants.indexOf(currentSelection); + if (index < enumConstants.size() - 1) { + index++; + } else { + index = 0; + } + + T newEnum = enumConstants.get(index); + setValue(newEnum); + } + + @Override + public void setValue(T selection) { + if (currentSelection != selection) { + currentSelection = selection; + callEvent(new EventValueChanged(this, getValue())); + } + } + + public ControlEnumButton(IWidget parent, float x, float y, float width, float height, T[] values) { + super(parent, x, y, width, height, ""); + enumConstants = new ArrayList(); + Collections.addAll(enumConstants, values); + if (values.length > 0) { + currentSelection = values[0]; + } + } + + @Override + public T getValue() { + return currentSelection; + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/button/ControlToggleButton.java b/src/main/java/binnie/core/craftgui/controls/button/ControlToggleButton.java new file mode 100644 index 00000000..4c94f17a --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/button/ControlToggleButton.java @@ -0,0 +1,19 @@ +package binnie.core.craftgui.controls.button; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.events.EventToggleButtonClicked; + +// TODO unused class? +public class ControlToggleButton extends ControlButton { + boolean toggled; + + @Override + public void onMouseClick(EventMouse.Down event) { + callEvent(new EventToggleButtonClicked(this, toggled)); + } + + public ControlToggleButton(IWidget parent, int x, int y, int width, int height) { + super(parent, x, y, width, height); + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/core/Control.java b/src/main/java/binnie/core/craftgui/controls/core/Control.java new file mode 100644 index 00000000..849bad82 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/core/Control.java @@ -0,0 +1,84 @@ +package binnie.core.craftgui.controls.core; + +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.ITooltipHelp; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.Widget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.minecraft.Window; + +import java.util.ArrayList; +import java.util.List; + +public class Control extends Widget implements ITooltipHelp, ITooltip { + public int extraLevel; + + protected List helpStrings; + protected List tooltipStrings; + + public Control(IWidget parent, float x, float y, float w, float h) { + super(parent); + helpStrings = new ArrayList<>(); + tooltipStrings = new ArrayList<>(); + extraLevel = 0; + setPosition(new IPoint(x, y)); + setSize(new IPoint(w, h)); + initialise(); + } + + public Control(IWidget parent, IArea area) { + this(parent, area.x(), area.y(), area.w(), area.h()); + } + + protected void initialise() { + // ignored + } + + @Override + public void onUpdateClient() { + // ignored + } + + public void addHelp(String string) { + helpStrings.add(string); + } + + public void addHelp(String[] strings) { + for (String string : strings) { + addHelp(string); + } + } + + public void addTooltip(String string) { + addAttribute(WidgetAttribute.MouseOver); + tooltipStrings.add(string); + } + + public void addTooltip(String[] strings) { + for (String string : strings) { + addTooltip(string); + } + } + + @Override + public int getLevel() { + return extraLevel + super.getLevel(); + } + + @Override + public void getHelpTooltip(Tooltip tooltip) { + tooltip.add(helpStrings); + } + + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.add(tooltipStrings); + } + + public Window getWindow() { + return (Window) getSuperParent(); + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/core/IControlIndexed.java b/src/main/java/binnie/core/craftgui/controls/core/IControlIndexed.java new file mode 100644 index 00000000..078e4ca1 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/core/IControlIndexed.java @@ -0,0 +1,8 @@ +package binnie.core.craftgui.controls.core; + +// TODO unused interface? +public interface IControlIndexed { + int getIndex(); + + void setIndex(int index); +} diff --git a/src/main/java/binnie/core/craftgui/controls/core/IControlValue.java b/src/main/java/binnie/core/craftgui/controls/core/IControlValue.java new file mode 100644 index 00000000..d301721d --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/core/IControlValue.java @@ -0,0 +1,9 @@ +package binnie.core.craftgui.controls.core; + +import binnie.core.craftgui.IWidget; + +public interface IControlValue extends IWidget { + T getValue(); + + void setValue(T value); +} diff --git a/src/main/java/binnie/core/craftgui/controls/core/IControlValues.java b/src/main/java/binnie/core/craftgui/controls/core/IControlValues.java new file mode 100644 index 00000000..2487a687 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/core/IControlValues.java @@ -0,0 +1,9 @@ +package binnie.core.craftgui.controls.core; + +import java.util.Collection; + +public interface IControlValues extends IControlValue { + Collection getValues(); + + void setValues(Collection values); +} diff --git a/src/main/java/binnie/core/craftgui/controls/listbox/ControlList.java b/src/main/java/binnie/core/craftgui/controls/listbox/ControlList.java new file mode 100644 index 00000000..e0a092c3 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/listbox/ControlList.java @@ -0,0 +1,124 @@ +package binnie.core.craftgui.controls.listbox; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.events.EventValueChanged; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.util.IValidator; + +import java.util.Collection; +import java.util.LinkedHashMap; +import java.util.Map; + +public class ControlList extends Control implements IControlValue { + protected ControlListBox parent; + protected T value; + protected Map allOptions = new LinkedHashMap<>(); + protected Map optionWidgets = new LinkedHashMap<>(); + protected boolean creating; + protected IValidator validator; + + protected ControlList(ControlListBox parent, float x, float y, float w, float h) { + super(parent, x, y, w, h); + this.parent = parent; + } + + @Override + public T getValue() { + return value; + } + + @Override + public void setValue(T value) { + if (value == this.value) { + return; + } + + this.value = value; + if (value != null && optionWidgets.containsKey(value)) { + IWidget child = optionWidgets.get(value); + parent.ensureVisible(child.y(), child.y() + child.h(), h()); + } + getParent().callEvent(new EventValueChanged(getParent(), value)); + } + + public void setOptions(Collection options) { + deleteAllChildren(); + allOptions.clear(); + + for (T option : options) { + IWidget optionWidget = ((ControlListBox) getParent()).createOption(option, 0); + if (optionWidget != null) { + allOptions.put(option, optionWidget); + } + } + filterOptions(); + } + + public void filterOptions() { + int height = 0; + optionWidgets.clear(); + + for (Map.Entry entry : allOptions.entrySet()) { + if (isValidOption(entry.getValue())) { + entry.getValue().show(); + optionWidgets.put(entry.getKey(), entry.getValue()); + entry.getValue().setPosition(new IPoint(0.0f, height)); + height += (int) entry.getValue().getSize().y(); + } else { + entry.getValue().hide(); + } + } + + creating = true; + setValue(getValue()); + setSize(new IPoint(getSize().x(), height)); + } + + public Collection getOptions() { + return optionWidgets.keySet(); + } + + public Collection getAllOptions() { + return allOptions.keySet(); + } + + public int getIndexOf(T value) { + int index = 0; + for (T option : getOptions()) { + if (option.equals(value)) { + return index; + } + index++; + } + return -1; + } + + public int getCurrentIndex() { + return getIndexOf(getValue()); + } + + public void setIndex(int currentIndex) { + int index = 0; + for (T option : getOptions()) { + if (index == currentIndex) { + setValue(option); + return; + } + index++; + } + setValue(null); + } + + private boolean isValidOption(IWidget widget) { + return validator == null || validator.isValid(widget); + } + + public void setValidator(IValidator validator) { + if (this.validator != validator) { + this.validator = validator; + filterOptions(); + } + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/listbox/ControlListBox.java b/src/main/java/binnie/core/craftgui/controls/listbox/ControlListBox.java new file mode 100644 index 00000000..cbfead87 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/listbox/ControlListBox.java @@ -0,0 +1,58 @@ +package binnie.core.craftgui.controls.listbox; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.controls.scroll.ControlScrollableContent; +import binnie.core.craftgui.events.EventKey; +import binnie.core.util.IValidator; + +import java.util.Collection; + +public class ControlListBox extends ControlScrollableContent> implements IControlValue { + public ControlListBox(IWidget parent, float x, float y, float w, float h, float scrollBarSize) { + super(parent, x, y, w, h, scrollBarSize); + } + + @Override + public void initialise() { + setScrollableContent(new ControlList(this, 1.0f, 1.0f, w() - 2.0f - scrollBarSize, h() - 2.0f)); + addEventHandler(new EventKey.Down.Handler() { + @Override + public void onEvent(EventKey.Down event) { + if (calculateIsMouseOver()) { + int currentIndex = getContent().getCurrentIndex(); + if (event.getKey() == 208) { + if (++currentIndex >= getContent().getOptions().size()) { + currentIndex = 0; + } + } else if (event.getKey() == 200 && --currentIndex < 0) { + currentIndex = getContent().getOptions().size() - 1; + } + getContent().setIndex(currentIndex); + } + } + }); + } + + public IWidget createOption(T value, int y) { + return new ControlOption<>(getContent(), value, y); + } + + @Override + public T getValue() { + return getContent().getValue(); + } + + @Override + public void setValue(T value) { + getContent().setValue(value); + } + + public void setOptions(Collection options) { + getContent().setOptions(options); + } + + public void setValidator(IValidator validator) { + getContent().setValidator(validator); + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/listbox/ControlOption.java b/src/main/java/binnie/core/craftgui/controls/listbox/ControlOption.java new file mode 100644 index 00000000..7c4eab96 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/listbox/ControlOption.java @@ -0,0 +1,67 @@ +package binnie.core.craftgui.controls.listbox; + +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; + +public class ControlOption extends Control implements IControlValue { + protected T value; + + public ControlOption(ControlList controlList, T option) { + this(controlList, option, 16); + } + + public ControlOption(ControlList controlList, T option, int height) { + super(controlList, 0.0f, height, controlList.getSize().x(), 20.0f); + value = option; + if (value != null) { + addAttribute(WidgetAttribute.MouseOver); + } + addSelfEventHandler(mouseHandler); + } + + @Override + public void onUpdateClient() { + if (getValue() == null) { + return; + } + + int color = 0xa0a0a0; + if (isCurrentSelection()) { + color = 0xffffff; + } + setColor(color); + } + + private EventMouse.Down.Handler mouseHandler = new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + ((IControlValue) getParent()).setValue(getValue()); + } + }; + + @Override + public void onRenderForeground() { + if (isCurrentSelection()) { + CraftGUI.Render.texture(CraftGUITexture.Outline, getArea()); + } + } + + @Override + public T getValue() { + return value; + } + + @Override + public void setValue(T value) { + this.value = value; + } + + public boolean isCurrentSelection() { + return getValue() != null + && getValue().equals(((IControlValue) getParent()).getValue()); + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/listbox/ControlTextOption.java b/src/main/java/binnie/core/craftgui/controls/listbox/ControlTextOption.java new file mode 100644 index 00000000..9f289eb5 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/listbox/ControlTextOption.java @@ -0,0 +1,34 @@ +package binnie.core.craftgui.controls.listbox; + +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.events.EventHandler; +import binnie.core.craftgui.events.EventWidget; +import binnie.core.craftgui.geometry.TextJustification; + +public class ControlTextOption extends ControlOption { + protected ControlText textWidget; + + public ControlTextOption(ControlList controlList, T option, String optionName, int y) { + super(controlList, option, y); + textWidget = null; + textWidget = new ControlText(this, getArea(), optionName, TextJustification.MiddleCenter); + + mouseHandler.setOrigin(EventHandler.Origin.Self, this); + addEventHandler(mouseHandler); + } + + public ControlTextOption(ControlList controlList, T option, int y) { + this(controlList, option, option.toString(), y); + } + + private EventWidget.ChangeColour.Handler mouseHandler = new EventWidget.ChangeColour.Handler() { + @Override + public void onEvent(EventWidget.ChangeColour event) { + textWidget.setColor(getColor()); + } + }; + + public String getText() { + return textWidget.getValue(); + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/page/ControlPage.java b/src/main/java/binnie/core/craftgui/controls/page/ControlPage.java new file mode 100644 index 00000000..fcbb3e4d --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/page/ControlPage.java @@ -0,0 +1,31 @@ +package binnie.core.craftgui.controls.page; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; + +public class ControlPage extends Control implements IControlValue { + protected T value; + + public ControlPage(IWidget parent, T value) { + this(parent, 0.0f, 0.0f, parent.w(), parent.h(), value); + } + + public ControlPage(IWidget parent, float x, float y, float w, float h, T value) { + super(parent, x, y, w, h); + setValue(value); + if (parent instanceof IControlValue && ((IControlValue) parent).getValue() == null) { + ((IControlValue) parent).setValue(value); + } + } + + @Override + public T getValue() { + return value; + } + + @Override + public void setValue(T value) { + this.value = value; + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/page/ControlPages.java b/src/main/java/binnie/core/craftgui/controls/page/ControlPages.java new file mode 100644 index 00000000..a691dfcc --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/page/ControlPages.java @@ -0,0 +1,57 @@ +package binnie.core.craftgui.controls.page; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.controls.core.IControlValues; +import binnie.core.craftgui.events.EventValueChanged; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class ControlPages extends Control implements IControlValues, IControlValue { + protected T value; + + public ControlPages(IWidget parent, float x, float y, float w, float h) { + super(parent, x, y, w, h); + value = null; + } + + @Override + public void onAddChild(IWidget widget) { + // ignored + } + + @Override + public T getValue() { + return value; + } + + @Override + public void setValue(T value) { + if (this.value != value) { + this.value = value; + callEvent(new EventValueChanged(this, value)); + } + } + + @Override + public Collection getValues() { + List list = new ArrayList<>(); + for (IWidget child : getWidgets()) { + list.add((T) ((IControlValue) child).getValue()); + } + return list; + } + + @Override + public void setValues(Collection values) { + // ignored + } + + @Override + public boolean isChildVisible(IWidget child) { + return child != null && value == ((IControlValue) child).getValue(); + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/scroll/ControlScroll.java b/src/main/java/binnie/core/craftgui/controls/scroll/ControlScroll.java new file mode 100644 index 00000000..df9b29ba --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/scroll/ControlScroll.java @@ -0,0 +1,18 @@ +package binnie.core.craftgui.controls.scroll; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; + +public class ControlScroll extends Control { + private IControlScrollable scrollWidget; + + public ControlScroll(IWidget parent, float x, float y, float width, float height, IControlScrollable scrollWidget) { + super(parent, x, y, width, height); + this.scrollWidget = scrollWidget; + new ControlScrollBar(this); + } + + public IControlScrollable getScrollableWidget() { + return scrollWidget; + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollBar.java b/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollBar.java new file mode 100644 index 00000000..09b68978 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollBar.java @@ -0,0 +1,85 @@ +package binnie.core.craftgui.controls.scroll; + +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; + +public class ControlScrollBar extends Control { + protected IControlScrollable scrollable; + + public ControlScrollBar(ControlScroll parent) { + this(parent, 0.0f, 0.0f, parent.getSize().x(), parent.getSize().y(), parent.getScrollableWidget()); + } + + public ControlScrollBar(IWidget parent, float x, float y, float w, float h, IControlScrollable scrollable2) { + super(parent, x, y, w, h); + scrollable = scrollable2; + addAttribute(WidgetAttribute.MouseOver); + addSelfEventHandler(new EventMouse.Drag.Handler() { + @Override + public void onEvent(EventMouse.Drag event) { + scrollable.movePercentage(event.getDy() / (h() - getBarHeight())); + } + }); + addSelfEventHandler(mouseDownHandler); + } + + private EventMouse.Down.Handler mouseDownHandler = new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + float shownPercentage = scrollable.getPercentageShown(); + float percentageIndex = scrollable.getPercentageIndex(); + float minPercent = (1.0f - shownPercentage) * percentageIndex; + float maxPercent = minPercent + shownPercentage; + float clickedPercentage = getRelativeMousePosition().y() / (h() - 2.0f); + clickedPercentage = Math.max(Math.min(clickedPercentage, 1.0f), 0.0f); + + if (clickedPercentage > maxPercent) { + scrollable.setPercentageIndex((clickedPercentage - shownPercentage) / (1.0f - shownPercentage)); + } + if (clickedPercentage < minPercent) { + scrollable.setPercentageIndex(clickedPercentage / (1.0f - shownPercentage)); + } + } + }; + + @Override + public void onUpdateClient() { + // ignored + } + + @Override + public void onRenderBackground() { + IArea renderArea = getRenderArea(); + Object texture = CraftGUITexture.ScrollDisabled; + if (isMouseOver()) { + texture = CraftGUITexture.ScrollHighlighted; + } else if (isEnabled()) { + texture = CraftGUITexture.Scroll; + } + CraftGUI.Render.texture(texture, renderArea); + } + + @Override + public boolean isEnabled() { + return scrollable.getPercentageShown() < 0.99f; + } + + public float getBarHeight() { + return h() * scrollable.getPercentageShown(); + } + + protected IArea getRenderArea() { + float height = getBarHeight(); + if (height < 6.0f) { + height = 6.0f; + } + + float yOffset = ((int) h() - (int) getBarHeight()) * scrollable.getPercentageIndex(); + return new IArea(0.0f, yOffset, getSize().x(), height); + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollableContent.java b/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollableContent.java new file mode 100644 index 00000000..a3e4ef34 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollableContent.java @@ -0,0 +1,129 @@ +package binnie.core.craftgui.controls.scroll; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.events.EventWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; + +public class ControlScrollableContent extends Control implements IControlScrollable { + protected T controlChild; + protected float scrollBarSize; + protected float percentageIndex; + + public ControlScrollableContent(IWidget parent, float x, float y, float w, float h, float scrollBarSize) { + super(parent, x, y, w, h); + this.scrollBarSize = scrollBarSize; + if (scrollBarSize != 0.0f) { + new ControlScroll(this, getSize().x() - scrollBarSize, 0.0f, scrollBarSize, getSize().y(), this); + } + + percentageIndex = 0.0f; + addEventHandler(mouseWheelHandler); + } + + @Override + public void onUpdateClient() { + setPercentageIndex(getPercentageIndex()); + } + + private EventMouse.Wheel.Handler mouseWheelHandler = new EventMouse.Wheel.Handler() { + @Override + public void onEvent(EventMouse.Wheel event) { + IPoint mousePos = getRelativeMousePosition(); + if (mousePos.x() > 0.0f && mousePos.y() > 0.0f && mousePos.x() < getSize().x() && mousePos.y() < getSize().y()) { + if (getMovementRange() == 0.0f) { + return; + } + float percentageMove = 0.8f / getMovementRange(); + movePercentage(percentageMove * -event.getDWheel()); + } + } + }; + + public void setScrollableContent(T child) { + controlChild = child; + if (child == null) { + return; + } + + child.setCroppedZone(this, new IArea(1.0F, 1.0F, getSize().x() - 2.0F - scrollBarSize, getSize().y() - 2.0F)); + child.addSelfEventHandler(new EventWidget.ChangeSize.Handler() { + @Override + public void onEvent(EventWidget.ChangeSize event) { + controlChild.setOffset(new IPoint(0.0f, -percentageIndex * getMovementRange())); + if (getMovementRange() == 0.0f) { + percentageIndex = 0.0f; + } + } + }); + } + + public T getContent() { + return controlChild; + } + + @Override + public float getPercentageShown() { + if (controlChild == null || controlChild.getSize().y() == 0.0f) { + return 1.0f; + } + float shown = getSize().y() / controlChild.getSize().y(); + return Math.min(shown, 1.0f); + } + + @Override + public float getPercentageIndex() { + return percentageIndex; + } + + @Override + public void movePercentage(float percentage) { + if (controlChild == null) { + return; + } + + percentageIndex += percentage; + if (percentageIndex > 1.0f) { + percentageIndex = 1.0f; + } else if (percentageIndex < 0.0f) { + percentageIndex = 0.0f; + } + + if (getMovementRange() == 0.0f) { + percentageIndex = 0.0f; + } + controlChild.setOffset(new IPoint(0.0f, -percentageIndex * getMovementRange())); + } + + @Override + public void setPercentageIndex(float index) { + movePercentage(index - percentageIndex); + } + + @Override + public float getMovementRange() { + if (controlChild == null) { + return 0.0f; + } + float range = controlChild.getSize().y() - getSize().y(); + return Math.max(range, 0.0f); + } + + public void ensureVisible(float minY, float maxY, float totalY) { + minY /= totalY; + maxY /= totalY; + float shownPercentage = getPercentageShown(); + float percentageIndex = getPercentageIndex(); + float minPercent = (1.0f - shownPercentage) * percentageIndex; + float maxPercent = minPercent + shownPercentage; + + if (maxY > maxPercent) { + setPercentageIndex((maxY - shownPercentage) / (1.0f - shownPercentage)); + } + if (minY < minPercent) { + setPercentageIndex(minY / (1.0f - shownPercentage)); + } + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/scroll/IControlScrollable.java b/src/main/java/binnie/core/craftgui/controls/scroll/IControlScrollable.java new file mode 100644 index 00000000..7bfd112a --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/scroll/IControlScrollable.java @@ -0,0 +1,15 @@ +package binnie.core.craftgui.controls.scroll; + +import binnie.core.craftgui.IWidget; + +public interface IControlScrollable extends IWidget { + float getPercentageShown(); + + float getPercentageIndex(); + + void movePercentage(float percentage); + + void setPercentageIndex(float index); + + float getMovementRange(); +} diff --git a/src/main/java/binnie/core/craftgui/controls/tab/ControlTab.java b/src/main/java/binnie/core/craftgui/controls/tab/ControlTab.java new file mode 100644 index 00000000..ebea165b --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/tab/ControlTab.java @@ -0,0 +1,110 @@ +package binnie.core.craftgui.controls.tab; + +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.events.EventValueChanged; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; +import binnie.core.craftgui.minecraft.control.ControlTabIcon; +import binnie.core.craftgui.resource.Texture; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; + +public class ControlTab extends Control implements ITooltip, IControlValue { + protected T value; + + private ControlTabBar tabBar; + + public ControlTab(ControlTabBar parent, float x, float y, float w, float h, T value) { + super(parent, x, y, w, h); + setValue(value); + tabBar = parent; + addAttribute(WidgetAttribute.MouseOver); + addSelfEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + callEvent(new EventValueChanged(getWidget(), getValue())); + } + }); + } + + @Override + public void onRenderBackground() { + Object texture = CraftGUITexture.TabDisabled; + if (isMouseOver()) { + texture = CraftGUITexture.TabHighlighted; + } else if (isCurrentSelection()) { + texture = CraftGUITexture.Tab; + } + + Texture lTexture = CraftGUI.Render.getTexture(texture); + Position position = getTabPosition(); + Texture iTexture = lTexture.crop(position, 8.0f); + IArea area = getArea(); + if (texture == CraftGUITexture.TabDisabled) { + if (position == Position.Top || position == Position.Left) { + area.setPosition(area.getPosition().sub(new IPoint(4 * position.x(), 4 * position.y()))); + area.setSize(area.getSize().add(new IPoint(4 * position.x(), 4 * position.y()))); + } else { + area.setSize(area.getSize().sub(new IPoint(4 * position.x(), 4 * position.y()))); + } + } + + CraftGUI.Render.texture(iTexture, area); + if (this instanceof ControlTabIcon) { + ControlTabIcon icon = (ControlTabIcon) this; + ControlItemDisplay item = (ControlItemDisplay) getWidgets().get(0); + if (texture == CraftGUITexture.TabDisabled) { + item.setColor(0xaaaaaaaa); + } else { + item.setColor(0xffffffff); + } + + if (icon.hasOutline()) { + iTexture = CraftGUI.Render.getTexture(CraftGUITexture.TabOutline); + iTexture = iTexture.crop(position, 8.0f); + CraftGUI.Render.colour(icon.getOutlineColour()); + CraftGUI.Render.texture(iTexture, area.inset(2)); + } + } + } + + @Override + public void getTooltip(Tooltip tooltip) { + String name = getName(); + if (name != null && !name.isEmpty()) { + tooltip.add(getName()); + } + if (value instanceof ITooltip) { + ((ITooltip) value).getTooltip(tooltip); + } + } + + @Override + public T getValue() { + return value; + } + + @Override + public void setValue(T value) { + this.value = value; + } + + public Position getTabPosition() { + return tabBar.position; + } + + public String getName() { + return value.toString(); + } + + public boolean isCurrentSelection() { + return getValue() != null && getValue().equals(tabBar.getValue()); + } +} diff --git a/src/main/java/binnie/core/craftgui/controls/tab/ControlTabBar.java b/src/main/java/binnie/core/craftgui/controls/tab/ControlTabBar.java new file mode 100644 index 00000000..7824e3dd --- /dev/null +++ b/src/main/java/binnie/core/craftgui/controls/tab/ControlTabBar.java @@ -0,0 +1,75 @@ +package binnie.core.craftgui.controls.tab; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.events.EventHandler; +import binnie.core.craftgui.events.EventValueChanged; +import binnie.core.craftgui.geometry.Position; + +import java.util.Collection; + +public class ControlTabBar extends Control implements IControlValue { + protected T value; + protected Position position; + + public ControlTabBar(IWidget parent, float x, float y, float width, float height, Position position) { + super(parent, x, y, width, height); + this.position = position; + addEventHandler(new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + setValue((T) event.getValue()); + } + }.setOrigin(EventHandler.Origin.DirectChild, this)); + } + + public ControlTab createTab(float x, float y, float w, float h, T value) { + return new ControlTab<>(this, x, y, w, h, value); + } + + public void setValues(Collection values) { + int i = 0; + while (i < getWidgets().size()) { + deleteChild(getWidgets().get(0)); + } + + float length = values.size(); + int tabDimension = (int) (getSize().y() / length); + if (position == Position.Top || position == Position.Bottom) { + tabDimension = (int) (getSize().x() / length); + } + + int j = 0; + for (T value : values) { + if (position == Position.Top || position == Position.Bottom) { + createTab(j * tabDimension, 0.0f, tabDimension, getSize().y(), value); + } else { + createTab(0.0f, j * tabDimension, getSize().x(), tabDimension, value); + } + j++; + } + + if (value == null && !values.isEmpty()) { + setValue(values.iterator().next()); + } + } + + @Override + public T getValue() { + return value; + } + + @Override + public void setValue(T value) { + boolean change = this.value != value; + this.value = value; + if (change) { + callEvent(new EventValueChanged(this, value)); + } + } + + public Position getDirection() { + return position; + } +} diff --git a/src/main/java/binnie/core/craftgui/database/ControlBranchBox.java b/src/main/java/binnie/core/craftgui/database/ControlBranchBox.java new file mode 100644 index 00000000..5b5e38d4 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/ControlBranchBox.java @@ -0,0 +1,16 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.listbox.ControlListBox; +import forestry.api.genetics.IClassification; + +class ControlBranchBox extends ControlListBox { + @Override + public IWidget createOption(IClassification value, int y) { + return new ControlBranchBoxOption(getContent(), value, y); + } + + public ControlBranchBox(IWidget parent, float x, float y, float width, float height) { + super(parent, x, y, width, height, 12.0f); + } +} diff --git a/src/main/java/binnie/core/craftgui/database/ControlBranchBoxOption.java b/src/main/java/binnie/core/craftgui/database/ControlBranchBoxOption.java new file mode 100644 index 00000000..49ec6f61 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/ControlBranchBoxOption.java @@ -0,0 +1,11 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.controls.listbox.ControlList; +import binnie.core.craftgui.controls.listbox.ControlTextOption; +import forestry.api.genetics.IClassification; + +class ControlBranchBoxOption extends ControlTextOption { + public ControlBranchBoxOption(ControlList controlList, IClassification option, int y) { + super(controlList, option, (option.getName() == null) ? option.getScientific() : (option.getName().contains(".") ? option.getScientific() : option.getName()), y); + } +} diff --git a/src/main/java/binnie/core/craftgui/database/ControlBreedingProgress.java b/src/main/java/binnie/core/craftgui/database/ControlBreedingProgress.java new file mode 100644 index 00000000..bbf35fce --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/ControlBreedingProgress.java @@ -0,0 +1,34 @@ + +package binnie.core.craftgui.database; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.resource.Texture; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.craftgui.resource.minecraft.CraftGUITextureSheet; +import binnie.core.craftgui.resource.minecraft.StandardTexture; +import binnie.core.genetics.BreedingSystem; + +class ControlBreedingProgress extends Control { + private static Texture Progress = new StandardTexture(80, 22, 4, 4, CraftGUITextureSheet.Controls2); + private float percentage; + private int colour; + + public ControlBreedingProgress(IWidget parent, int x, int y, int width, int height, BreedingSystem system, float percentage) { + super(parent, x, y, width, height); + this.percentage = percentage; + colour = system.getColour(); + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.texture(CraftGUITexture.PanelBlack, getArea()); + IArea area = getArea().inset(1); + area.setSize(new IPoint(area.size().x() * percentage, area.size().y())); + CraftGUI.Render.colour(colour); + CraftGUI.Render.texture(ControlBreedingProgress.Progress, area); + } +} diff --git a/src/main/java/binnie/core/craftgui/database/ControlDatabaseIndividualDisplay.java b/src/main/java/binnie/core/craftgui/database/ControlDatabaseIndividualDisplay.java new file mode 100644 index 00000000..b9027838 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/ControlDatabaseIndividualDisplay.java @@ -0,0 +1,110 @@ +package binnie.core.craftgui.database; + +import binnie.Binnie; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; +import binnie.core.genetics.BreedingSystem; +import com.mojang.authlib.GameProfile; +import forestry.api.genetics.IAlleleSpecies; +import forestry.api.genetics.IIndividual; +import forestry.api.genetics.ISpeciesRoot; +import net.minecraft.util.IIcon; + +public class ControlDatabaseIndividualDisplay extends ControlItemDisplay implements ITooltip { + protected EnumDiscoveryState discovered; + + private IAlleleSpecies species; + + public void setSpecies(IAlleleSpecies species) { + setSpecies(species, EnumDiscoveryState.Show); + } + + public void setSpecies(IAlleleSpecies species, EnumDiscoveryState state) { + ISpeciesRoot speciesRoot = Binnie.Genetics.getSpeciesRoot(species); + BreedingSystem system = Binnie.Genetics.getSystem(speciesRoot.getUID()); + IIndividual ind = system.getSpeciesRoot().templateAsIndividual(system.getSpeciesRoot().getTemplate(species.getUID())); + super.setItemStack(system.getSpeciesRoot().getMemberStack(ind, system.getDefaultType())); + this.species = species; + GameProfile username = Window.get(this).getUsername(); + if (state == EnumDiscoveryState.Undetermined) { + state = (system.isSpeciesDiscovered(species, Window.get(this).getWorld(), username) ? EnumDiscoveryState.Discovered : EnumDiscoveryState.Undiscovered); + } + if (Window.get(this) instanceof WindowAbstractDatabase && ((WindowAbstractDatabase) Window.get(this)).isNEI) { + state = EnumDiscoveryState.Show; + } + discovered = state; + addAttribute(WidgetAttribute.MouseOver); + } + + public ControlDatabaseIndividualDisplay(IWidget parent, float x, float y) { + this(parent, x, y, 16.0f); + } + + public ControlDatabaseIndividualDisplay(IWidget parent, float x, float y, float size) { + super(parent, x, y, size); + species = null; + discovered = EnumDiscoveryState.Show; + addSelfEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + if (event.getButton() == 0 && species != null && EnumDiscoveryState.Show == discovered) { + ((WindowAbstractDatabase) getSuperParent()).gotoSpeciesDelayed(species); + } + } + }); + } + + @Override + public void onRenderForeground() { + IIcon icon = null; + if (species == null) { + return; + } + + BreedingSystem system = Binnie.Genetics.getSystem(species.getRoot()); + switch (discovered) { + case Show: + super.onRenderForeground(); + return; + + case Discovered: + icon = system.getDiscoveredIcon(); + break; + + case Undiscovered: + icon = system.getUndiscoveredIcon(); + break; + } + if (icon != null) { + CraftGUI.Render.iconItem(IPoint.ZERO, icon); + } + } + + @Override + public void getTooltip(Tooltip tooltip) { + if (species == null) { + return; + } + + switch (discovered) { + case Show: + tooltip.add(species.getName()); + break; + + case Discovered: + tooltip.add("Discovered Species"); + break; + + case Undiscovered: + tooltip.add("Undiscovered Species"); + break; + } + } +} diff --git a/src/main/java/binnie/core/craftgui/database/ControlItemStackOption.java b/src/main/java/binnie/core/craftgui/database/ControlItemStackOption.java new file mode 100644 index 00000000..5c47aef9 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/ControlItemStackOption.java @@ -0,0 +1,28 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.listbox.ControlList; +import binnie.core.craftgui.controls.listbox.ControlTextOption; +import binnie.core.craftgui.geometry.CraftGUIUtil; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; +import net.minecraft.item.ItemStack; + +public class ControlItemStackOption extends ControlTextOption { + private ControlItemDisplay controlBee; + + public ControlItemStackOption(ControlList controlList, ItemStack option, int y) { + super(controlList, option, option.getDisplayName(), y); + setSize(new IPoint(getSize().x(), 20.0f)); + (controlBee = new ControlItemDisplay(this, 2.0f, 2.0f)).setItemStack(option); + addAttribute(WidgetAttribute.MouseOver); + CraftGUIUtil.moveWidget(textWidget, new IPoint(22.0f, 0.0f)); + textWidget.setSize(textWidget.getSize().sub(new IPoint(24.0f, 0.0f))); + int th = (int) CraftGUI.Render.textHeight(textWidget.getValue(), textWidget.getSize().x()); + int height = Math.max(20, th + 6); + setSize(new IPoint(size().x(), height)); + textWidget.setSize(new IPoint(textWidget.getSize().x(), height)); + controlBee.setPosition(new IPoint(controlBee.pos().x(), (height - 18) / 2)); + } +} diff --git a/src/main/java/binnie/core/craftgui/database/ControlMutationBox.java b/src/main/java/binnie/core/craftgui/database/ControlMutationBox.java new file mode 100644 index 00000000..492fbb74 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/ControlMutationBox.java @@ -0,0 +1,62 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.listbox.ControlListBox; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.genetics.BreedingSystem; +import forestry.api.genetics.IAlleleSpecies; +import forestry.api.genetics.IMutation; + +import java.util.List; + +class ControlMutationBox extends ControlListBox { + private int index; + private Type type; + private IAlleleSpecies species; + + @Override + public IWidget createOption(IMutation value, int y) { + return new ControlMutationItem(getContent(), value, species, y); + } + + public ControlMutationBox(IWidget parent, int x, int y, int width, int height, Type type) { + super(parent, x, y, width, height, 12.0f); + species = null; + this.type = type; + } + + public void setSpecies(IAlleleSpecies species) { + if (species != this.species) { + this.species = species; + index = 0; + movePercentage(-100.0f); + BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); + List discovered = system.getDiscoveredMutations(Window.get(this).getWorld(), Window.get(this).getUsername()); + + if (species == null) { + return; + } + + if (type == Type.Resultant) { + setOptions(system.getResultantMutations(species)); + } else { + List mutations = system.getFurtherMutations(species); + int i = 0; + while (i < mutations.size()) { + IMutation mutation = mutations.get(i); + if (!discovered.contains(mutations) && !((IAlleleSpecies) mutation.getTemplate()[0]).isCounted()) { + mutations.remove(i); + } else { + ++i; + } + } + setOptions(mutations); + } + } + } + + enum Type { + Resultant, + Further + } +} diff --git a/src/main/java/binnie/core/craftgui/database/ControlMutationItem.java b/src/main/java/binnie/core/craftgui/database/ControlMutationItem.java new file mode 100644 index 00000000..5328a297 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/ControlMutationItem.java @@ -0,0 +1,44 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.controls.listbox.ControlList; +import binnie.core.craftgui.controls.listbox.ControlOption; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.genetics.BreedingSystem; +import forestry.api.genetics.IAlleleSpecies; +import forestry.api.genetics.IMutation; + +class ControlMutationItem extends ControlOption { + private ControlDatabaseIndividualDisplay itemWidget1; + private ControlDatabaseIndividualDisplay itemWidget2; + private ControlDatabaseIndividualDisplay itemWidget3; + private ControlMutationSymbol addSymbol; + private ControlMutationSymbol arrowSymbol; + + public ControlMutationItem(ControlList controlList, IMutation option, IAlleleSpecies species, int y) { + super(controlList, option, y); + itemWidget1 = new ControlDatabaseIndividualDisplay(this, 4.0f, 4.0f); + itemWidget2 = new ControlDatabaseIndividualDisplay(this, 44.0f, 4.0f); + itemWidget3 = new ControlDatabaseIndividualDisplay(this, 104.0f, 4.0f); + addSymbol = new ControlMutationSymbol(this, 24, 4, 0); + arrowSymbol = new ControlMutationSymbol(this, 64, 4, 1); + boolean isNEI = ((WindowAbstractDatabase) getSuperParent()).isNEI(); + BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); + + if (getValue() != null) { + boolean isMutationDiscovered = system.isMutationDiscovered(getValue(), Window.get(this).getWorld(), Window.get(this).getUsername()); + IAlleleSpecies allele; + EnumDiscoveryState state; + allele = getValue().getAllele0(); + state = ((isNEI || isMutationDiscovered) ? EnumDiscoveryState.Show : ((species == allele) ? EnumDiscoveryState.Show : EnumDiscoveryState.Undetermined)); + itemWidget1.setSpecies(allele, state); + allele = getValue().getAllele1(); + state = ((isNEI || isMutationDiscovered) ? EnumDiscoveryState.Show : ((species == allele) ? EnumDiscoveryState.Show : EnumDiscoveryState.Undetermined)); + itemWidget2.setSpecies(allele, state); + allele = (IAlleleSpecies) getValue().getTemplate()[0]; + state = ((isNEI || isMutationDiscovered) ? EnumDiscoveryState.Show : ((species == allele) ? EnumDiscoveryState.Show : EnumDiscoveryState.Undetermined)); + itemWidget3.setSpecies(allele, state); + addSymbol.setValue(getValue()); + arrowSymbol.setValue(getValue()); + } + } +} diff --git a/src/main/java/binnie/core/craftgui/database/ControlMutationSymbol.java b/src/main/java/binnie/core/craftgui/database/ControlMutationSymbol.java new file mode 100644 index 00000000..8e30f97a --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/ControlMutationSymbol.java @@ -0,0 +1,71 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.resource.Texture; +import binnie.core.craftgui.resource.minecraft.CraftGUITextureSheet; +import binnie.core.craftgui.resource.minecraft.StandardTexture; +import binnie.core.genetics.BreedingSystem; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IMutation; + +class ControlMutationSymbol extends Control implements ITooltip { + private static Texture MutationPlus = new StandardTexture(2, 94, 16, 16, CraftGUITextureSheet.Controls2); + private static Texture MutationArrow = new StandardTexture(20, 94, 32, 16, CraftGUITextureSheet.Controls2); + private IMutation value; + private boolean discovered; + private int type; + + @Override + public void onRenderBackground() { + super.onRenderBackground(); + if (type == 0) { + CraftGUI.Render.texture(ControlMutationSymbol.MutationPlus, IPoint.ZERO); + } else { + CraftGUI.Render.texture(ControlMutationSymbol.MutationArrow, IPoint.ZERO); + } + } + + protected ControlMutationSymbol(IWidget parent, int x, int y, int type) { + super(parent, x, y, 16 + type * 16, 16.0f); + value = null; + this.type = type; + addAttribute(WidgetAttribute.MouseOver); + } + + public void setValue(IMutation value) { + this.value = value; + boolean isNEI = ((WindowAbstractDatabase) getSuperParent()).isNEI(); + BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); + discovered = (isNEI || system.isMutationDiscovered(value, Window.get(this).getWorld(), Window.get(this).getUsername())); + if (discovered) { + setColor(0xffffff); + } else { + setColor(0x777777); + } + } + + @Override + public void getTooltip(Tooltip tooltip) { + if (type != 1 || !discovered) { + return; + } + + IAllele species1 = value.getAllele0(); + IAllele species2 = value.getAllele1(); + BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); + float chance = system.getChance(value, Window.get(this).getPlayer(), species1, species2); + tooltip.add("Current Chance - " + chance + "%"); + if (value.getSpecialConditions() != null) { + for (String string : value.getSpecialConditions()) { + tooltip.add(string); + } + } + } +} diff --git a/src/main/java/binnie/core/craftgui/database/ControlSpeciesBox.java b/src/main/java/binnie/core/craftgui/database/ControlSpeciesBox.java new file mode 100644 index 00000000..6c4d3a57 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/ControlSpeciesBox.java @@ -0,0 +1,52 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.listbox.ControlListBox; +import binnie.core.craftgui.minecraft.Window; +import com.mojang.authlib.GameProfile; +import forestry.api.genetics.IAlleleSpecies; +import forestry.api.genetics.IClassification; +import net.minecraft.entity.player.EntityPlayer; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class ControlSpeciesBox extends ControlListBox +{ + private IClassification branch; + + @Override + public IWidget createOption(IAlleleSpecies value, int y) { + return new ControlSpeciexBoxOption(this.getContent(), value, y); + } + + public ControlSpeciesBox(IWidget parent, float x, float y, float width, float height) { + super(parent, x, y, width, height, 12.0f); + branch = null; + } + + public void setBranch(IClassification branch) { + if (branch == this.branch) { + return; + } + + this.branch = branch; + List speciesList2 = new ArrayList<>(); + movePercentage(-100.0f); + setOptions(speciesList2); + + EntityPlayer player = Window.get(this).getPlayer(); + GameProfile playerName = Window.get(this).getUsername(); + WindowAbstractDatabase db = Window.get(this); + Collection speciesList3 = db.isNEI ? db.getBreedingSystem().getAllSpecies() : db.getBreedingSystem().getDiscoveredSpecies(db.getWorld(), playerName); + if (branch != null) { + for (IAlleleSpecies species : branch.getMemberSpecies()) { + if (speciesList3.contains(species)) { + speciesList2.add(species); + } + } + } + setOptions(speciesList2); + } +} diff --git a/src/main/java/binnie/core/craftgui/database/ControlSpeciexBoxOption.java b/src/main/java/binnie/core/craftgui/database/ControlSpeciexBoxOption.java new file mode 100644 index 00000000..5d5cf15d --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/ControlSpeciexBoxOption.java @@ -0,0 +1,35 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.listbox.ControlList; +import binnie.core.craftgui.controls.listbox.ControlTextOption; +import binnie.core.craftgui.geometry.CraftGUIUtil; +import binnie.core.craftgui.geometry.IPoint; +import forestry.api.genetics.IAlleleSpecies; + +class ControlSpeciexBoxOption extends ControlTextOption { + private ControlDatabaseIndividualDisplay controlBee; + + public ControlSpeciexBoxOption(ControlList controlList, IAlleleSpecies option, int y) { + super(controlList, option, option.getName(), y); + setSize(new IPoint(getSize().x(), 20.0f)); + (controlBee = new ControlDatabaseIndividualDisplay(this, 2.0f, 2.0f)).setSpecies(getValue(), EnumDiscoveryState.Undetermined); + if (controlBee.discovered == EnumDiscoveryState.Discovered) { + controlBee.discovered = EnumDiscoveryState.Show; + } + + textWidget.setValue((controlBee.discovered == EnumDiscoveryState.Show) ? option.getName() : "Undiscovered"); + if (controlBee.discovered == EnumDiscoveryState.Show) { + addAttribute(WidgetAttribute.MouseOver); + } + + CraftGUIUtil.moveWidget(textWidget, new IPoint(22.0f, 0.0f)); + textWidget.setSize(textWidget.getSize().sub(new IPoint(24.0f, 0.0f))); + int th = (int) CraftGUI.Render.textHeight(textWidget.getValue(), textWidget.getSize().x()); + int height = Math.max(20, th + 6); + setSize(new IPoint(size().x(), height)); + textWidget.setSize(new IPoint(textWidget.getSize().x(), height)); + controlBee.setPosition(new IPoint(controlBee.pos().x(), (height - 18) / 2)); + } +} diff --git a/src/main/java/binnie/core/craftgui/database/DatabaseTab.java b/src/main/java/binnie/core/craftgui/database/DatabaseTab.java new file mode 100644 index 00000000..9039fe1b --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/DatabaseTab.java @@ -0,0 +1,28 @@ +package binnie.core.craftgui.database; + +import binnie.Binnie; +import binnie.core.AbstractMod; +import binnie.core.craftgui.ITooltipHelp; +import binnie.core.craftgui.Tooltip; + +public class DatabaseTab implements ITooltipHelp { + private AbstractMod mod; + private String unloc; + private int colour; + + public DatabaseTab(AbstractMod mod, String unloc, int colour) { + this.mod = mod; + this.unloc = unloc; + this.colour = colour; + } + + @Override + public String toString() { + return Binnie.Language.localise(mod, "gui.database.tab." + unloc); + } + + @Override + public void getHelpTooltip(Tooltip tooltip) { + tooltip.add(Binnie.Language.localiseOrBlank(mod, "gui.database.tab." + unloc + ".help")); + } +} diff --git a/src/main/java/binnie/core/craftgui/database/EnumDiscoveryState.java b/src/main/java/binnie/core/craftgui/database/EnumDiscoveryState.java new file mode 100644 index 00000000..68d038d4 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/EnumDiscoveryState.java @@ -0,0 +1,8 @@ +package binnie.core.craftgui.database; + +public enum EnumDiscoveryState { + Show, + Undetermined, + Discovered, + Undiscovered +} diff --git a/src/main/java/binnie/core/craftgui/database/IDatabaseMode.java b/src/main/java/binnie/core/craftgui/database/IDatabaseMode.java new file mode 100644 index 00000000..4276d69e --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/IDatabaseMode.java @@ -0,0 +1,5 @@ +package binnie.core.craftgui.database; + +public interface IDatabaseMode { + String getName(); +} diff --git a/src/main/java/binnie/core/craftgui/database/PageAbstract.java b/src/main/java/binnie/core/craftgui/database/PageAbstract.java new file mode 100644 index 00000000..f1609557 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/PageAbstract.java @@ -0,0 +1,12 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.page.ControlPage; + +public abstract class PageAbstract extends ControlPage { + public PageAbstract(IWidget parent, DatabaseTab tab) { + super(parent, 0.0f, 0.0f, parent.getSize().x(), parent.getSize().y(), tab); + } + + public abstract void onValueChanged(T value); +} diff --git a/src/main/java/binnie/core/craftgui/database/PageBranch.java b/src/main/java/binnie/core/craftgui/database/PageBranch.java new file mode 100644 index 00000000..5d5c4d42 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/PageBranch.java @@ -0,0 +1,10 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.IWidget; +import forestry.api.genetics.IClassification; + +abstract class PageBranch extends PageAbstract { + public PageBranch(IWidget parent, DatabaseTab tab) { + super(parent, tab); + } +} diff --git a/src/main/java/binnie/core/craftgui/database/PageBranchOverview.java b/src/main/java/binnie/core/craftgui/database/PageBranchOverview.java new file mode 100644 index 00000000..c38fc6fa --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/PageBranchOverview.java @@ -0,0 +1,57 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.ControlTextCentered; +import forestry.api.genetics.IClassification; + +import java.util.ArrayList; +import java.util.List; + +public class PageBranchOverview extends PageBranch { + private ControlText pageBranchOverview_branchName; + private ControlText pageBranchOverview_branchScientific; + private ControlText pageBranchOverview_branchAuthority; + private List pageBranchOverview_branchDescription; + + public PageBranchOverview(IWidget parent, DatabaseTab tab) { + super(parent, tab); + pageBranchOverview_branchDescription = new ArrayList<>(); + pageBranchOverview_branchName = new ControlTextCentered(this, 8.0f, ""); + pageBranchOverview_branchScientific = new ControlTextCentered(this, 32.0f, ""); + pageBranchOverview_branchAuthority = new ControlTextCentered(this, 44.0f, ""); + } + + @Override + public void onValueChanged(IClassification branch) { + pageBranchOverview_branchName.setValue("§n" + branch.getName() + " Branch§r"); + pageBranchOverview_branchScientific.setValue("§oApidae " + branch.getScientific() + "§r"); + pageBranchOverview_branchAuthority.setValue("Discovered by §l" + branch.getMemberSpecies()[0].getAuthority() + "§r"); + for (IWidget widget : pageBranchOverview_branchDescription) { + deleteChild(widget); + } + + pageBranchOverview_branchDescription.clear(); + String desc = branch.getDescription(); + if (desc == null || desc == "") { + desc = "No Description Provided."; + } + + String line = ""; + List descLines = new ArrayList(); + for (String str : desc.split(" ")) { + if (CraftGUI.Render.textWidth(line + " " + str) > 134) { + descLines.add("§o" + line + "§r"); + line = ""; + } + line = line + " " + str; + } + + descLines.add(line); + int i = 0; + for (String dLine : descLines) { + pageBranchOverview_branchDescription.add(new ControlTextCentered(this, 84 + 12 * i++, dLine)); + } + } +} diff --git a/src/main/java/binnie/core/craftgui/database/PageBranchSpecies.java b/src/main/java/binnie/core/craftgui/database/PageBranchSpecies.java new file mode 100644 index 00000000..7a849a9e --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/PageBranchSpecies.java @@ -0,0 +1,38 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.events.EventValueChanged; +import cpw.mods.fml.common.Mod; +import forestry.api.genetics.IAlleleSpecies; +import forestry.api.genetics.IClassification; + +public class PageBranchSpecies extends PageBranch { + private ControlText pageBranchSpecies_title; + private ControlSpeciesBox pageBranchSpecies_speciesList; + + @Mod.EventHandler + public void onHandleEvent(EventValueChanged event) { + // ignored + } + + public PageBranchSpecies(IWidget parent, DatabaseTab tab) { + super(parent, tab); + pageBranchSpecies_title = new ControlTextCentered(this, 8.0f, "Species"); + addEventHandler(new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + if (event.isOrigin(pageBranchSpecies_speciesList)) { + ((WindowAbstractDatabase) getSuperParent()).gotoSpecies((IAlleleSpecies) event.getValue()); + } + } + }); + pageBranchSpecies_speciesList = new ControlSpeciesBox(this, 4.0f, 20.0f, 136.0f, 152.0f); + } + + @Override + public void onValueChanged(IClassification branch) { + pageBranchSpecies_speciesList.setBranch(branch); + } +} diff --git a/src/main/java/binnie/craftgui/mod/database/PageBreeder.java b/src/main/java/binnie/core/craftgui/database/PageBreeder.java similarity index 58% rename from src/main/java/binnie/craftgui/mod/database/PageBreeder.java rename to src/main/java/binnie/core/craftgui/database/PageBreeder.java index 899257a2..385df653 100644 --- a/src/main/java/binnie/craftgui/mod/database/PageBreeder.java +++ b/src/main/java/binnie/core/craftgui/database/PageBreeder.java @@ -1,41 +1,38 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; +package binnie.core.craftgui.database; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.page.ControlPage; +import binnie.core.craftgui.minecraft.Window; import binnie.core.genetics.BreedingSystem; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.core.IWidget; import com.mojang.authlib.GameProfile; -import binnie.craftgui.controls.page.ControlPage; -public class PageBreeder extends ControlPage -{ +public class PageBreeder extends ControlPage { private GameProfile player; - public PageBreeder(final IWidget parent, final GameProfile player, final DatabaseTab tab) { + public PageBreeder(IWidget parent, GameProfile player, DatabaseTab tab) { super(parent, 0.0f, 0.0f, parent.getSize().x(), parent.getSize().y(), tab); this.player = player; - this.onPageRefresh(); + onPageRefresh(); } public void onPageRefresh() { - while (this.getWidgets().size() > 0) { - this.deleteChild(this.getWidgets().get(0)); + while (getWidgets().size() > 0) { + deleteChild(getWidgets().get(0)); } - final BreedingSystem system = ((WindowAbstractDatabase) Window.get(this)).getBreedingSystem(); - final String descriptor = system.getDescriptor(); + + BreedingSystem system = ((WindowAbstractDatabase) Window.get(this)).getBreedingSystem(); + String descriptor = system.getDescriptor(); new ControlTextCentered(this, 8.0f, "§n" + system.getDescriptor() + " Profile§r"); new ControlTextCentered(this, 75.0f, "" + system.discoveredSpeciesCount + "/" + system.totalSpeciesCount + " Species"); new ControlBreedingProgress(this, 20, 87, 102, 14, system, system.discoveredSpeciesPercentage); new ControlTextCentered(this, 115.0f, "" + system.discoveredBranchCount + "/" + system.totalBranchCount + " Branches"); new ControlBreedingProgress(this, 20, 127, 102, 14, system, system.discoveredBranchPercentage); + if (system.discoveredSecretCount > 0) { new ControlTextCentered(this, 155.0f, "" + system.discoveredSecretCount + "/" + system.totalSecretCount + " Secret Species"); } - new ControlTextCentered(this, 32.0f, this.player.getName()); + new ControlTextCentered(this, 32.0f, player.getName()); new ControlTextCentered(this, 44.0f, "§o" + system.getEpitome() + "§r"); } } diff --git a/src/main/java/binnie/core/craftgui/database/PageBreederStats.java b/src/main/java/binnie/core/craftgui/database/PageBreederStats.java new file mode 100644 index 00000000..9ae43602 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/PageBreederStats.java @@ -0,0 +1,19 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.genetics.BreedingSystem; + +// TODO unused class? +public class PageBreederStats extends Control { + String player; + + public PageBreederStats(IWidget parent, int w, int h, String player) { + super(parent, 0.0f, 0.0f, w, h); + this.player = player; + ControlText pageBranchOverview_branchName = new ControlTextCentered(this, 8.0f, "§nStats§r"); + BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); + } +} diff --git a/src/main/java/binnie/core/craftgui/database/PageSpecies.java b/src/main/java/binnie/core/craftgui/database/PageSpecies.java new file mode 100644 index 00000000..99d02b3d --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/PageSpecies.java @@ -0,0 +1,10 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.IWidget; +import forestry.api.genetics.IAlleleSpecies; + +public abstract class PageSpecies extends PageAbstract { + public PageSpecies(IWidget parent, DatabaseTab tab) { + super(parent, tab); + } +} diff --git a/src/main/java/binnie/core/craftgui/database/PageSpeciesClassification.java b/src/main/java/binnie/core/craftgui/database/PageSpeciesClassification.java new file mode 100644 index 00000000..ecdd01b2 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/PageSpeciesClassification.java @@ -0,0 +1,49 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.ControlTextCentered; +import forestry.api.genetics.IAlleleSpecies; +import forestry.api.genetics.IClassification; + +import java.util.LinkedHashMap; +import java.util.Map; + +public class PageSpeciesClassification extends PageSpecies { + private Map levels; + private ControlText genus; + + public PageSpeciesClassification(IWidget parent, DatabaseTab tab) { + super(parent, tab); + levels = new LinkedHashMap<>(); + int y = 16; + for (IClassification.EnumClassLevel level : IClassification.EnumClassLevel.values()) { + ControlText text = new ControlTextCentered(this, y, ""); + text.setColor(level.getColour()); + levels.put(level, text); + y += 12; + } + + genus = new ControlTextCentered(this, y, ""); + genus.setColor(0xffba77); + } + + @Override + public void onValueChanged(IAlleleSpecies species) { + if (species == null) { + return; + } + + for (ControlText text : levels.values()) { + text.setValue("- - -"); + } + + genus.setValue(species.getBinomial()); + for (IClassification classification = species.getBranch(); classification != null; classification = classification.getParent()) { + IClassification.EnumClassLevel level = classification.getLevel(); + String text2 = ""; + text2 += classification.getScientific(); + levels.get(level).setValue(text2); + } + } +} diff --git a/src/main/java/binnie/core/craftgui/database/PageSpeciesMutations.java b/src/main/java/binnie/core/craftgui/database/PageSpeciesMutations.java new file mode 100644 index 00000000..af2214a2 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/PageSpeciesMutations.java @@ -0,0 +1,22 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.ControlTextCentered; +import forestry.api.genetics.IAlleleSpecies; + +public class PageSpeciesMutations extends PageSpecies { + private ControlText pageSpeciesFurtherTitle; + private ControlMutationBox pageSpeciesFurtherList; + + public PageSpeciesMutations(IWidget parent, DatabaseTab tab) { + super(parent, tab); + pageSpeciesFurtherTitle = new ControlTextCentered(this, 8.0f, "Further Mutations"); + pageSpeciesFurtherList = new ControlMutationBox(this, 4, 20, 136, 152, ControlMutationBox.Type.Further); + } + + @Override + public void onValueChanged(IAlleleSpecies species) { + pageSpeciesFurtherList.setSpecies(species); + } +} diff --git a/src/main/java/binnie/core/craftgui/database/PageSpeciesOverview.java b/src/main/java/binnie/core/craftgui/database/PageSpeciesOverview.java new file mode 100644 index 00000000..8f9535a6 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/PageSpeciesOverview.java @@ -0,0 +1,66 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.geometry.TextJustification; +import forestry.api.genetics.IAlleleSpecies; + +public class PageSpeciesOverview extends PageSpecies { + private ControlText controlName; + private ControlText controlScientific; + private ControlText controlAuthority; + private ControlText controlComplexity; + private ControlText controlDescription; + private ControlText controlSignature; + private ControlDatabaseIndividualDisplay controlInd1; + private ControlDatabaseIndividualDisplay controlInd2; + + public PageSpeciesOverview(IWidget parent, DatabaseTab tab) { + super(parent, tab); + controlInd1 = new ControlDatabaseIndividualDisplay(this, 5.0f, 5.0f); + controlInd2 = new ControlDatabaseIndividualDisplay(this, 123.0f, 5.0f); + controlName = new ControlTextCentered(this, 8.0f, ""); + controlScientific = new ControlTextCentered(this, 32.0f, ""); + controlAuthority = new ControlTextCentered(this, 44.0f, ""); + controlComplexity = new ControlTextCentered(this, 56.0f, ""); + controlDescription = new ControlText(this, new IArea(8.0f, 84.0f, getSize().x() - 16.0f, 0.0f), "", TextJustification.MiddleCenter); + controlSignature = new ControlText(this, new IArea(8.0f, 84.0f, getSize().x() - 16.0f, 0.0f), "", TextJustification.BottomRight); + } + + @Override + public void onValueChanged(IAlleleSpecies species) { + controlInd1.setSpecies(species, EnumDiscoveryState.Show); + controlInd2.setSpecies(species, EnumDiscoveryState.Show); + String branchBinomial = (species.getBranch() != null) ? species.getBranch().getScientific() : ""; + String branchName = (species.getBranch() != null) ? species.getBranch().getName() : "Unknown"; + controlName.setValue("§n" + species.getName() + "§r"); + controlScientific.setValue("§o" + branchBinomial + " " + species.getBinomial() + "§r"); + controlAuthority.setValue("Discovered by §l" + species.getAuthority() + "§r"); + controlComplexity.setValue("Complexity: " + species.getComplexity()); + String desc = species.getDescription(); + String descBody = "§o"; + String descSig = ""; + + if (desc == null || desc == "") { + descBody += "No Description Provided."; + } else { + String[] descStrings = desc.split("\\|"); + descBody += descStrings[0]; + for (int i = 1; i < descStrings.length - 1; ++i) { + descBody = descBody + " " + descStrings[i]; + } + if (descStrings.length > 1) { + descSig += descStrings[descStrings.length - 1]; + } + } + + controlDescription.setValue(descBody + "§r"); + controlSignature.setValue(descSig + "§r"); + float descHeight = CraftGUI.Render.textHeight(controlDescription.getValue(), controlDescription.getSize().x()); + controlSignature.setPosition(new IPoint(controlSignature.pos().x(), controlDescription.getPosition().y() + descHeight + 10.0f)); + } +} diff --git a/src/main/java/binnie/core/craftgui/database/PageSpeciesResultant.java b/src/main/java/binnie/core/craftgui/database/PageSpeciesResultant.java new file mode 100644 index 00000000..20753a9a --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/PageSpeciesResultant.java @@ -0,0 +1,22 @@ +package binnie.core.craftgui.database; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.ControlTextCentered; +import forestry.api.genetics.IAlleleSpecies; + +public class PageSpeciesResultant extends PageSpecies { + private ControlText pageSpeciesResultantTitle; + private ControlMutationBox pageSpeciesResultantList; + + public PageSpeciesResultant(IWidget parent, DatabaseTab tab) { + super(parent, tab); + pageSpeciesResultantTitle = new ControlTextCentered(this, 8.0f, "Resultant Mutations"); + pageSpeciesResultantList = new ControlMutationBox(this, 4, 20, 136, 152, ControlMutationBox.Type.Resultant); + } + + @Override + public void onValueChanged(IAlleleSpecies species) { + pageSpeciesResultantList.setSpecies(species); + } +} diff --git a/src/main/java/binnie/core/craftgui/database/WindowAbstractDatabase.java b/src/main/java/binnie/core/craftgui/database/WindowAbstractDatabase.java new file mode 100644 index 00000000..5cca2e24 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/database/WindowAbstractDatabase.java @@ -0,0 +1,256 @@ +package binnie.core.craftgui.database; + +import binnie.core.BinnieCore; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlTextEdit; +import binnie.core.craftgui.controls.listbox.ControlListBox; +import binnie.core.craftgui.controls.listbox.ControlTextOption; +import binnie.core.craftgui.controls.page.ControlPage; +import binnie.core.craftgui.controls.page.ControlPages; +import binnie.core.craftgui.controls.tab.ControlTab; +import binnie.core.craftgui.controls.tab.ControlTabBar; +import binnie.core.craftgui.events.EventHandler; +import binnie.core.craftgui.events.EventTextEdit; +import binnie.core.craftgui.events.EventValueChanged; +import binnie.core.craftgui.geometry.CraftGUIUtil; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.MinecraftGUI; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.control.ControlHelp; +import binnie.core.craftgui.window.Panel; +import binnie.core.genetics.BreedingSystem; +import binnie.core.util.IValidator; +import com.mojang.authlib.GameProfile; +import cpw.mods.fml.relauncher.Side; +import forestry.api.genetics.IAlleleSpecies; +import forestry.api.genetics.IBreedingTracker; +import forestry.api.genetics.IClassification; +import net.minecraft.entity.player.EntityPlayer; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +public abstract class WindowAbstractDatabase extends Window { + protected boolean isNEI; + + private float selectionBoxWidth; + private float infoBoxWidth = 144.0f; + private float infoBoxHeight = 176.0f; + private float infoTabWidth = 16.0f; + private float modeTabWidth = 22.0f; + private float searchBoxHeight = 16.0f; + private Map modes; + private BreedingSystem system; + private Panel panelInformation; + private Panel panelSearch; + private ControlPages modePages; + private IAlleleSpecies gotoSpecies; + + public void changeMode(IDatabaseMode mode) { + modePages.setValue(mode); + } + + public WindowAbstractDatabase(EntityPlayer player, Side side, boolean nei, BreedingSystem system, float wid) { + super(100.0f, 192.0f, player, null, side); + selectionBoxWidth = 95.0f; + modes = new HashMap<>(); + isNEI = nei; + this.system = system; + selectionBoxWidth = wid; + } + + public ControlPages getInfoPages(IDatabaseMode mode) { + return modes.get(mode).infoPages; + } + + public boolean isNEI() { + return isNEI; + } + + public BreedingSystem getBreedingSystem() { + return system; + } + + public WindowAbstractDatabase(EntityPlayer player, Side side, boolean nei, BreedingSystem system) { + this(player, side, nei, system, 95.0f); + } + + protected ModeWidgets createMode(IDatabaseMode mode, ModeWidgets widgets) { + modes.put(mode, widgets); + return widgets; + } + + @Override + public void initialiseClient() { + setSize(new IPoint(176.0f + selectionBoxWidth + 22.0f + 8.0f, 208.0f)); + addEventHandler(new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + if (!(event.getOrigin().getParent() instanceof ControlPage)) { + return; + } else if ((event.getValue() instanceof DatabaseTab)) { + return; + } + + ControlPage parent = (ControlPage) event.getOrigin().getParent(); + if (!(parent.getValue() instanceof IDatabaseMode)) { + return; + } + + for (IWidget widget : parent.getWidgets()) { + if (widget instanceof ControlPages) { + if (event.getValue() == null) { + widget.hide(); + } else { + widget.show(); + for (IWidget widget2 : widget.getWidgets()) { + if (widget2 instanceof PageAbstract) { + ((PageAbstract) widget2).onValueChanged(event.getValue()); + } + } + } + } + } + } + }); + + addEventHandler(new EventTextEdit.Handler() { + @Override + public void onEvent(EventTextEdit event) { + for (ModeWidgets widgets : modes.values()) { + widgets.listBox.setValidator(new IValidator() { + @Override + public boolean isValid(IWidget object) { + return event.getValue() == "" || ((ControlTextOption) object).getText().toLowerCase().contains(event.getValue().toLowerCase()); + } + }); + } + } + }.setOrigin(EventHandler.Origin.DirectChild, this)); + + new ControlHelp(this, 4.0f, 4.0f); + (panelInformation = new Panel(this, 24.0f, 24.0f, 144.0f, 176.0f, MinecraftGUI.PanelType.Black)).setColor(860416); + (panelSearch = new Panel(this, 176.0f, 24.0f, selectionBoxWidth, 160.0f, MinecraftGUI.PanelType.Black)).setColor(860416); + modePages = new ControlPages<>(this, 0.0f, 0.0f, getSize().x(), getSize().y()); + new ControlTextEdit(this, 176.0f, 184.0f, selectionBoxWidth, 16.0f); + + createMode(Mode.Species, new ModeWidgets(Mode.Species, this) { + @Override + public void createListBox(IArea area) { + GameProfile playerName = getUsername(); + Collection speciesList = database.isNEI ? database.system.getAllSpecies() : database.system.getDiscoveredSpecies(database.getWorld(), playerName); + (listBox = new ControlSpeciesBox(modePage, area.x(), area.y(), area.w(), area.h())).setOptions(speciesList); + } + }); + + createMode(Mode.Branches, new ModeWidgets(Mode.Branches, this) { + @Override + public void createListBox(IArea area) { + EntityPlayer player = database.getPlayer(); + GameProfile playerName = getUsername(); + Collection speciesList = database.isNEI ? database.system.getAllBranches() : database.system.getDiscoveredBranches(database.getWorld(), playerName); + (listBox = new ControlBranchBox(modePage, area.x(), area.y(), area.w(), area.h())).setOptions(speciesList); + } + }); + + createMode(Mode.Breeder, new ModeWidgets(Mode.Breeder, this) { + @Override + public void createListBox(IArea area) { + listBox = new ControlListBox(modePage, area.x(), area.y(), area.w(), area.h(), 12.0f); + } + }); + + addTabs(); + ControlTabBar tab = new ControlTabBar(this, 176.0f + selectionBoxWidth, 24.0f, 22.0f, 176.0f, Position.Right) { + @Override + public ControlTab createTab(float x, float y, float w, float h, IDatabaseMode value) { + return new ControlTab(this, x, y, w, h, value) { + @Override + public String getName() { + return value.getName(); + } + }; + } + }; + + tab.setValues(modePages.getValues()); + CraftGUIUtil.linkWidgets(tab, modePages); + changeMode(Mode.Species); + for (IDatabaseMode mode : modes.keySet()) { + modes.get(mode).infoTabs = new ControlTabBar(modes.get(mode).modePage, 8.0f, 24.0f, 16.0f, 176.0f, Position.Left); + modes.get(mode).infoTabs.setValues(modes.get(mode).infoPages.getValues()); + CraftGUIUtil.linkWidgets(modes.get(mode).infoTabs, modes.get(mode).infoPages); + } + } + + @Override + public void initialiseServer() { + IBreedingTracker tracker = system.getSpeciesRoot().getBreedingTracker(getWorld(), getUsername()); + if (tracker != null) { + tracker.synchToPlayer(getPlayer()); + } + } + + protected void addTabs() { + // ignoreds + } + + public void gotoSpecies(IAlleleSpecies value) { + if (value == null) { + return; + } + + modePages.setValue(Mode.Species); + changeMode(Mode.Species); + modes.get(modePages.getValue()).listBox.setValue(value); + } + + public void gotoSpeciesDelayed(IAlleleSpecies species) { + gotoSpecies = species; + } + + @Override + public void onUpdateClient() { + super.onUpdateClient(); + if (gotoSpecies == null) { + return; + } + + ((WindowAbstractDatabase) getSuperParent()).gotoSpecies(gotoSpecies); + gotoSpecies = null; + } + + public enum Mode implements IDatabaseMode { + Species, + Branches, + Breeder; + + @Override + public String getName() { + return BinnieCore.proxy.localise("gui.database.mode." + name().toLowerCase()); + } + } + + public abstract static class ModeWidgets { + public WindowAbstractDatabase database; + public ControlPage modePage; + private ControlPages infoPages; + public ControlListBox listBox; + private ControlTabBar infoTabs; + + public ModeWidgets(IDatabaseMode mode, WindowAbstractDatabase database) { + this.database = database; + modePage = new ControlPage<>(database.modePages, 0.0f, 0.0f, database.getSize().x(), database.getSize().y(), mode); + IArea listBoxArea = database.panelSearch.area().inset(2); + createListBox(listBoxArea); + CraftGUIUtil.alignToWidget(listBox, database.panelSearch); + CraftGUIUtil.moveWidget(listBox, new IPoint(2.0f, 2.0f)); + CraftGUIUtil.alignToWidget(infoPages = new ControlPages<>(modePage, 0.0f, 0.0f, 144.0f, 176.0f), database.panelInformation); + } + + public abstract void createListBox(IArea p0); + } +} diff --git a/src/main/java/binnie/core/craftgui/events/Event.java b/src/main/java/binnie/core/craftgui/events/Event.java new file mode 100644 index 00000000..01bb9f9d --- /dev/null +++ b/src/main/java/binnie/core/craftgui/events/Event.java @@ -0,0 +1,19 @@ +package binnie.core.craftgui.events; + +import binnie.core.craftgui.IWidget; + +public class Event { + IWidget origin; + + public Event(IWidget origin) { + this.origin = origin; + } + + public IWidget getOrigin() { + return origin; + } + + public boolean isOrigin(IWidget widget) { + return origin == widget; + } +} diff --git a/src/main/java/binnie/core/craftgui/events/EventButtonClicked.java b/src/main/java/binnie/core/craftgui/events/EventButtonClicked.java new file mode 100644 index 00000000..89ca3765 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/events/EventButtonClicked.java @@ -0,0 +1,15 @@ +package binnie.core.craftgui.events; + +import binnie.core.craftgui.IWidget; + +public class EventButtonClicked extends Event { + public EventButtonClicked(IWidget origin) { + super(origin); + } + + public abstract static class Handler extends EventHandler { + public Handler() { + super(EventButtonClicked.class); + } + } +} diff --git a/src/main/java/binnie/core/craftgui/events/EventCycleChanged.java b/src/main/java/binnie/core/craftgui/events/EventCycleChanged.java new file mode 100644 index 00000000..d9180488 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/events/EventCycleChanged.java @@ -0,0 +1,16 @@ +package binnie.core.craftgui.events; + +import binnie.core.craftgui.IWidget; + +public class EventCycleChanged extends Event { + public int value; + + public EventCycleChanged(IWidget origin, int value) { + super(origin); + this.value = value; + } + + public int getValue() { + return value; + } +} diff --git a/src/main/java/binnie/core/craftgui/events/EventHandler.java b/src/main/java/binnie/core/craftgui/events/EventHandler.java new file mode 100644 index 00000000..b20c14ed --- /dev/null +++ b/src/main/java/binnie/core/craftgui/events/EventHandler.java @@ -0,0 +1,50 @@ +package binnie.core.craftgui.events; + +import binnie.core.craftgui.IWidget; + +public abstract class EventHandler { + Class eventClass; + Origin origin; + IWidget relative; + + public EventHandler(Class eventClass) { + this.eventClass = eventClass; + origin = Origin.Any; + } + + public EventHandler setOrigin(Origin origin, IWidget relative) { + this.origin = origin; + this.relative = relative; + return this; + } + + public abstract void onEvent(E event); + + public boolean handles(Event e) { + return eventClass.isInstance(e) && origin.isOrigin(e.getOrigin(), relative); + } + + public enum Origin { + Any, + Self, + Parent, + DirectChild; + + public boolean isOrigin(IWidget origin, IWidget test) { + switch (this) { + case Any: + return true; + + case DirectChild: + return test.getWidgets().contains(origin); + + case Parent: + return test.getParent() == origin; + + case Self: + return test == origin; + } + return false; + } + } +} diff --git a/src/main/java/binnie/core/craftgui/events/EventKey.java b/src/main/java/binnie/core/craftgui/events/EventKey.java new file mode 100644 index 00000000..e24934f5 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/events/EventKey.java @@ -0,0 +1,47 @@ +package binnie.core.craftgui.events; + +import binnie.core.craftgui.IWidget; + +public abstract class EventKey extends Event { + char character; + int key; + + public EventKey(IWidget origin, char character, int key) { + super(origin); + this.character = character; + this.key = key; + } + + public char getCharacter() { + return character; + } + + public int getKey() { + return key; + } + + public static class Down extends EventKey { + public Down(IWidget origin, char character, int key) { + super(origin, character, key); + } + + public abstract static class Handler extends EventHandler { + public Handler() { + super(Down.class); + } + } + } + + // TODO unused class? + public static class Up extends EventKey { + public Up(IWidget origin, char character, int key) { + super(origin, character, key); + } + + public abstract static class Handler extends EventHandler { + public Handler() { + super(Up.class); + } + } + } +} diff --git a/src/main/java/binnie/core/craftgui/events/EventMouse.java b/src/main/java/binnie/core/craftgui/events/EventMouse.java new file mode 100644 index 00000000..d7a68875 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/events/EventMouse.java @@ -0,0 +1,115 @@ +package binnie.core.craftgui.events; + +import binnie.core.craftgui.IWidget; + +public abstract class EventMouse extends Event { + public EventMouse(IWidget origin) { + super(origin); + } + + public static class Button extends EventMouse { + protected int x; + protected int y; + protected int button; + + public int getX() { + return x; + } + + public int getY() { + return y; + } + + public int getButton() { + return button; + } + + public Button(IWidget currentMousedOverWidget, int x, int y, int button) { + super(currentMousedOverWidget); + this.x = x; + this.y = y; + this.button = button; + } + } + + public static class Down extends Button { + public Down(IWidget currentMousedOverWidget, int x, int y, int button) { + super(currentMousedOverWidget, x, y, button); + } + + public abstract static class Handler extends EventHandler { + public Handler() { + super(Down.class); + } + } + } + + public static class Up extends Button { + public Up(IWidget currentMousedOverWidget, int x, int y, int button) { + super(currentMousedOverWidget, x, y, button); + } + + public abstract static class Handler extends EventHandler { + public Handler() { + super(Up.class); + } + } + } + + public static class Move extends EventMouse { + protected float dx; + protected float dy; + + public float getDx() { + return dx; + } + + public float getDy() { + return dy; + } + + public Move(IWidget origin, float dx, float dy) { + super(origin); + this.dx = dx; + this.dy = dy; + } + + public abstract static class Handler extends EventHandler { + public Handler() { + super(Move.class); + } + } + } + + public static class Drag extends Move { + public Drag(IWidget draggedWidget, float dx, float dy) { + super(draggedWidget, dx, dy); + } + + public abstract static class Handler extends EventHandler { + public Handler() { + super(Drag.class); + } + } + } + + public static class Wheel extends EventMouse { + protected int dWheel; + + public Wheel(IWidget origin, int dWheel) { + super(origin); + this.dWheel = 0; + this.dWheel = dWheel / 28; + } + + public int getDWheel() { + return dWheel; + } + + public abstract static class Handler extends EventHandler { + public Handler() { + super(Wheel.class); + } + } + } +} diff --git a/src/main/java/binnie/core/craftgui/events/EventTextEdit.java b/src/main/java/binnie/core/craftgui/events/EventTextEdit.java new file mode 100644 index 00000000..3a91c029 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/events/EventTextEdit.java @@ -0,0 +1,15 @@ +package binnie.core.craftgui.events; + +import binnie.core.craftgui.IWidget; + +public class EventTextEdit extends EventValueChanged { + public EventTextEdit(IWidget origin, String text) { + super(origin, text); + } + + public abstract static class Handler extends EventHandler { + public Handler() { + super(EventTextEdit.class); + } + } +} diff --git a/src/main/java/binnie/core/craftgui/events/EventToggleButtonClicked.java b/src/main/java/binnie/core/craftgui/events/EventToggleButtonClicked.java new file mode 100644 index 00000000..ca13b550 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/events/EventToggleButtonClicked.java @@ -0,0 +1,16 @@ +package binnie.core.craftgui.events; + +import binnie.core.craftgui.IWidget; + +public class EventToggleButtonClicked extends Event { + protected boolean toggled; + + public EventToggleButtonClicked(IWidget origin, boolean toggled) { + super(origin); + this.toggled = toggled; + } + + public boolean isActive() { + return toggled; + } +} diff --git a/src/main/java/binnie/core/craftgui/events/EventValueChanged.java b/src/main/java/binnie/core/craftgui/events/EventValueChanged.java new file mode 100644 index 00000000..2ae583d0 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/events/EventValueChanged.java @@ -0,0 +1,22 @@ +package binnie.core.craftgui.events; + +import binnie.core.craftgui.IWidget; + +public class EventValueChanged extends Event { + public T value; + + public EventValueChanged(IWidget origin, T value) { + super(origin); + this.value = value; + } + + public T getValue() { + return value; + } + + public abstract static class Handler extends EventHandler { + public Handler() { + super(EventValueChanged.class); + } + } +} diff --git a/src/main/java/binnie/core/craftgui/events/EventValuesChanged.java b/src/main/java/binnie/core/craftgui/events/EventValuesChanged.java new file mode 100644 index 00000000..30acf781 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/events/EventValuesChanged.java @@ -0,0 +1,16 @@ +package binnie.core.craftgui.events; + +import binnie.core.craftgui.IWidget; + +public class EventValuesChanged extends Event { + public T[] values; + + public EventValuesChanged(IWidget origin, T[] values) { + super(origin); + this.values = values; + } + + public T[] getValues() { + return values; + } +} diff --git a/src/main/java/binnie/craftgui/events/EventWidget.java b/src/main/java/binnie/core/craftgui/events/EventWidget.java similarity index 55% rename from src/main/java/binnie/craftgui/events/EventWidget.java rename to src/main/java/binnie/core/craftgui/events/EventWidget.java index 0bf56670..cfa9f006 100644 --- a/src/main/java/binnie/craftgui/events/EventWidget.java +++ b/src/main/java/binnie/core/craftgui/events/EventWidget.java @@ -1,214 +1,181 @@ -// -// Decompiled by Procyon v0.5.30 -// +package binnie.core.craftgui.events; -package binnie.craftgui.events; +import binnie.core.craftgui.IWidget; -import binnie.craftgui.core.IWidget; - -public class EventWidget extends Event -{ - public EventWidget(final IWidget origin) { +public class EventWidget extends Event { + public EventWidget(IWidget origin) { super(origin); } - public static class Enable extends EventWidget - { - public Enable(final IWidget origin) { + public static class Enable extends EventWidget { + public Enable(IWidget origin) { super(origin); } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(Enable.class); } } } - public static class Disable extends EventWidget - { - public Disable(final IWidget origin) { + public static class Disable extends EventWidget { + public Disable(IWidget origin) { super(origin); } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(Disable.class); } } } - public static class Show extends EventWidget - { - public Show(final IWidget origin) { + public static class Show extends EventWidget { + public Show(IWidget origin) { super(origin); } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(Show.class); } } } - public static class Hide extends EventWidget - { - public Hide(final IWidget origin) { + public static class Hide extends EventWidget { + public Hide(IWidget origin) { super(origin); } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(Hide.class); } } } - public static class ChangePosition extends EventWidget - { - public ChangePosition(final IWidget origin) { + public static class ChangePosition extends EventWidget { + public ChangePosition(IWidget origin) { super(origin); } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(ChangePosition.class); } } } - public static class ChangeSize extends EventWidget - { - public ChangeSize(final IWidget origin) { + public static class ChangeSize extends EventWidget { + public ChangeSize(IWidget origin) { super(origin); } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(ChangeSize.class); } } } - public static class ChangeOffset extends EventWidget - { - public ChangeOffset(final IWidget origin) { + public static class ChangeOffset extends EventWidget { + public ChangeOffset(IWidget origin) { super(origin); } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(ChangeOffset.class); } } } - public static class ChangeColour extends EventWidget - { - public ChangeColour(final IWidget origin) { + public static class ChangeColour extends EventWidget { + public ChangeColour(IWidget origin) { super(origin); } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(ChangeColour.class); } } } - public static class StartMouseOver extends EventWidget - { - public StartMouseOver(final IWidget origin) { + public static class StartMouseOver extends EventWidget { + public StartMouseOver(IWidget origin) { super(origin); } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(StartMouseOver.class); } } } - public static class EndMouseOver extends EventWidget - { - public EndMouseOver(final IWidget origin) { + public static class EndMouseOver extends EventWidget { + public EndMouseOver(IWidget origin) { super(origin); } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(EndMouseOver.class); } } } - public static class StartDrag extends EventWidget - { - int button; + public static class StartDrag extends EventWidget { + protected int button; - public StartDrag(final IWidget origin, final int button) { + public StartDrag(IWidget origin, int button) { super(origin); this.button = button; } public int getButton() { - return this.button; + return button; } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(StartDrag.class); } } } - public static class EndDrag extends EventWidget - { - public EndDrag(final IWidget origin) { + public static class EndDrag extends EventWidget { + public EndDrag(IWidget origin) { super(origin); } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(EndDrag.class); } } } - public static class GainFocus extends EventWidget - { - public GainFocus(final IWidget origin) { + public static class GainFocus extends EventWidget { + public GainFocus(IWidget origin) { super(origin); } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(GainFocus.class); } } } - public static class LoseFocus extends EventWidget - { - public LoseFocus(final IWidget origin) { + public static class LoseFocus extends EventWidget { + public LoseFocus(IWidget origin) { super(origin); } - public abstract static class Handler extends EventHandler - { + public abstract static class Handler extends EventHandler { public Handler() { super(LoseFocus.class); } diff --git a/src/main/java/binnie/core/craftgui/geometry/CraftGUIUtil.java b/src/main/java/binnie/core/craftgui/geometry/CraftGUIUtil.java new file mode 100644 index 00000000..aa0c9e8a --- /dev/null +++ b/src/main/java/binnie/core/craftgui/geometry/CraftGUIUtil.java @@ -0,0 +1,65 @@ +package binnie.core.craftgui.geometry; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.events.EventValueChanged; + +public class CraftGUIUtil { + public static void alignToWidget(IWidget target, IWidget relativeTo) { + IPoint startPos = target.getAbsolutePosition(); + IPoint endPos = relativeTo.getAbsolutePosition(); + moveWidget(target, endPos.sub(startPos)); + } + + public static void moveWidget(IWidget target, IPoint movement) { + target.setPosition(target.getPosition().add(movement)); + } + + public static void horizontalGrid(float px, float py, IWidget... widgets) { + horizontalGrid(px, py, TextJustification.MiddleCenter, 0.0f, widgets); + } + + public static void horizontalGrid(float px, float py, TextJustification just, float spacing, IWidget... widgets) { + float x = 0.0f; + float h = 0.0f; + for (IWidget widget : widgets) { + h = Math.max(h, widget.getSize().y()); + } + for (IWidget widget : widgets) { + widget.setPosition(new IPoint(px + x, py + (h - widget.getSize().y()) * just.yOffset)); + x += widget.getSize().x() + spacing; + } + } + + public static void verticalGrid(float px, float py, IWidget... widgets) { + horizontalGrid(px, py, TextJustification.MiddleCenter, 0.0f, widgets); + } + + public static void verticalGrid(float px, float py, TextJustification just, float spacing, IWidget... widgets) { + float y = 0.0f; + float w = 0.0f; + for (IWidget widget : widgets) { + w = Math.max(w, widget.getSize().x()); + } + for (IWidget widget : widgets) { + widget.setPosition(new IPoint(px + (w - widget.getSize().x()) * just.xOffset, py + y)); + y += widget.getSize().y() + spacing; + } + } + + public static void linkWidgets(IControlValue tab, IControlValue target) { + tab.addSelfEventHandler(new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + target.setValue((T) event.getValue()); + } + }); + + target.addSelfEventHandler(new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + tab.setValue((T) event.getValue()); + } + }); + } +} diff --git a/src/main/java/binnie/core/craftgui/geometry/IArea.java b/src/main/java/binnie/core/craftgui/geometry/IArea.java new file mode 100644 index 00000000..dd3f09c2 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/geometry/IArea.java @@ -0,0 +1,129 @@ +package binnie.core.craftgui.geometry; + +public class IArea { + private IPoint pos; + private IPoint size; + + public IArea(IArea area) { + this(area.pos().x(), area.pos().y(), area.size().x(), area.size().y()); + } + + public IArea(IPoint pos, IPoint size) { + this(pos.x(), pos.y(), size.x(), size.y()); + } + + public IArea(float xywh) { + this(xywh, xywh, xywh, xywh); + } + + public IArea(float xy, float wh) { + this(xy, xy, wh, wh); + } + + public IArea(float x, float y, float wh) { + this(x, y, wh, wh); + } + + public IArea(float x, float y, float w, float h) { + setPosition(new IPoint(x, y)); + setSize(new IPoint(w, h)); + } + + public IPoint pos() { + return pos; + } + + public IPoint getPosition() { + return pos; + } + + public void setPosition(IPoint position) { + pos = position.copy(); + } + + public IPoint size() { + return size; + } + + public IPoint getSize() { + return size; + } + + public void setSize(IPoint size) { + this.size = size.copy(); + } + + public boolean contains(IPoint position) { + return position.x() >= pos().x() + && position.y() >= pos.y() + && position.x() <= pos().x() + size().x() + && position.y() <= pos().y() + size().y(); + } + + public float x() { + return pos().x(); + } + + public float y() { + return pos().y(); + } + + public float w() { + return size().x(); + } + + public float h() { + return size().y(); + } + + public float x(float n) { + return pos.x(n); + } + + public float y(float n) { + return pos.y(n); + } + + public float w(float n) { + return size.x(n); + } + + public float h(float n) { + return size.y(n); + } + + public IArea inset(IBorder border) { + return new IArea( + x() + border.l(), + y() + border.t(), + w() - border.l() - border.r(), + h() - border.t() - border.b() + ); + } + + public IArea outset(int outset) { + return outset(new IBorder(outset)); + } + + public IArea outset(IBorder border) { + return new IArea( + x() - border.l(), + y() - border.t(), + w() + border.l() + border.r(), + h() + border.t() + border.b() + ); + } + + public IArea inset(int inset) { + return inset(new IBorder(inset)); + } + + @Override + public String toString() { + return w() + "x" + h() + "@" + x() + "," + y(); + } + + public IArea shift(float dx, float f) { + return new IArea(x() + dx, y() + f, w(), h()); + } +} diff --git a/src/main/java/binnie/core/craftgui/geometry/IBorder.java b/src/main/java/binnie/core/craftgui/geometry/IBorder.java new file mode 100644 index 00000000..e56fd7a1 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/geometry/IBorder.java @@ -0,0 +1,102 @@ +package binnie.core.craftgui.geometry; + +public class IBorder { + public static IBorder ZERO = new IBorder(0.0f); + + protected float t; + protected float b; + protected float l; + protected float r; + + public IBorder(float pad) { + this(pad, pad, pad, pad); + } + + public IBorder(float tb, float rl) { + this(tb, rl, tb, rl); + } + + public IBorder(float t, float rl, float b) { + this(t, rl, b, rl); + } + + public IBorder(float t, float r, float b, float l) { + this.t = t; + this.b = b; + this.l = l; + this.r = r; + } + + public IBorder(Position edge, float n) { + this((edge == Position.Top) ? n : 0.0f, (edge == Position.Right) ? n : 0.0f, (edge == Position.Bottom) ? n : 0.0f, (edge == Position.Left) ? n : 0.0f); + } + + public IBorder(IBorder padding) { + this(padding.t(), padding.r(), padding.b(), padding.l()); + } + + public float t() { + return t; + } + + public float b() { + return b; + } + + public float l() { + return l; + } + + public float r() { + return r; + } + + public float t(float n) { + return t = n; + } + + public float b(float n) { + return b = n; + } + + public float l(float n) { + return l = n; + } + + public float r(float n) { + return r = n; + } + + public boolean isNonZero() { + return t != 0.0f || r != 0.0f || l != 0.0f || b != 0.0f; + } + + @Deprecated + public IPoint tl() { + return new IPoint(l(), t()); + } + + @Deprecated + public IPoint tr() { + return new IPoint(r(), t()); + } + + @Deprecated + public IPoint bl() { + return new IPoint(l(), b()); + } + + @Deprecated + public IPoint br() { + return new IPoint(r(), b()); + } + + public IBorder add(IBorder o) { + return new IBorder(t() + o.t(), r() + o.r(), b() + o.b(), l() + o.l()); + } + + @Override + public String toString() { + return t() + "-" + r() + "-" + b() + "-" + l(); + } +} diff --git a/src/main/java/binnie/core/craftgui/geometry/IPoint.java b/src/main/java/binnie/core/craftgui/geometry/IPoint.java new file mode 100644 index 00000000..12b7fa54 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/geometry/IPoint.java @@ -0,0 +1,67 @@ +package binnie.core.craftgui.geometry; + +public class IPoint { + public static IPoint ZERO = new IPoint(0.0f, 0.0f); + + protected float x; + protected float y; + + public IPoint(float x, float y) { + this.x = x; + this.y = y; + } + + public IPoint(IPoint o) { + x = o.x(); + y = o.y(); + } + + public static IPoint add(IPoint a, IPoint b) { + return new IPoint(a.x() + b.x(), a.y() + b.y()); + } + + public static IPoint sub(IPoint a, IPoint b) { + return new IPoint(a.x() - b.x(), a.y() - b.y()); + } + + public IPoint sub(IPoint a) { + return sub(this, a); + } + + public IPoint add(IPoint other) { + return add(this, other); + } + + public IPoint add(float dx, float dy) { + return add(this, new IPoint(dx, dy)); + } + + public IPoint copy() { + return new IPoint(this); + } + + public float x() { + return x; + } + + public float y() { + return y; + } + + public void xy(float x, float y) { + x(x); + y(y); + } + + public float x(float x) { + return this.x = x; + } + + public float y(float y) { + return this.y = y; + } + + public boolean equals(IPoint other) { + return x() == other.x() && y() == other.y(); + } +} diff --git a/src/main/java/binnie/core/craftgui/geometry/Position.java b/src/main/java/binnie/core/craftgui/geometry/Position.java new file mode 100644 index 00000000..eeb84de1 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/geometry/Position.java @@ -0,0 +1,41 @@ +package binnie.core.craftgui.geometry; + +public enum Position { + Top(0, -1), + Bottom(0, 1), + Left(-1, 0), + Right(1, 0); + + protected int x; + protected int y; + + Position(int x, int y) { + this.x = x; + this.y = y; + } + + public int x() { + return x; + } + + public int y() { + return y; + } + + public Position opposite() { + switch (this) { + case Bottom: + return Position.Top; + + case Left: + return Position.Right; + + case Right: + return Position.Left; + + case Top: + return Position.Bottom; + } + return null; + } +} diff --git a/src/main/java/binnie/craftgui/core/geometry/TextJustification.java b/src/main/java/binnie/core/craftgui/geometry/TextJustification.java similarity index 57% rename from src/main/java/binnie/craftgui/core/geometry/TextJustification.java rename to src/main/java/binnie/core/craftgui/geometry/TextJustification.java index 04dce27c..aa1f762e 100644 --- a/src/main/java/binnie/craftgui/core/geometry/TextJustification.java +++ b/src/main/java/binnie/core/craftgui/geometry/TextJustification.java @@ -1,11 +1,6 @@ -// -// Decompiled by Procyon v0.5.30 -// +package binnie.core.craftgui.geometry; -package binnie.craftgui.core.geometry; - -public enum TextJustification -{ +public enum TextJustification { TopLeft(0.0f, 0.0f), TopCenter(0.5f, 0.0f), TopRight(1.0f, 0.0f), @@ -16,19 +11,19 @@ public enum TextJustification BottomCenter(0.5f, 1.0f), BottomRight(1.0f, 1.0f); - float xOffset; - float yOffset; + protected float xOffset; + protected float yOffset; - private TextJustification(final float xOffset, final float yOffset) { + TextJustification(float xOffset, float yOffset) { this.xOffset = xOffset; this.yOffset = yOffset; } public float getXOffset() { - return this.xOffset; + return xOffset; } public float getYOffset() { - return this.yOffset; + return yOffset; } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/ContainerCraftGUI.java b/src/main/java/binnie/core/craftgui/minecraft/ContainerCraftGUI.java new file mode 100644 index 00000000..615f0fed --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/ContainerCraftGUI.java @@ -0,0 +1,482 @@ +// +// Decompiled by Procyon v0.5.30 +// + +package binnie.core.craftgui.minecraft; + +import binnie.core.BinnieCore; +import binnie.core.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.control.EnumHighlighting; +import binnie.core.machines.IMachine; +import binnie.core.machines.Machine; +import binnie.core.machines.network.INetwork; +import binnie.core.machines.power.ErrorState; +import binnie.core.machines.power.IErrorStateSource; +import binnie.core.machines.power.IPoweredMachine; +import binnie.core.machines.power.IProcess; +import binnie.core.machines.power.ITankMachine; +import binnie.core.machines.power.PowerInfo; +import binnie.core.machines.power.ProcessInfo; +import binnie.core.machines.power.TankInfo; +import binnie.core.machines.transfer.TransferRequest; +import binnie.core.network.packet.MessageContainerUpdate; +import com.mojang.authlib.GameProfile; +import cpw.mods.fml.relauncher.Side; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class ContainerCraftGUI extends Container +{ + private Window window; + private Map syncedNBT; + private Map sentNBT; + private Map syncedTanks; + private PowerInfo syncedPower; + private ProcessInfo syncedProcess; + private int errorType; + private ErrorState error; + private int mousedOverSlotNumber; + + public ContainerCraftGUI(Window window) { + syncedNBT = new HashMap(); + sentNBT = new HashMap(); + syncedTanks = new HashMap(); + syncedPower = new PowerInfo(); + syncedProcess = new ProcessInfo(); + errorType = 0; + error = null; + mousedOverSlotNumber = -1; + this.window = window; + IMachine machine = Machine.getMachine(window.getInventory()); + if (getSide() == Side.SERVER) { + inventoryItemStacks = new ListMap(); + inventorySlots = new ListMap(); + if (machine != null) { + GameProfile user = machine.getOwner(); + if (user != null) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setString("username", user.getName()); + sendNBTToClient("username", nbt); + } + } + } + } + + @Override + protected Slot addSlotToContainer(Slot slot) { + return super.addSlotToContainer(slot); + } + + private Side getSide() { + return window.isServer() ? Side.SERVER : Side.CLIENT; + } + + @Override + public Slot getSlot(int par1) { + if (par1 < 0 || par1 >= inventorySlots.size()) { + return null; + } + return (Slot) inventorySlots.get(par1); + } + + @Override + public void putStackInSlot(int par1, ItemStack par2ItemStack) { + if (getSlot(par1) != null) { + getSlot(par1).putStack(par2ItemStack); + } + } + + @Override + public void putStacksInSlots(ItemStack[] par1ArrayOfItemStack) { + for (int i = 0; i < par1ArrayOfItemStack.length; ++i) { + if (getSlot(i) != null) { + getSlot(i).putStack(par1ArrayOfItemStack[i]); + } + } + } + + @Override + public void onContainerClosed(EntityPlayer par1EntityPlayer) { + super.onContainerClosed(par1EntityPlayer); + WindowInventory inventory = window.getWindowInventory(); + for (int i = 0; i < inventory.getSizeInventory(); ++i) { + if (inventory.dispenseOnClose(i)) { + ItemStack stack = inventory.getStackInSlot(i); + if (stack != null) { + stack = new TransferRequest(stack, par1EntityPlayer.inventory).transfer(true); + if (stack != null) { + par1EntityPlayer.dropPlayerItemWithRandomChoice(stack, false); + } + } + } + } + } + + @Override + public ItemStack slotClick(int slotNum, int mouseButton, int modifier, EntityPlayer player) { + Slot slot = getSlot(slotNum); + if (slot instanceof CustomSlot && ((CustomSlot) slot).handleClick()) { + ((CustomSlot) slot).onSlotClick(this, mouseButton, modifier, player); + return player.inventory.getItemStack(); + } + ItemStack stack = super.slotClick(slotNum, mouseButton, modifier, player); + return stack; + } + + public void sendNBTToClient(String key, NBTTagCompound nbt) { + syncedNBT.put(key, nbt); + } + + @Override + public boolean canInteractWith(EntityPlayer var1) { + return true; + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int slotID) { + return shiftClick(player, slotID); + } + + private ItemStack shiftClick(EntityPlayer player, int slotnumber) { + TransferRequest request = getShiftClickRequest(player, slotnumber); + if (request == null) { + return null; + } + ItemStack itemstack = request.transfer(true); + Slot shiftClickedSlot = (Slot) inventorySlots.get(slotnumber); + shiftClickedSlot.putStack(itemstack); + shiftClickedSlot.onSlotChanged(); + return null; + } + + private TransferRequest getShiftClickRequest(EntityPlayer player, int slotnumber) { + if (slotnumber < 0) { + return null; + } + Slot shiftClickedSlot = (Slot) inventorySlots.get(slotnumber); + ItemStack itemstack = null; + if (shiftClickedSlot.getHasStack()) { + itemstack = shiftClickedSlot.getStack().copy(); + } + IInventory playerInventory = player.inventory; + IInventory containerInventory = window.getInventory(); + IInventory windowInventory = window.getWindowInventory(); + IInventory fromPlayer = (containerInventory == null) ? windowInventory : containerInventory; + int[] target = new int[36]; + for (int i = 0; i < 36; ++i) { + target[i] = i; + } + TransferRequest request; + if (shiftClickedSlot.inventory == playerInventory) { + request = new TransferRequest(itemstack, fromPlayer).setOrigin(shiftClickedSlot.inventory); + } + else { + request = new TransferRequest(itemstack, playerInventory).setOrigin(shiftClickedSlot.inventory).setTargetSlots(target); + } + if (window instanceof IWindowAffectsShiftClick) { + ((IWindowAffectsShiftClick) window).alterRequest(request); + } + return request; + } + + public ItemStack tankClick(EntityPlayer player, int slotID) { + if (player.inventory.getItemStack() == null) { + return null; + } + ItemStack heldItem = player.inventory.getItemStack().copy(); + heldItem = new TransferRequest(heldItem, window.getInventory()).setOrigin(player.inventory).setTargetSlots(new int[0]).setTargetTanks(new int[] { slotID }).transfer(true); + player.inventory.setItemStack(heldItem); + if (player instanceof EntityPlayerMP) { + ((EntityPlayerMP) player).updateHeldItem(); + } + return heldItem; + } + + public boolean handleNBT(Side side, EntityPlayer player, String name, NBTTagCompound action) { + if (side == Side.SERVER) { + if (name.equals("tank-click")) { + tankClick(player, action.getByte("id")); + } + if (name.equals("slot-reg")) { + int type = action.getByte("t"); + int index = action.getShort("i"); + int slotNumber = action.getShort("n"); + getOrCreateSlot(InventoryType.values()[type % 4], index, slotNumber); + } + } + if (name.contains("tank-update")) { + onTankUpdate(action); + } + else if (name.equals("power-update")) { + onPowerUpdate(action); + } + else if (name.equals("process-update")) { + onProcessUpdate(action); + } + else if (name.equals("error-update")) { + onErrorUpdate(action); + } + else if (name.equals("mouse-over-slot")) { + onMouseOverSlot(player, action); + } + else if (name.equals("shift-click-info")) { + onRecieveShiftClickHighlights(player, action); + } + return false; + } + + @Override + public void detectAndSendChanges() { + super.detectAndSendChanges(); + ITankMachine tanks = Machine.getInterface(ITankMachine.class, window.getInventory()); + IPoweredMachine powered = Machine.getInterface(IPoweredMachine.class, window.getInventory()); + IErrorStateSource error = Machine.getInterface(IErrorStateSource.class, window.getInventory()); + IProcess process = Machine.getInterface(IProcess.class, window.getInventory()); + if (tanks != null && window.isServer()) { + for (int i = 0; i < tanks.getTankInfos().length; ++i) { + TankInfo tank = tanks.getTankInfos()[i]; + if (!getTankInfo(i).equals(tank)) { + syncedNBT.put("tank-update-" + i, createTankNBT(i, tank)); + syncedTanks.put(i, tank); + } + } + } + if (powered != null && window.isServer()) { + syncedNBT.put("power-update", createPowerNBT(powered.getPowerInfo())); + } + if (process != null && window.isServer()) { + syncedNBT.put("process-update", createProcessNBT(process.getInfo())); + } + if (error != null && window.isServer()) { + syncedNBT.put("error-update", createErrorNBT(error)); + } + INetwork.SendGuiNBT machineSync = Machine.getInterface(INetwork.SendGuiNBT.class, window.getInventory()); + if (machineSync != null) { + machineSync.sendGuiNBT(syncedNBT); + } + Map sentThisTime = new HashMap(); + for (Map.Entry nbt : syncedNBT.entrySet()) { + nbt.getValue().setString("type", nbt.getKey()); + boolean shouldSend = true; + NBTTagCompound lastSent = sentNBT.get(nbt.getKey()); + if (lastSent != null) { + shouldSend = !lastSent.equals(nbt.getValue()); + } + if (shouldSend) { + for (int j = 0; j < crafters.size(); ++j) { + if (crafters.get(j) instanceof EntityPlayerMP) { + EntityPlayerMP player = (EntityPlayerMP) crafters.get(j); + BinnieCore.proxy.sendToPlayer(new MessageContainerUpdate(nbt.getValue()), player); + } + } + sentThisTime.put(nbt.getKey(), nbt.getValue()); + } + } + sentNBT.putAll(sentThisTime); + syncedNBT.clear(); + } + + private NBTTagCompound createErrorNBT(IErrorStateSource error) { + NBTTagCompound nbt = new NBTTagCompound(); + ErrorState state = null; + if (error.canWork() != null) { + nbt.setByte("type", (byte) 0); + state = error.canWork(); + } + else if (error.canProgress() != null) { + nbt.setByte("type", (byte) 1); + state = error.canProgress(); + } + if (state != null) { + state.writeToNBT(nbt); + } + return nbt; + } + + public NBTTagCompound createPowerNBT(PowerInfo powerInfo) { + NBTTagCompound nbt = new NBTTagCompound(); + powerInfo.writeToNBT(nbt); + return nbt; + } + + public NBTTagCompound createProcessNBT(ProcessInfo powerInfo) { + NBTTagCompound nbt = new NBTTagCompound(); + powerInfo.writeToNBT(nbt); + return nbt; + } + + public NBTTagCompound createTankNBT(int tank, TankInfo tankInfo) { + NBTTagCompound nbt = new NBTTagCompound(); + tankInfo.writeToNBT(nbt); + nbt.setByte("tank", (byte) tank); + return nbt; + } + + public void onTankUpdate(NBTTagCompound nbt) { + int tankID = nbt.getByte("tank"); + TankInfo tank = new TankInfo(); + tank.readFromNBT(nbt); + syncedTanks.put(tankID, tank); + } + + public void onProcessUpdate(NBTTagCompound nbt) { + (syncedProcess = new ProcessInfo()).readFromNBT(nbt); + } + + public void onPowerUpdate(NBTTagCompound nbt) { + (syncedPower = new PowerInfo()).readFromNBT(nbt); + } + + public PowerInfo getPowerInfo() { + return syncedPower; + } + + public ProcessInfo getProcessInfo() { + return syncedProcess; + } + + public TankInfo getTankInfo(int tank) { + return syncedTanks.containsKey(tank) ? syncedTanks.get(tank) : new TankInfo(); + } + + public void onErrorUpdate(NBTTagCompound nbt) { + errorType = nbt.getByte("type"); + if (nbt.hasKey("name")) { + (error = new ErrorState("", "")).readFromNBT(nbt); + } + else { + error = null; + } + } + + public ErrorState getErrorState() { + return error; + } + + public int getErrorType() { + return errorType; + } + + public CustomSlot[] getCustomSlots() { + List slots = new ArrayList(); + for (Object object : inventorySlots) { + if (object instanceof CustomSlot) { + slots.add((CustomSlot) object); + } + } + return slots.toArray(new CustomSlot[0]); + } + + public void setMouseOverSlot(Slot slot) { + if (slot.slotNumber != mousedOverSlotNumber) { + mousedOverSlotNumber = slot.slotNumber; + ControlSlot.highlighting.get(EnumHighlighting.ShiftClick).clear(); + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setShort("slot", (short) slot.slotNumber); + window.sendClientAction("mouse-over-slot", nbt); + } + } + + private void onMouseOverSlot(EntityPlayer player, NBTTagCompound data) { + int slotnumber = data.getShort("slot"); + TransferRequest request = getShiftClickRequest(player, slotnumber); + if (request == null) { + return; + } + request.transfer(false); + NBTTagCompound nbt = new NBTTagCompound(); + List slots = new ArrayList(); + for (TransferRequest.TransferSlot tslot : request.getInsertedSlots()) { + Slot slot = getSlot(tslot.inventory, tslot.id); + if (slot != null) { + slots.add(slot.slotNumber); + } + } + int[] array = new int[slots.size()]; + for (int i = 0; i < slots.size(); ++i) { + array[i] = slots.get(i); + } + nbt.setIntArray("slots", array); + nbt.setShort("origin", (short) slotnumber); + syncedNBT.put("shift-click-info", nbt); + } + + private void onRecieveShiftClickHighlights(EntityPlayer player, NBTTagCompound data) { + ControlSlot.highlighting.get(EnumHighlighting.ShiftClick).clear(); + for (int slotnumber : data.getIntArray("slots")) { + ControlSlot.highlighting.get(EnumHighlighting.ShiftClick).add(slotnumber); + } + } + + private CustomSlot getSlot(IInventory inventory, int id) { + for (Object o : inventorySlots) { + CustomSlot slot = (CustomSlot) o; + if (slot.inventory == inventory && slot.getSlotIndex() == id) { + return slot; + } + } + return null; + } + + public void recieveNBT(Side side, EntityPlayer player, NBTTagCompound action) { + String name = action.getString("type"); + if (handleNBT(side, player, name, action)) { + return; + } + window.recieveGuiNBT(getSide(), player, name, action); + INetwork.RecieveGuiNBT machine = Machine.getInterface(INetwork.RecieveGuiNBT.class, window.getInventory()); + if (machine != null) { + machine.recieveGuiNBT(getSide(), player, name, action); + } + } + + public Slot getOrCreateSlot(InventoryType type, int index) { + IInventory inventory = getInventory(type); + Slot slot = getSlot(inventory, index); + if (slot == null) { + slot = new CustomSlot(inventory, index); + addSlotToContainer(slot); + } + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setByte("t", (byte) type.ordinal()); + nbt.setShort("i", (short) index); + nbt.setShort("n", (short) slot.slotNumber); + window.sendClientAction("slot-reg", nbt); + return slot; + } + + protected IInventory getInventory(InventoryType type) { + if (type == InventoryType.Machine) { + return window.getInventory(); + } + if (type == InventoryType.Player) { + return window.getPlayer().inventory; + } + if (type == InventoryType.Window) { + return window.getWindowInventory(); + } + return null; + } + + private Slot getOrCreateSlot(InventoryType type, int index, int slotNumber) { + IInventory inventory = getInventory(type); + if (inventorySlots.get(slotNumber) != null) { + return null; + } + Slot slot = new CustomSlot(inventory, index); + slot.slotNumber = slotNumber; + inventorySlots.add(slotNumber, slot); + inventoryItemStacks.add(slotNumber, null); + return slot; + } +} diff --git a/src/main/java/binnie/craftgui/minecraft/CustomSlot.java b/src/main/java/binnie/core/craftgui/minecraft/CustomSlot.java similarity index 55% rename from src/main/java/binnie/craftgui/minecraft/CustomSlot.java rename to src/main/java/binnie/core/craftgui/minecraft/CustomSlot.java index e2a99398..ab9f53de 100644 --- a/src/main/java/binnie/craftgui/minecraft/CustomSlot.java +++ b/src/main/java/binnie/core/craftgui/minecraft/CustomSlot.java @@ -2,49 +2,49 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.minecraft; +package binnie.core.craftgui.minecraft; -import net.minecraft.entity.player.EntityPlayer; import binnie.core.machines.Machine; import binnie.core.machines.inventory.IInventorySlots; import binnie.core.machines.inventory.InventorySlot; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; public class CustomSlot extends Slot { @Override - public boolean isItemValid(final ItemStack par1ItemStack) { - return this.inventory.isItemValidForSlot(this.getSlotIndex(), par1ItemStack); + public boolean isItemValid(ItemStack par1ItemStack) { + return inventory.isItemValidForSlot(getSlotIndex(), par1ItemStack); } - public CustomSlot(final IInventory inventory, final int index) { + public CustomSlot(IInventory inventory, int index) { super(inventory, index, 0, 0); } public InventorySlot getInventorySlot() { - final IInventorySlots slots = Machine.getInterface(IInventorySlots.class, this.inventory); + IInventorySlots slots = Machine.getInterface(IInventorySlots.class, inventory); if (slots != null) { - return slots.getSlot(this.getSlotIndex()); + return slots.getSlot(getSlotIndex()); } return null; } public boolean handleClick() { - final InventorySlot slot = this.getInventorySlot(); + InventorySlot slot = getInventorySlot(); return slot != null && slot.isRecipe(); } - public void onSlotClick(final ContainerCraftGUI container, final int mouseButton, final int modifier, final EntityPlayer player) { + public void onSlotClick(ContainerCraftGUI container, int mouseButton, int modifier, EntityPlayer player) { ItemStack stack = player.inventory.getItemStack(); if (stack == null || mouseButton == 2) { - this.putStack((ItemStack) null); + putStack(null); } else { stack = stack.copy(); stack.stackSize = 1; - this.putStack(stack); + putStack(stack); } } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/Dialog.java b/src/main/java/binnie/core/craftgui/minecraft/Dialog.java new file mode 100644 index 00000000..a16cbe01 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/Dialog.java @@ -0,0 +1,51 @@ +// +// Decompiled by Procyon v0.5.30 +// + +package binnie.core.craftgui.minecraft; + +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.events.EventHandler; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; + +public abstract class Dialog extends Control +{ + public Dialog(IWidget parent, float w, float h) { + super(parent, (parent.w() - w) / 2.0f, (parent.h() - h) / 2.0f, w, h); + addAttribute(WidgetAttribute.MouseOver); + addAttribute(WidgetAttribute.AlwaysOnTop); + addAttribute(WidgetAttribute.BlockTooltip); + initialise(); + addEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + if (!getArea().contains(getRelativeMousePosition())) { + onClose(); + getParent().deleteChild(Dialog.this); + } + } + }.setOrigin(EventHandler.Origin.Any, this)); + } + + @Override + public abstract void initialise(); + + public abstract void onClose(); + + @Override + public void onRenderBackground() { + CraftGUI.Render.gradientRect(getArea().outset(400), -1442840576, -1442840576); + CraftGUI.Render.texture(CraftGUITexture.Window, getArea()); + CraftGUI.Render.texture(CraftGUITexture.TabOutline, getArea().inset(4)); + } + + @Override + public boolean isMouseOverWidget(IPoint relativeMouse) { + return true; + } +} diff --git a/src/main/java/binnie/craftgui/minecraft/EnumColor.java b/src/main/java/binnie/core/craftgui/minecraft/EnumColor.java similarity index 81% rename from src/main/java/binnie/craftgui/minecraft/EnumColor.java rename to src/main/java/binnie/core/craftgui/minecraft/EnumColor.java index d6993cc9..dd71002e 100644 --- a/src/main/java/binnie/craftgui/minecraft/EnumColor.java +++ b/src/main/java/binnie/core/craftgui/minecraft/EnumColor.java @@ -2,7 +2,7 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.minecraft; +package binnie.core.craftgui.minecraft; public enum EnumColor { @@ -27,22 +27,22 @@ public enum EnumColor String name; char code; - private EnumColor(final String name, final int colour, final char code) { + EnumColor(String name, int colour, char code) { this.name = name; this.colour = colour; this.code = code; } public int getColour() { - return this.colour; + return colour; } public String getCode() { - return "§" + this.code; + return "§" + code; } @Override public String toString() { - return this.name; + return name; } } diff --git a/src/main/java/binnie/craftgui/minecraft/GUIIcon.java b/src/main/java/binnie/core/craftgui/minecraft/GUIIcon.java similarity index 78% rename from src/main/java/binnie/craftgui/minecraft/GUIIcon.java rename to src/main/java/binnie/core/craftgui/minecraft/GUIIcon.java index 4902717e..9f9e9ef2 100644 --- a/src/main/java/binnie/craftgui/minecraft/GUIIcon.java +++ b/src/main/java/binnie/core/craftgui/minecraft/GUIIcon.java @@ -2,12 +2,12 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.minecraft; +package binnie.core.craftgui.minecraft; -import net.minecraft.util.IIcon; -import binnie.core.BinnieCore; import binnie.Binnie; +import binnie.core.BinnieCore; import binnie.core.resource.BinnieIcon; +import net.minecraft.util.IIcon; public enum GUIIcon { @@ -27,15 +27,15 @@ public enum GUIIcon String path; BinnieIcon icon; - private GUIIcon(final String path) { + GUIIcon(String path) { this.path = path; } public void register() { - this.icon = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/" + this.path); + icon = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/" + path); } public IIcon getIcon() { - return this.icon.getIcon(); + return icon.getIcon(); } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/GuiCraftGUI.java b/src/main/java/binnie/core/craftgui/minecraft/GuiCraftGUI.java new file mode 100644 index 00000000..c5db442d --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/GuiCraftGUI.java @@ -0,0 +1,488 @@ +// +// Decompiled by Procyon v0.5.30 +// + +package binnie.core.craftgui.minecraft; + +import binnie.core.BinnieCore; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.events.EventKey; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IBorder; +import binnie.core.craftgui.geometry.IPoint; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.JsonToNBT; +import net.minecraft.nbt.NBTException; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.GL11; + +import java.util.ArrayList; +import java.util.List; + +@SideOnly(Side.CLIENT) +public class GuiCraftGUI extends GuiContainer +{ + IPoint mousePos; + private Window window; + private ItemStack draggedItem; + + @Override + public void updateScreen() { + window.updateClient(); + } + + public Minecraft getMinecraft() { + return mc; + } + + public GuiCraftGUI(Window window) { + super(window.getContainer()); + mousePos = new IPoint(0.0f, 0.0f); + this.window = window; + resize(window.getSize()); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) { + } + + @Override + public void initGui() { + super.initGui(); + mc.thePlayer.openContainer = inventorySlots; + guiLeft = (width - xSize) / 2; + guiTop = (height - ySize) / 2; + window.setSize(new IPoint(xSize, ySize)); + window.setPosition(new IPoint(guiLeft, guiTop)); + window.initGui(); + } + + public ItemStack getDraggedItem() { + return draggedItem; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float par3) { + window.setMousePosition(mouseX - (int) window.getPosition().x(), mouseY - (int) window.getPosition().y()); + drawDefaultBackground(); + + GL11.glDisable(32826); + RenderHelper.disableStandardItemLighting(); + GL11.glDisable(2896); + GL11.glDisable(2929); + zLevel = 10.0f; + GuiScreen.itemRender.zLevel = zLevel; + + window.render(); + + RenderHelper.enableGUIStandardItemLighting(); + GL11.glPushMatrix(); + GL11.glEnable(32826); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0f, 240.0f); + InventoryPlayer playerInventory = mc.thePlayer.inventory; + draggedItem = playerInventory.getItemStack(); + if (draggedItem != null) { + renderItem(new IPoint(mouseX - 8, mouseY - 8), draggedItem, 200, false); + renderItem(new IPoint(mouseX - 8, mouseY - 8), draggedItem, 200, false); + } + GL11.glDisable(32826); + GL11.glPopMatrix(); + GL11.glDisable(2896); + GL11.glDisable(2929); + MinecraftTooltip tooltip = new MinecraftTooltip(); + if (isHelpMode()) { + tooltip.setType(Tooltip.Type.Help); + window.getHelpTooltip(tooltip); + } + else { + tooltip.setType(Tooltip.Type.Standard); + window.getTooltip(tooltip); + } + if (tooltip.exists()) { + renderTooltip(new IPoint(mouseX, mouseY), tooltip); + } + zLevel = 0.0f; + GL11.glEnable(2896); + GL11.glEnable(2929); + } + + public void renderTooltip(IPoint mousePosition, MinecraftTooltip tooltip) { + int mouseX = (int) mousePosition.x(); + int mouseY = (int) mousePosition.y(); + FontRenderer font = getFontRenderer(); + GL11.glDisable(32826); + RenderHelper.disableStandardItemLighting(); + GL11.glDisable(2896); + GL11.glDisable(2929); + int k = 0; + List strings = new ArrayList(); + for (String string : tooltip.getList()) { + if (string != null) { + if (!string.contains("~~~")) { + strings.addAll(font.listFormattedStringToWidth(string, tooltip.maxWidth)); + } + else { + strings.add(string); + } + } + } + for (String s : strings) { + int l = font.getStringWidth(s); + if (s.contains("~~~")) { + l = 12 + font.getStringWidth(s.replaceAll("~~~(.*?)~~~", "")); + } + if (l > k) { + k = l; + } + } + int i1 = mouseX + 12; + int j1 = mouseY - 12; + int k2 = 8; + if (strings.size() > 1) { + k2 += 2 + (strings.size() - 1) * 10; + } + if (i1 + k > width) { + i1 -= 28 + k; + } + if (j1 + k2 + 6 > height) { + j1 = height - k2 - 6; + } + zLevel = 300.0f; + GuiScreen.itemRender.zLevel = 300.0f; + int l2 = -267386864; + int j2; + int i2 = j2 = 1342177280 + MinecraftTooltip.getOutline(tooltip.getType()); + drawGradientRect(i1 - 3, j1 - 4, i1 + k + 3, j1 - 3, l2, l2); + drawGradientRect(i1 - 3, j1 + k2 + 3, i1 + k + 3, j1 + k2 + 4, l2, l2); + drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 + k2 + 3, l2, l2); + drawGradientRect(i1 - 4, j1 - 3, i1 - 3, j1 + k2 + 3, l2, l2); + drawGradientRect(i1 + k + 3, j1 - 3, i1 + k + 4, j1 + k2 + 3, l2, l2); + drawGradientRect(i1 - 3, j1 - 3 + 1, i1 - 3 + 1, j1 + k2 + 3 - 1, i2, j2); + drawGradientRect(i1 + k + 2, j1 - 3 + 1, i1 + k + 3, j1 + k2 + 3 - 1, i2, j2); + drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 - 3 + 1, i2, i2); + drawGradientRect(i1 - 3, j1 + k2 + 2, i1 + k + 3, j1 + k2 + 3, j2, j2); + for (int k3 = 0; k3 < strings.size(); ++k3) { + String s2 = strings.get(k3); + if (k3 == 0) { + s2 = MinecraftTooltip.getTitle(tooltip.getType()) + s2; + } + else { + s2 = MinecraftTooltip.getBody(tooltip.getType()) + s2; + } + if (s2.contains("~~~")) { + String split = s2.split("~~~")[1]; + try { + NBTTagCompound nbt = (NBTTagCompound) JsonToNBT.func_150315_a(split); + ItemStack stack = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glTranslatef(i1, j1 - 1.5f, 0.0f); + GL11.glScalef(0.6f, 0.6f, 1.0f); + renderItem(new IPoint(0.0f, 0.0f), stack, false); + GL11.glPopMatrix(); + } catch (NBTException e) { + e.printStackTrace(); + } + s2 = " " + s2.replaceAll("~~~(.*?)~~~", ""); + } + font.drawStringWithShadow(s2, i1, j1, -1); + if (k3 == 0) { + j1 += 2; + } + j1 += 10; + } + zLevel = 0.0f; + GuiScreen.itemRender.zLevel = 0.0f; + GL11.glEnable(2896); + GL11.glEnable(2929); + RenderHelper.enableStandardItemLighting(); + GL11.glEnable(32826); + } + + @Override + protected void mouseClicked(int x, int y, int button) { + IWidget origin = window; + if (window.getMousedOverWidget() != null) { + origin = window.getMousedOverWidget(); + } + window.callEvent(new EventMouse.Down(origin, x, y, button)); + } + + public boolean isShiftDown() { + return Keyboard.isKeyDown(mc.gameSettings.keyBindSneak.getKeyCode()); + } + + @Override + protected void keyTyped(char c, int key) { + if (key == 1 || (key == mc.gameSettings.keyBindInventory.getKeyCode() && window.getFocusedWidget() == null)) { + mc.thePlayer.closeScreen(); + } + IWidget origin = (window.getFocusedWidget() == null) ? window : window.getFocusedWidget(); + window.callEvent(new EventKey.Down(origin, c, key)); + } + + @Override + protected void mouseMovedOrUp(int x, int y, int button) { + IWidget origin = (window.getMousedOverWidget() == null) ? window : window.getMousedOverWidget(); + if (button == -1) { + float dx = Mouse.getEventDX() * width / (float) mc.displayWidth; + float dy = -(Mouse.getEventDY() * height / (float) mc.displayHeight); + } + else { + window.callEvent(new EventMouse.Up(origin, x, y, button)); + } + } + + @Override + public void handleMouseInput() { + super.handleMouseInput(); + int dWheel = Mouse.getDWheel(); + IWidget origin = (window.getFocusedWidget() == null) ? window : window.getFocusedWidget(); + if (dWheel != 0) { + window.callEvent(new EventMouse.Wheel(window, dWheel)); + } + } + + @Override + public void onGuiClosed() { + window.onClose(); + } + + public void renderTexturedRect(float x, float y, float u, float v, float w, float h) { + drawTexturedModalRect((int) x, (int) y, (int) u, (int) v, (int) w, (int) h); + } + + public void renderTexture(IPoint position, IArea textureArea) { + drawTexturedModalRect((int) position.x(), (int) position.y(), (int) textureArea.pos().x(), (int) textureArea.pos().y(), (int) textureArea.size().x(), (int) textureArea.size().y()); + } + + private void renderTexturedRect(IArea area, IPoint uv) { + renderTexturedRect(area.pos().x(), area.pos().y(), uv.x(), uv.y(), area.size().x(), area.size().y()); + } + + public void renderTexturePadded(IArea area, IArea texture, IBorder padding) { + int borderLeft = (int) padding.l(); + int borderRight = (int) padding.r(); + int borderTop = (int) padding.t(); + int borderBottom = (int) padding.b(); + int posX = (int) area.pos().x(); + int posY = (int) area.pos().y(); + int width = (int) area.size().x(); + int height = (int) area.size().y(); + int textWidth = (int) texture.w(); + int textHeight = (int) texture.h(); + int u = (int) texture.x(); + int v = (int) texture.y(); + if (borderTop + borderBottom > height) { + borderTop = height / 2; + borderBottom = height / 2; + } + if (borderLeft + borderRight > width) { + borderLeft = width / 2; + borderRight = width / 2; + } + IPoint origin = area.pos(); + drawTexturedModalRect(posX, posY, u, v, borderLeft, borderTop); + drawTexturedModalRect(posX + width - borderRight, posY, u + textWidth - borderRight, v, borderRight, borderTop); + drawTexturedModalRect(posX, posY + height - borderBottom, u, v + textHeight - borderBottom, borderLeft, borderBottom); + drawTexturedModalRect(posX + width - borderRight, posY + height - borderBottom, u + textWidth - borderRight, v + textHeight - borderBottom, borderRight, borderBottom); + int texturingWidth; + for (int currentXPos = borderLeft; currentXPos < width - borderRight; currentXPos += texturingWidth) { + int distanceXRemaining = width - borderRight - currentXPos; + texturingWidth = textWidth - borderLeft - borderRight; + if (texturingWidth > distanceXRemaining) { + texturingWidth = distanceXRemaining; + } + if (texturingWidth <= 0) { + break; + } + drawTexturedModalRect(posX + currentXPos, posY, u + borderLeft, v, texturingWidth, borderTop); + drawTexturedModalRect(posX + currentXPos, posY + height - borderBottom, u + borderLeft, v + textHeight - borderBottom, texturingWidth, borderBottom); + int texturingHeight; + for (int currentYPos = borderTop; currentYPos < height - borderBottom; currentYPos += texturingHeight) { + int distanceYRemaining = height - borderBottom - currentYPos; + texturingHeight = textHeight - borderTop - borderBottom; + if (texturingHeight > distanceYRemaining) { + texturingHeight = distanceYRemaining; + } + if (texturingHeight <= 0) { + break; + } + drawTexturedModalRect(posX + currentXPos, posY + currentYPos, u + borderLeft, v + borderTop, texturingWidth, texturingHeight); + } + } + int texturingHeight2; + for (int currentYPos2 = borderTop; currentYPos2 < height - borderBottom; currentYPos2 += texturingHeight2) { + int distanceYRemaining2 = height - borderBottom - currentYPos2; + texturingHeight2 = textHeight - borderTop - borderBottom; + if (texturingHeight2 > distanceYRemaining2) { + texturingHeight2 = distanceYRemaining2; + } + if (texturingHeight2 <= 0) { + break; + } + drawTexturedModalRect(posX, posY + currentYPos2, u, v + borderTop, borderLeft, texturingHeight2); + drawTexturedModalRect(posX + width - borderRight, posY + currentYPos2, u + textWidth - borderRight, v + borderTop, borderRight, texturingHeight2); + } + } + + public void drawGradientArea(float p_73733_1_, float p_73733_2_, float p_73733_3_, float p_73733_4_, int p_73733_5_, int p_73733_6_) { + float f = (p_73733_5_ >> 24 & 0xFF) / 255.0f; + float f2 = (p_73733_5_ >> 16 & 0xFF) / 255.0f; + float f3 = (p_73733_5_ >> 8 & 0xFF) / 255.0f; + float f4 = (p_73733_5_ & 0xFF) / 255.0f; + float f5 = (p_73733_6_ >> 24 & 0xFF) / 255.0f; + float f6 = (p_73733_6_ >> 16 & 0xFF) / 255.0f; + float f7 = (p_73733_6_ >> 8 & 0xFF) / 255.0f; + float f8 = (p_73733_6_ & 0xFF) / 255.0f; + GL11.glDisable(3553); + GL11.glEnable(3042); + GL11.glDisable(3008); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glShadeModel(7425); + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + tessellator.setColorRGBA_F(f2, f3, f4, f); + tessellator.addVertex(p_73733_3_, p_73733_2_, zLevel); + tessellator.addVertex(p_73733_1_, p_73733_2_, zLevel); + tessellator.setColorRGBA_F(f6, f7, f8, f5); + tessellator.addVertex(p_73733_1_, p_73733_4_, zLevel); + tessellator.addVertex(p_73733_3_, p_73733_4_, zLevel); + tessellator.draw(); + GL11.glShadeModel(7424); + GL11.glDisable(3042); + GL11.glEnable(3008); + GL11.glEnable(3553); + } + + public void renderItem(IPoint pos, ItemStack item, boolean rotating) { + renderItem(pos, item, (int) zLevel + 3, rotating); + } + + private void renderItem(IPoint pos, ItemStack item, int zLevel, boolean rotating) { + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0f, 240.0f); + GL11.glPushMatrix(); + RenderHelper.enableGUIStandardItemLighting(); + GL11.glEnable(32826); + GL11.glEnable(2929); + FontRenderer font = item.getItem().getFontRenderer(item); + if (font == null) { + font = getFontRenderer(); + } + if (item != null) { + BinnieCore.proxy.getMinecraftInstance(); + float phase = Minecraft.getSystemTime() / 20.0f; + GL11.glPushMatrix(); + if (rotating) { + GL11.glTranslatef(8.0f, 8.0f, 0.0f); + GL11.glRotatef(phase, 0.0f, -0.866f, 0.5f); + GL11.glTranslatef(-8.0f, -8.0f, -67.1f); + } + GuiScreen.itemRender.renderItemAndEffectIntoGUI(font, mc.renderEngine, item, (int) pos.x(), (int) pos.y()); + GL11.glPopMatrix(); + GuiScreen.itemRender.renderItemOverlayIntoGUI(font, mc.renderEngine, item, (int) pos.x(), (int) pos.y(), null); + } + GL11.glClear(256); + GL11.glEnable(3042); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + RenderHelper.disableStandardItemLighting(); + CraftGUI.Render.colour(-1); + GL11.glEnable(32826); + GL11.glPopMatrix(); + } + + public void renderIcon(IPoint pos, IIcon icon, ResourceLocation map) { + if (icon == null) { + return; + } + GL11.glPushMatrix(); + GL11.glEnable(32826); + BinnieCore.proxy.bindTexture(map); + GuiScreen.itemRender.zLevel = zLevel; + GuiScreen.itemRender.renderIcon((int) pos.x(), (int) pos.y(), icon, 16, 16); + GL11.glEnable(32826); + GL11.glPopMatrix(); + } + + public boolean isHelpMode() { + return Keyboard.isKeyDown(15); + } + + public FontRenderer getFontRenderer() { + return fontRendererObj; + } + + public void resize(IPoint size) { + xSize = (int) size.x(); + ySize = (int) size.y(); + guiLeft = (width - xSize) / 2; + guiTop = (height - ySize) / 2; + window.setPosition(new IPoint(guiLeft, guiTop)); + } + + public void limitArea(IArea area) { + float x = area.pos().x(); + float y = area.pos().y(); + float w = area.size().x(); + float h = area.size().y(); + y = height - (y + h); + float k = xSize; + float scaleX = width / (float) mc.displayWidth; + float scaleY = height / (float) mc.displayHeight; + x += 0.0f; + y += 0.0f; + w += 0.0f; + h += 0.0f; + GL11.glScissor((int) (x / scaleX), (int) (y / scaleY), (int) (w / scaleX), (int) (h / scaleY)); + } + + public int getZLevel() { + return (int) zLevel; + } + + public void drawRect(float p_73734_0_, float p_73734_1_, float p_73734_2_, float p_73734_3_, int p_73734_4_) { + if (p_73734_0_ < p_73734_2_) { + float j1 = p_73734_0_; + p_73734_0_ = p_73734_2_; + p_73734_2_ = j1; + } + if (p_73734_1_ < p_73734_3_) { + float j1 = p_73734_1_; + p_73734_1_ = p_73734_3_; + p_73734_3_ = j1; + } + float f3 = (p_73734_4_ >> 24 & 0xFF) / 255.0f; + float f4 = (p_73734_4_ >> 16 & 0xFF) / 255.0f; + float f5 = (p_73734_4_ >> 8 & 0xFF) / 255.0f; + float f6 = (p_73734_4_ & 0xFF) / 255.0f; + Tessellator tessellator = Tessellator.instance; + GL11.glEnable(3042); + GL11.glDisable(3553); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor4f(f4, f5, f6, f3); + tessellator.startDrawingQuads(); + tessellator.addVertex(p_73734_0_, p_73734_3_, 0.0); + tessellator.addVertex(p_73734_2_, p_73734_3_, 0.0); + tessellator.addVertex(p_73734_2_, p_73734_1_, 0.0); + tessellator.addVertex(p_73734_0_, p_73734_1_, 0.0); + tessellator.draw(); + GL11.glEnable(3553); + GL11.glDisable(3042); + } +} diff --git a/src/main/java/binnie/craftgui/minecraft/IMachineInformation.java b/src/main/java/binnie/core/craftgui/minecraft/IMachineInformation.java similarity index 73% rename from src/main/java/binnie/craftgui/minecraft/IMachineInformation.java rename to src/main/java/binnie/core/craftgui/minecraft/IMachineInformation.java index eb7ec4a7..892f147e 100644 --- a/src/main/java/binnie/craftgui/minecraft/IMachineInformation.java +++ b/src/main/java/binnie/core/craftgui/minecraft/IMachineInformation.java @@ -2,7 +2,7 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.minecraft; +package binnie.core.craftgui.minecraft; public interface IMachineInformation { diff --git a/src/main/java/binnie/core/craftgui/minecraft/IMinecraftTooltip.java b/src/main/java/binnie/core/craftgui/minecraft/IMinecraftTooltip.java new file mode 100644 index 00000000..ed7a8736 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/IMinecraftTooltip.java @@ -0,0 +1,12 @@ +// +// Decompiled by Procyon v0.5.30 +// + +package binnie.core.craftgui.minecraft; + +import binnie.core.craftgui.ITooltip; + +public interface IMinecraftTooltip extends ITooltip +{ + void getTooltip(MinecraftTooltip p0); +} diff --git a/src/main/java/binnie/craftgui/minecraft/IWindowAffectsShiftClick.java b/src/main/java/binnie/core/craftgui/minecraft/IWindowAffectsShiftClick.java similarity index 64% rename from src/main/java/binnie/craftgui/minecraft/IWindowAffectsShiftClick.java rename to src/main/java/binnie/core/craftgui/minecraft/IWindowAffectsShiftClick.java index 0a25b7a4..e9ead088 100644 --- a/src/main/java/binnie/craftgui/minecraft/IWindowAffectsShiftClick.java +++ b/src/main/java/binnie/core/craftgui/minecraft/IWindowAffectsShiftClick.java @@ -2,11 +2,11 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.minecraft; +package binnie.core.craftgui.minecraft; import binnie.core.machines.transfer.TransferRequest; public interface IWindowAffectsShiftClick { - void alterRequest(final TransferRequest p0); + void alterRequest(TransferRequest p0); } diff --git a/src/main/java/binnie/craftgui/minecraft/InventoryType.java b/src/main/java/binnie/core/craftgui/minecraft/InventoryType.java similarity index 67% rename from src/main/java/binnie/craftgui/minecraft/InventoryType.java rename to src/main/java/binnie/core/craftgui/minecraft/InventoryType.java index 01cea2f0..8d9f7c21 100644 --- a/src/main/java/binnie/craftgui/minecraft/InventoryType.java +++ b/src/main/java/binnie/core/craftgui/minecraft/InventoryType.java @@ -2,12 +2,12 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.minecraft; +package binnie.core.craftgui.minecraft; public enum InventoryType { Player, Machine, Window, - Custom; + Custom } diff --git a/src/main/java/binnie/core/craftgui/minecraft/ListMap.java b/src/main/java/binnie/core/craftgui/minecraft/ListMap.java new file mode 100644 index 00000000..8ee450ea --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/ListMap.java @@ -0,0 +1,152 @@ +// +// Decompiled by Procyon v0.5.30 +// + +package binnie.core.craftgui.minecraft; + +import java.util.Collection; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.ListIterator; +import java.util.Map; + +class ListMap implements List +{ + private LinkedHashMap map; + + ListMap() { + map = new LinkedHashMap(); + } + + @Override + public int size() { + int i = -1; + for (int k : map.keySet()) { + if (k > i) { + i = k; + } + } + return i + 1; + } + + @Override + public boolean isEmpty() { + return map.isEmpty(); + } + + @Override + public boolean contains(Object o) { + return map.containsValue(o); + } + + @Override + public Iterator iterator() { + return map.values().iterator(); + } + + @Override + public Object[] toArray() { + return map.values().toArray(); + } + + @Override + public

P[] toArray(P[] a) { + return map.values().toArray(a); + } + + @Override + public boolean add(T e) { + if (get(size()) == null) { + add(size(), e); + return true; + } + return false; + } + + @Override + public boolean remove(Object o) { + return false; + } + + @Override + public boolean containsAll(Collection c) { + return map.values().containsAll(c); + } + + @Override + public boolean addAll(Collection c) { + return false; + } + + @Override + public boolean addAll(int index, Collection c) { + return false; + } + + @Override + public boolean removeAll(Collection c) { + return false; + } + + @Override + public boolean retainAll(Collection c) { + return false; + } + + @Override + public void clear() { + map.clear(); + } + + @Override + public T get(int index) { + return map.get(index); + } + + @Override + public T set(int index, T element) { + map.put(index, element); + return element; + } + + @Override + public void add(int index, T element) { + map.put(index, element); + } + + @Override + public T remove(int index) { + return null; + } + + @Override + public int indexOf(Object o) { + for (Map.Entry entry : map.entrySet()) { + if (entry.getValue() == o) { + return entry.getKey(); + } + } + return 0; + } + + @Override + public int lastIndexOf(Object o) { + return indexOf(o); + } + + @Override + public ListIterator listIterator() { + return null; + } + + @Override + public ListIterator listIterator(int index) { + return null; + } + + @Override + public List subList(int fromIndex, int toIndex) { + return null; + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/MinecraftGUI.java b/src/main/java/binnie/core/craftgui/minecraft/MinecraftGUI.java new file mode 100644 index 00000000..d33ffeb8 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/MinecraftGUI.java @@ -0,0 +1,14 @@ +package binnie.core.craftgui.minecraft; + +import binnie.core.craftgui.window.Panel; + +public class MinecraftGUI { + public enum PanelType implements Panel.IPanelType { + Black, + Gray, + Tinted, + Coloured, + Outline, + TabOutline + } +} diff --git a/src/main/java/binnie/craftgui/minecraft/MinecraftTooltip.java b/src/main/java/binnie/core/craftgui/minecraft/MinecraftTooltip.java similarity index 72% rename from src/main/java/binnie/craftgui/minecraft/MinecraftTooltip.java rename to src/main/java/binnie/core/craftgui/minecraft/MinecraftTooltip.java index da7e536a..54d4f33e 100644 --- a/src/main/java/binnie/craftgui/minecraft/MinecraftTooltip.java +++ b/src/main/java/binnie/core/craftgui/minecraft/MinecraftTooltip.java @@ -2,29 +2,29 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.minecraft; +package binnie.core.craftgui.minecraft; +import binnie.core.craftgui.Tooltip; import net.minecraft.util.EnumChatFormatting; -import binnie.craftgui.core.Tooltip; public class MinecraftTooltip extends Tooltip { - public static int getOutline(final ITooltipType type) { + public static int getOutline(ITooltipType type) { return TypeColour.valueOf(type.toString()).getOutline(); } - public static String getTitle(final ITooltipType type) { + public static String getTitle(ITooltipType type) { return TypeColour.valueOf(type.toString()).getTitle(); } - public static String getBody(final ITooltipType type) { + public static String getBody(ITooltipType type) { return TypeColour.valueOf(type.toString()).getBody(); } public enum Type implements ITooltipType { Error, - Warning; + Warning } private enum TypeColour @@ -41,22 +41,22 @@ public class MinecraftTooltip extends Tooltip String mainText; String bodyText; - private TypeColour(final int outline, final EnumChatFormatting mainText, final EnumChatFormatting bodyText) { + TypeColour(int outline, EnumChatFormatting mainText, EnumChatFormatting bodyText) { this.outline = outline; this.mainText = mainText.toString(); this.bodyText = bodyText.toString(); } public int getOutline() { - return this.outline; + return outline; } public String getTitle() { - return this.mainText; + return mainText; } public String getBody() { - return this.bodyText; + return bodyText; } } } diff --git a/src/main/java/binnie/craftgui/minecraft/ModuleCraftGUI.java b/src/main/java/binnie/core/craftgui/minecraft/ModuleCraftGUI.java similarity index 77% rename from src/main/java/binnie/craftgui/minecraft/ModuleCraftGUI.java rename to src/main/java/binnie/core/craftgui/minecraft/ModuleCraftGUI.java index 6320f9a6..68639306 100644 --- a/src/main/java/binnie/craftgui/minecraft/ModuleCraftGUI.java +++ b/src/main/java/binnie/core/craftgui/minecraft/ModuleCraftGUI.java @@ -2,7 +2,7 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.minecraft; +package binnie.core.craftgui.minecraft; import binnie.core.IInitializable; @@ -18,7 +18,7 @@ public class ModuleCraftGUI implements IInitializable @Override public void postInit() { - for (final GUIIcon icon : GUIIcon.values()) { + for (GUIIcon icon : GUIIcon.values()) { icon.register(); } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/Window.java b/src/main/java/binnie/core/craftgui/minecraft/Window.java new file mode 100644 index 00000000..3578bca1 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/Window.java @@ -0,0 +1,315 @@ +// +// Decompiled by Procyon v0.5.30 +// + +package binnie.core.craftgui.minecraft; + +import binnie.Binnie; +import binnie.core.AbstractMod; +import binnie.core.BinnieCore; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.ITooltipHelp; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.TopLevelWidget; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.events.EventWidget; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.minecraft.control.ControlHelp; +import binnie.core.craftgui.minecraft.control.ControlInfo; +import binnie.core.craftgui.minecraft.control.ControlPowerSystem; +import binnie.core.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.control.ControlUser; +import binnie.core.craftgui.minecraft.control.EnumHighlighting; +import binnie.core.craftgui.renderer.Renderer; +import binnie.core.craftgui.resource.StyleSheetManager; +import binnie.core.craftgui.resource.Texture; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.craftgui.resource.minecraft.StandardTexture; +import binnie.core.machines.Machine; +import binnie.core.machines.inventory.IInventoryMachine; +import binnie.core.machines.network.INetwork; +import binnie.core.machines.power.PowerSystem; +import binnie.core.network.packet.MessageCraftGUI; +import binnie.core.resource.BinnieResource; +import binnie.core.resource.ResourceType; +import com.mojang.authlib.GameProfile; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +import java.util.ArrayList; +import java.util.Deque; + +public abstract class Window extends TopLevelWidget implements INetwork.RecieveGuiNBT +{ + private GuiCraftGUI gui; + private ContainerCraftGUI container; + private WindowInventory windowInventory; + private ControlText title; + protected float titleButtonLeft; + protected float titleButtonRight; + private StandardTexture bgText1; + private StandardTexture bgText2; + private boolean hasBeenInitialised; + private EntityPlayer player; + private IInventory entityInventory; + private Side side; + + public void getTooltip(Tooltip tooltip) { + Deque queue = calculateMousedOverWidgets(); + while (!queue.isEmpty()) { + IWidget widget = queue.removeFirst(); + if (widget.isEnabled() && widget.isVisible()) { + if (!widget.calculateIsMouseOver()) { + continue; + } + if (widget instanceof ITooltip) { + ((ITooltip) widget).getTooltip(tooltip); + if (tooltip.exists()) { + return; + } + } + if (widget.hasAttribute(WidgetAttribute.BlockTooltip)) { + return; + } + continue; + } + } + } + + public void getHelpTooltip(MinecraftTooltip tooltip) { + Deque queue = calculateMousedOverWidgets(); + while (!queue.isEmpty()) { + IWidget widget = queue.removeFirst(); + if (widget.isEnabled() && widget.isVisible()) { + if (!widget.calculateIsMouseOver()) { + continue; + } + if (widget instanceof ITooltipHelp) { + ((ITooltipHelp) widget).getHelpTooltip(tooltip); + if (tooltip.exists()) { + return; + } + } + if (widget.hasAttribute(WidgetAttribute.BlockTooltip)) { + return; + } + continue; + } + } + } + + protected abstract AbstractMod getMod(); + + protected abstract String getName(); + + public BinnieResource getBackgroundTextureFile(int i) { + return Binnie.Resource.getPNG(getMod(), ResourceType.GUI, getName() + ((i == 1) ? "" : i)); + } + + public boolean showHelpButton() { + return Machine.getInterface(IInventoryMachine.class, getInventory()) != null; + } + + public String showInfoButton() { + if (Machine.getInterface(IMachineInformation.class, getInventory()) != null) { + return Machine.getInterface(IMachineInformation.class, getInventory()).getInformation(); + } + return null; + } + + public Window(float width, float height, EntityPlayer player, IInventory inventory, Side side) { + titleButtonLeft = 8.0f; + titleButtonRight = 8.0f; + bgText1 = null; + bgText2 = null; + hasBeenInitialised = false; + this.side = Side.CLIENT; + this.side = side; + setInventories(player, inventory); + container = new ContainerCraftGUI(this); + windowInventory = new WindowInventory(this); + if (side == Side.SERVER) { + return; + } + setSize(new IPoint(width, height)); + gui = new GuiCraftGUI(this); + for (EnumHighlighting h : EnumHighlighting.values()) { + ControlSlot.highlighting.put(h, new ArrayList()); + } + (CraftGUI.Render = new Renderer(gui)).stylesheet(StyleSheetManager.getDefault()); + titleButtonLeft = -14.0f; + if (showHelpButton()) { + new ControlHelp(this, titleButtonLeft += 22.0f, 8.0f); + } + if (showInfoButton() != null) { + new ControlInfo(this, titleButtonLeft += 22.0f, 8.0f, showInfoButton()); + } + addSelfEventHandler(new EventWidget.ChangeSize.Handler() { + @Override + public void onEvent(EventWidget.ChangeSize event) { + if (isClient() && getGui() != null) { + getGui().resize(getSize()); + if (title != null) { + title.setSize(new IPoint(w(), title.h())); + } + } + } + }); + } + + public void setTitle(String title) { + (this.title = new ControlTextCentered(this, 12.0f, title)).setColor(4210752); + } + + @SideOnly(Side.CLIENT) + public GuiCraftGUI getGui() { + return gui; + } + + public ContainerCraftGUI getContainer() { + return container; + } + + public WindowInventory getWindowInventory() { + return windowInventory; + } + + public void initGui() { + if (hasBeenInitialised) { + return; + } + bgText1 = new StandardTexture(0, 0, 256, 256, getBackgroundTextureFile(1)); + if (getSize().x() > 256.0f) { + bgText2 = new StandardTexture(0, 0, 256, 256, getBackgroundTextureFile(2)); + } + if (!BinnieCore.proxy.checkTexture(bgText1.getTexture())) { + bgText1 = null; + bgText2 = null; + } + initialiseClient(); + hasBeenInitialised = true; + } + + public abstract void initialiseClient(); + + public void initialiseServer() { + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.colour(16777215); + if (getBackground1() != null) { + CraftGUI.Render.texture(getBackground1(), IPoint.ZERO); + } + if (getBackground2() != null) { + CraftGUI.Render.texture(getBackground2(), new IPoint(256.0f, 0.0f)); + } + CraftGUI.Render.colour(getColor()); + CraftGUI.Render.texture(CraftGUITexture.Window, getArea()); + } + + @Override + public void onUpdateClient() { + ControlSlot.highlighting.get(EnumHighlighting.Help).clear(); + ControlSlot.shiftClickActive = false; + } + + public EntityPlayer getPlayer() { + return player; + } + + public GameProfile getUsername() { + return getPlayer().getGameProfile(); + } + + public ItemStack getHeldItemStack() { + if (player != null) { + return player.inventory.getItemStack(); + } + return null; + } + + public IInventory getInventory() { + return entityInventory; + } + + public void setInventories(EntityPlayer player2, IInventory inventory) { + player = player2; + entityInventory = inventory; + } + + public void onClose() { + } + + public void setHeldItemStack(ItemStack stack) { + if (player != null) { + player.inventory.setItemStack(stack); + } + } + + public boolean isServer() { + return !isClient(); + } + + public boolean isClient() { + return side == Side.CLIENT; + } + + public World getWorld() { + if (getPlayer() != null) { + return getPlayer().worldObj; + } + return BinnieCore.proxy.getWorld(); + } + + public void onInventoryUpdate() { + } + + public void sendClientAction(String name, NBTTagCompound action) { + action.setString("type", name); + MessageCraftGUI packet = new MessageCraftGUI(action); + BinnieCore.proxy.sendToServer(packet); + } + + @Override + public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { + if (side == Side.CLIENT && name.equals("username")) { + float w = w(); + float titleButtonRight = this.titleButtonRight + 16.0f; + this.titleButtonRight = titleButtonRight; + ControlUser controlUser = new ControlUser(this, w - titleButtonRight, 8.0f, nbt.getString("username")); + this.titleButtonRight += 6.0f; + } + if (side == Side.CLIENT && name.equals("power-system")) { + float w2 = w(); + float titleButtonRight2 = titleButtonRight + 16.0f; + titleButtonRight = titleButtonRight2; + ControlPowerSystem controlPowerSystem = new ControlPowerSystem(this, w2 - titleButtonRight2, 8.0f, PowerSystem.get(nbt.getByte("system"))); + titleButtonRight += 6.0f; + } + } + + public void onWindowInventoryChanged() { + } + + public Texture getBackground1() { + return bgText1; + } + + public Texture getBackground2() { + return bgText2; + } + + public static T get(IWidget widget) { + return (T) widget.getSuperParent(); + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/WindowInventory.java b/src/main/java/binnie/core/craftgui/minecraft/WindowInventory.java new file mode 100644 index 00000000..c07d8e86 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/WindowInventory.java @@ -0,0 +1,141 @@ +// +// Decompiled by Procyon v0.5.30 +// + +package binnie.core.craftgui.minecraft; + +import binnie.core.machines.inventory.SlotValidator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class WindowInventory implements IInventory +{ + private Window window; + private Map inventory; + private Map validators; + private List disabledAutoDispenses; + + public WindowInventory(Window window) { + inventory = new HashMap(); + validators = new HashMap(); + disabledAutoDispenses = new ArrayList(); + this.window = window; + } + + @Override + public int getSizeInventory() { + if (inventory.size() == 0) { + return 0; + } + int max = 0; + for (int i : inventory.keySet()) { + if (i > max) { + max = i; + } + } + return max + 1; + } + + @Override + public ItemStack getStackInSlot(int var1) { + if (inventory.containsKey(var1)) { + return inventory.get(var1); + } + return null; + } + + @Override + public ItemStack decrStackSize(int index, int amount) { + if (inventory.containsKey(index)) { + ItemStack item = inventory.get(index); + ItemStack output = item.copy(); + int available = item.stackSize; + if (amount > available) { + amount = available; + } + ItemStack itemStack = item; + itemStack.stackSize -= amount; + output.stackSize = amount; + if (item.stackSize == 0) { + setInventorySlotContents(index, null); + } + return output; + } + return null; + } + + @Override + public ItemStack getStackInSlotOnClosing(int var1) { + return null; + } + + @Override + public void setInventorySlotContents(int var1, ItemStack var2) { + inventory.put(var1, var2); + markDirty(); + } + + @Override + public String getInventoryName() { + return "window.inventory"; + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public void markDirty() { + window.onWindowInventoryChanged(); + } + + @Override + public boolean isUseableByPlayer(EntityPlayer var1) { + return true; + } + + @Override + public void openInventory() { + } + + @Override + public void closeInventory() { + } + + @Override + public boolean hasCustomInventoryName() { + return false; + } + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemstack) { + return !validators.containsKey(i) || validators.get(i).isValid(itemstack); + } + + public void createSlot(int slot) { + inventory.put(slot, null); + } + + public void setValidator(int slot, SlotValidator validator) { + validators.put(slot, validator); + } + + public void disableAutoDispense(int i) { + disabledAutoDispenses.add(i); + } + + public boolean dispenseOnClose(int i) { + return !disabledAutoDispenses.contains(i); + } + + public SlotValidator getValidator(int i) { + return validators.get(i); + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlEnergyBar.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlEnergyBar.java new file mode 100644 index 00000000..958f2681 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlEnergyBar.java @@ -0,0 +1,134 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.MinecraftTooltip; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.machines.Machine; +import binnie.core.machines.TileEntityMachine; +import binnie.core.machines.power.IPoweredMachine; +import binnie.core.machines.power.IProcess; +import net.minecraft.inventory.IInventory; +import org.lwjgl.opengl.GL11; + +public class ControlEnergyBar extends Control implements ITooltip { + public static boolean isError; + + private Position direction; + + public ControlEnergyBar(IWidget parent, int x, int y, int width, int height, Position direction) { + super(parent, x, y, width, height); + this.direction = direction; + addAttribute(WidgetAttribute.MouseOver); + } + + public IPoweredMachine getClientPower() { + IInventory inventory = Window.get(this).getInventory(); + TileEntityMachine machine = (inventory instanceof TileEntityMachine) ? (TileEntityMachine) inventory : null; + if (machine == null) { + return null; + } + IPoweredMachine clientPower = machine.getMachine().getInterface(IPoweredMachine.class); + return clientPower; + } + + public float getPercentage() { + float percentage = 100.0f * getStoredEnergy() / getMaxEnergy(); + if (percentage > 100.0f) { + percentage = 100.0f; + } + return percentage; + } + + private float getStoredEnergy() { + return Window.get(this).getContainer().getPowerInfo().getStoredEnergy(); + } + + private float getMaxEnergy() { + return Window.get(this).getContainer().getPowerInfo().getMaxEnergy(); + } + + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.add((int) getPercentage() + "% charged"); + tooltip.add(getStoredEnergy() + "/" + getMaxEnergy() + " RF"); + } + + @Override + public void getHelpTooltip(Tooltip tooltip) { + tooltip.add("Energy Bar"); + tooltip.add("Current: " + getStoredEnergy() + " RF (" + (int) getPercentage() + "%)"); + tooltip.add("Capacity: " + getMaxEnergy() + " RF"); + IProcess process = Machine.getInterface(IProcess.class, Window.get(this).getInventory()); + if (process != null) { + tooltip.add("Usage: " + (int) process.getEnergyPerTick() + " RF"); + } + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.texture(CraftGUITexture.EnergyBarBack, getArea()); + float percentage = getPercentage() / 100.0f; + CraftGUI.Render.colour(getColourFromPercentage(percentage)); + IArea area = getArea(); + + switch (direction) { + case Top: + case Bottom: + float height = area.size().y() * percentage; + area.setSize(new IPoint(area.size().x(), height)); + break; + + case Left: + case Right: + float width = area.size().x() * percentage; + area.setSize(new IPoint(width, area.size().y())); + break; + } + + if (isMouseOver() && Window.get(this).getGui().isHelpMode()) { + int c = 0xaa000000 + MinecraftTooltip.getOutline(Tooltip.Type.Help); + CraftGUI.Render.gradientRect(getArea().inset(1), c, c); + } else if (ControlEnergyBar.isError) { + int c = 0xaa000000 + MinecraftTooltip.getOutline(MinecraftTooltip.Type.Error); + CraftGUI.Render.gradientRect(getArea().inset(1), c, c); + } + + CraftGUI.Render.texture(CraftGUITexture.EnergyBarGlow, area); + GL11.glColor3d(1.0, 1.0, 1.0); + CraftGUI.Render.texture(CraftGUITexture.EnergyBarGlass, getArea()); + } + + @Override + public void onRenderForeground() { + if (isMouseOver() && Window.get(this).getGui().isHelpMode()) { + IArea area = getArea(); + CraftGUI.Render.colour(MinecraftTooltip.getOutline(Tooltip.Type.Help)); + CraftGUI.Render.texture(CraftGUITexture.Outline, area.outset(1)); + } else if (ControlEnergyBar.isError) { + IArea area = getArea(); + CraftGUI.Render.colour(MinecraftTooltip.getOutline(MinecraftTooltip.Type.Error)); + CraftGUI.Render.texture(CraftGUITexture.Outline, area.outset(1)); + } + } + + public int getColourFromPercentage(float percentage) { + int color; + if (percentage > 0.5) { + int r = (int) ((1.0 - 2.0 * (percentage - 0.5)) * 255.0); + color = (r << 16) + 0xff00; + } else { + int g = (int) (255.0f * (2.0f * percentage)); + color = 0xff0000 + (g << 8); + } + return color; + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlErrorState.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlErrorState.java new file mode 100644 index 00000000..db8c877e --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlErrorState.java @@ -0,0 +1,104 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.minecraft.CustomSlot; +import binnie.core.craftgui.minecraft.MinecraftTooltip; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.machines.power.ErrorState; +import net.minecraft.entity.player.InventoryPlayer; + +public class ControlErrorState extends Control implements ITooltip { + private ErrorState errorState; + private int type; + + @Override + public void onRenderBackground() { + Object texture = CraftGUITexture.StateWarning; + if (errorState == null) { + texture = CraftGUITexture.StateNone; + } else if (type == 0) { + texture = CraftGUITexture.StateError; + } + CraftGUI.Render.texture(texture, IPoint.ZERO); + super.onRenderBackground(); + } + + public ErrorState getError() { + return Window.get(this).getContainer().getErrorState(); + } + + @Override + public void onUpdateClient() { + errorState = getError(); + type = Window.get(this).getContainer().getErrorType(); + ControlSlot.highlighting.get(EnumHighlighting.Error).clear(); + ControlSlot.highlighting.get(EnumHighlighting.Warning).clear(); + ControlLiquidTank.tankError.clear(); + ControlEnergyBar.isError = false; + + if (!isMouseOver() || errorState == null) { + return; + } + + ControlEnergyBar.isError = errorState.isPowerError(); + if (errorState.isItemError()) { + for (int slot : errorState.getData()) { + int id = -1; + for (CustomSlot cslot : Window.get(this).getContainer().getCustomSlots()) { + if (!(cslot.inventory instanceof InventoryPlayer) && cslot.getSlotIndex() == slot) { + id = cslot.slotNumber; + } + } + if (id >= 0) { + if (type == 0) { + ControlSlot.highlighting.get(EnumHighlighting.Error).add(id); + } else { + ControlSlot.highlighting.get(EnumHighlighting.Warning).add(id); + } + } + } + } + + if (errorState.isTankError()) { + for (int slot : errorState.getData()) { + ControlLiquidTank.tankError.add(slot); + } + } + } + + public ControlErrorState(IWidget parent, float x, float y) { + super(parent, x, y, 16.0f, 16.0f); + type = 0; + addAttribute(WidgetAttribute.MouseOver); + } + + @Override + public void getTooltip(Tooltip tooltipOrig) { + MinecraftTooltip tooltip = (MinecraftTooltip) tooltipOrig; + if (errorState == null) { + return; + } + + if (type == 0) { + tooltip.setType(MinecraftTooltip.Type.Error); + } else { + tooltip.setType(MinecraftTooltip.Type.Warning); + } + + tooltip.add(errorState.toString()); + if (errorState.getTooltip().length() > 0) { + tooltip.add(errorState.getTooltip()); + } + } + + public ErrorState getErrorState() { + return errorState; + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlHelp.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlHelp.java new file mode 100644 index 00000000..2a504194 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlHelp.java @@ -0,0 +1,35 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; + +public class ControlHelp extends Control implements ITooltip { + public ControlHelp(IWidget parent, float x, float y) { + super(parent, x, y, 16.0f, 16.0f); + addAttribute(WidgetAttribute.MouseOver); + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.texture(CraftGUITexture.HelpButton, getArea()); + } + + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.setType(Tooltip.Type.Help); + tooltip.add("Help"); + tooltip.add("To activate help tooltips,"); + tooltip.add("hold down the tab key and"); + tooltip.add("mouse over controls."); + } + + @Override + public void getHelpTooltip(Tooltip tooltip) { + getTooltip(tooltip); + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlIconDisplay.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlIconDisplay.java new file mode 100644 index 00000000..26f8e114 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlIconDisplay.java @@ -0,0 +1,21 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.geometry.IPoint; +import net.minecraft.util.IIcon; + +public class ControlIconDisplay extends Control { + private IIcon icon; + + public ControlIconDisplay(IWidget parent, float x, float y, IIcon icon) { + super(parent, x, y, 16.0f, 16.0f); + this.icon = icon; + } + + @Override + public void onRenderForeground() { + CraftGUI.Render.iconItem(IPoint.ZERO, icon); + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlImage.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlImage.java new file mode 100644 index 00000000..f29bf5d4 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlImage.java @@ -0,0 +1,21 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.resource.Texture; + +public class ControlImage extends Control { + private Object key; + + public ControlImage(IWidget parent, float x, float y, Texture text) { + super(parent, x, y, text.w(), text.h()); + key = text; + } + + @Override + public void onRenderForeground() { + CraftGUI.Render.texture(key, IPoint.ZERO); + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlInfo.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlInfo.java new file mode 100644 index 00000000..a2213a5e --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlInfo.java @@ -0,0 +1,32 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; + +public class ControlInfo extends Control implements ITooltip { + private String info; + + public ControlInfo(IWidget parent, float x, float y, String info) { + super(parent, x, y, 16.0f, 16.0f); + this.info = info; + addAttribute(WidgetAttribute.MouseOver); + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.texture(CraftGUITexture.InfoButton, getArea()); + } + + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.setType(Tooltip.Type.Information); + tooltip.add("Info"); + tooltip.add(info); + tooltip.setMaxWidth(200); + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlItemDisplay.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlItemDisplay.java new file mode 100644 index 00000000..36852998 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlItemDisplay.java @@ -0,0 +1,88 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.BinnieCore; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.minecraft.Window; +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import org.lwjgl.opengl.GL11; + +public class ControlItemDisplay extends Control implements ITooltip { + private ItemStack itemStack; + public boolean hastooltip; + private boolean rotating; + + public void setTooltip() { + hastooltip = true; + addAttribute(WidgetAttribute.MouseOver); + } + + public ControlItemDisplay(IWidget parent, float x, float y) { + this(parent, x, y, 16.0f); + } + + public ControlItemDisplay(IWidget parent, float f, float y, ItemStack stack, boolean tooltip) { + this(parent, f, y, 16.0f); + setItemStack(stack); + if (tooltip) { + setTooltip(); + } + } + + public ControlItemDisplay(IWidget parent, float x, float y, float size) { + super(parent, x, y, size, size); + itemStack = null; + hastooltip = false; + rotating = false; + } + + @Override + public void onRenderBackground() { + IPoint relativeToWindow = getAbsolutePosition().sub(getSuperParent().getPosition()); + if (relativeToWindow.x() > Window.get(this).getSize().x() + 100.0f || relativeToWindow.y() > Window.get(this).getSize().y() + 100.0f) { + return; + } + + if (itemStack == null) { + return; + } + + if (getSize().x() != 16.0f) { + GL11.glPushMatrix(); + float scale = getSize().x() / 16.0f; + GL11.glScalef(scale, scale, 1.0f); + BinnieCore.proxy.getMinecraftInstance(); + float phase = Minecraft.getSystemTime() / 20.0f; + CraftGUI.Render.item(IPoint.ZERO, itemStack, rotating); + GL11.glPopMatrix(); + } else { + CraftGUI.Render.item(IPoint.ZERO, itemStack, rotating); + } + } + + public void setItemStack(ItemStack itemStack) { + this.itemStack = itemStack; + } + + public ItemStack getItemStack() { + return itemStack; + } + + @Override + public void getTooltip(Tooltip tooltip) { + if (hastooltip && itemStack != null) { + tooltip.add(itemStack.getTooltip(((Window) getSuperParent()).getPlayer(), false)); + } + super.getTooltip(tooltip); + } + + public void setRotating() { + rotating = true; + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlLiquidTank.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlLiquidTank.java new file mode 100644 index 00000000..b959a750 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlLiquidTank.java @@ -0,0 +1,172 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.BinnieCore; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.minecraft.MinecraftTooltip; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.machines.Machine; +import binnie.core.machines.inventory.MachineSide; +import binnie.core.machines.inventory.TankSlot; +import binnie.core.machines.power.ITankMachine; +import binnie.core.machines.power.TankInfo; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.Fluid; +import org.lwjgl.opengl.GL11; + +import java.util.ArrayList; +import java.util.List; + +public class ControlLiquidTank extends Control implements ITooltip { + public static List tankError = new ArrayList<>(); + private int tankID; + private boolean horizontal; + + public ControlLiquidTank(IWidget parent, int x, int y) { + this(parent, x, y, false); + } + + public ControlLiquidTank(IWidget parent, int x, int y, boolean horizontal) { + super(parent, x, y, horizontal ? 60.0f : 18.0f, horizontal ? 18.0f : 60.0f); + tankID = 0; + this.horizontal = horizontal; + addAttribute(WidgetAttribute.MouseOver); + addSelfEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + if (event.getButton() == 0) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setByte("id", (byte) tankID); + Window.get(getWidget()).sendClientAction("tank-click", nbt); + } + } + }); + } + + public void setTankID(int tank) { + tankID = tank; + } + + public TankInfo getTank() { + return Window.get(this).getContainer().getTankInfo(tankID); + } + + public boolean isTankValid() { + return !getTank().isEmpty(); + } + + public int getTankCapacity() { + return (int) getTank().getCapacity(); + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.texture(horizontal ? CraftGUITexture.HorizontalLiquidTank : CraftGUITexture.LiquidTank, IPoint.ZERO); + if (isMouseOver() && Window.get(this).getGui().isHelpMode()) { + int c = 0xaa000000 + MinecraftTooltip.getOutline(Tooltip.Type.Help); + CraftGUI.Render.gradientRect(getArea().inset(1), c, c); + } else if (ControlLiquidTank.tankError.contains(tankID)) { + int c = 0xaa000000 + MinecraftTooltip.getOutline(MinecraftTooltip.Type.Error); + CraftGUI.Render.gradientRect(getArea().inset(1), c, c); + } else if (getSuperParent().getMousedOverWidget() == this) { + if (Window.get(this).getGui().getDraggedItem() != null) { + CraftGUI.Render.gradientRect(getArea().inset(1), 0xaaff9999, 0xaaff9999); + } else { + CraftGUI.Render.gradientRect(getArea().inset(1), 0x80ffffff, 0x80ffffff); + } + } + + if (isTankValid()) { + float height = horizontal ? 16.0f : 58.0f; + int squaled = (int) (height * (getTank().getAmount() / getTank().getCapacity())); + int yPos = (int) height + 1; + Fluid fluid = getTank().liquid.getFluid(); + int hex = fluid.getColor(getTank().liquid); + int r = (hex & 0xFF0000) >> 16; + int g = (hex & 0xFF00) >> 8; + int b = hex & 0xFF; + GL11.glColor4f(r / 255.0f, g / 255.0f, b / 255.0f, 1.0f); + GL11.glEnable(3042); + GL11.glBlendFunc(770, 771); + IPoint pos = getAbsolutePosition(); + IPoint offset = new IPoint(0.0f, height - squaled); + IArea limited = getArea().inset(1); + if (horizontal) { + limited.setSize(new IPoint(limited.w() - 1.0f, limited.h())); + } + + CraftGUI.Render.limitArea(new IArea(limited.pos().add(pos).add(offset), limited.size().sub(offset))); + GL11.glEnable(3089); + BinnieCore.proxy.bindTexture(TextureMap.locationItemsTexture); + for (int y = 0; y < height; y += 16) { + for (int x = 0; x < (horizontal ? 58 : 16); x += 16) { + IIcon icon = fluid.getIcon(); + CraftGUI.Render.iconBlock(new IPoint(1 + x, 1 + y), icon); + } + } + + GL11.glDisable(3089); + GL11.glDisable(3042); + } + } + + @Override + public void onRenderForeground() { + CraftGUI.Render.texture(horizontal ? CraftGUITexture.HorizontalLiquidTankOverlay : CraftGUITexture.LiquidTankOverlay, IPoint.ZERO); + if (isMouseOver() && Window.get(this).getGui().isHelpMode()) { + IArea area = getArea(); + CraftGUI.Render.colour(MinecraftTooltip.getOutline(Tooltip.Type.Help)); + CraftGUI.Render.texture(CraftGUITexture.Outline, area.outset(1)); + } + + if (ControlLiquidTank.tankError.contains(tankID)) { + IArea area = getArea(); + CraftGUI.Render.colour(MinecraftTooltip.getOutline(MinecraftTooltip.Type.Error)); + CraftGUI.Render.texture(CraftGUITexture.Outline, area.outset(1)); + } + } + + @Override + public void getHelpTooltip(Tooltip tooltip) { + if (getTankSlot() == null) { + return; + } + + TankSlot slot = getTankSlot(); + tooltip.add(slot.getName()); + tooltip.add("Capacity: " + getTankCapacity() + " mB"); + tooltip.add("Insert Side: " + MachineSide.asString(slot.getInputSides())); + tooltip.add("Extract Side: " + MachineSide.asString(slot.getOutputSides())); + if (slot.isReadOnly()) { + tooltip.add("Output Only Tank"); + } + tooltip.add("Accepts: " + ((slot.getValidator() == null) ? "Any Item" : slot.getValidator().getTooltip())); + } + + @Override + public void getTooltip(Tooltip tooltip) { + if (isTankValid()) { + int percentage = (int) (100.0 * getTank().getAmount() / getTankCapacity()); + tooltip.add(getTank().getName()); + tooltip.add(percentage + "% full"); + tooltip.add((int) getTank().getAmount() + " mB"); + return; + } + tooltip.add("Empty"); + } + + private TankSlot getTankSlot() { + ITankMachine tank = Machine.getInterface(ITankMachine.class, Window.get(this).getInventory()); + return (tank != null) ? tank.getTankSlot(tankID) : null; + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlMachineProgress.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlMachineProgress.java new file mode 100644 index 00000000..c4aa3dc3 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlMachineProgress.java @@ -0,0 +1,11 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.resource.Texture; + +public class ControlMachineProgress extends ControlProgress { + public ControlMachineProgress(IWidget parent, int x, int y, Texture base, Texture progress, Position dir) { + super(parent, x, y, base, progress, dir); + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlPlayerInventory.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlPlayerInventory.java new file mode 100644 index 00000000..29ef2b3c --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlPlayerInventory.java @@ -0,0 +1,98 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.minecraft.InventoryType; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; + +import java.util.ArrayList; +import java.util.List; + +public class ControlPlayerInventory extends Control { + private List slots; + + public ControlPlayerInventory(IWidget parent, boolean wide) { + super(parent, (int) (parent.getSize().x() / 2.0f) - (wide ? 110 : 81), (int) parent.getSize().y() - (wide ? 54 : 76) - 12, wide ? 220 : 162, wide ? 54 : 76); + slots = new ArrayList<>(); + for (int row = 0; row < 3; ++row) { + for (int column = 0; column < 9; ++column) { + ControlSlot slot = new ControlSlot(this, (wide ? 58 : 0) + column * 18, row * 18); + slots.add(slot); + } + } + + if (wide) { + for (int i1 = 0; i1 < 9; ++i1) { + ControlSlot slot2 = new ControlSlot(this, i1 % 3 * 18, i1 / 3 * 18); + slots.add(slot2); + } + } else { + for (int i1 = 0; i1 < 9; ++i1) { + ControlSlot slot2 = new ControlSlot(this, i1 * 18, 58.0f); + slots.add(slot2); + } + } + create(); + } + + public ControlPlayerInventory(IWidget parent) { + this(parent, false); + } + + public ControlPlayerInventory(IWidget parent, int x, int y) { + super(parent, x, y, 54.0f, 220.0f); + slots = new ArrayList<>(); + for (int row = 0; row < 6; ++row) { + for (int column = 0; column < 6; ++column) { + ControlSlot slot = new ControlSlot(this, column * 18, row * 18); + slots.add(slot); + } + } + create(); + } + + public void create() { + for (int row = 0; row < 3; ++row) { + for (int column = 0; column < 9; ++column) { + ControlSlot slot = slots.get(column + row * 9); + slot.assign(InventoryType.Player, 9 + column + row * 9); + } + } + + for (int i1 = 0; i1 < 9; ++i1) { + ControlSlot slot2 = slots.get(27 + i1); + slot2.assign(InventoryType.Player, i1); + } + } + + public void addItem(ItemStack item) { + if (item == null) { + return; + } + + for (ControlSlot slot : slots) { + if (!slot.slot.getHasStack()) { + slot.slot.putStack(item); + } + } + } + + public void addInventory(IInventory inventory) { + for (int i = 0; i < inventory.getSizeInventory(); ++i) { + addItem(inventory.getStackInSlot(i)); + } + } + + public ControlSlot getSlot(int i) { + if (i < 0 || i >= slots.size()) { + return null; + } + return slots.get(i); + } + + @Override + public void onUpdateClient() { + // ignored + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlPowerSystem.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlPowerSystem.java new file mode 100644 index 00000000..b08616f0 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlPowerSystem.java @@ -0,0 +1,33 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.machines.power.PowerSystem; + +public class ControlPowerSystem extends Control implements ITooltip { + private PowerSystem system; + + public ControlPowerSystem(IWidget parent, float x, float y, PowerSystem system) { + super(parent, x, y, 16.0f, 16.0f); + addAttribute(WidgetAttribute.MouseOver); + this.system = system; + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.texture(CraftGUITexture.PowerButton, getArea()); + } + + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.setType(Tooltip.Type.Power); + tooltip.add("Power Supply"); + tooltip.add("Powered by " + system.getUnitName()); + tooltip.setMaxWidth(200); + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlProgress.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlProgress.java new file mode 100644 index 00000000..accc119e --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlProgress.java @@ -0,0 +1,26 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.resource.Texture; + +public class ControlProgress extends ControlProgressBase { + private Texture progressBlank; + private Texture progressBar; + private Position direction; + + public ControlProgress(IWidget parent, int x, int y, Texture progressBlank, Texture progressBar, Position dir) { + super(parent, x, y, (progressBlank == null) ? 0.0f : progressBlank.w(), (progressBlank == null) ? 0.0f : progressBlank.h()); + this.progressBlank = progressBlank; + this.progressBar = progressBar; + progress = 0.0f; + direction = dir; + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.texture(progressBlank, getArea()); + CraftGUI.Render.texturePercentage(progressBar, getArea(), direction, progress); + } +} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlProgressBase.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlProgressBase.java similarity index 53% rename from src/main/java/binnie/craftgui/minecraft/control/ControlProgressBase.java rename to src/main/java/binnie/core/craftgui/minecraft/control/ControlProgressBase.java index 4b48a13f..c9c83b34 100644 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlProgressBase.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlProgressBase.java @@ -1,34 +1,28 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; +package binnie.core.craftgui.minecraft.control; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.minecraft.Window; import binnie.core.machines.Machine; import binnie.core.machines.power.IProcess; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.minecraft.Window; import binnie.core.machines.power.ProcessInfo; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.core.Control; -public class ControlProgressBase extends Control -{ +public class ControlProgressBase extends Control { protected float progress; - public ControlProgressBase(final IWidget parent, final float x, final float y, final float w, final float h) { + public ControlProgressBase(IWidget parent, float x, float y, float w, float h) { super(parent, x, y, w, h); - this.progress = 0.0f; - this.addAttribute(Attribute.MouseOver); + progress = 0.0f; + addAttribute(WidgetAttribute.MouseOver); } - public void setProgress(final float progress) { + public void setProgress(float progress) { this.progress = progress; if (this.progress < 0.0f) { this.progress = 0.0f; - } - else if (this.progress > 1.0f) { + } else if (this.progress > 1.0f) { this.progress = 1.0f; } } @@ -39,49 +33,49 @@ public class ControlProgressBase extends Control @Override public void onUpdateClient() { - final ProcessInfo process = this.getProcess(); + ProcessInfo process = getProcess(); if (process != null) { - this.setProgress(process.getCurrentProgress() / 100.0f); + setProgress(process.getCurrentProgress() / 100.0f); } } @Override - public void getHelpTooltip(final Tooltip tooltip) { - final ProcessInfo process = this.getProcess(); - final IProcess machineProcess = Machine.getMachine(Window.get(this).getInventory()).getInterface(IProcess.class); + public void getHelpTooltip(Tooltip tooltip) { + ProcessInfo process = getProcess(); + IProcess machineProcess = Machine.getMachine(Window.get(this).getInventory()).getInterface(IProcess.class); if (process != null) { tooltip.add("Progress"); - if (this.progress == 0.0f) { + if (progress == 0.0f) { tooltip.add("Not in Progress"); - } - else if (process.getProcessTime() > 0) { + } else if (process.getProcessTime() > 0) { tooltip.add(machineProcess.getTooltip() + " (" + (int) process.getCurrentProgress() + "%)"); - } - else { + } else { tooltip.add("In Progress"); } + if (process.getProcessTime() > 0) { - tooltip.add("Time Left: " + convertTime((int) ((1.0f - this.progress) * process.getProcessTime()))); + tooltip.add("Time Left: " + convertTime((int) ((1.0f - progress) * process.getProcessTime()))); tooltip.add("Total Time: " + convertTime(process.getProcessTime())); tooltip.add("Energy Cost: " + process.getProcessEnergy() * 10 + " RF"); - } - else { + } else { tooltip.add("Energy Cost: " + process.getEnergyPerTick() * 10.0f + " RF / tick"); } } } - public static String convertTime(final int time) { + public static String convertTime(int time) { int seconds = (int) (time / 20.0f); int minutes = 0; while (seconds >= 60) { - ++minutes; + minutes++; seconds -= 60; } + String ts = ""; if (minutes > 0) { ts = ts + minutes + " minute" + ((minutes == 1) ? "" : "s"); } + if (seconds > 0) { if (ts.length() > 0) { ts += " "; diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlide.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlide.java new file mode 100644 index 00000000..3d9fd9a6 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlide.java @@ -0,0 +1,100 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IBorder; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.resource.Texture; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import org.lwjgl.opengl.GL11; + +public class ControlSlide extends Control { + private IArea expanded; + private IArea shrunk; + private boolean slideActive; + private Position anchor; + private String label; + + public ControlSlide(IWidget parent, float x, float y, float w, float h, Position anchor2) { + super(parent, x, y, w, h); + slideActive = true; + label = null; + addAttribute(WidgetAttribute.MouseOver); + addAttribute(WidgetAttribute.BlockTooltip); + expanded = new IArea(getPosition(), getSize()); + anchor = anchor2.opposite(); + float border = (anchor.x() != 0) ? (expanded.w() - 6.0f) : (expanded.h() - 6.0f); + shrunk = expanded.inset(new IBorder(anchor, border)); + slideActive = false; + } + + @Override + public void onRenderBackground() { + super.onRenderBackground(); + if (label != null) { + float lw = CraftGUI.Render.textWidth(label) + 16; + float lh = CraftGUI.Render.textHeight() + 16; + boolean hor = anchor.x() != 0; + IArea ar = isSlideActive() ? expanded : shrunk; + IArea tabArea = new IArea(hor ? (-lh / 2.0f) : (-lw / 2.0f), hor ? (-lw / 2.0f) : (-lh / 2.0f), hor ? lh : lw, hor ? lw : lh); + IPoint shift = new IPoint(ar.w() * (1 - anchor.x()) / 2.0f, ar.h() * (1 - anchor.y()) / 2.0f); + tabArea = tabArea.shift(shift.x() - (-3.0f + lh / 2.0f) * anchor.x(), shift.y() - (-3.0f + lh / 2.0f) * anchor.y()); + Texture texture = CraftGUI.Render.getTexture(isSlideActive() ? CraftGUITexture.Tab : CraftGUITexture.TabDisabled).crop(anchor.opposite(), 8.0f); + CraftGUI.Render.texture(texture, tabArea); + texture = CraftGUI.Render.getTexture(CraftGUITexture.TabOutline).crop(anchor.opposite(), 8.0f); + CraftGUI.Render.texture(texture, tabArea.inset(2)); + IArea labelArea = new IArea(-lw / 2.0f, 0.0f, lw, lh); + GL11.glPushMatrix(); + GL11.glTranslatef(shift.x() + anchor.x() * 2.0f, shift.y() + anchor.y() * 2.0f, 0.0f); + if (anchor.x() != 0) { + GL11.glRotatef(90.0f, 0.0f, 0.0f, anchor.x()); + } + if (anchor.y() > 0) { + GL11.glTranslatef(0.0f, -lh, 0.0f); + } + CraftGUI.Render.text(labelArea, TextJustification.MiddleCenter, label, 16777215); + GL11.glPopMatrix(); + } + CraftGUI.Render.texture(CraftGUITexture.Window, getArea()); + Object slideTexture = (anchor == Position.Bottom) ? CraftGUITexture.SlideDown : ((anchor == Position.Top) ? CraftGUITexture.SlideUp : ((anchor == Position.Left) ? CraftGUITexture.SlideLeft : CraftGUITexture.SlideRight)); + CraftGUI.Render.texture(slideTexture, new IPoint((anchor.x() + 1.0f) * w() / 2.0f - 8.0f, (anchor.y() + 1.0f) * h() / 2.0f - 8.0f)); + } + + public boolean isSlideActive() { + return slideActive; + } + + @Override + public void onUpdateClient() { + boolean mouseOver = isMouseOverWidget(getRelativeMousePosition()); + if (mouseOver != slideActive) { + setSlide(mouseOver); + } + } + + @Override + public boolean isMouseOverWidget(IPoint relativeMouse) { + return getArea().outset(isSlideActive() ? 16 : 8).outset(new IBorder(anchor.opposite(), 16.0f)).contains(relativeMouse); + } + + @Override + public boolean isChildVisible(IWidget child) { + return slideActive; + } + + public void setSlide(boolean b) { + slideActive = b; + IArea area = isSlideActive() ? expanded : shrunk; + setSize(area.size()); + setPosition(area.pos()); + } + + public void setLabel(String l) { + label = l; + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlot.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlot.java new file mode 100644 index 00000000..af80fa89 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlot.java @@ -0,0 +1,210 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.minecraft.CustomSlot; +import binnie.core.craftgui.minecraft.InventoryType; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.WindowInventory; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.machines.inventory.InventorySlot; +import binnie.core.machines.inventory.MachineSide; +import binnie.core.machines.inventory.SlotValidator; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.multiplayer.PlayerControllerMP; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class ControlSlot extends ControlSlotBase { + public static Map> highlighting = new HashMap<>(); + public static boolean shiftClickActive = false; + public Slot slot; + + public ControlSlot(IWidget parent, float x, float y) { + super(parent, x, y); + slot = null; + addSelfEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + if (slot == null) { + return; + } + + PlayerControllerMP playerController = ((Window) getSuperParent()).getGui().getMinecraft().playerController; + int windowId = ((Window) getSuperParent()).getContainer().windowId; + int slotNumber = slot.slotNumber; + int button = event.getButton(); + Window.get(getWidget()).getGui(); + playerController.windowClick(windowId, slotNumber, button, GuiScreen.isShiftKeyDown() ? 1 : 0, ((Window) getSuperParent()).getGui().getMinecraft().thePlayer); + } + }); + } + + public ControlSlot(IWidget parent, int x, int y, Slot slot) { + super(parent, x, y); + this.slot = null; + this.slot = slot; + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.texture(CraftGUITexture.Slot, IPoint.ZERO); + if (slot == null) { + return; + } + + InventorySlot islot = getInventorySlot(); + if (islot != null && islot.getValidator() != null) { + IIcon icon = islot.getValidator().getIcon(!islot.getInputSides().isEmpty()); + if (icon != null) { + CraftGUI.Render.iconItem(new IPoint(1.0f, 1.0f), icon); + } + } + + boolean highlighted = false; + for (Map.Entry> highlight : ControlSlot.highlighting.entrySet()) { + if (highlight.getKey() == EnumHighlighting.ShiftClick && !ControlSlot.shiftClickActive) { + continue; + } + if (highlighted || !highlight.getValue().contains(slot.slotNumber)) { + continue; + } + + highlighted = true; + int c = 0xaa000000 + Math.min(highlight.getKey().getColour(), 0xffffff); + CraftGUI.Render.gradientRect(new IArea(1.0f, 1.0f, 16.0f, 16.0f), c, c); + } + if (!highlighted && getSuperParent().getMousedOverWidget() == this) { + if (Window.get(this).getGui().getDraggedItem() != null && !slot.isItemValid(Window.get(this).getGui().getDraggedItem())) { + CraftGUI.Render.gradientRect(new IArea(1.0f, 1.0f, 16.0f, 16.0f), 0xaaff9999, 0xaaff9999); + } else { + CraftGUI.Render.gradientRect(new IArea(1.0f, 1.0f, 16.0f, 16.0f), 0x80ffffff, 0x80ffffff); + } + } + } + + @Override + public void onRenderOverlay() { + if (slot == null) { + return; + } + + boolean highlighted = false; + for (Map.Entry> highlight : ControlSlot.highlighting.entrySet()) { + if (highlight.getKey() == EnumHighlighting.ShiftClick && !ControlSlot.shiftClickActive) { + continue; + } + if (highlighted || !highlight.getValue().contains(slot.slotNumber)) { + continue; + } + + highlighted = true; + int c = highlight.getKey().getColour(); + IArea area = getArea(); + if (getParent() instanceof ControlSlotArray || getParent() instanceof ControlPlayerInventory) { + area = getParent().getArea(); + area.setPosition(IPoint.ZERO.sub(getPosition())); + } + CraftGUI.Render.colour(c); + CraftGUI.Render.texture(CraftGUITexture.Outline, area.outset(1)); + } + } + + @Override + public void onUpdateClient() { + super.onUpdateClient(); + if (slot == null) { + return; + } + + if (isMouseOver() && GuiScreen.isShiftKeyDown()) { + Window.get(this).getContainer().setMouseOverSlot(slot); + ControlSlot.shiftClickActive = true; + } + + if (Window.get(this).getGui().isHelpMode() && isMouseOver()) { + for (ControlSlot slot2 : getControlSlots()) { + if (slot2.slot != null) { + ControlSlot.highlighting.get(EnumHighlighting.Help).add(slot2.slot.slotNumber); + } + } + } + } + + private List getControlSlots() { + List slots = new ArrayList(); + if (getParent() instanceof ControlSlotArray || getParent() instanceof ControlPlayerInventory) { + for (IWidget child : getParent().getWidgets()) { + slots.add((ControlSlot) child); + } + } else { + slots.add(this); + } + return slots; + } + + @Override + public ItemStack getItemStack() { + if (slot != null) { + return slot.getStack(); + } + return null; + } + + public ControlSlot assign(int index) { + return assign(InventoryType.Machine, index); + } + + public ControlSlot assign(InventoryType inventory, int index) { + if (slot != null) { + return this; + } + + slot = ((Window) getSuperParent()).getContainer().getOrCreateSlot(inventory, index); + return this; + } + + @Override + public void getHelpTooltip(Tooltip tooltip) { + if (slot == null) { + return; + } + + InventorySlot slot = getInventorySlot(); + if (getInventorySlot() != null) { + tooltip.add(slot.getName()); + tooltip.add("Insert Side: " + MachineSide.asString(slot.getInputSides())); + tooltip.add("Extract Side: " + MachineSide.asString(slot.getOutputSides())); + if (slot.isReadOnly()) { + tooltip.add("Pickup Only Slot"); + } + tooltip.add("Accepts: " + ((slot.getValidator() == null) ? "Any Item" : slot.getValidator().getTooltip())); + } else if (this.slot.inventory instanceof WindowInventory) { + SlotValidator s = ((WindowInventory) this.slot.inventory).getValidator(this.slot.getSlotIndex()); + tooltip.add("Accepts: " + ((s == null) ? "Any Item" : s.getTooltip())); + } else if (this.slot.inventory instanceof InventoryPlayer) { + tooltip.add("Player Inventory"); + } + } + + public InventorySlot getInventorySlot() { + return (slot instanceof CustomSlot) ? ((CustomSlot) slot).getInventorySlot() : null; + } + + static { + for (EnumHighlighting h : EnumHighlighting.values()) { + ControlSlot.highlighting.put(h, new ArrayList<>()); + } + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotArray.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotArray.java new file mode 100644 index 00000000..c1c51aee --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotArray.java @@ -0,0 +1,67 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.minecraft.InventoryType; +import net.minecraft.item.ItemStack; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public class ControlSlotArray extends Control implements Iterable { + private int rows; + private int columns; + private List slots; + + public ControlSlotArray(IWidget parent, int x, int y, int columns, int rows) { + super(parent, x, y, columns * 18, rows * 18); + slots = new ArrayList<>(); + this.rows = rows; + this.columns = columns; + for (int row = 0; row < rows; ++row) { + for (int column = 0; column < columns; ++column) { + slots.add(createSlot(column * 18, row * 18)); + } + } + } + + public ControlSlot createSlot(int x, int y) { + return new ControlSlot(this, x, y); + } + + public void setItemStacks(ItemStack[] array) { + int i = 0; + for (ItemStack item : array) { + if (i >= slots.size()) { + return; + } + slots.get(i).slot.putStack(item); + i++; + } + } + + public ControlSlot getControlSlot(int i) { + if (i < 0 || i >= slots.size()) { + return null; + } + return slots.get(i); + } + + public ControlSlotArray create(int[] index) { + return create(InventoryType.Machine, index); + } + + public ControlSlotArray create(InventoryType type, int[] index) { + int i = 0; + for (ControlSlot slot : slots) { + slot.assign(type, index[i++]); + } + return this; + } + + @Override + public Iterator iterator() { + return slots.iterator(); + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotBase.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotBase.java new file mode 100644 index 00000000..bb9d27ea --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotBase.java @@ -0,0 +1,65 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.events.EventWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import net.minecraft.item.ItemStack; + +public abstract class ControlSlotBase extends Control implements ITooltip { + private ControlItemDisplay itemDisplay; + + public ControlSlotBase(IWidget parent, float x, float y) { + this(parent, x, y, 18); + } + + public ControlSlotBase(IWidget parent, float x, float y, int size) { + super(parent, x, y, size, size); + addAttribute(WidgetAttribute.MouseOver); + itemDisplay = new ControlItemDisplay(this, 1.0f, 1.0f, size - 2); + addSelfEventHandler(new EventWidget.ChangeSize.Handler() { + @Override + public void onEvent(EventWidget.ChangeSize event) { + if (itemDisplay != null) { + itemDisplay.setSize(getSize().sub(new IPoint(2.0f, 2.0f))); + } + } + }); + } + + protected void setRotating() { + itemDisplay.setRotating(); + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.texture(CraftGUITexture.Slot, getArea()); + if (getSuperParent().getMousedOverWidget() == this) { + CraftGUI.Render.gradientRect(new IArea(new IPoint(1.0f, 1.0f), getArea().size().sub(new IPoint(2.0f, 2.0f))), 0x80ffffff, 0x80ffffff); + } + } + + @Override + public void onUpdateClient() { + super.onUpdateClient(); + itemDisplay.setItemStack(getItemStack()); + } + + @Override + public void getTooltip(Tooltip tooltip) { + ItemStack item = getItemStack(); + if (item == null) { + return; + } + tooltip.add(item.getTooltip(((Window) getSuperParent()).getPlayer(), false)); + } + + public abstract ItemStack getItemStack(); +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotCharge.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotCharge.java new file mode 100644 index 00000000..ad2385b5 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotCharge.java @@ -0,0 +1,36 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.machines.Machine; +import binnie.core.machines.inventory.IChargedSlots; + +public class ControlSlotCharge extends Control { + private int slot; + + float getCharge() { + IChargedSlots slots = Machine.getInterface(IChargedSlots.class, Window.get(this).getInventory()); + return (slots == null) ? 0.0f : slots.getCharge(slot); + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.texture(CraftGUITexture.PanelBlack, getArea()); + CraftGUI.Render.texturePercentage(CraftGUI.Render.getTexture(CraftGUITexture.SlotCharge), getArea().inset(1), Position.Bottom, getCharge()); + } + + public ControlSlotCharge(IWidget parent, int x, int y, int slot) { + super(parent, x, y, 4.0f, 18.0f); + this.slot = slot; + } + + @Override + public void getHelpTooltip(Tooltip tooltip) { + tooltip.add("Charge Remaining: " + (int) (getCharge() * 100.0f) + "%"); + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlTabIcon.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlTabIcon.java new file mode 100644 index 00000000..d540ad4d --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlTabIcon.java @@ -0,0 +1,40 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.controls.tab.ControlTab; +import binnie.core.craftgui.controls.tab.ControlTabBar; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.genetics.IItemStackRepresentative; +import net.minecraft.item.ItemStack; + +public class ControlTabIcon extends ControlTab { + private ControlItemDisplay item; + + public ControlTabIcon(ControlTabBar parent, float x, float y, float w, float h, T value) { + super(parent, x, y, w, h, value); + item = new ControlItemDisplay(this, -8.0f + w / 2.0f, -8.0f + h / 2.0f); + item.hastooltip = false; + } + + public ItemStack getItemStack() { + if (value instanceof IItemStackRepresentative) { + return ((IItemStackRepresentative) value).getItemStackRepresentative(); + } + return null; + } + + @Override + public void onUpdateClient() { + super.onUpdateClient(); + item.setItemStack(getItemStack()); + float x = ((ControlTabBar) getParent()).getDirection().x(); + item.setOffset(new IPoint((isCurrentSelection() || isMouseOver()) ? 0.0f : (-4.0f * x), 0.0f)); + } + + public boolean hasOutline() { + return false; + } + + public int getOutlineColour() { + return 0xffffff; + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlUser.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlUser.java new file mode 100644 index 00000000..a405e510 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlUser.java @@ -0,0 +1,37 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; + +public class ControlUser extends Control implements ITooltip { + protected String team; + + private String username; + + public ControlUser(IWidget parent, float x, float y, String username) { + super(parent, x, y, 16.0f, 16.0f); + this.username = username; + team = ""; + addAttribute(WidgetAttribute.MouseOver); + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.texture(CraftGUITexture.UserButton, getArea()); + } + + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.setType(Tooltip.Type.User); + tooltip.add("Owner"); + if (username != "") { + tooltip.add(username); + } + tooltip.setMaxWidth(200); + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/EnumHighlighting.java b/src/main/java/binnie/core/craftgui/minecraft/control/EnumHighlighting.java new file mode 100644 index 00000000..ae81a08d --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/control/EnumHighlighting.java @@ -0,0 +1,28 @@ +package binnie.core.craftgui.minecraft.control; + +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.minecraft.MinecraftTooltip; + +public enum EnumHighlighting { + Error, + Warning, + Help, + ShiftClick; + + int getColour() { + switch (this) { + case Error: + return MinecraftTooltip.getOutline(MinecraftTooltip.Type.Error); + + case Help: + return MinecraftTooltip.getOutline(Tooltip.Type.Help); + + case ShiftClick: + return 0xffff00; + + case Warning: + return MinecraftTooltip.getOutline(MinecraftTooltip.Type.Warning); + } + return 0; + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/render/MinecraftTexture.java b/src/main/java/binnie/core/craftgui/minecraft/render/MinecraftTexture.java new file mode 100644 index 00000000..cb79ed2c --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/render/MinecraftTexture.java @@ -0,0 +1,14 @@ +package binnie.core.craftgui.minecraft.render; + +import binnie.core.craftgui.geometry.IArea; +import binnie.core.resource.IBinnieTexture; + +// TODO unused class? +public class MinecraftTexture { + protected IArea textureArea; + protected IBinnieTexture texture; + + public MinecraftTexture() { + textureArea = new IArea(0.0f, 0.0f, 0.0f, 0.0f); + } +} diff --git a/src/main/java/binnie/core/craftgui/minecraft/render/RenderCommand.java b/src/main/java/binnie/core/craftgui/minecraft/render/RenderCommand.java new file mode 100644 index 00000000..cde2ee0f --- /dev/null +++ b/src/main/java/binnie/core/craftgui/minecraft/render/RenderCommand.java @@ -0,0 +1,15 @@ +package binnie.core.craftgui.minecraft.render; + +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.minecraft.GuiCraftGUI; + +// TODO unused class? +public abstract class RenderCommand { + protected IWidget widget; + + public RenderCommand(IWidget widget) { + this.widget = widget; + } + + public abstract void render(GuiCraftGUI p0); +} diff --git a/src/main/java/binnie/core/craftgui/renderer/Renderer.java b/src/main/java/binnie/core/craftgui/renderer/Renderer.java new file mode 100644 index 00000000..989b114b --- /dev/null +++ b/src/main/java/binnie/core/craftgui/renderer/Renderer.java @@ -0,0 +1,221 @@ +package binnie.core.craftgui.renderer; + +import binnie.core.BinnieCore; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.minecraft.GuiCraftGUI; +import binnie.core.craftgui.resource.IStyleSheet; +import binnie.core.craftgui.resource.Texture; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import org.lwjgl.opengl.GL11; + +import java.util.List; + +public class Renderer { + protected GuiCraftGUI gui; + protected int currentColour; + protected Texture currentTexture; + protected IStyleSheet stylesheet; + + public Renderer(GuiCraftGUI gui) { + currentColour = 16777215; + this.gui = gui; + } + + public void preRender(IWidget widget) { + GL11.glPushMatrix(); + GL11.glTranslatef(widget.getPosition().x(), widget.getPosition().y(), 0.0f); + colour(widget.getColor()); + if (widget.isCroppedWidet()) { + IWidget cropRelative = (widget.getCropWidget() != null) ? widget.getCropWidget() : widget; + IPoint pos = cropRelative.getAbsolutePosition(); + IArea cropZone = widget.getCroppedZone(); + GL11.glEnable(3089); + limitArea(new IArea(pos.add(cropZone.pos()), cropZone.size())); + + } + GL11.glDisable(2929); + } + + public void postRender(IWidget widget) { + if (widget.isCroppedWidet()) { + GL11.glDisable(3089); + } + GL11.glEnable(2929); + GL11.glPopMatrix(); + } + + public void colour(int hex) { + currentColour = hex; + int a = (hex & 0xFF000000) >> 24; + int r = (hex & 0xFF0000) >> 16; + int g = (hex & 0xFF00) >> 8; + int b = hex & 0xFF; + if (a < 0) { + a += 256; + } + if (a > 0 && a != 255) { + GL11.glColor4f(r / 255.0f, g / 255.0f, b / 255.0f, a / 255.0f); + GL11.glEnable(3042); + } else { + GL11.glColor3f(r / 255.0f, g / 255.0f, b / 255.0f); + } + } + + public Texture getTexture(Object key) { + if (key instanceof Texture) { + return (Texture) key; + } + return stylesheet.getTexture(key); + } + + public void setTexture(Texture texture) { + if (texture != currentTexture && texture != null) { + BinnieCore.proxy.bindTexture(texture.getFilename()); + } + colour(currentColour); + } + + public void texture(Object texture, IPoint position) { + texture(getTexture(texture), position); + } + + public void texture(Texture texture, IPoint position) { + if (texture == null) { + return; + } + setTexture(texture); + IPoint point = position.sub(new IPoint(texture.getBorder().l(), texture.getBorder().t())); + IArea textureArea = texture.getArea().outset(texture.getBorder()); + gui.renderTexture(point, textureArea); + } + + public void texture(Object window, IArea area) { + texture(getTexture(window), area); + } + + public void texture(Texture texture, IArea area) { + if (texture == null) { + return; + } + setTexture(texture); + IArea textureArea = texture.getArea().outset(texture.getBorder()); + IArea targetArea = area.outset(texture.getBorder()); + if (textureArea.w() == targetArea.w() && textureArea.h() == targetArea.h()) { + gui.renderTexture(targetArea.pos(), textureArea); + } else { + gui.renderTexturePadded(targetArea, textureArea, texture.getTotalPadding()); + } + } + + public void stylesheet(IStyleSheet sheet) { + stylesheet = sheet; + } + + public int textWidth(String text) { + return gui.getFontRenderer().getStringWidth(text); + } + + public int textHeight() { + return (gui.getFontRenderer() == null) ? 0 : gui.getFontRenderer().FONT_HEIGHT; + } + + public void text(IPoint pos, String text, int colour) { + text(new IArea(pos, new IPoint(500.0f, 500.0f)), TextJustification.TopLeft, text, colour); + } + + public void text(IArea area, TextJustification justification, String text, int colour) { + IPoint pos = area.pos(); + if (area.size().x() <= 0.0f) { + return; + } + + List wrappedStrings = gui.getFontRenderer().listFormattedStringToWidth(text, (int) area.size().x()); + float totalHeight = wrappedStrings.size() * textHeight(); + float posY = area.pos().y(); + if (area.size().y() > totalHeight) { + posY += (area.size().y() - totalHeight) * justification.getYOffset(); + } + + for (String string : wrappedStrings) { + float stringWidth = textWidth(string); + float posX = area.size().x() - stringWidth; + posX *= justification.getXOffset(); + GL11.glDisable(2929); + gui.getFontRenderer().drawString(string, (int) (pos.x() + posX), (int) posY, colour); + posY += textHeight(); + } + GL11.glColor3f(1.0f, 1.0f, 1.0f); + } + + public void solid(IArea area, int colour) { + gui.drawRect(area.pos().x(), area.pos().y(), area.pos().x() + area.size().x(), area.pos().y() + area.size().y(), 0xFF000000 | colour); + } + + public void solidAlpha(IArea area, int c1) { + gui.drawGradientArea(area.pos().x(), area.pos().y(), area.pos().x() + area.size().x(), area.pos().y() + area.size().y(), c1, c1); + } + + public void gradientRect(IArea area, int c1, int c2) { + gui.drawGradientArea(area.pos().x(), area.pos().y(), area.pos().x() + area.size().x(), area.pos().y() + area.size().y(), c1, c2); + } + + public void item(IPoint pos, ItemStack item) { + gui.renderItem(pos, item, false); + } + + public void item(IPoint pos, ItemStack item, boolean rotating) { + gui.renderItem(pos, item, rotating); + } + + public void iconBlock(IPoint pos, IIcon icon) { + gui.renderIcon(pos, icon, TextureMap.locationBlocksTexture); + } + + public void iconItem(IPoint pos, IIcon icon) { + gui.renderIcon(pos, icon, TextureMap.locationItemsTexture); + } + + public void limitArea(IArea area) { + gui.limitArea(area); + } + + public float textHeight(String text, float width) { + return gui.getFontRenderer().listFormattedStringToWidth(text, (int) width).size() * textHeight(); + } + + public void texturePercentage(Texture texture, IArea area, Position direction, float percentage) { + float dist = (direction == Position.Top || direction == Position.Bottom) ? (percentage * texture.h()) : (percentage * texture.w()); + float dim = (direction == Position.Top || direction == Position.Bottom) ? texture.h() : texture.w(); + float x = area.pos().x(); + float y = area.pos().y(); + float w = area.size().x(); + float h = area.size().y(); + + switch (direction) { + case Top: + h *= percentage; + break; + + case Right: + x += (1.0f - percentage) * w; + w *= percentage; + break; + + case Left: + w *= percentage; + break; + + case Bottom: + y += h - (int) (percentage * h); + h *= percentage; + break; + } + texture(texture.crop(direction, dim - dist), new IArea(x, y, w, h)); + } +} diff --git a/src/main/java/binnie/core/craftgui/renderer/TextureType.java b/src/main/java/binnie/core/craftgui/renderer/TextureType.java new file mode 100644 index 00000000..a26a1998 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/renderer/TextureType.java @@ -0,0 +1,6 @@ +package binnie.core.craftgui.renderer; + +public enum TextureType { + Stretched, + Tiled +} diff --git a/src/main/java/binnie/core/craftgui/resource/IStyleSheet.java b/src/main/java/binnie/core/craftgui/resource/IStyleSheet.java new file mode 100644 index 00000000..3a31fe48 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/resource/IStyleSheet.java @@ -0,0 +1,5 @@ +package binnie.core.craftgui.resource; + +public interface IStyleSheet { + Texture getTexture(Object key); +} diff --git a/src/main/java/binnie/core/craftgui/resource/StyleSheet.java b/src/main/java/binnie/core/craftgui/resource/StyleSheet.java new file mode 100644 index 00000000..7d076a2f --- /dev/null +++ b/src/main/java/binnie/core/craftgui/resource/StyleSheet.java @@ -0,0 +1,20 @@ +package binnie.core.craftgui.resource; + +import java.util.HashMap; +import java.util.Map; + +public class StyleSheet implements IStyleSheet { + protected Map textures; + + public StyleSheet() { + textures = new HashMap<>(); + } + + @Override + public Texture getTexture(Object key) { + if (!textures.containsKey(key)) { + return StyleSheetManager.getTexture(key); + } + return textures.get(key); + } +} diff --git a/src/main/java/binnie/core/craftgui/resource/StyleSheetManager.java b/src/main/java/binnie/core/craftgui/resource/StyleSheetManager.java new file mode 100644 index 00000000..391fa380 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/resource/StyleSheetManager.java @@ -0,0 +1,22 @@ +package binnie.core.craftgui.resource; + +import binnie.core.craftgui.CraftGUI; + +public class StyleSheetManager { + static IStyleSheet defaultSS = new DefaultStyleSheet(); + + public static Texture getTexture(Object key) { + return StyleSheetManager.defaultSS.getTexture(key); + } + + public static IStyleSheet getDefault() { + return StyleSheetManager.defaultSS; + } + + private static class DefaultStyleSheet implements IStyleSheet { + @Override + public Texture getTexture(Object key) { + return CraftGUI.ResourceManager.getTexture(key.toString()); + } + } +} diff --git a/src/main/java/binnie/craftgui/resource/Texture.java b/src/main/java/binnie/core/craftgui/resource/Texture.java similarity index 55% rename from src/main/java/binnie/craftgui/resource/Texture.java rename to src/main/java/binnie/core/craftgui/resource/Texture.java index 0697a0b2..02d118f1 100644 --- a/src/main/java/binnie/craftgui/resource/Texture.java +++ b/src/main/java/binnie/core/craftgui/resource/Texture.java @@ -1,31 +1,26 @@ -// -// Decompiled by Procyon v0.5.30 -// +package binnie.core.craftgui.resource; -package binnie.craftgui.resource; - -import binnie.craftgui.core.geometry.Position; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IBorder; +import binnie.core.craftgui.geometry.Position; import binnie.core.resource.BinnieResource; -import binnie.craftgui.core.geometry.IBorder; -import binnie.craftgui.core.geometry.IArea; -public class Texture -{ - public static final Texture NULL; +public class Texture { + public static Texture NULL = null; IArea area; IBorder padding; IBorder border; BinnieResource filename; - public Texture(final IArea area, final BinnieResource filename) { + public Texture(IArea area, BinnieResource filename) { this(area, IBorder.ZERO, IBorder.ZERO, filename); } - public Texture(final IArea area, final IBorder padding, final BinnieResource filename) { + public Texture(IArea area, IBorder padding, BinnieResource filename) { this(area, padding, IBorder.ZERO, filename); } - public Texture(final IArea area, final IBorder padding, final IBorder border, final BinnieResource filename) { + public Texture(IArea area, IBorder padding, IBorder border, BinnieResource filename) { this.padding = IBorder.ZERO; this.border = IBorder.ZERO; this.area = new IArea(area); @@ -35,47 +30,47 @@ public class Texture } public IArea getArea() { - return this.area; + return area; } public IBorder getPadding() { - return this.padding; + return padding; } public IBorder getBorder() { - return this.border; + return border; } public BinnieResource getFilename() { - return this.filename; + return filename; } public IBorder getTotalPadding() { - return this.padding.add(this.border); + return padding.add(border); } public float w() { - return this.getArea().w(); + return getArea().w(); } public float h() { - return this.getArea().h(); + return getArea().h(); } public float u() { - return this.getArea().x(); + return getArea().x(); } public float v() { - return this.getArea().y(); + return getArea().y(); } - public Texture crop(final Position anchor, final float dist) { - return this.crop(new IBorder(anchor.opposite(), dist)); + public Texture crop(Position anchor, float dist) { + return crop(new IBorder(anchor.opposite(), dist)); } - public Texture crop(final IBorder crop) { - final Texture copy = new Texture(this.area, this.padding, this.border, this.filename); + public Texture crop(IBorder crop) { + Texture copy = new Texture(area, padding, border, filename); if (crop.b() > 0.0f) { copy.border.b(0.0f); copy.padding.b(copy.padding.b() - Math.min(crop.b(), copy.padding.b())); @@ -104,17 +99,13 @@ public class Texture @Override public String toString() { String out = "Texture["; - out += this.area.toString(); - if (!this.padding.isNonZero()) { - out = out + " padding:" + this.padding.toString(); + out += area.toString(); + if (!padding.isNonZero()) { + out = out + " padding:" + padding.toString(); } - if (!this.border.isNonZero()) { - out = out + " border:" + this.border.toString(); + if (!border.isNonZero()) { + out = out + " border:" + border.toString(); } return out + "]"; } - - static { - NULL = null; - } } diff --git a/src/main/java/binnie/craftgui/resource/minecraft/CraftGUIResourceManager.java b/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUIResourceManager.java similarity index 57% rename from src/main/java/binnie/craftgui/resource/minecraft/CraftGUIResourceManager.java rename to src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUIResourceManager.java index e3356387..86a34c19 100644 --- a/src/main/java/binnie/craftgui/resource/minecraft/CraftGUIResourceManager.java +++ b/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUIResourceManager.java @@ -1,81 +1,79 @@ -// -// Decompiled by Procyon v0.5.30 -// +package binnie.core.craftgui.resource.minecraft; -package binnie.craftgui.resource.minecraft; - -import java.util.List; -import java.util.ArrayList; -import binnie.craftgui.core.geometry.IArea; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IBorder; +import binnie.core.craftgui.resource.Texture; import binnie.core.resource.IBinnieTexture; -import net.minecraft.client.resources.IResource; -import java.io.IOException; -import org.apache.commons.io.IOUtils; -import com.google.gson.JsonParseException; -import binnie.craftgui.core.geometry.IBorder; -import com.google.gson.JsonObject; -import com.google.gson.JsonElement; -import com.google.gson.JsonParser; -import java.io.Reader; -import java.io.BufferedReader; -import java.io.InputStreamReader; import com.google.common.base.Charsets; -import net.minecraft.util.ResourceLocation; -import net.minecraft.client.resources.IResourceManager; -import binnie.craftgui.core.CraftGUI; -import java.util.HashMap; -import binnie.craftgui.resource.Texture; -import java.util.Map; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.JsonParser; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.resources.IResource; +import net.minecraft.client.resources.IResourceManager; import net.minecraft.client.resources.IResourceManagerReloadListener; +import net.minecraft.util.ResourceLocation; +import org.apache.commons.io.IOUtils; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; @SideOnly(Side.CLIENT) -public class CraftGUIResourceManager implements IResourceManagerReloadListener -{ +public class CraftGUIResourceManager implements IResourceManagerReloadListener { private Map textureSheets; private Map textures; public CraftGUIResourceManager() { - this.textureSheets = new HashMap(); - this.textures = new HashMap(); + textureSheets = new HashMap<>(); + textures = new HashMap<>(); CraftGUI.ResourceManager = this; } @Override - public void onResourceManagerReload(final IResourceManager manager) { - this.textureSheets.clear(); + public void onResourceManagerReload(IResourceManager manager) { + textureSheets.clear(); try { - final IResource res = manager.getResource(new ResourceLocation("binniecore", "gui/stylesheet.json")); - JsonObject jsonobject = null; + IResource res = manager.getResource(new ResourceLocation("binniecore", "gui/stylesheet.json")); + JsonObject jsonobject; BufferedReader bufferedreader = null; + try { bufferedreader = new BufferedReader(new InputStreamReader(res.getInputStream(), Charsets.UTF_8)); jsonobject = new JsonParser().parse(bufferedreader).getAsJsonObject(); - for (final JsonElement el : jsonobject.get("texture-sheets").getAsJsonArray()) { + for (JsonElement el : jsonobject.get("texture-sheets").getAsJsonArray()) { if (el instanceof JsonObject) { - final JsonObject sheet = (JsonObject) el; - final String name = sheet.get("name").getAsString(); - final String modid = sheet.get("modid").getAsString(); - final String path = sheet.get("path").getAsString(); - this.textureSheets.put(name, new ParsedTextureSheet(name, modid, path)); + JsonObject sheet = (JsonObject) el; + String name = sheet.get("name").getAsString(); + String modid = sheet.get("modid").getAsString(); + String path = sheet.get("path").getAsString(); + textureSheets.put(name, new ParsedTextureSheet(name, modid, path)); } } - for (final JsonElement el : jsonobject.get("textures").getAsJsonArray()) { + + for (JsonElement el : jsonobject.get("textures").getAsJsonArray()) { if (el instanceof JsonObject) { - final JsonObject sheet = (JsonObject) el; - final String name = sheet.get("name").getAsString(); - final IBinnieTexture textureSheet = this.getTextureSheet(sheet.get("sheet").getAsString()); - final IArea uv = this.getArea(sheet.get("uv").getAsString()); + JsonObject sheet = (JsonObject) el; + String name = sheet.get("name").getAsString(); + IBinnieTexture textureSheet = getTextureSheet(sheet.get("sheet").getAsString()); + IArea uv = getArea(sheet.get("uv").getAsString()); IBorder border = IBorder.ZERO; IBorder padding = IBorder.ZERO; if (sheet.has("border")) { - border = this.getBorder(sheet.get("border").getAsString()); + border = getBorder(sheet.get("border").getAsString()); } + if (sheet.has("padding")) { - padding = this.getBorder(sheet.get("padding").getAsString()); + padding = getBorder(sheet.get("padding").getAsString()); } - this.textures.put(name, new Texture(uv, padding, border, textureSheet.getTexture())); + textures.put(name, new Texture(uv, padding, border, textureSheet.getTexture())); } } } catch (RuntimeException runtimeexception) { @@ -88,13 +86,14 @@ public class CraftGUIResourceManager implements IResourceManagerReloadListener } } - public IArea getArea(final String name) { - final String[] split = name.split(" "); + public IArea getArea(String name) { + String[] split = name.split(" "); if (split.length < 1 || split.length > 4) { throw new RuntimeException("Parameter must have between one and four numbers"); } - final List f = new ArrayList(); - for (final String string : split) { + + List f = new ArrayList(); + for (String string : split) { f.add(Float.parseFloat(string)); } if (f.size() == 1) { @@ -109,13 +108,13 @@ public class CraftGUIResourceManager implements IResourceManagerReloadListener return new IArea(f.get(0), f.get(1), f.get(2), f.get(3)); } - public IBorder getBorder(final String name) { - final String[] split = name.split(" "); + public IBorder getBorder(String name) { + String[] split = name.split(" "); if (split.length < 1 || split.length > 4) { throw new RuntimeException("Parameter must have between one and four numbers"); } - final List f = new ArrayList(); - for (final String string : split) { + List f = new ArrayList(); + for (String string : split) { f.add(Float.parseFloat(string)); } if (f.size() == 1) { @@ -130,17 +129,17 @@ public class CraftGUIResourceManager implements IResourceManagerReloadListener return new IBorder(f.get(0), f.get(1), f.get(2), f.get(3)); } - public IBinnieTexture getTextureSheet(final String name) { - if (!this.textureSheets.containsKey(name)) { + public IBinnieTexture getTextureSheet(String name) { + if (!textureSheets.containsKey(name)) { throw new RuntimeException("Missing GUI texture sheet for Binnie Mods: " + name); } - return this.textureSheets.get(name); + return textureSheets.get(name); } - public Texture getTexture(final String name) { - if (!this.textures.containsKey(name)) { + public Texture getTexture(String name) { + if (!textures.containsKey(name)) { throw new RuntimeException("Missing GUI texture Binnie Mods: " + name); } - return this.textures.get(name); + return textures.get(name); } } diff --git a/src/main/java/binnie/craftgui/resource/minecraft/CraftGUITexture.java b/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITexture.java similarity index 88% rename from src/main/java/binnie/craftgui/resource/minecraft/CraftGUITexture.java rename to src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITexture.java index 8718846d..c6e96a97 100644 --- a/src/main/java/binnie/craftgui/resource/minecraft/CraftGUITexture.java +++ b/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITexture.java @@ -1,11 +1,6 @@ -// -// Decompiled by Procyon v0.5.30 -// +package binnie.core.craftgui.resource.minecraft; -package binnie.craftgui.resource.minecraft; - -public enum CraftGUITexture -{ +public enum CraftGUITexture { Window("window"), PanelGray("panel.gray"), PanelBlack("panel.black"), @@ -51,12 +46,12 @@ public enum CraftGUITexture String name; - private CraftGUITexture(final String name) { + CraftGUITexture(String name) { this.name = name; } @Override public String toString() { - return this.name; + return name; } } diff --git a/src/main/java/binnie/craftgui/resource/minecraft/CraftGUITextureSheet.java b/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITextureSheet.java similarity index 53% rename from src/main/java/binnie/craftgui/resource/minecraft/CraftGUITextureSheet.java rename to src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITextureSheet.java index dfc1ce93..051fb61b 100644 --- a/src/main/java/binnie/craftgui/resource/minecraft/CraftGUITextureSheet.java +++ b/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITextureSheet.java @@ -1,29 +1,24 @@ -// -// Decompiled by Procyon v0.5.30 -// +package binnie.core.craftgui.resource.minecraft; -package binnie.craftgui.resource.minecraft; - -import binnie.craftgui.core.CraftGUI; import binnie.core.BinnieCore; +import binnie.core.craftgui.CraftGUI; import binnie.core.resource.BinnieResource; import binnie.core.resource.IBinnieTexture; -public enum CraftGUITextureSheet implements IBinnieTexture -{ +public enum CraftGUITextureSheet implements IBinnieTexture { Controls2("controls"), Panel2("panels"), Slots("slots"); String name; - private CraftGUITextureSheet(final String name) { + CraftGUITextureSheet(String name) { this.name = name; } @Override public String toString() { - return this.name; + return name; } @Override @@ -31,6 +26,6 @@ public enum CraftGUITextureSheet implements IBinnieTexture if (BinnieCore.proxy.isServer()) { return null; } - return CraftGUI.ResourceManager.getTextureSheet(this.name).getTexture(); + return CraftGUI.ResourceManager.getTextureSheet(name).getTexture(); } } diff --git a/src/main/java/binnie/core/craftgui/resource/minecraft/PaddedTexture.java b/src/main/java/binnie/core/craftgui/resource/minecraft/PaddedTexture.java new file mode 100644 index 00000000..763bbaf0 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/resource/minecraft/PaddedTexture.java @@ -0,0 +1,17 @@ +package binnie.core.craftgui.resource.minecraft; + +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IBorder; +import binnie.core.craftgui.resource.Texture; +import binnie.core.resource.BinnieResource; +import binnie.core.resource.IBinnieTexture; + +public class PaddedTexture extends Texture { + public PaddedTexture(int u, int v, int w, int h, int offset, IBinnieTexture textureFile, int leftPadding, int rightPadding, int topPadding, int bottomPadding) { + this(u, v, w, h, offset, textureFile.getTexture(), leftPadding, rightPadding, topPadding, bottomPadding); + } + + public PaddedTexture(int u, int v, int w, int h, int offset, BinnieResource textureFile, int leftPadding, int rightPadding, int topPadding, int bottomPadding) { + super(new IArea(u, v, w, h), new IBorder(topPadding, rightPadding, bottomPadding, leftPadding), new IBorder(offset), textureFile); + } +} diff --git a/src/main/java/binnie/craftgui/resource/minecraft/ParsedTextureSheet.java b/src/main/java/binnie/core/craftgui/resource/minecraft/ParsedTextureSheet.java similarity index 51% rename from src/main/java/binnie/craftgui/resource/minecraft/ParsedTextureSheet.java rename to src/main/java/binnie/core/craftgui/resource/minecraft/ParsedTextureSheet.java index 480056fe..7c685d89 100644 --- a/src/main/java/binnie/craftgui/resource/minecraft/ParsedTextureSheet.java +++ b/src/main/java/binnie/core/craftgui/resource/minecraft/ParsedTextureSheet.java @@ -1,20 +1,15 @@ -// -// Decompiled by Procyon v0.5.30 -// +package binnie.core.craftgui.resource.minecraft; -package binnie.craftgui.resource.minecraft; - -import binnie.core.resource.ResourceType; import binnie.core.resource.BinnieResource; import binnie.core.resource.IBinnieTexture; +import binnie.core.resource.ResourceType; -class ParsedTextureSheet implements IBinnieTexture -{ +class ParsedTextureSheet implements IBinnieTexture { private String name; private String modid; private String path; - public ParsedTextureSheet(final String name, final String modid, final String path) { + public ParsedTextureSheet(String name, String modid, String path) { this.name = name; this.modid = modid; this.path = path; @@ -22,6 +17,6 @@ class ParsedTextureSheet implements IBinnieTexture @Override public BinnieResource getTexture() { - return new BinnieResource(this.modid, ResourceType.GUI, this.path); + return new BinnieResource(modid, ResourceType.GUI, path); } } diff --git a/src/main/java/binnie/core/craftgui/resource/minecraft/StandardTexture.java b/src/main/java/binnie/core/craftgui/resource/minecraft/StandardTexture.java new file mode 100644 index 00000000..53432d32 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/resource/minecraft/StandardTexture.java @@ -0,0 +1,29 @@ +package binnie.core.craftgui.resource.minecraft; + +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IBorder; +import binnie.core.craftgui.resource.Texture; +import binnie.core.resource.BinnieResource; +import binnie.core.resource.IBinnieTexture; + +public class StandardTexture extends Texture { + public StandardTexture(int u, int v, int w, int h, IBinnieTexture textureFile) { + this(u, v, w, h, 0, textureFile.getTexture()); + } + + public StandardTexture(int u, int v, int w, int h, int offset, IBinnieTexture textureFile) { + this(u, v, w, h, offset, textureFile.getTexture()); + } + + public StandardTexture(int u, int v, int w, int h, BinnieResource textureFile) { + this(u, v, w, h, 0, textureFile); + } + + public StandardTexture(int u, int v, int w, int h, int padding, BinnieResource textureFile) { + super(new IArea(u, v, w, h), IBorder.ZERO, new IBorder(padding), textureFile); + } + + public BinnieResource getTexture() { + return getFilename(); + } +} diff --git a/src/main/java/binnie/core/craftgui/window/Panel.java b/src/main/java/binnie/core/craftgui/window/Panel.java new file mode 100644 index 00000000..73abdb28 --- /dev/null +++ b/src/main/java/binnie/core/craftgui/window/Panel.java @@ -0,0 +1,56 @@ +package binnie.core.craftgui.window; + +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.minecraft.MinecraftGUI; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; + +public class Panel extends Control { + protected IPanelType type; + + public Panel(IWidget parent, float x, float y, float width, float height, IPanelType type) { + super(parent, x, y, width, height); + this.type = type; + } + + public Panel(IWidget parent, IArea area, IPanelType type) { + this(parent, area.x(), area.y(), area.w(), area.h(), type); + } + + @Override + public void onRenderBackground() { + IPanelType panelType = getType(); + if (panelType instanceof MinecraftGUI.PanelType) { + switch ((MinecraftGUI.PanelType) panelType) { + case Black: + CraftGUI.Render.texture(CraftGUITexture.PanelBlack, getArea()); + break; + + case Gray: + CraftGUI.Render.texture(CraftGUITexture.PanelGray, getArea()); + break; + + case Tinted: + CraftGUI.Render.texture(CraftGUITexture.PanelTinted, getArea()); + break; + + case Outline: + CraftGUI.Render.texture(CraftGUITexture.Outline, getArea()); + break; + + case TabOutline: + CraftGUI.Render.texture(CraftGUITexture.TabOutline, getArea()); + break; + } + } + } + + public IPanelType getType() { + return type; + } + + public interface IPanelType { + } +} diff --git a/src/main/java/binnie/core/genetics/BeeModifierLogic.java b/src/main/java/binnie/core/genetics/BeeModifierLogic.java index 4eff6171..7b95605b 100644 --- a/src/main/java/binnie/core/genetics/BeeModifierLogic.java +++ b/src/main/java/binnie/core/genetics/BeeModifierLogic.java @@ -10,12 +10,12 @@ public class BeeModifierLogic { private List booleanModifiers; public BeeModifierLogic() { - this.modifiers = new HashMap<>(); - this.booleanModifiers = new ArrayList<>(); + modifiers = new HashMap<>(); + booleanModifiers = new ArrayList<>(); } public float getModifier(EnumBeeModifier modifier, float currentModifier) { - if (!this.modifiers.containsKey(modifier)) { + if (!modifiers.containsKey(modifier)) { return 1.0f; } diff --git a/src/main/java/binnie/core/genetics/IBreedingMessage.java b/src/main/java/binnie/core/genetics/IBreedingMessage.java index ae05d754..060589de 100644 --- a/src/main/java/binnie/core/genetics/IBreedingMessage.java +++ b/src/main/java/binnie/core/genetics/IBreedingMessage.java @@ -75,12 +75,12 @@ interface IBreedingMessage { @Override public String getBody() { - return this.classification.getScientific(); + return classification.getScientific(); } @Override public ItemStack getIcon() { - return this.stack; + return stack; } } diff --git a/src/main/java/binnie/core/genetics/ManagerGenetics.java b/src/main/java/binnie/core/genetics/ManagerGenetics.java index 78fffbe6..c647e0b4 100644 --- a/src/main/java/binnie/core/genetics/ManagerGenetics.java +++ b/src/main/java/binnie/core/genetics/ManagerGenetics.java @@ -64,7 +64,7 @@ public class ManagerGenetics extends ManagerBase { @Override public void postInit() { - this.refreshData(); + refreshData(); } // TODO unused method? @@ -147,7 +147,7 @@ public class ManagerGenetics extends ManagerBase { @SubscribeEvent public void onWorldLoad(WorldEvent.Load event) { - this.refreshData(); + refreshData(); } private void refreshData() { @@ -158,7 +158,7 @@ public class ManagerGenetics extends ManagerBase { } private void loadAlleles() { - this.invalidChromosomeTypes.clear(); + invalidChromosomeTypes.clear(); for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { BreedingSystem system = getSystem(root); Map> chromosomeMap = new LinkedHashMap<>(); diff --git a/src/main/java/binnie/core/genetics/TreeBreedingSystem.java b/src/main/java/binnie/core/genetics/TreeBreedingSystem.java index 04bb10a6..d040884f 100644 --- a/src/main/java/binnie/core/genetics/TreeBreedingSystem.java +++ b/src/main/java/binnie/core/genetics/TreeBreedingSystem.java @@ -133,7 +133,7 @@ public class TreeBreedingSystem extends BreedingSystem { // this.discoveredWoods.add(wood); // } discoveredFruits.addAll(Arrays.asList(genome.getFruitProvider().getProducts())); - for (ItemStack wood2 : this.discoveredWoods) { + for (ItemStack wood2 : discoveredWoods) { } } } @@ -141,15 +141,15 @@ public class TreeBreedingSystem extends BreedingSystem { @Override public void calculateArrays() { super.calculateArrays(); - for (IAlleleSpecies species : this.allActiveSpecies) { + for (IAlleleSpecies species : allActiveSpecies) { IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; - ITreeGenome genome = (ITreeGenome) this.getSpeciesRoot().templateAsGenome(this.getSpeciesRoot().getTemplate(tSpecies.getUID())); + ITreeGenome genome = (ITreeGenome) getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(tSpecies.getUID())); FakeWorld world = FakeWorld.instance; genome.getPrimary().getGenerator().setLogBlock(genome, world, 0, 0, 0, ForgeDirection.UP); ItemStack wood = world.getWooLog(); if (wood != null) { - this.allWoods.add(wood); + allWoods.add(wood); } // TODO ??? @@ -167,7 +167,7 @@ public class TreeBreedingSystem extends BreedingSystem { List found = new ArrayList<>(); for (IAlleleSpecies species : set) { IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; - ITreeGenome genome = (ITreeGenome) this.getSpeciesRoot().templateAsGenome(this.getSpeciesRoot().getTemplate(tSpecies.getUID())); + ITreeGenome genome = (ITreeGenome) getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(tSpecies.getUID())); for (ItemStack fruit2 : genome.getFruitProvider().getProducts()) { if (fruit2.isItemEqual(fruit)) { found.add(species); diff --git a/src/main/java/binnie/core/genetics/VirtualBeeHousing.java b/src/main/java/binnie/core/genetics/VirtualBeeHousing.java index 9faf3372..6265ed65 100644 --- a/src/main/java/binnie/core/genetics/VirtualBeeHousing.java +++ b/src/main/java/binnie/core/genetics/VirtualBeeHousing.java @@ -96,7 +96,7 @@ public class VirtualBeeHousing extends VirtualHousing implements IBeeHousing, IB @Override public boolean isHellish() { - return this.getBiomeId() == BiomeGenBase.hell.biomeID; + return getBiomeId() == BiomeGenBase.hell.biomeID; } @Override diff --git a/src/main/java/binnie/core/genetics/VirtualHousing.java b/src/main/java/binnie/core/genetics/VirtualHousing.java index 678bf15a..33a4efa0 100644 --- a/src/main/java/binnie/core/genetics/VirtualHousing.java +++ b/src/main/java/binnie/core/genetics/VirtualHousing.java @@ -37,15 +37,15 @@ class VirtualHousing implements IHousing { } public EnumTemperature getTemperature() { - return EnumTemperature.getFromValue(this.getBiome().temperature); + return EnumTemperature.getFromValue(getBiome().temperature); } public EnumHumidity getHumidity() { - return EnumHumidity.getFromValue(this.getBiome().rainfall); + return EnumHumidity.getFromValue(getBiome().rainfall); } public World getWorld() { - return this.player.worldObj; + return player.worldObj; } public void setErrorState(int state) { diff --git a/src/main/java/binnie/core/gui/BinnieCoreGUI.java b/src/main/java/binnie/core/gui/BinnieCoreGUI.java index aefd52bb..1be75f00 100644 --- a/src/main/java/binnie/core/gui/BinnieCoreGUI.java +++ b/src/main/java/binnie/core/gui/BinnieCoreGUI.java @@ -1,9 +1,9 @@ package binnie.core.gui; +import binnie.core.craftgui.WindowFieldKit; +import binnie.core.craftgui.WindowGenesis; +import binnie.core.craftgui.minecraft.Window; import binnie.core.machines.storage.WindowCompartment; -import binnie.craftgui.binniecore.WindowFieldKit; -import binnie.craftgui.binniecore.WindowGenesis; -import binnie.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; diff --git a/src/main/java/binnie/core/gui/BinnieGUIHandler.java b/src/main/java/binnie/core/gui/BinnieGUIHandler.java index 2ab79d5c..055110a6 100644 --- a/src/main/java/binnie/core/gui/BinnieGUIHandler.java +++ b/src/main/java/binnie/core/gui/BinnieGUIHandler.java @@ -2,7 +2,7 @@ package binnie.core.gui; import binnie.core.AbstractMod; import binnie.core.BinnieCore; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.common.network.IGuiHandler; import cpw.mods.fml.relauncher.Side; import net.minecraft.entity.player.EntityPlayer; @@ -17,7 +17,7 @@ public class BinnieGUIHandler implements IGuiHandler { @Override public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { - Window window = this.getWindow(id, player, world, x, y, z, Side.SERVER); + Window window = getWindow(id, player, world, x, y, z, Side.SERVER); if (window == null) { return null; } diff --git a/src/main/java/binnie/core/gui/IBinnieGUID.java b/src/main/java/binnie/core/gui/IBinnieGUID.java index 00e9ee46..917bd3ba 100644 --- a/src/main/java/binnie/core/gui/IBinnieGUID.java +++ b/src/main/java/binnie/core/gui/IBinnieGUID.java @@ -1,7 +1,7 @@ package binnie.core.gui; +import binnie.core.craftgui.minecraft.Window; import binnie.core.network.IOrdinaled; -import binnie.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; diff --git a/src/main/java/binnie/core/liquid/ItemFluidContainer.java b/src/main/java/binnie/core/liquid/ItemFluidContainer.java index c4b6d4cd..b5c8eab2 100644 --- a/src/main/java/binnie/core/liquid/ItemFluidContainer.java +++ b/src/main/java/binnie/core/liquid/ItemFluidContainer.java @@ -79,7 +79,7 @@ public class ItemFluidContainer extends ItemFood { if (!liquid.canPlaceIn(container) || !liquid.showInCreative(container)) { continue; } - itemList.add(this.getContainer(liquid)); + itemList.add(getContainer(liquid)); } } @@ -99,7 +99,7 @@ public class ItemFluidContainer extends ItemFood { @Override @SideOnly(Side.CLIENT) public int getColorFromItemStack(ItemStack item, int pass) { - FluidStack fluid = this.getLiquid(item); + FluidStack fluid = getLiquid(item); if (fluid == null) { return 16777215; } @@ -128,7 +128,7 @@ public class ItemFluidContainer extends ItemFood { return; } - FluidStack fluid = this.getLiquid(stack); + FluidStack fluid = getLiquid(stack); IDrinkLiquid liquid = DrinkManager.getLiquid(fluid); if (liquid != null) { AlcoholEffect.makeDrunk(player, liquid.getABV() * fluid.amount); @@ -148,7 +148,7 @@ public class ItemFluidContainer extends ItemFood { @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { if (isDrinkable(stack)) { - player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); + player.setItemInUse(stack, getMaxItemUseDuration(stack)); } return stack; } @@ -164,7 +164,7 @@ public class ItemFluidContainer extends ItemFood { } private boolean isDrinkable(ItemStack stack) { - FluidStack fluid = this.getLiquid(stack); + FluidStack fluid = getLiquid(stack); IDrinkLiquid liquid = DrinkManager.getLiquid(fluid); return liquid != null && liquid.isConsumable(); } diff --git a/src/main/java/binnie/core/liquid/ManagerLiquid.java b/src/main/java/binnie/core/liquid/ManagerLiquid.java index 356faf20..7f1e6003 100644 --- a/src/main/java/binnie/core/liquid/ManagerLiquid.java +++ b/src/main/java/binnie/core/liquid/ManagerLiquid.java @@ -25,7 +25,7 @@ public class ManagerLiquid extends ManagerBase { public void createLiquids(IFluidType[] liquids, int startID) { for (IFluidType liquid : liquids) { - BinnieFluid fluid = this.createLiquid(liquid, startID++); + BinnieFluid fluid = createLiquid(liquid, startID++); if (fluid == null) { throw new RuntimeException("Liquid registered incorrectly - " + liquid.getIdentifier()); } diff --git a/src/main/java/binnie/core/machines/Machine.java b/src/main/java/binnie/core/machines/Machine.java index 9326a8ea..b62a60fc 100644 --- a/src/main/java/binnie/core/machines/Machine.java +++ b/src/main/java/binnie/core/machines/Machine.java @@ -74,7 +74,7 @@ public class Machine implements INetworkedEntity, INBTTagable, INetwork.TilePack @Override public T getInterface(Class cls) { - if (this.hasInterface(cls)) { + if (hasInterface(cls)) { return getInterfaces(cls).get(0); } if (cls.isInstance(getPackage())) { @@ -111,7 +111,7 @@ public class Machine implements INetworkedEntity, INBTTagable, INetwork.TilePack @Override public TileEntity getTileEntity() { - return this.tile; + return tile; } public void sendPacket() { @@ -205,7 +205,7 @@ public class Machine implements INetworkedEntity, INBTTagable, INetwork.TilePack @Override public MachinePackage getPackage() { - return this.machinePackage; + return machinePackage; } public static IMachine getMachine(Object inventory) { @@ -274,7 +274,7 @@ public class Machine implements INetworkedEntity, INBTTagable, INetwork.TilePack @Override public void syncToNBT(NBTTagCompound nbt) { - for (INetwork.TilePacketSync comp : this.getInterfaces(INetwork.TilePacketSync.class)) { + for (INetwork.TilePacketSync comp : getInterfaces(INetwork.TilePacketSync.class)) { comp.syncToNBT(nbt); } } diff --git a/src/main/java/binnie/core/machines/MachineComponent.java b/src/main/java/binnie/core/machines/MachineComponent.java index 92d2049c..845c3a4c 100644 --- a/src/main/java/binnie/core/machines/MachineComponent.java +++ b/src/main/java/binnie/core/machines/MachineComponent.java @@ -56,6 +56,6 @@ public class MachineComponent implements INBTTagable { } public IInventory getInventory() { - return this.getMachine().getInterface(IInventory.class); + return getMachine().getInterface(IInventory.class); } } diff --git a/src/main/java/binnie/core/machines/MachineUtil.java b/src/main/java/binnie/core/machines/MachineUtil.java index 6e69a230..ba432e11 100644 --- a/src/main/java/binnie/core/machines/MachineUtil.java +++ b/src/main/java/binnie/core/machines/MachineUtil.java @@ -105,7 +105,7 @@ public class MachineUtil { } public boolean isTankEmpty(int tankInput) { - return this.getTank(tankInput).getFluidAmount() == 0; + return getTank(tankInput).getFluidAmount() == 0; } public FluidStack getFluid(int tankInput) { diff --git a/src/main/java/binnie/core/machines/ManagerMachine.java b/src/main/java/binnie/core/machines/ManagerMachine.java index 60d30e77..fae5c7c6 100644 --- a/src/main/java/binnie/core/machines/ManagerMachine.java +++ b/src/main/java/binnie/core/machines/ManagerMachine.java @@ -33,7 +33,7 @@ public class ManagerMachine extends ManagerBase { } public MachineGroup getGroup(String name) { - return this.machineGroups.get(name); + return machineGroups.get(name); } public MachinePackage getPackage(String group, String name) { @@ -52,14 +52,14 @@ public class ManagerMachine extends ManagerBase { } interfaces.remove(INBTTagable.class); - this.componentInterfaceMap.put(component, interfaces.toArray(new Class[0])); + componentInterfaceMap.put(component, interfaces.toArray(new Class[0])); int networkID = nextNetworkID++; - this.networkIDToComponent.put(networkID, component); - this.componentToNetworkID.put(component, networkID); + networkIDToComponent.put(networkID, component); + componentToNetworkID.put(component, networkID); } public int getNetworkID(Class component) { - return this.componentToNetworkID.get(component); + return componentToNetworkID.get(component); } public Class getComponentClass(int networkID) { diff --git a/src/main/java/binnie/core/machines/RendererMachine.java b/src/main/java/binnie/core/machines/RendererMachine.java index a3e81489..87f15544 100644 --- a/src/main/java/binnie/core/machines/RendererMachine.java +++ b/src/main/java/binnie/core/machines/RendererMachine.java @@ -27,7 +27,7 @@ public class RendererMachine extends TileEntitySpecialRenderer implements ISimpl public void renderInvBlock(RenderBlocks renderblocks, Block block, int i, int j) { TileEntity entity = block.createTileEntity(null, i); - this.renderTileEntity((TileEntityMachine) entity, 0.0, -0.1, 0.0, 0.0625f, renderblocks); + renderTileEntity((TileEntityMachine) entity, 0.0, -0.1, 0.0, 0.0625f, renderblocks); } @Override diff --git a/src/main/java/binnie/core/machines/inventory/BaseSlot.java b/src/main/java/binnie/core/machines/inventory/BaseSlot.java index 4bec7a78..7a81fd0f 100644 --- a/src/main/java/binnie/core/machines/inventory/BaseSlot.java +++ b/src/main/java/binnie/core/machines/inventory/BaseSlot.java @@ -122,6 +122,6 @@ public abstract class BaseSlot implements INBTTagable, IValidator { public abstract String getName(); public Validator getValidator() { - return this.validator; + return validator; } } diff --git a/src/main/java/binnie/core/machines/inventory/ComponentChargedSlots.java b/src/main/java/binnie/core/machines/inventory/ComponentChargedSlots.java index 15e31da9..60a1d2db 100644 --- a/src/main/java/binnie/core/machines/inventory/ComponentChargedSlots.java +++ b/src/main/java/binnie/core/machines/inventory/ComponentChargedSlots.java @@ -84,7 +84,7 @@ public class ComponentChargedSlots extends MachineComponent implements INetwork. @Override public void onUpdate() { - for (int slot : this.charges.keySet()) { + for (int slot : charges.keySet()) { if (getCharge(slot) <= 0.0f && getUtil().decreaseStack(slot, 1) != null) { setCharge(slot, 1.0f); } diff --git a/src/main/java/binnie/core/machines/inventory/ComponentInventorySlots.java b/src/main/java/binnie/core/machines/inventory/ComponentInventorySlots.java index a17a8c00..b59b1aaa 100644 --- a/src/main/java/binnie/core/machines/inventory/ComponentInventorySlots.java +++ b/src/main/java/binnie/core/machines/inventory/ComponentInventorySlots.java @@ -60,7 +60,7 @@ public class ComponentInventorySlots extends ComponentInventory implements IInve if (inventory.containsKey(index) && (itemStack == null || inventory.get(index).isValid(itemStack))) { inventory.get(index).setContent(itemStack); } - this.markDirty(); + markDirty(); } protected void transferItem(int indexFrom, int indexTo) { @@ -186,7 +186,7 @@ public class ComponentInventorySlots extends ComponentInventory implements IInve @Override public void onDestruction() { - for (InventorySlot slot : this.inventory.values()) { + for (InventorySlot slot : inventory.values()) { ItemStack stack = slot.getContent(); if (slot.isRecipe() || stack == null) { continue; diff --git a/src/main/java/binnie/core/machines/inventory/ComponentInventoryTransfer.java b/src/main/java/binnie/core/machines/inventory/ComponentInventoryTransfer.java index af9a4c79..8addf3ac 100644 --- a/src/main/java/binnie/core/machines/inventory/ComponentInventoryTransfer.java +++ b/src/main/java/binnie/core/machines/inventory/ComponentInventoryTransfer.java @@ -17,15 +17,15 @@ public class ComponentInventoryTransfer extends MachineComponent { } public void addRestock(int[] buffer, int destination, int limit) { - this.transfers.add(new Restock(getMachine(), buffer, destination, limit)); + transfers.add(new Restock(getMachine(), buffer, destination, limit)); } public void addRestock(int[] buffer, int destination) { - this.transfers.add(new Restock(getMachine(), buffer, destination)); + transfers.add(new Restock(getMachine(), buffer, destination)); } public void addStorage(int source, int[] destination) { - this.transfers.add(new Storage(getMachine(), source, destination)); + transfers.add(new Storage(getMachine(), source, destination)); } public void performTransfer(int source, int[] destination) { @@ -40,7 +40,7 @@ public class ComponentInventoryTransfer extends MachineComponent { } public void addStorage(int source, int[] destination, Condition condition) { - this.transfers.add(new Storage(getMachine(), source, destination).setCondition(condition)); + transfers.add(new Storage(getMachine(), source, destination).setCondition(condition)); } public abstract class Transfer { @@ -52,8 +52,8 @@ public class ComponentInventoryTransfer extends MachineComponent { } public void transfer(IInventory inv) { - if (this.condition == null || fufilled(inv)) { - this.doTransfer(inv); + if (condition == null || fufilled(inv)) { + doTransfer(inv); } } @@ -92,7 +92,7 @@ public class ComponentInventoryTransfer extends MachineComponent { @Override protected void doTransfer(IInventory inv) { - if (inv.getStackInSlot(this.destination) == null) { + if (inv.getStackInSlot(destination) == null) { for (int i : buffer) { if (inv.getStackInSlot(i) == null) { continue; diff --git a/src/main/java/binnie/core/machines/inventory/InventorySlot.java b/src/main/java/binnie/core/machines/inventory/InventorySlot.java index a2936fa6..a4c0e8a2 100644 --- a/src/main/java/binnie/core/machines/inventory/InventorySlot.java +++ b/src/main/java/binnie/core/machines/inventory/InventorySlot.java @@ -11,8 +11,8 @@ public class InventorySlot extends BaseSlot { public InventorySlot(int index, String unlocalizedName) { super(index, unlocalizedName); - this.itemStack = null; - this.type = Type.Standard; + itemStack = null; + type = Type.Standard; } @Override diff --git a/src/main/java/binnie/core/machines/power/ComponentProcess.java b/src/main/java/binnie/core/machines/power/ComponentProcess.java index 3b37180e..56daf79a 100644 --- a/src/main/java/binnie/core/machines/power/ComponentProcess.java +++ b/src/main/java/binnie/core/machines/power/ComponentProcess.java @@ -23,12 +23,12 @@ public abstract class ComponentProcess extends ComponentProcessIndefinate implem @Override protected void onStartTask() { - this.progressAmount += 0.01f; + progressAmount += 0.01f; } @Override protected void onCancelTask() { - this.progressAmount = 0.0f; + progressAmount = 0.0f; } @Override diff --git a/src/main/java/binnie/core/machines/power/ComponentProcessIndefinate.java b/src/main/java/binnie/core/machines/power/ComponentProcessIndefinate.java index 0d98f146..b3db6cf4 100644 --- a/src/main/java/binnie/core/machines/power/ComponentProcessIndefinate.java +++ b/src/main/java/binnie/core/machines/power/ComponentProcessIndefinate.java @@ -32,17 +32,17 @@ public abstract class ComponentProcessIndefinate extends MachineComponent implem } protected IPoweredMachine getPower() { - return this.getMachine().getInterface(IPoweredMachine.class); + return getMachine().getInterface(IPoweredMachine.class); } @Override public float getEnergyPerTick() { - return this.energyPerTick; + return energyPerTick; } @Override public void onUpdate() { - float energyAvailable = (float) this.getPower().getInterface().useEnergy(PowerSystem.RF, this.getEnergyPerTick(), false); + float energyAvailable = (float) getPower().getInterface().useEnergy(PowerSystem.RF, getEnergyPerTick(), false); if (canWork() == null) { if (!isInProgress() && canProgress() == null) { onStartTask(); @@ -56,7 +56,7 @@ public abstract class ComponentProcessIndefinate extends MachineComponent implem if (actionPauseProcess > 0.0f) { actionPauseProcess--; } - if (this.actionCancelTask > 0.0f) { + if (actionCancelTask > 0.0f) { actionCancelTask--; } diff --git a/src/main/java/binnie/core/machines/power/PowerInfo.java b/src/main/java/binnie/core/machines/power/PowerInfo.java index 1590c88d..09866edc 100644 --- a/src/main/java/binnie/core/machines/power/PowerInfo.java +++ b/src/main/java/binnie/core/machines/power/PowerInfo.java @@ -8,8 +8,8 @@ public class PowerInfo implements INBTTagable { private float maxEnergy; public PowerInfo(IPoweredMachine machine, float currentInput) { - this.currentEnergy = (float) machine.getInterface().getEnergy(PowerSystem.RF); - this.maxEnergy = (float) machine.getInterface().getCapacity(PowerSystem.RF); + currentEnergy = (float) machine.getInterface().getEnergy(PowerSystem.RF); + maxEnergy = (float) machine.getInterface().getCapacity(PowerSystem.RF); } public PowerInfo() { diff --git a/src/main/java/binnie/core/machines/power/PowerInterface.java b/src/main/java/binnie/core/machines/power/PowerInterface.java index f21432ef..dcd28660 100644 --- a/src/main/java/binnie/core/machines/power/PowerInterface.java +++ b/src/main/java/binnie/core/machines/power/PowerInterface.java @@ -9,7 +9,7 @@ public class PowerInterface implements INBTTagable { public PowerInterface(int capacity) { this.capacity = capacity * 100; - this.energy = 0; + energy = 0; } public int getCapacity() { @@ -21,7 +21,7 @@ public class PowerInterface implements INBTTagable { } public int addEnergy(int amount, boolean shouldDo) { - int added = Math.min(this.getEnergySpace(), amount); + int added = Math.min(getEnergySpace(), amount); if (shouldDo) { energy += added; } diff --git a/src/main/java/binnie/core/machines/power/PowerSystem.java b/src/main/java/binnie/core/machines/power/PowerSystem.java index 03a2d883..016e4285 100644 --- a/src/main/java/binnie/core/machines/power/PowerSystem.java +++ b/src/main/java/binnie/core/machines/power/PowerSystem.java @@ -27,7 +27,7 @@ public enum PowerSystem { } public String getUnitName() { - return this.name(); + return name(); } public ItemStack saveTo(ItemStack stack) { diff --git a/src/main/java/binnie/core/machines/power/TankInfo.java b/src/main/java/binnie/core/machines/power/TankInfo.java index 92fe52d1..afc57124 100644 --- a/src/main/java/binnie/core/machines/power/TankInfo.java +++ b/src/main/java/binnie/core/machines/power/TankInfo.java @@ -41,7 +41,7 @@ public class TankInfo implements INBTTagable { @Override public void readFromNBT(NBTTagCompound nbt) { - this.capacity = nbt.getInteger("capacity"); + capacity = nbt.getInteger("capacity"); if (nbt.hasKey("liquid")) { liquid = FluidStack.loadFluidStackFromNBT(nbt.getCompoundTag("liquid")); } diff --git a/src/main/java/binnie/core/machines/storage/Compartment.java b/src/main/java/binnie/core/machines/storage/Compartment.java index e5bb5fcf..58594cdb 100644 --- a/src/main/java/binnie/core/machines/storage/Compartment.java +++ b/src/main/java/binnie/core/machines/storage/Compartment.java @@ -36,7 +36,7 @@ enum Compartment implements IMachineType { } public ItemStack get(int i) { - return new ItemStack(BinnieCore.packageCompartment.getBlock(), i, this.ordinal()); + return new ItemStack(BinnieCore.packageCompartment.getBlock(), i, ordinal()); } public abstract static class PackageCompartment extends MachinePackage { @@ -58,7 +58,7 @@ enum Compartment implements IMachineType { @Override public void renderMachine(Machine machine, double x, double y, double z, float partialTick, RenderBlocks renderer) { - MachineRendererCompartment.instance.renderMachine(machine, 0xffffff, this.renderTexture, x, y, z, partialTick); + MachineRendererCompartment.instance.renderMachine(machine, 0xffffff, renderTexture, x, y, z, partialTick); } } } diff --git a/src/main/java/binnie/core/machines/storage/CompartmentTab.java b/src/main/java/binnie/core/machines/storage/CompartmentTab.java index d3524bf7..fe23e325 100644 --- a/src/main/java/binnie/core/machines/storage/CompartmentTab.java +++ b/src/main/java/binnie/core/machines/storage/CompartmentTab.java @@ -1,6 +1,6 @@ package binnie.core.machines.storage; -import binnie.craftgui.minecraft.EnumColor; +import binnie.core.craftgui.minecraft.EnumColor; import forestry.api.core.INBTTagable; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -29,7 +29,7 @@ class CompartmentTab implements INBTTagable { @Override public void writeToNBT(NBTTagCompound nbt) { - nbt.setString("name", this.name); + nbt.setString("name", name); NBTTagCompound n = new NBTTagCompound(); icon.writeToNBT(n); nbt.setTag("icon", n); diff --git a/src/main/java/binnie/core/machines/storage/ComponentCompartmentInventory.java b/src/main/java/binnie/core/machines/storage/ComponentCompartmentInventory.java index eee30f5d..6c3d9dd5 100644 --- a/src/main/java/binnie/core/machines/storage/ComponentCompartmentInventory.java +++ b/src/main/java/binnie/core/machines/storage/ComponentCompartmentInventory.java @@ -56,7 +56,7 @@ class ComponentCompartmentInventory extends ComponentInventorySlots implements I @Override public void sendGuiNBT(Map nbts) { NBTTagList list = new NBTTagList(); - for (int i = 0; i < this.numberOfTabs; ++i) { + for (int i = 0; i < numberOfTabs; ++i) { NBTTagCompound nbt2 = new NBTTagCompound(); getTab(i).writeToNBT(nbt2); list.appendTag(nbt2); diff --git a/src/main/java/binnie/core/machines/storage/ControlColourSelector.java b/src/main/java/binnie/core/machines/storage/ControlColourSelector.java index fd1f6754..22f9a550 100644 --- a/src/main/java/binnie/core/machines/storage/ControlColourSelector.java +++ b/src/main/java/binnie/core/machines/storage/ControlColourSelector.java @@ -1,13 +1,13 @@ package binnie.core.machines.storage; -import binnie.craftgui.controls.core.Control; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.minecraft.EnumColor; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.minecraft.EnumColor; class ControlColourSelector extends Control implements ITooltip, IControlValue { private EnumColor value; @@ -15,7 +15,7 @@ class ControlColourSelector extends Control implements ITooltip, IControlValue(); - this.currentTab = 0; + panels = new HashMap<>(); + currentTab = 0; } @Override public void initialiseClient() { - this.setTitle(Machine.getMachine(getInventory()).getPackage().getDisplayName()); + setTitle(Machine.getMachine(getInventory()).getPackage().getDisplayName()); int x = 16; int y = 32; ComponentCompartmentInventory inv = Machine.getMachine(getInventory()).getInterface(ComponentCompartmentInventory.class); @@ -110,17 +110,17 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh return new ControlTabIcon(this, x, y, w, h, value) { @Override public ItemStack getItemStack() { - return WindowCompartment.this.getTab(value).getIcon(); + return getTab(value).getIcon(); } @Override public String getName() { - return WindowCompartment.this.getTab(value).getName(); + return getTab(value).getName(); } @Override public int getOutlineColour() { - return WindowCompartment.this.getTab(value).getColor().getColour(); + return getTab(value).getColor().getColour(); } @Override @@ -142,7 +142,7 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh int i = ((Integer) event.getValue()).intValue(); nbt.setByte("i", (byte) i); Window.get(tab).sendClientAction("tab-change", nbt); - WindowCompartment.this.currentTab = i; + currentTab = i; } }.setOrigin(EventHandler.Origin.DirectChild, tab)); x += 24; @@ -159,12 +159,12 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh @Override public void onRenderForeground() { Texture iTexture = CraftGUI.Render.getTexture(CraftGUITexture.TabOutline); - CraftGUI.Render.colour(WindowCompartment.this.getTab(WindowCompartment.this.panels.get(this)).getColor().getColour()); + CraftGUI.Render.colour(getTab(panels.get(this)).getColor().getColour()); CraftGUI.Render.texture(iTexture, getArea().inset(3)); } }; - this.panels.put(panel, p2); + panels.put(panel, p2); int[] slotsIDs = new int[inv.getPageSize()]; for (int k = 0; k < inv.getPageSize(); ++k) { slotsIDs[k] = i++; @@ -179,17 +179,17 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh return new ControlTabIcon(this, x, y, w, h, value) { @Override public ItemStack getItemStack() { - return WindowCompartment.this.getTab(value).getIcon(); + return getTab(value).getIcon(); } @Override public String getName() { - return WindowCompartment.this.getTab(value).getName(); + return getTab(value).getName(); } @Override public int getOutlineColour() { - return WindowCompartment.this.getTab(value).getColor().getColour(); + return getTab(value).getColor().getColour(); } @Override @@ -209,15 +209,15 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh int i = ((Integer) event.getValue()).intValue(); nbt.setByte("i", (byte) i); Window.get(tab).sendClientAction("tab-change", nbt); - WindowCompartment.this.currentTab = i; + currentTab = i; } }.setOrigin(EventHandler.Origin.DirectChild, tab2)); CraftGUIUtil.linkWidgets(tab2, compartmentPages); x += 24; } x += 16; - this.setSize(new IPoint(Math.max(32 + compartmentWidth, 252), this.h())); - controlCompartment.setPosition(new IPoint((this.w() - controlCompartment.w()) / 2.0f, controlCompartment.y())); + setSize(new IPoint(Math.max(32 + compartmentWidth, 252), h())); + controlCompartment.setPosition(new IPoint((w() - controlCompartment.w()) / 2.0f, controlCompartment.y())); ControlPlayerInventory invent = new ControlPlayerInventory(this, true); ControlSlide slide = new ControlSlide(this, 0.0f, 134.0f, 136.0f, 92.0f, Position.Left); slide.setLabel("Tab Properties"); @@ -235,32 +235,32 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh tabName.addSelfEventHandler(new EventTextEdit.Handler() { @Override public void onEvent(EventTextEdit event) { - CompartmentTab tab = WindowCompartment.this.getCurrentTab(); + CompartmentTab tab = getCurrentTab(); tab.setName(event.getValue()); NBTTagCompound nbt = new NBTTagCompound(); tab.writeToNBT(nbt); - WindowCompartment.this.sendClientAction("comp-change-tab", nbt); + sendClientAction("comp-change-tab", nbt); } - }.setOrigin(EventHandler.Origin.Self, this.tabName)); + }.setOrigin(EventHandler.Origin.Self, tabName)); y2 += 20; new ControlText(tabPropertyPanel, new IPoint(4.0f, y2), "Tab Icon: "); tabIcon = new ControlItemDisplay(tabPropertyPanel, 58.0f, y2 - 4); tabIcon.setItemStack(new ItemStack(Items.paper)); - tabIcon.addAttribute(Attribute.MouseOver); + tabIcon.addAttribute(WidgetAttribute.MouseOver); tabIcon.addSelfEventHandler(new EventMouse.Down.Handler() { @Override public void onEvent(EventMouse.Down event) { - if (WindowCompartment.this.getHeldItemStack() == null) { + if (getHeldItemStack() == null) { return; } - CompartmentTab tab = WindowCompartment.this.getCurrentTab(); - ItemStack stack = WindowCompartment.this.getHeldItemStack().copy(); + CompartmentTab tab = getCurrentTab(); + ItemStack stack = getHeldItemStack().copy(); stack.stackSize = 1; tab.setIcon(stack); NBTTagCompound nbt = new NBTTagCompound(); tab.writeToNBT(nbt); - WindowCompartment.this.sendClientAction("comp-change-tab", nbt); + sendClientAction("comp-change-tab", nbt); } }); @@ -276,11 +276,11 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh color.addSelfEventHandler(new EventMouse.Down.Handler() { @Override public void onEvent(EventMouse.Down event) { - CompartmentTab tab = WindowCompartment.this.getCurrentTab(); + CompartmentTab tab = getCurrentTab(); tab.setColor(color.getValue()); NBTTagCompound nbt = new NBTTagCompound(); tab.writeToNBT(nbt); - WindowCompartment.this.sendClientAction("comp-change-tab", nbt); + sendClientAction("comp-change-tab", nbt); } }); color.addHelp("Colour Selector"); @@ -290,7 +290,7 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh ControlButton searchButton = new ControlButton(controlCompartment, compartmentWidth - 24 - 64 - 8, compartmentPageHeight, 64.0f, 16.0f, "Search") { @Override protected void onMouseClick(EventMouse.Down event) { - WindowCompartment.this.createSearchDialog(); + createSearchDialog(); } @Override @@ -322,7 +322,7 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh @Override public void onRenderBackground() { CraftGUI.Render.colour(11184810); - CraftGUI.Render.texture(CraftGUITexture.Outline, this.getArea().inset(new IBorder(0.0f, 6.0f, 0.0f, 0.0f))); + CraftGUI.Render.texture(CraftGUITexture.Outline, getArea().inset(new IBorder(0.0f, 6.0f, 0.0f, 0.0f))); } }; slotGrid = new Control(scroll, 1.0f, 1.0f, 108.0f, 18.0f); @@ -363,7 +363,7 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh private void updateSearch() { Map slotIds = new HashMap<>(); - IInventory inv = WindowCompartment.this.getInventory(); + IInventory inv = getInventory(); for (int i = 0; i < inv.getSizeInventory(); ++i) { ItemStack stack = inv.getStackInSlot(i); if (stack == null) { @@ -379,7 +379,7 @@ public class WindowCompartment extends WindowMachine implements IWindowAffectsSh } } - if (this.sortByName) { + if (sortByName) { List> list = new LinkedList(slotIds.entrySet()); Collections.sort(list, new Comparator>() { @Override diff --git a/src/main/java/binnie/core/machines/storage/WindowTest.java b/src/main/java/binnie/core/machines/storage/WindowTest.java index fd36dfc8..3c13121a 100644 --- a/src/main/java/binnie/core/machines/storage/WindowTest.java +++ b/src/main/java/binnie/core/machines/storage/WindowTest.java @@ -2,8 +2,8 @@ package binnie.core.machines.storage; import binnie.core.AbstractMod; import binnie.core.BinnieCore; -import binnie.craftgui.genetics.machine.WindowMachine; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; +import binnie.genetics.craftgui.WindowMachine; import cpw.mods.fml.relauncher.Side; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; diff --git a/src/main/java/binnie/core/machines/transfer/TransferRequest.java b/src/main/java/binnie/core/machines/transfer/TransferRequest.java index 10ac94c5..f9b7233d 100644 --- a/src/main/java/binnie/core/machines/transfer/TransferRequest.java +++ b/src/main/java/binnie/core/machines/transfer/TransferRequest.java @@ -103,7 +103,7 @@ public class TransferRequest { return null; } - if (this.transferLiquids && this.destination instanceof ITankMachine) { + if (transferLiquids && destination instanceof ITankMachine) { for (int tankID : targetTanks) { item = transferToTank(item, origin, (ITankMachine) destination, tankID, doAdd); if (item != null) { diff --git a/src/main/java/binnie/core/mod/config/PropertyBase.java b/src/main/java/binnie/core/mod/config/PropertyBase.java index c02a3f09..2dacdc27 100644 --- a/src/main/java/binnie/core/mod/config/PropertyBase.java +++ b/src/main/java/binnie/core/mod/config/PropertyBase.java @@ -23,7 +23,7 @@ abstract class PropertyBase { this.field = field; this.file = file; this.configProperty = configProperty; - this.annotatedProperty = annotedProperty; + annotatedProperty = annotedProperty; defaultValue = getDefaultValue(field); property = getProperty(); diff --git a/src/main/java/binnie/core/multiblock/BlockMultiblockMachine.java b/src/main/java/binnie/core/multiblock/BlockMultiblockMachine.java index 16a66d2c..fd84e101 100644 --- a/src/main/java/binnie/core/multiblock/BlockMultiblockMachine.java +++ b/src/main/java/binnie/core/multiblock/BlockMultiblockMachine.java @@ -9,7 +9,7 @@ import net.minecraft.world.World; public class BlockMultiblockMachine extends BlockContainer { public BlockMultiblockMachine(String blockName) { super(Material.iron); - this.setHardness(1.5f); + setHardness(1.5f); setBlockName(blockName); } diff --git a/src/main/java/binnie/core/multiblock/TileEntityMultiblockMachine.java b/src/main/java/binnie/core/multiblock/TileEntityMultiblockMachine.java index 8a461ca4..158b54c3 100644 --- a/src/main/java/binnie/core/multiblock/TileEntityMultiblockMachine.java +++ b/src/main/java/binnie/core/multiblock/TileEntityMultiblockMachine.java @@ -11,19 +11,19 @@ class TileEntityMultiblockMachine extends TileEntity { private int tileZ; boolean inStructure() { - return this.inStructure; + return inStructure; } public Machine getMachine() { - return this.getMasterMachine(); + return getMasterMachine(); } private Machine getMasterMachine() { - if (!this.inStructure) { + if (!inStructure) { return null; } - TileEntity tile = this.worldObj.getTileEntity(xCoord + tileX, yCoord + tileY, zCoord + tileZ); + TileEntity tile = worldObj.getTileEntity(xCoord + tileX, yCoord + tileY, zCoord + tileZ); if (tile instanceof TileEntityMachine) { return ((TileEntityMachine) tile).getMachine(); } diff --git a/src/main/java/binnie/core/network/BinnieCorePacketID.java b/src/main/java/binnie/core/network/BinnieCorePacketID.java index 37092e4c..924f9113 100644 --- a/src/main/java/binnie/core/network/BinnieCorePacketID.java +++ b/src/main/java/binnie/core/network/BinnieCorePacketID.java @@ -2,6 +2,7 @@ package binnie.core.network; import binnie.core.BinnieCore; import binnie.core.block.TileEntityMetadata; +import binnie.core.craftgui.minecraft.ContainerCraftGUI; import binnie.core.machines.IMachine; import binnie.core.machines.Machine; import binnie.core.machines.network.INetwork; @@ -10,7 +11,6 @@ import binnie.core.network.packet.MessageCraftGUI; import binnie.core.network.packet.MessageMetadata; import binnie.core.network.packet.MessageTileNBT; import binnie.core.network.packet.MessageUpdate; -import binnie.craftgui.minecraft.ContainerCraftGUI; import cpw.mods.fml.common.network.simpleimpl.MessageContext; import cpw.mods.fml.relauncher.Side; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/binnie/core/network/packet/MachinePayload.java b/src/main/java/binnie/core/network/packet/MachinePayload.java index b2d64b62..6d09258b 100644 --- a/src/main/java/binnie/core/network/packet/MachinePayload.java +++ b/src/main/java/binnie/core/network/packet/MachinePayload.java @@ -17,10 +17,10 @@ public class MachinePayload { } public MachinePayload() { - this.intPayload = new ArrayList<>(); - this.floatPayload = new ArrayList<>(); - this.stringPayload = new ArrayList<>(); - this.id = 0; + intPayload = new ArrayList<>(); + floatPayload = new ArrayList<>(); + stringPayload = new ArrayList<>(); + id = 0; } public void addInteger(int a) { @@ -63,10 +63,10 @@ public class MachinePayload { } public int getID() { - return this.id; + return id; } public void setID(int readInt) { - this.id = readInt; + id = readInt; } } diff --git a/src/main/java/binnie/core/network/packet/MessageBase.java b/src/main/java/binnie/core/network/packet/MessageBase.java index 9466e85d..9edf3525 100644 --- a/src/main/java/binnie/core/network/packet/MessageBase.java +++ b/src/main/java/binnie/core/network/packet/MessageBase.java @@ -16,7 +16,7 @@ public class MessageBase { public MessageBase(MessageBinnie message) { try { - this.readData(message.data); + readData(message.data); } catch (IOException e) { e.printStackTrace(); } diff --git a/src/main/java/binnie/core/network/packet/MessageTileNBT.java b/src/main/java/binnie/core/network/packet/MessageTileNBT.java index 8a105488..4ce9a798 100644 --- a/src/main/java/binnie/core/network/packet/MessageTileNBT.java +++ b/src/main/java/binnie/core/network/packet/MessageTileNBT.java @@ -18,9 +18,9 @@ public class MessageTileNBT extends MessageNBT implements IPacketLocation { public MessageTileNBT(int id, TileEntity tile, NBTTagCompound nbt) { super(id); - this.posX = tile.xCoord; - this.posY = tile.yCoord; - this.posZ = tile.zCoord; + posX = tile.xCoord; + posY = tile.yCoord; + posZ = tile.zCoord; this.nbt = nbt; } diff --git a/src/main/java/binnie/core/network/packet/MessageUpdate.java b/src/main/java/binnie/core/network/packet/MessageUpdate.java index 6b41819d..af0eddfc 100644 --- a/src/main/java/binnie/core/network/packet/MessageUpdate.java +++ b/src/main/java/binnie/core/network/packet/MessageUpdate.java @@ -74,6 +74,6 @@ public class MessageUpdate extends MessageCoordinates { // TODO unused method? public TileEntity getTarget(World world) { - return world.getTileEntity(this.posX, this.posY, this.posZ); + return world.getTileEntity(posX, posY, posZ); } } diff --git a/src/main/java/binnie/core/proxy/BinnieProxy.java b/src/main/java/binnie/core/proxy/BinnieProxy.java index faf1974d..7f6b6b60 100644 --- a/src/main/java/binnie/core/proxy/BinnieProxy.java +++ b/src/main/java/binnie/core/proxy/BinnieProxy.java @@ -27,7 +27,7 @@ public class BinnieProxy extends BinnieModProxy implements IBinnieProxy { public BinnieProxy() { super(BinnieCore.instance); - this.uniqueTextureUID = 1200; + uniqueTextureUID = 1200; } @Override diff --git a/src/main/java/binnie/core/proxy/BinnieProxyClient.java b/src/main/java/binnie/core/proxy/BinnieProxyClient.java index 1256f5a5..da415701 100644 --- a/src/main/java/binnie/core/proxy/BinnieProxyClient.java +++ b/src/main/java/binnie/core/proxy/BinnieProxyClient.java @@ -1,8 +1,8 @@ package binnie.core.proxy; import binnie.Binnie; +import binnie.core.craftgui.resource.minecraft.CraftGUIResourceManager; import binnie.core.resource.BinnieResource; -import binnie.craftgui.resource.minecraft.CraftGUIResourceManager; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; @@ -32,19 +32,19 @@ public class BinnieProxyClient extends BinnieProxy implements IBinnieProxy { @Override public void bindTexture(BinnieResource texture) { GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - this.bindTexture(texture.getResourceLocation()); + bindTexture(texture.getResourceLocation()); } @Override public void bindTexture(ResourceLocation location) { - this.getMinecraftInstance().getTextureManager().bindTexture(location); + getMinecraftInstance().getTextureManager().bindTexture(location); } @Override public boolean checkTexture(BinnieResource location) { SimpleTexture texture = new SimpleTexture(location.getResourceLocation()); try { - texture.loadTexture(this.getMinecraftInstance().getResourceManager()); + texture.loadTexture(getMinecraftInstance().getResourceManager()); } catch (IOException e) { return false; } diff --git a/src/main/java/binnie/core/resource/BinnieIcon.java b/src/main/java/binnie/core/resource/BinnieIcon.java index 3a97f3c9..f3a2ed6e 100644 --- a/src/main/java/binnie/core/resource/BinnieIcon.java +++ b/src/main/java/binnie/core/resource/BinnieIcon.java @@ -20,7 +20,7 @@ public class BinnieIcon extends BinnieResource { } public IIcon getIcon() { - return this.icon; + return icon; } @SideOnly(Side.CLIENT) diff --git a/src/main/java/binnie/core/resource/BinnieResource.java b/src/main/java/binnie/core/resource/BinnieResource.java index 4d45e35c..a1ec587b 100644 --- a/src/main/java/binnie/core/resource/BinnieResource.java +++ b/src/main/java/binnie/core/resource/BinnieResource.java @@ -13,7 +13,7 @@ public class BinnieResource { } public BinnieResource(String modid, ResourceType type, String path) { - this.mod = modid; + mod = modid; this.type = type; this.path = path; } diff --git a/src/main/java/binnie/core/resource/ManagerResource.java b/src/main/java/binnie/core/resource/ManagerResource.java index 018064c0..45b6c3ed 100644 --- a/src/main/java/binnie/core/resource/ManagerResource.java +++ b/src/main/java/binnie/core/resource/ManagerResource.java @@ -12,11 +12,11 @@ public class ManagerResource { private List icons; public ManagerResource() { - this.icons = new ArrayList<>(); + icons = new ArrayList<>(); } public BinnieResource getPNG(AbstractMod mod, ResourceType type, String path) { - return this.getFile(mod, type, path + ".png"); + return getFile(mod, type, path + ".png"); } public BinnieResource getFile(AbstractMod mod, ResourceType type, String path) { @@ -24,7 +24,7 @@ public class ManagerResource { } public void registerIcon(BinnieIcon binnieIcon) { - this.icons.add(binnieIcon); + icons.add(binnieIcon); } public BinnieIcon getItemIcon(AbstractMod mod, String iconFile) { @@ -37,7 +37,7 @@ public class ManagerResource { @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister register, int type) { - for (BinnieIcon icon : this.icons) { + for (BinnieIcon icon : icons) { if (icon.getTextureSheet() == type) { icon.registerIcon(register); } diff --git a/src/main/java/binnie/core/texture/BinnieCoreTexture.java b/src/main/java/binnie/core/texture/BinnieCoreTexture.java index 9ac57780..2eb36b26 100644 --- a/src/main/java/binnie/core/texture/BinnieCoreTexture.java +++ b/src/main/java/binnie/core/texture/BinnieCoreTexture.java @@ -21,7 +21,7 @@ public enum BinnieCoreTexture implements IBinnieTexture { BinnieCoreTexture(ResourceType base, String texture) { this.texture = texture; - this.type = base; + type = base; } @Override diff --git a/src/main/java/binnie/core/util/FluidStackSet.java b/src/main/java/binnie/core/util/FluidStackSet.java index 68d04c8c..a099e014 100644 --- a/src/main/java/binnie/core/util/FluidStackSet.java +++ b/src/main/java/binnie/core/util/FluidStackSet.java @@ -98,7 +98,7 @@ class FluidStackSet implements Set { public boolean removeAll(Collection collection) { boolean addedAll = true; for (Object object : collection) { - boolean removed = this.remove(object); + boolean removed = remove(object); addedAll = (removed && addedAll); } return false; diff --git a/src/main/java/binnie/core/util/ItemStackSet.java b/src/main/java/binnie/core/util/ItemStackSet.java index a3265f13..7df4ace7 100644 --- a/src/main/java/binnie/core/util/ItemStackSet.java +++ b/src/main/java/binnie/core/util/ItemStackSet.java @@ -82,9 +82,9 @@ public class ItemStackSet implements Set { @Override public boolean remove(Object object) { - if (this.contains(object)) { + if (contains(object)) { ItemStack r = (ItemStack) object; - ItemStack existing = this.getExisting(r); + ItemStack existing = getExisting(r); if (existing.stackSize > r.stackSize) { existing.stackSize -= r.stackSize; } else { diff --git a/src/main/java/binnie/craftgui/binniecore/WindowFieldKit.java b/src/main/java/binnie/craftgui/binniecore/WindowFieldKit.java deleted file mode 100644 index 1c425a43..00000000 --- a/src/main/java/binnie/craftgui/binniecore/WindowFieldKit.java +++ /dev/null @@ -1,298 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.binniecore; - -import binnie.extrabees.gui.punnett.ExtraBeeGUITexture; -import binnie.craftgui.resource.minecraft.PaddedTexture; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.resource.StyleSheet; -import binnie.genetics.machine.Analyser; -import net.minecraft.entity.player.EntityPlayerMP; -import java.util.List; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.ISpeciesRoot; -import forestry.api.genetics.IIndividual; -import java.util.ArrayList; -import net.minecraft.nbt.NBTTagCompound; -import binnie.craftgui.events.EventHandler; -import binnie.craftgui.events.EventValueChanged; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.minecraft.InventoryType; -import binnie.craftgui.minecraft.control.ControlSlot; -import binnie.craftgui.minecraft.control.ControlImage; -import binnie.craftgui.resource.minecraft.StandardTexture; -import binnie.extrabees.core.ExtraBeeTexture; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.core.CraftGUI; -import net.minecraft.init.Items; -import binnie.Binnie; -import forestry.api.genetics.AlleleManager; -import binnie.core.machines.inventory.SlotValidator; -import binnie.core.BinnieCore; -import binnie.core.AbstractMod; -import java.util.HashMap; -import cpw.mods.fml.relauncher.Side; -import net.minecraft.inventory.IInventory; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import forestry.api.genetics.IChromosomeType; -import java.util.Map; -import binnie.craftgui.controls.ControlText; -import binnie.genetics.gui.ControlChromosome; -import binnie.craftgui.controls.core.Control; -import java.util.Random; -import binnie.craftgui.minecraft.Window; - -public class WindowFieldKit extends Window -{ - private float glassOffsetX; - private float glassOffsetY; - private float glassVX; - private float glassVY; - private Random glassRand; - private Control GlassControl; - private ControlChromosome chromo; - private ControlText text; - private float analyseProgress; - private boolean isAnalysing; - private Map info; - private ItemStack prev; - - public WindowFieldKit(final EntityPlayer player, final IInventory inventory, final Side side) { - super(280.0f, 230.0f, player, inventory, side); - this.glassOffsetX = 0.0f; - this.glassOffsetY = 0.0f; - this.glassVX = 0.0f; - this.glassVY = 0.0f; - this.glassRand = new Random(); - this.analyseProgress = 1.0f; - this.isAnalysing = false; - this.info = new HashMap(); - this.prev = null; - } - - @Override - protected AbstractMod getMod() { - return BinnieCore.instance; - } - - @Override - protected String getName() { - return "Field Kit"; - } - - private void setupValidators() { - this.getWindowInventory().setValidator(0, new SlotValidator(null) { - @Override - public boolean isValid(final ItemStack object) { - return AlleleManager.alleleRegistry.isIndividual(object) || Binnie.Genetics.getConversion(object) != null; - } - - @Override - public String getTooltip() { - return "Individual"; - } - }); - this.getWindowInventory().setValidator(1, new SlotValidator(null) { - @Override - public boolean isValid(final ItemStack object) { - return object.getItem() == Items.paper; - } - - @Override - public String getTooltip() { - return "Paper"; - } - }); - this.getWindowInventory().disableAutoDispense(1); - } - - @Override - public void initialiseClient() { - this.setTitle("Field Kit"); - CraftGUI.Render.stylesheet(new StyleSheetPunnett()); - this.getWindowInventory().createSlot(0); - this.getWindowInventory().createSlot(1); - this.setupValidators(); - new ControlPlayerInventory(this); - final IPoint handGlass = new IPoint(16.0f, 32.0f); - this.GlassControl = new ControlImage(this, handGlass.x(), handGlass.y(), new StandardTexture(0, 160, 96, 96, ExtraBeeTexture.GUIPunnett)); - new ControlSlot(this, handGlass.x() + 54.0f, handGlass.y() + 26.0f).assign(InventoryType.Window, 0); - new ControlSlot(this, 208.0f, 8.0f).assign(InventoryType.Window, 1); - (this.text = new ControlText(this, new IPoint(232.0f, 13.0f), "Paper")).setColour(2236962); - (this.text = new ControlText(this, new IArea(0.0f, 120.0f, this.w(), 24.0f), "", TextJustification.MiddleCenter)).setColour(2236962); - this.chromo = new ControlChromosome(this, 150.0f, 24.0f); - this.addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(final EventValueChanged event) { - final IChromosomeType type = (IChromosomeType) event.getValue(); - if (type != null && WindowFieldKit.this.info.containsKey(type)) { - final String t = WindowFieldKit.this.info.get(type); - WindowFieldKit.this.text.setValue(t); - } - else { - WindowFieldKit.this.text.setValue(""); - } - } - }.setOrigin(EventHandler.Origin.DirectChild, this.chromo)); - } - - @Override - public void initialiseServer() { - final ItemStack kit = this.getPlayer().getHeldItem(); - final int sheets = 64 - kit.getItemDamage(); - if (sheets != 0) { - this.getWindowInventory().setInventorySlotContents(1, new ItemStack(Items.paper, sheets)); - } - this.setupValidators(); - } - - @Override - public void onUpdateClient() { - super.onUpdateClient(); - if (this.isAnalysing) { - this.analyseProgress += 0.01f; - if (this.analyseProgress >= 1.0f) { - this.isAnalysing = false; - this.analyseProgress = 1.0f; - final ItemStack stack = this.getWindowInventory().getStackInSlot(0); - if (stack != null) { - this.sendClientAction("analyse", new NBTTagCompound()); - } - this.refreshSpecies(); - } - } - this.glassVX += this.glassRand.nextFloat() - 0.5f - this.glassOffsetX * 0.2f; - this.glassVY += this.glassRand.nextFloat() - 0.5f - this.glassOffsetY * 0.2f; - this.glassOffsetX += this.glassVX; - this.glassOffsetX *= 1.0f - this.analyseProgress; - this.glassOffsetY += this.glassVY; - this.glassOffsetY *= 1.0f - this.analyseProgress; - this.GlassControl.setOffset(new IPoint(this.glassOffsetX, this.glassOffsetY)); - } - - private void refreshSpecies() { - final ItemStack item = this.getWindowInventory().getStackInSlot(0); - if (item == null || !AlleleManager.alleleRegistry.isIndividual(item)) { - return; - } - final IIndividual ind = AlleleManager.alleleRegistry.getIndividual(item); - if (ind == null) { - return; - } - final ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(item); - this.chromo.setRoot(root); - final Random rand = new Random(); - this.info.clear(); - for (final IChromosomeType type : root.getKaryotype()) { - if (!Binnie.Genetics.isInvalidChromosome(type)) { - final IAllele allele = ind.getGenome().getActiveAllele(type); - final List infos = new ArrayList(); - int i = 0; - for (String pref = root.getUID() + ".fieldkit." + type.getName().toLowerCase() + "."; Binnie.Language.canLocalise(pref + i); ++i) { - infos.add(Binnie.Language.localise(pref + i)); - } - String text = Binnie.Genetics.getSystem(root).getAlleleName(type, allele); - if (!infos.isEmpty()) { - text = infos.get(rand.nextInt(infos.size())); - } - this.info.put(type, text); - this.chromo.setRoot(root); - } - } - } - - @Override - public void onWindowInventoryChanged() { - super.onWindowInventoryChanged(); - if (this.isServer()) { - final ItemStack kit = this.getPlayer().getHeldItem(); - final int sheets = 64 - kit.getItemDamage(); - final int size = (this.getWindowInventory().getStackInSlot(1) == null) ? 0 : this.getWindowInventory().getStackInSlot(1).stackSize; - if (sheets != size) { - kit.setItemDamage(64 - size); - } - ((EntityPlayerMP) this.getPlayer()).updateHeldItem(); - } - if (this.isClient()) { - final ItemStack item = this.getWindowInventory().getStackInSlot(0); - this.prev = item; - this.text.setValue(""); - if (item != null && !Analyser.isAnalysed(item)) { - if (this.getWindowInventory().getStackInSlot(1) == null) { - this.text.setValue("No Paper!"); - this.isAnalysing = false; - this.analyseProgress = 1.0f; - } - else { - this.startAnalysing(); - this.chromo.setRoot(null); - if (this.damageKit()) { - return; - } - } - } - else if (item != null) { - this.isAnalysing = false; - this.analyseProgress = 1.0f; - this.refreshSpecies(); - if (this.damageKit()) { - return; - } - } - else { - this.isAnalysing = false; - this.analyseProgress = 1.0f; - this.chromo.setRoot(null); - } - } - } - - private boolean damageKit() { - return false; - } - - private void startAnalysing() { - this.glassVX = 0.0f; - this.glassVY = 0.0f; - this.glassOffsetX = 0.0f; - this.glassOffsetY = 0.0f; - this.isAnalysing = true; - this.analyseProgress = 0.0f; - } - - @Override - public boolean showHelpButton() { - return true; - } - - @Override - public String showInfoButton() { - return "The Field Kit analyses bees, trees, flowers and butterflies. All that is required is a piece of paper to jot notes"; - } - - @Override - public void recieveGuiNBT(final Side side, final EntityPlayer player, final String name, final NBTTagCompound nbt) { - super.recieveGuiNBT(side, player, name, nbt); - if (side == Side.SERVER && name.equals("analyse")) { - this.getWindowInventory().setInventorySlotContents(0, Analyser.analyse(this.getWindowInventory().getStackInSlot(0))); - this.getWindowInventory().decrStackSize(1, 1); - } - } - - static class StyleSheetPunnett extends StyleSheet - { - public StyleSheetPunnett() { - this.textures.put(CraftGUITexture.Window, new PaddedTexture(0, 0, 160, 160, 0, ExtraBeeTexture.GUIPunnett, 32, 32, 32, 32)); - this.textures.put(CraftGUITexture.Slot, new StandardTexture(160, 0, 18, 18, 0, ExtraBeeTexture.GUIPunnett)); - this.textures.put(ExtraBeeGUITexture.Chromosome, new StandardTexture(160, 36, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); - this.textures.put(ExtraBeeGUITexture.Chromosome2, new StandardTexture(160, 52, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); - this.textures.put(CraftGUITexture.HelpButton, new StandardTexture(178, 0, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); - this.textures.put(CraftGUITexture.InfoButton, new StandardTexture(178, 16, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); - } - } -} diff --git a/src/main/java/binnie/craftgui/binniecore/WindowGenesis.java b/src/main/java/binnie/craftgui/binniecore/WindowGenesis.java deleted file mode 100644 index 60886fb3..00000000 --- a/src/main/java/binnie/craftgui/binniecore/WindowGenesis.java +++ /dev/null @@ -1,227 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.binniecore; - -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.nbt.NBTTagCompound; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.minecraft.control.ControlItemDisplay; -import java.util.Map; -import java.util.List; -import java.util.ArrayList; -import binnie.craftgui.events.EventHandler; -import forestry.api.genetics.IChromosomeType; -import binnie.craftgui.events.EventValueChanged; -import binnie.craftgui.controls.listbox.ControlTextOption; -import binnie.genetics.gui.ControlGenesisOption; -import binnie.craftgui.minecraft.MinecraftGUI; -import binnie.craftgui.core.geometry.IArea; -import binnie.Binnie; -import forestry.api.genetics.IIndividual; -import net.minecraft.item.ItemStack; -import binnie.craftgui.minecraft.control.ControlTabIcon; -import binnie.craftgui.controls.tab.ControlTab; -import binnie.core.genetics.BreedingSystem; -import binnie.craftgui.controls.tab.ControlTabBar; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.core.BinnieCore; -import binnie.core.AbstractMod; -import cpw.mods.fml.relauncher.Side; -import net.minecraft.inventory.IInventory; -import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.window.Panel; -import binnie.core.genetics.Gene; -import binnie.craftgui.controls.listbox.ControlListBox; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.ISpeciesRoot; -import binnie.craftgui.minecraft.Window; - -public class WindowGenesis extends Window -{ - private ISpeciesRoot root; - private IAllele[] template; - private ControlListBox geneList; - private ControlListBox geneOptions; - private Panel panelPickup; - - public WindowGenesis(final EntityPlayer player, final IInventory inventory, final Side side) { - super(342.0f, 228.0f, player, inventory, side); - } - - @Override - protected AbstractMod getMod() { - return BinnieCore.instance; - } - - @Override - protected String getName() { - return "Genesis"; - } - - @Override - public void initialiseClient() { - new ControlPlayerInventory(this); - this.setTitle("Genesis"); - final ControlTabBar tabSystems = new ControlTabBar(this, 8.0f, 28.0f, 23.0f, 100.0f, Position.Left) { - @Override - public ControlTab createTab(final float x, final float y, final float w, final float h, final BreedingSystem value) { - return new ControlTabIcon(this, x, y, w, h, value) { - @Override - public ItemStack getItemStack() { - final int type = this.value.getDefaultType(); - final IIndividual ind = this.value.getDefaultIndividual(); - return this.value.getSpeciesRoot().getMemberStack(ind, type); - } - - @Override - public String getName() { - return this.value.getName(); - } - - @Override - public int getOutlineColour() { - return this.value.getColour(); - } - - @Override - public boolean hasOutline() { - return true; - } - }; - } - }; - tabSystems.setValues(Binnie.Genetics.getActiveSystems()); - this.root = Binnie.Genetics.getActiveSystems().iterator().next().getSpeciesRoot(); - this.template = this.root.getDefaultTemplate(); - final IArea one = new IArea(32.0f, 28.0f, 170.0f, 100.0f); - final IArea two = new IArea(214.0f, 28.0f, 100.0f, 100.0f); - new Panel(this, one.outset(1), MinecraftGUI.PanelType.Black); - new Panel(this, two.outset(1), MinecraftGUI.PanelType.Black); - this.geneList = new ControlListBox(this, one.x(), one.y(), one.w(), one.h(), 10.0f) { - @Override - public IWidget createOption(final Gene value, final int y) { - return new ControlGenesisOption(this.getContent(), value, y); - } - }; - this.geneOptions = new ControlListBox(this, two.x(), two.y(), two.w(), two.h(), 10.0f) { - @Override - public IWidget createOption(final Gene value, final int y) { - return new ControlTextOption(this.getContent(), value, y); - } - }; - tabSystems.addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(final EventValueChanged event) { - WindowGenesis.this.root = ((BreedingSystem) event.getValue()).getSpeciesRoot(); - WindowGenesis.this.template = WindowGenesis.this.root.getDefaultTemplate(); - WindowGenesis.this.refreshTemplate(null); - } - }.setOrigin(EventHandler.Origin.Self, tabSystems)); - this.geneList.addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(final EventValueChanged event) { - final Map> map = Binnie.Genetics.getChromosomeMap(WindowGenesis.this.root); - final List opts = new ArrayList(); - final IChromosomeType chromo = ((Gene) event.value) != null ? ((Gene) event.value).getChromosome() : null; - if (chromo != null)// fix NPE - for (final IAllele allele : map.get(chromo)) { - opts.add(new Gene(allele, chromo, WindowGenesis.this.root)); - } - WindowGenesis.this.geneOptions.setOptions(opts); - } - }.setOrigin(EventHandler.Origin.Self, this.geneList)); - this.geneOptions.addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(final EventValueChanged event) { - if (event.value == null) { - return; - } - final IChromosomeType chromo = ((Gene) event.value).getChromosome(); - WindowGenesis.this.template[chromo.ordinal()] = ((Gene) event.value).getAllele(); - if (chromo == ((Gene) event.value).getSpeciesRoot().getKaryotypeKey()) { - WindowGenesis.this.template = ((Gene) event.value).getSpeciesRoot().getTemplate(((Gene) event.value).getAllele().getUID()); - } - WindowGenesis.this.refreshTemplate(chromo); - } - }.setOrigin(EventHandler.Origin.Self, this.geneOptions)); - this.panelPickup = new Panel(this, 16.0f, 140.0f, 60.0f, 42.0f, MinecraftGUI.PanelType.Black); - this.refreshTemplate(null); - } - - private void refreshTemplate(final IChromosomeType selection) { - final List genes = new ArrayList(); - final IChromosomeType[] arr$; - final IChromosomeType[] chromos = arr$ = Binnie.Genetics.getChromosomeMap(this.root).keySet().toArray(new IChromosomeType[0]); - for (final IChromosomeType type : arr$) { - final IAllele allele = this.template[type.ordinal()]; - if (allele == null) { - throw new NullPointerException("Allele missing for Chromosome " + type.getName()); - } - genes.add(new Gene(allele, type, this.root)); - } - final Map> map = Binnie.Genetics.getChromosomeMap(this.root); - this.geneList.setOptions(genes); - if (selection != null) { - this.geneList.setValue(new Gene(this.template[selection.ordinal()], selection, this.root)); - } - else { - this.geneOptions.setOptions(new ArrayList()); - } - this.refreshPickup(); - } - - private void refreshPickup() { - this.panelPickup.deleteAllChildren(); - int i = 0; - for (final int type : Binnie.Genetics.getSystem(this.root).getActiveTypes()) { - final IIndividual ind = this.root.templateAsIndividual(this.template); - ind.analyze(); - final ItemStack stack = this.root.getMemberStack(ind, type); - final ControlItemDisplay display = new ControlItemDisplay(this.panelPickup, 4 + i % 3 * 18, 4 + i / 3 * 18); - display.setItemStack(stack); - display.setTooltip(); - display.addEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(final EventMouse.Down event) { - final NBTTagCompound nbt = new NBTTagCompound(); - stack.writeToNBT(nbt); - Window.get(event.getOrigin()).sendClientAction("genesis", nbt); - } - }.setOrigin(EventHandler.Origin.Self, display)); - ++i; - } - } - - @Override - public void recieveGuiNBT(final Side side, final EntityPlayer player, final String name, final NBTTagCompound nbt) { - super.recieveGuiNBT(side, player, name, nbt); - if (side == Side.SERVER && name.equals("genesis")) { - final ItemStack stack = ItemStack.loadItemStackFromNBT(nbt); - final InventoryPlayer playerInv = player.inventory; - if (stack == null) { - return; - } - if (playerInv.getItemStack() == null) { - playerInv.setItemStack(stack); - } - else if (playerInv.getItemStack().isItemEqual(stack) && ItemStack.areItemStackTagsEqual(playerInv.getItemStack(), stack)) { - final int fit = stack.getMaxStackSize() - (stack.stackSize + playerInv.getItemStack().stackSize); - if (fit >= 0) { - final ItemStack itemStack; - final ItemStack rec = itemStack = stack; - itemStack.stackSize += playerInv.getItemStack().stackSize; - playerInv.setItemStack(rec); - } - } - player.openContainer.detectAndSendChanges(); - if (player instanceof EntityPlayerMP) { - ((EntityPlayerMP) player).updateHeldItem(); - } - } - } -} diff --git a/src/main/java/binnie/craftgui/controls/ControlCheckbox.java b/src/main/java/binnie/craftgui/controls/ControlCheckbox.java deleted file mode 100644 index 23bbbdbe..00000000 --- a/src/main/java/binnie/craftgui/controls/ControlCheckbox.java +++ /dev/null @@ -1,72 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls; - -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.events.EventValueChanged; -import binnie.craftgui.events.EventHandler; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.core.Control; - -public class ControlCheckbox extends Control implements IControlValue -{ - boolean value; - String text; - - public ControlCheckbox(final IWidget parent, final float x, final float y, final boolean bool) { - this(parent, x, y, 0.0f, "", bool); - } - - public ControlCheckbox(final IWidget parent, final float x, final float y, final float w, final String text, final boolean bool) { - super(parent, x, y, (w > 16.0f) ? w : 16.0f, 16.0f); - this.text = text; - this.value = bool; - if (w > 16.0f) { - new ControlText(this, new IArea(16.0f, 1.0f, w - 16.0f, 16.0f), text, TextJustification.MiddleCenter).setColour(4473924); - } - this.addAttribute(Attribute.MouseOver); - this.addEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(final EventMouse.Down event) { - ControlCheckbox.this.toggleValue(); - } - }.setOrigin(EventHandler.Origin.Self, this)); - } - - protected void onValueChanged(final boolean value) { - } - - @Override - public Boolean getValue() { - return this.value; - } - - @Override - public void setValue(final Boolean value) { - this.value = value; - this.onValueChanged(value); - this.callEvent(new EventValueChanged(this, value)); - } - - public void toggleValue() { - this.setValue(Boolean.valueOf(!this.getValue())); - } - - @Override - public void onRenderBackground() { - Object texture = this.getValue() ? CraftGUITexture.CheckboxChecked : CraftGUITexture.Checkbox; - if (this.isMouseOver()) { - texture = (this.getValue() ? CraftGUITexture.CheckboxCheckedHighlighted : CraftGUITexture.CheckboxHighlighted); - } - CraftGUI.Render.texture(texture, IPoint.ZERO); - } -} diff --git a/src/main/java/binnie/craftgui/controls/ControlText.java b/src/main/java/binnie/craftgui/controls/ControlText.java deleted file mode 100644 index ced9a17c..00000000 --- a/src/main/java/binnie/craftgui/controls/ControlText.java +++ /dev/null @@ -1,48 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls; - -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.core.Control; - -public class ControlText extends Control implements IControlValue -{ - private String text; - private TextJustification align; - - public ControlText(final IWidget parent, final IPoint pos, final String text) { - this(parent, new IArea(pos, new IPoint(500.0f, 0.0f)), text, TextJustification.TopLeft); - } - - public ControlText(final IWidget parent, final String text, final TextJustification align) { - this(parent, parent.getArea(), text, align); - } - - public ControlText(final IWidget parent, final IArea area, final String text, final TextJustification align) { - super(parent, area.pos().x(), area.pos().y(), area.size().x(), area.size().y()); - this.setValue(text); - this.align = align; - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.text(this.getArea(), this.align, this.text, this.getColour()); - } - - @Override - public void setValue(final String text) { - this.text = text; - } - - @Override - public String getValue() { - return this.text; - } -} diff --git a/src/main/java/binnie/craftgui/controls/ControlTextCentered.java b/src/main/java/binnie/craftgui/controls/ControlTextCentered.java deleted file mode 100644 index f0366165..00000000 --- a/src/main/java/binnie/craftgui/controls/ControlTextCentered.java +++ /dev/null @@ -1,17 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls; - -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.IWidget; - -public class ControlTextCentered extends ControlText -{ - public ControlTextCentered(final IWidget parent, final float y, final String text) { - super(parent, new IArea(new IPoint(0.0f, y), new IPoint(parent.size().x(), 0.0f)), text, TextJustification.TopCenter); - } -} diff --git a/src/main/java/binnie/craftgui/controls/ControlTextEdit.java b/src/main/java/binnie/craftgui/controls/ControlTextEdit.java deleted file mode 100644 index 4876c499..00000000 --- a/src/main/java/binnie/craftgui/controls/ControlTextEdit.java +++ /dev/null @@ -1,97 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls; - -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.events.EventWidget; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.events.EventHandler; -import binnie.craftgui.events.EventTextEdit; -import binnie.craftgui.events.EventKey; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import net.minecraft.client.gui.GuiTextField; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.core.Control; - -public class ControlTextEdit extends Control implements IControlValue -{ - GuiTextField field; - private String cachedValue; - - public ControlTextEdit(final IWidget parent, final float x, final float y, final float width, final float height) { - super(parent, x, y, width, height); - this.cachedValue = ""; - this.field = new GuiTextField(this.getWindow().getGui().getFontRenderer(), 0, 0, 10, 10); - this.addAttribute(Attribute.CanFocus); - this.addAttribute(Attribute.MouseOver); - this.field.setEnableBackgroundDrawing(false); - this.addEventHandler(new EventKey.Down.Handler() { - @Override - public void onEvent(final EventKey.Down event) { - ControlTextEdit.this.field.textboxKeyTyped(event.getCharacter(), event.getKey()); - final String text = ControlTextEdit.this.getValue(); - if (!text.equals(ControlTextEdit.this.cachedValue)) { - ControlTextEdit.this.cachedValue = text; - ControlTextEdit.this.callEvent(new EventTextEdit(ControlTextEdit.this, ControlTextEdit.this.cachedValue)); - ControlTextEdit.this.onTextEdit(ControlTextEdit.this.cachedValue); - } - } - }.setOrigin(EventHandler.Origin.Self, this)); - this.addEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(final EventMouse.Down event) { - ControlTextEdit.this.field.mouseClicked((int) ControlTextEdit.this.getRelativeMousePosition().x(), (int) ControlTextEdit.this.getRelativeMousePosition().y(), event.getButton()); - } - }.setOrigin(EventHandler.Origin.Self, this)); - this.addEventHandler(new EventWidget.GainFocus.Handler() { - @Override - public void onEvent(final EventWidget.GainFocus event) { - ControlTextEdit.this.field.setFocused(true); - } - }.setOrigin(EventHandler.Origin.Self, this)); - this.addEventHandler(new EventWidget.LoseFocus.Handler() { - @Override - public void onEvent(final EventWidget.LoseFocus event) { - ControlTextEdit.this.field.setFocused(false); - } - }.setOrigin(EventHandler.Origin.Self, this)); - } - - @Override - public String getValue() { - return (this.field.getText() == null) ? "" : this.field.getText(); - } - - @Override - public void setValue(final String value) { - if (!this.getValue().equals(value)) { - this.field.setText(value); - this.field.setCursorPosition(0); - } - } - - @Override - public void onUpdateClient() { - } - - protected void onTextEdit(final String value) { - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.texture(CraftGUITexture.Slot, this.getArea()); - this.renderTextField(); - } - - protected void renderTextField() { - this.field.width = (int) this.w(); - this.field.height = (int) this.h(); - this.field.xPosition = (int) ((this.h() - 8.0f) / 2.0f); - this.field.yPosition = (int) ((this.h() - 8.0f) / 2.0f); - this.field.drawTextBox(); - } -} diff --git a/src/main/java/binnie/craftgui/controls/IControlSelection.java b/src/main/java/binnie/craftgui/controls/IControlSelection.java deleted file mode 100644 index c801b68d..00000000 --- a/src/main/java/binnie/craftgui/controls/IControlSelection.java +++ /dev/null @@ -1,14 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls; - -public interface IControlSelection -{ - T getSelectedValue(); - - void setSelectedValue(final T p0); - - boolean isSelected(final IControlSelectionOption p0); -} diff --git a/src/main/java/binnie/craftgui/controls/IControlSelectionOption.java b/src/main/java/binnie/craftgui/controls/IControlSelectionOption.java deleted file mode 100644 index 30a5ac89..00000000 --- a/src/main/java/binnie/craftgui/controls/IControlSelectionOption.java +++ /dev/null @@ -1,10 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls; - -public interface IControlSelectionOption -{ - T getValue(); -} diff --git a/src/main/java/binnie/craftgui/controls/button/ControlButton.java b/src/main/java/binnie/craftgui/controls/button/ControlButton.java deleted file mode 100644 index 527744bd..00000000 --- a/src/main/java/binnie/craftgui/controls/button/ControlButton.java +++ /dev/null @@ -1,66 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.button; - -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.events.EventHandler; -import binnie.craftgui.events.EventButtonClicked; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.controls.core.Control; - -public class ControlButton extends Control -{ - private ControlText textWidget; - private String text; - - public ControlButton(final IWidget parent, final float x, final float y, final float width, final float height) { - super(parent, x, y, width, height); - this.addAttribute(Attribute.MouseOver); - this.addEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(final EventMouse.Down event) { - ControlButton.this.callEvent(new EventButtonClicked(ControlButton.this.getWidget())); - ControlButton.this.onMouseClick(event); - } - }.setOrigin(EventHandler.Origin.Self, this)); - } - - protected void onMouseClick(final EventMouse.Down event) { - } - - public ControlButton(final IWidget parent, final float x, final float y, final float width, final float height, final String text) { - this(parent, x, y, width, height); - this.text = text; - this.textWidget = new ControlText(this, this.getArea(), text, TextJustification.MiddleCenter); - } - - @Override - public void onUpdateClient() { - if (this.textWidget != null) { - this.textWidget.setValue(this.getText()); - } - } - - public String getText() { - return this.text; - } - - @Override - public void onRenderBackground() { - Object texture = CraftGUITexture.ButtonDisabled; - if (this.isMouseOver()) { - texture = CraftGUITexture.ButtonHighlighted; - } - else if (this.isEnabled()) { - texture = CraftGUITexture.Button; - } - CraftGUI.Render.texture(texture, this.getArea()); - } -} diff --git a/src/main/java/binnie/craftgui/controls/button/ControlEnumButton.java b/src/main/java/binnie/craftgui/controls/button/ControlEnumButton.java deleted file mode 100644 index 6ecec0c7..00000000 --- a/src/main/java/binnie/craftgui/controls/button/ControlEnumButton.java +++ /dev/null @@ -1,61 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.button; - -import java.util.ArrayList; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.events.EventValueChanged; -import binnie.craftgui.events.EventMouse; -import java.util.List; -import binnie.craftgui.controls.core.IControlValue; - -public class ControlEnumButton extends ControlButton implements IControlValue -{ - public static final String eventEnumChanged = "eventEnumButtonChanged"; - private T currentSelection; - private List enumConstants; - - @Override - public String getText() { - return this.currentSelection.toString(); - } - - @Override - public void onMouseClick(final EventMouse.Down event) { - int index = this.enumConstants.indexOf(this.currentSelection); - if (index < this.enumConstants.size() - 1) { - ++index; - } - else { - index = 0; - } - final T newEnum = this.enumConstants.get(index); - this.setValue(newEnum); - } - - @Override - public void setValue(final T selection) { - if (this.currentSelection != selection) { - this.currentSelection = selection; - this.callEvent(new EventValueChanged(this, this.getValue())); - } - } - - public ControlEnumButton(final IWidget parent, final float x, final float y, final float width, final float height, final T[] values) { - super(parent, x, y, width, height, ""); - this.enumConstants = new ArrayList(); - for (final T value : values) { - this.enumConstants.add(value); - } - if (values.length > 0) { - this.currentSelection = values[0]; - } - } - - @Override - public T getValue() { - return this.currentSelection; - } -} diff --git a/src/main/java/binnie/craftgui/controls/button/ControlToggleButton.java b/src/main/java/binnie/craftgui/controls/button/ControlToggleButton.java deleted file mode 100644 index a0422a03..00000000 --- a/src/main/java/binnie/craftgui/controls/button/ControlToggleButton.java +++ /dev/null @@ -1,23 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.button; - -import binnie.craftgui.core.IWidget; -import binnie.craftgui.events.EventToggleButtonClicked; -import binnie.craftgui.events.EventMouse; - -public class ControlToggleButton extends ControlButton -{ - boolean toggled; - - @Override - public void onMouseClick(final EventMouse.Down event) { - this.callEvent(new EventToggleButtonClicked(this, this.toggled)); - } - - public ControlToggleButton(final IWidget parent, final int x, final int y, final int width, final int height) { - super(parent, x, y, width, height); - } -} diff --git a/src/main/java/binnie/craftgui/controls/core/Control.java b/src/main/java/binnie/craftgui/controls/core/Control.java deleted file mode 100644 index 454e555f..00000000 --- a/src/main/java/binnie/craftgui/controls/core/Control.java +++ /dev/null @@ -1,85 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.core; - -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.geometry.IPoint; -import java.util.ArrayList; -import binnie.craftgui.core.IWidget; -import java.util.List; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.core.ITooltipHelp; -import binnie.craftgui.core.Widget; - -public class Control extends Widget implements ITooltipHelp, ITooltip -{ - List helpStrings; - List tooltipStrings; - public int extraLevel; - - public Control(final IWidget parent, final float x, final float y, final float w, final float h) { - super(parent); - this.helpStrings = new ArrayList(); - this.tooltipStrings = new ArrayList(); - this.extraLevel = 0; - this.setPosition(new IPoint(x, y)); - this.setSize(new IPoint(w, h)); - this.initialise(); - } - - public Control(final IWidget parent, final IArea area) { - this(parent, area.x(), area.y(), area.w(), area.h()); - } - - protected void initialise() { - } - - @Override - public void onUpdateClient() { - } - - public void addHelp(final String string) { - this.helpStrings.add(string); - } - - public void addHelp(final String[] strings) { - for (final String string : strings) { - this.addHelp(string); - } - } - - public void addTooltip(final String string) { - this.addAttribute(Attribute.MouseOver); - this.tooltipStrings.add(string); - } - - public void addTooltip(final String[] strings) { - for (final String string : strings) { - this.addTooltip(string); - } - } - - @Override - public int getLevel() { - return this.extraLevel + super.getLevel(); - } - - @Override - public void getHelpTooltip(final Tooltip tooltip) { - tooltip.add(this.helpStrings); - } - - @Override - public void getTooltip(final Tooltip tooltip) { - tooltip.add(this.tooltipStrings); - } - - public Window getWindow() { - return (Window) this.getSuperParent(); - } -} diff --git a/src/main/java/binnie/craftgui/controls/core/IControlIndexed.java b/src/main/java/binnie/craftgui/controls/core/IControlIndexed.java deleted file mode 100644 index 9e7cdff7..00000000 --- a/src/main/java/binnie/craftgui/controls/core/IControlIndexed.java +++ /dev/null @@ -1,12 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.core; - -public interface IControlIndexed -{ - int getIndex(); - - void setIndex(final int p0); -} diff --git a/src/main/java/binnie/craftgui/controls/core/IControlValue.java b/src/main/java/binnie/craftgui/controls/core/IControlValue.java deleted file mode 100644 index bab21fb0..00000000 --- a/src/main/java/binnie/craftgui/controls/core/IControlValue.java +++ /dev/null @@ -1,14 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.core; - -import binnie.craftgui.core.IWidget; - -public interface IControlValue extends IWidget -{ - T getValue(); - - void setValue(final T p0); -} diff --git a/src/main/java/binnie/craftgui/controls/core/IControlValues.java b/src/main/java/binnie/craftgui/controls/core/IControlValues.java deleted file mode 100644 index 61d64ae4..00000000 --- a/src/main/java/binnie/craftgui/controls/core/IControlValues.java +++ /dev/null @@ -1,14 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.core; - -import java.util.Collection; - -public interface IControlValues extends IControlValue -{ - Collection getValues(); - - void setValues(final Collection p0); -} diff --git a/src/main/java/binnie/craftgui/controls/listbox/ControlList.java b/src/main/java/binnie/craftgui/controls/listbox/ControlList.java deleted file mode 100644 index 6ec40591..00000000 --- a/src/main/java/binnie/craftgui/controls/listbox/ControlList.java +++ /dev/null @@ -1,131 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.listbox; - -import binnie.craftgui.core.geometry.IPoint; -import java.util.Collection; -import binnie.craftgui.events.EventValueChanged; -import java.util.LinkedHashMap; -import binnie.core.util.IValidator; -import binnie.craftgui.core.IWidget; -import java.util.Map; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.core.Control; - -public class ControlList extends Control implements IControlValue -{ - ControlListBox parent; - T value; - Map allOptions; - Map optionWidgets; - boolean creating; - IValidator validator; - - protected ControlList(final ControlListBox parent, final float x, final float y, final float w, final float h) { - super(parent, x, y, w, h); - this.value = null; - this.allOptions = new LinkedHashMap(); - this.optionWidgets = new LinkedHashMap(); - this.creating = false; - this.parent = parent; - } - - @Override - public T getValue() { - return this.value; - } - - @Override - public void setValue(final T value) { - if (value == this.value) { - return; - } - this.value = value; - if (value != null && this.optionWidgets.containsKey(value)) { - final IWidget child = this.optionWidgets.get(value); - this.parent.ensureVisible(child.y(), child.y() + child.h(), this.h()); - } - this.getParent().callEvent(new EventValueChanged(this.getParent(), value)); - } - - public void setOptions(final Collection options) { - this.deleteAllChildren(); - this.allOptions.clear(); - int i = 0; - for (final T option : options) { - final IWidget optionWidget = ((ControlListBox) this.getParent()).createOption(option, 0); - if (optionWidget != null) { - this.allOptions.put(option, optionWidget); - } - ++i; - } - this.filterOptions(); - } - - public void filterOptions() { - int height = 0; - this.optionWidgets.clear(); - for (final Map.Entry entry : this.allOptions.entrySet()) { - if (this.isValidOption(entry.getValue())) { - entry.getValue().show(); - this.optionWidgets.put(entry.getKey(), entry.getValue()); - entry.getValue().setPosition(new IPoint(0.0f, height)); - height += (int) entry.getValue().getSize().y(); - } - else { - entry.getValue().hide(); - } - } - this.creating = true; - this.setValue(this.getValue()); - this.setSize(new IPoint(this.getSize().x(), height)); - } - - public Collection getOptions() { - return this.optionWidgets.keySet(); - } - - public Collection getAllOptions() { - return this.allOptions.keySet(); - } - - public int getIndexOf(final T value) { - int index = 0; - for (final T option : this.getOptions()) { - if (option.equals(value)) { - return index; - } - ++index; - } - return -1; - } - - public int getCurrentIndex() { - return this.getIndexOf(this.getValue()); - } - - public void setIndex(final int currentIndex) { - int index = 0; - for (final T option : this.getOptions()) { - if (index == currentIndex) { - this.setValue(option); - return; - } - ++index; - } - this.setValue(null); - } - - private boolean isValidOption(final IWidget widget) { - return this.validator == null || this.validator.isValid(widget); - } - - public void setValidator(final IValidator validator) { - if (this.validator != validator) { - this.validator = validator; - this.filterOptions(); - } - } -} diff --git a/src/main/java/binnie/craftgui/controls/listbox/ControlListBox.java b/src/main/java/binnie/craftgui/controls/listbox/ControlListBox.java deleted file mode 100644 index 5c8d0bee..00000000 --- a/src/main/java/binnie/craftgui/controls/listbox/ControlListBox.java +++ /dev/null @@ -1,63 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.listbox; - -import binnie.core.util.IValidator; -import java.util.Collection; -import binnie.craftgui.events.EventKey; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.scroll.ControlScrollableContent; - -public class ControlListBox extends ControlScrollableContent> implements IControlValue -{ - public ControlListBox(final IWidget parent, final float x, final float y, final float w, final float h, final float scrollBarSize) { - super(parent, x, y, w, h, scrollBarSize); - } - - @Override - public void initialise() { - this.setScrollableContent(new ControlList(this, 1.0f, 1.0f, this.w() - 2.0f - this.scrollBarSize, this.h() - 2.0f)); - this.addEventHandler(new EventKey.Down.Handler() { - @Override - public void onEvent(final EventKey.Down event) { - if (ControlListBox.this.calculateIsMouseOver()) { - int currentIndex = ControlListBox.this.getContent().getCurrentIndex(); - if (event.getKey() == 208) { - if (++currentIndex >= ControlListBox.this.getContent().getOptions().size()) { - currentIndex = 0; - } - } - else if (event.getKey() == 200 && --currentIndex < 0) { - currentIndex = ControlListBox.this.getContent().getOptions().size() - 1; - } - ControlListBox.this.getContent().setIndex(currentIndex); - } - } - }); - } - - @Override - public final T getValue() { - return this.getContent().getValue(); - } - - @Override - public final void setValue(final T value) { - this.getContent().setValue(value); - } - - public void setOptions(final Collection options) { - this.getContent().setOptions(options); - } - - public IWidget createOption(final T value, final int y) { - return new ControlOption(this.getContent(), value, y); - } - - public void setValidator(final IValidator validator) { - this.getContent().setValidator(validator); - } -} diff --git a/src/main/java/binnie/craftgui/controls/listbox/ControlOption.java b/src/main/java/binnie/craftgui/controls/listbox/ControlOption.java deleted file mode 100644 index 8113a921..00000000 --- a/src/main/java/binnie/craftgui/controls/listbox/ControlOption.java +++ /dev/null @@ -1,68 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.listbox; - -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.core.Control; - -public class ControlOption extends Control implements IControlValue -{ - T value; - - @Override - public void onUpdateClient() { - if (this.getValue() == null) { - return; - } - int colour = 10526880; - if (this.isCurrentSelection()) { - colour = 16777215; - } - this.setColour(colour); - } - - public ControlOption(final ControlList controlList, final T option) { - this(controlList, option, 16); - } - - public ControlOption(final ControlList controlList, final T option, final int height) { - super(controlList, 0.0f, height, controlList.getSize().x(), 20.0f); - this.value = option; - if (this.value != null) { - this.addAttribute(Attribute.MouseOver); - } - this.addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(final EventMouse.Down event) { - ((IControlValue) ControlOption.this.getParent()).setValue(ControlOption.this.getValue()); - } - }); - } - - @Override - public T getValue() { - return this.value; - } - - @Override - public void setValue(final T value) { - this.value = value; - } - - public boolean isCurrentSelection() { - return this.getValue() != null && this.getValue().equals(((IControlValue) this.getParent()).getValue()); - } - - @Override - public void onRenderForeground() { - if (this.isCurrentSelection()) { - CraftGUI.Render.texture(CraftGUITexture.Outline, this.getArea()); - } - } -} diff --git a/src/main/java/binnie/craftgui/controls/listbox/ControlTextOption.java b/src/main/java/binnie/craftgui/controls/listbox/ControlTextOption.java deleted file mode 100644 index 446a8ef9..00000000 --- a/src/main/java/binnie/craftgui/controls/listbox/ControlTextOption.java +++ /dev/null @@ -1,35 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.listbox; - -import binnie.craftgui.events.EventHandler; -import binnie.craftgui.events.EventWidget; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.controls.ControlText; - -public class ControlTextOption extends ControlOption -{ - protected ControlText textWidget; - - public ControlTextOption(final ControlList controlList, final T option, final String optionName, final int y) { - super(controlList, option, y); - this.textWidget = null; - this.textWidget = new ControlText(this, this.getArea(), optionName, TextJustification.MiddleCenter); - this.addEventHandler(new EventWidget.ChangeColour.Handler() { - @Override - public void onEvent(final EventWidget.ChangeColour event) { - ControlTextOption.this.textWidget.setColour(ControlTextOption.this.getColour()); - } - }.setOrigin(EventHandler.Origin.Self, this)); - } - - public ControlTextOption(final ControlList controlList, final T option, final int y) { - this(controlList, option, option.toString(), y); - } - - public String getText() { - return this.textWidget.getValue(); - } -} diff --git a/src/main/java/binnie/craftgui/controls/page/ControlPage.java b/src/main/java/binnie/craftgui/controls/page/ControlPage.java deleted file mode 100644 index 28b294fb..00000000 --- a/src/main/java/binnie/craftgui/controls/page/ControlPage.java +++ /dev/null @@ -1,36 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.page; - -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.core.Control; - -public class ControlPage extends Control implements IControlValue -{ - T value; - - public ControlPage(final IWidget parent, final T value) { - this(parent, 0.0f, 0.0f, parent.w(), parent.h(), value); - } - - public ControlPage(final IWidget parent, final float x, final float y, final float w, final float h, final T value) { - super(parent, x, y, w, h); - this.setValue(value); - if (parent instanceof IControlValue && ((IControlValue) parent).getValue() == null) { - ((IControlValue) parent).setValue(value); - } - } - - @Override - public T getValue() { - return this.value; - } - - @Override - public void setValue(final T value) { - this.value = value; - } -} diff --git a/src/main/java/binnie/craftgui/controls/page/ControlPages.java b/src/main/java/binnie/craftgui/controls/page/ControlPages.java deleted file mode 100644 index 2c5d1b90..00000000 --- a/src/main/java/binnie/craftgui/controls/page/ControlPages.java +++ /dev/null @@ -1,59 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.page; - -import java.util.List; -import java.util.ArrayList; -import java.util.Collection; -import binnie.craftgui.events.EventValueChanged; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.core.IControlValues; -import binnie.craftgui.controls.core.Control; - -public class ControlPages extends Control implements IControlValues, IControlValue -{ - T value; - - @Override - public boolean isChildVisible(final IWidget child) { - return child != null && this.value == ((IControlValue) child).getValue(); - } - - public ControlPages(final IWidget parent, final float x, final float y, final float w, final float h) { - super(parent, x, y, w, h); - this.value = null; - } - - @Override - public void onAddChild(final IWidget widget) { - } - - @Override - public T getValue() { - return this.value; - } - - @Override - public void setValue(final T value) { - if (this.value != value) { - this.value = value; - this.callEvent(new EventValueChanged(this, value)); - } - } - - @Override - public Collection getValues() { - final List list = new ArrayList(); - for (final IWidget child : this.getWidgets()) { - list.add((T) ((IControlValue) child).getValue()); - } - return list; - } - - @Override - public void setValues(final Collection values) { - } -} diff --git a/src/main/java/binnie/craftgui/controls/scroll/ControlScroll.java b/src/main/java/binnie/craftgui/controls/scroll/ControlScroll.java deleted file mode 100644 index d92c094a..00000000 --- a/src/main/java/binnie/craftgui/controls/scroll/ControlScroll.java +++ /dev/null @@ -1,23 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.scroll; - -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.core.Control; - -public class ControlScroll extends Control -{ - private IControlScrollable scrollWidget; - - public ControlScroll(final IWidget parent, final float x, final float y, final float width, final float height, final IControlScrollable scrollWidget) { - super(parent, x, y, width, height); - this.scrollWidget = scrollWidget; - new ControlScrollBar(this); - } - - public IControlScrollable getScrollableWidget() { - return this.scrollWidget; - } -} diff --git a/src/main/java/binnie/craftgui/controls/scroll/ControlScrollBar.java b/src/main/java/binnie/craftgui/controls/scroll/ControlScrollBar.java deleted file mode 100644 index f8d0f2f6..00000000 --- a/src/main/java/binnie/craftgui/controls/scroll/ControlScrollBar.java +++ /dev/null @@ -1,86 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.scroll; - -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.core.Control; - -public class ControlScrollBar extends Control -{ - protected final IControlScrollable scrollable; - - public ControlScrollBar(final ControlScroll parent) { - this(parent, 0.0f, 0.0f, parent.getSize().x(), parent.getSize().y(), parent.getScrollableWidget()); - } - - public ControlScrollBar(final IWidget parent, final float x, final float y, final float w, final float h, final IControlScrollable scrollable2) { - super(parent, x, y, w, h); - this.scrollable = scrollable2; - this.addAttribute(Attribute.MouseOver); - this.addSelfEventHandler(new EventMouse.Drag.Handler() { - @Override - public void onEvent(final EventMouse.Drag event) { - ControlScrollBar.this.scrollable.movePercentage(event.getDy() / (ControlScrollBar.this.h() - ControlScrollBar.this.getBarHeight())); - } - }); - this.addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(final EventMouse.Down event) { - final float shownPercentage = ControlScrollBar.this.scrollable.getPercentageShown(); - final float percentageIndex = ControlScrollBar.this.scrollable.getPercentageIndex(); - final float minPercent = (1.0f - shownPercentage) * percentageIndex; - final float maxPercent = minPercent + shownPercentage; - float clickedPercentage = ControlScrollBar.this.getRelativeMousePosition().y() / (ControlScrollBar.this.h() - 2.0f); - clickedPercentage = Math.max(Math.min(clickedPercentage, 1.0f), 0.0f); - if (clickedPercentage > maxPercent) { - ControlScrollBar.this.scrollable.setPercentageIndex((clickedPercentage - shownPercentage) / (1.0f - shownPercentage)); - } - if (clickedPercentage < minPercent) { - ControlScrollBar.this.scrollable.setPercentageIndex(clickedPercentage / (1.0f - shownPercentage)); - } - } - }); - } - - @Override - public void onUpdateClient() { - } - - @Override - public boolean isEnabled() { - return this.scrollable.getPercentageShown() < 0.99f; - } - - public float getBarHeight() { - return this.h() * this.scrollable.getPercentageShown(); - } - - protected IArea getRenderArea() { - float height = this.getBarHeight(); - if (height < 6.0f) { - height = 6.0f; - } - final float yOffset = ((int) this.h() - (int) this.getBarHeight()) * this.scrollable.getPercentageIndex(); - return new IArea(0.0f, yOffset, this.getSize().x(), height); - } - - @Override - public void onRenderBackground() { - final IArea renderArea = this.getRenderArea(); - Object texture = CraftGUITexture.ScrollDisabled; - if (this.isMouseOver()) { - texture = CraftGUITexture.ScrollHighlighted; - } - else if (this.isEnabled()) { - texture = CraftGUITexture.Scroll; - } - CraftGUI.Render.texture(texture, renderArea); - } -} diff --git a/src/main/java/binnie/craftgui/controls/scroll/ControlScrollableContent.java b/src/main/java/binnie/craftgui/controls/scroll/ControlScrollableContent.java deleted file mode 100644 index 3b7c49c4..00000000 --- a/src/main/java/binnie/craftgui/controls/scroll/ControlScrollableContent.java +++ /dev/null @@ -1,129 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.scroll; - -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.events.EventWidget; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.controls.core.Control; -import binnie.craftgui.core.IWidget; - -public class ControlScrollableContent extends Control implements IControlScrollable -{ - protected T controlChild; - protected float scrollBarSize; - float percentageIndex; - - public ControlScrollableContent(final IWidget parent, final float x, final float y, final float w, final float h, final float scrollBarSize) { - super(parent, x, y, w, h); - this.percentageIndex = 0.0f; - if (scrollBarSize != 0.0f) { - new ControlScroll(this, this.getSize().x() - scrollBarSize, 0.0f, scrollBarSize, this.getSize().y(), this); - } - this.addEventHandler(new EventMouse.Wheel.Handler() { - @Override - public void onEvent(final EventMouse.Wheel event) { - if (ControlScrollableContent.this.getRelativeMousePosition().x() > 0.0f && ControlScrollableContent.this.getRelativeMousePosition().y() > 0.0f && ControlScrollableContent.this.getRelativeMousePosition().x() < ControlScrollableContent.this.getSize().x() && ControlScrollableContent.this.getRelativeMousePosition().y() < ControlScrollableContent.this.getSize().y()) { - if (ControlScrollableContent.this.getMovementRange() == 0.0f) { - return; - } - final float percentageMove = 0.8f / ControlScrollableContent.this.getMovementRange(); - ControlScrollableContent.this.movePercentage(percentageMove * -event.getDWheel()); - } - } - }); - this.scrollBarSize = scrollBarSize; - } - - public void setScrollableContent(final T child) { - this.controlChild = child; - if (child == null) { - return; - } - - child.setCroppedZone(this, new IArea(1.0F, 1.0F, getSize().x() - 2.0F - this.scrollBarSize, getSize().y() - 2.0F)); - - child.addSelfEventHandler(new EventWidget.ChangeSize.Handler() { - @Override - public void onEvent(final EventWidget.ChangeSize event) { - ControlScrollableContent.this.controlChild.setOffset(new IPoint(0.0f, -ControlScrollableContent.this.percentageIndex * ControlScrollableContent.this.getMovementRange())); - if (ControlScrollableContent.this.getMovementRange() == 0.0f) { - ControlScrollableContent.this.percentageIndex = 0.0f; - } - } - }); - } - - public T getContent() { - return this.controlChild; - } - - @Override - public float getPercentageShown() { - if (this.controlChild == null || this.controlChild.getSize().y() == 0.0f) { - return 1.0f; - } - final float shown = this.getSize().y() / this.controlChild.getSize().y(); - return Math.min(shown, 1.0f); - } - - @Override - public float getPercentageIndex() { - return this.percentageIndex; - } - - @Override - public void movePercentage(final float percentage) { - if (this.controlChild == null) { - return; - } - this.percentageIndex += percentage; - if (this.percentageIndex > 1.0f) { - this.percentageIndex = 1.0f; - } - else if (this.percentageIndex < 0.0f) { - this.percentageIndex = 0.0f; - } - if (this.getMovementRange() == 0.0f) { - this.percentageIndex = 0.0f; - } - this.controlChild.setOffset(new IPoint(0.0f, -this.percentageIndex * this.getMovementRange())); - } - - @Override - public void setPercentageIndex(final float index) { - this.movePercentage(index - this.percentageIndex); - } - - @Override - public float getMovementRange() { - if (this.controlChild == null) { - return 0.0f; - } - final float range = this.controlChild.getSize().y() - this.getSize().y(); - return Math.max(range, 0.0f); - } - - @Override - public void onUpdateClient() { - this.setPercentageIndex(this.getPercentageIndex()); - } - - public void ensureVisible(float minY, float maxY, final float totalY) { - minY /= totalY; - maxY /= totalY; - final float shownPercentage = this.getPercentageShown(); - final float percentageIndex = this.getPercentageIndex(); - final float minPercent = (1.0f - shownPercentage) * percentageIndex; - final float maxPercent = minPercent + shownPercentage; - if (maxY > maxPercent) { - this.setPercentageIndex((maxY - shownPercentage) / (1.0f - shownPercentage)); - } - if (minY < minPercent) { - this.setPercentageIndex(minY / (1.0f - shownPercentage)); - } - } -} diff --git a/src/main/java/binnie/craftgui/controls/scroll/IControlScrollable.java b/src/main/java/binnie/craftgui/controls/scroll/IControlScrollable.java deleted file mode 100644 index db543e7d..00000000 --- a/src/main/java/binnie/craftgui/controls/scroll/IControlScrollable.java +++ /dev/null @@ -1,20 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.scroll; - -import binnie.craftgui.core.IWidget; - -public interface IControlScrollable extends IWidget -{ - float getPercentageShown(); - - float getPercentageIndex(); - - void movePercentage(final float p0); - - void setPercentageIndex(final float p0); - - float getMovementRange(); -} diff --git a/src/main/java/binnie/craftgui/controls/tab/ControlTab.java b/src/main/java/binnie/craftgui/controls/tab/ControlTab.java deleted file mode 100644 index 8afac843..00000000 --- a/src/main/java/binnie/craftgui/controls/tab/ControlTab.java +++ /dev/null @@ -1,114 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.tab; - -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.resource.Texture; -import binnie.craftgui.minecraft.control.ControlItemDisplay; -import binnie.craftgui.minecraft.control.ControlTabIcon; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.events.EventValueChanged; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; - -public class ControlTab extends Control implements ITooltip, IControlValue -{ - private ControlTabBar tabBar; - protected T value; - - public ControlTab(final ControlTabBar parent, final float x, final float y, final float w, final float h, final T value) { - super(parent, x, y, w, h); - this.setValue(value); - this.tabBar = parent; - this.addAttribute(Attribute.MouseOver); - this.addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(final EventMouse.Down event) { - ControlTab.this.callEvent(new EventValueChanged(ControlTab.this.getWidget(), ControlTab.this.getValue())); - } - }); - } - - @Override - public void getTooltip(final Tooltip tooltip) { - final String name = this.getName(); - if (name != null && !name.isEmpty()) { - tooltip.add(this.getName()); - } - if (this.value instanceof ITooltip) { - ((ITooltip) this.value).getTooltip(tooltip); - } - } - - @Override - public T getValue() { - return this.value; - } - - @Override - public void setValue(final T value) { - this.value = value; - } - - public boolean isCurrentSelection() { - return this.getValue() != null && this.getValue().equals(this.tabBar.getValue()); - } - - public Position getTabPosition() { - return this.tabBar.position; - } - - public String getName() { - return this.value.toString(); - } - - @Override - public void onRenderBackground() { - Object texture = CraftGUITexture.TabDisabled; - if (this.isMouseOver()) { - texture = CraftGUITexture.TabHighlighted; - } - else if (this.isCurrentSelection()) { - texture = CraftGUITexture.Tab; - } - final Texture lTexture = CraftGUI.Render.getTexture(texture); - final Position position = this.getTabPosition(); - Texture iTexture = lTexture.crop(position, 8.0f); - final IArea area = this.getArea(); - if (texture == CraftGUITexture.TabDisabled) { - if (position == Position.Top || position == Position.Left) { - area.setPosition(area.getPosition().sub(new IPoint(4 * position.x(), 4 * position.y()))); - area.setSize(area.getSize().add(new IPoint(4 * position.x(), 4 * position.y()))); - } - else { - area.setSize(area.getSize().sub(new IPoint(4 * position.x(), 4 * position.y()))); - } - } - CraftGUI.Render.texture(iTexture, area); - if (this instanceof ControlTabIcon) { - final ControlTabIcon icon = (ControlTabIcon) this; - final ControlItemDisplay item = (ControlItemDisplay) this.getWidgets().get(0); - if (texture == CraftGUITexture.TabDisabled) { - item.setColour(-1431655766); - } - else { - item.setColour(-1); - } - if (icon.hasOutline()) { - iTexture = CraftGUI.Render.getTexture(CraftGUITexture.TabOutline); - iTexture = iTexture.crop(position, 8.0f); - CraftGUI.Render.colour(icon.getOutlineColour()); - CraftGUI.Render.texture(iTexture, area.inset(2)); - } - } - } -} diff --git a/src/main/java/binnie/craftgui/controls/tab/ControlTabBar.java b/src/main/java/binnie/craftgui/controls/tab/ControlTabBar.java deleted file mode 100644 index c7f15b8e..00000000 --- a/src/main/java/binnie/craftgui/controls/tab/ControlTabBar.java +++ /dev/null @@ -1,77 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.controls.tab; - -import java.util.Collection; -import binnie.craftgui.events.EventHandler; -import binnie.craftgui.events.EventValueChanged; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.core.Control; - -public class ControlTabBar extends Control implements IControlValue -{ - T value; - Position position; - - public ControlTabBar(final IWidget parent, final float x, final float y, final float width, final float height, final Position position) { - super(parent, x, y, width, height); - this.position = position; - this.addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(final EventValueChanged event) { - ControlTabBar.this.setValue((T) event.getValue()); - } - }.setOrigin(EventHandler.Origin.DirectChild, this)); - } - - public void setValues(final Collection values) { - final int i = 0; - while (i < this.getWidgets().size()) { - this.deleteChild(this.getWidgets().get(0)); - } - final float length = values.size(); - int tabDimension = (int) (this.getSize().y() / length); - if (this.position == Position.Top || this.position == Position.Bottom) { - tabDimension = (int) (this.getSize().x() / length); - } - int j = 0; - for (final T value : values) { - if (this.position == Position.Top || this.position == Position.Bottom) { - final IWidget tab = this.createTab(j * tabDimension, 0.0f, tabDimension, this.getSize().y(), value); - } - else { - final IWidget tab = this.createTab(0.0f, j * tabDimension, this.getSize().x(), tabDimension, value); - } - ++j; - } - if (this.value == null && !values.isEmpty()) { - this.setValue(values.iterator().next()); - } - } - - public ControlTab createTab(final float x, final float y, final float w, final float h, final T value) { - return new ControlTab(this, x, y, w, h, value); - } - - @Override - public T getValue() { - return this.value; - } - - @Override - public void setValue(final T value) { - final boolean change = this.value != value; - this.value = value; - if (change) { - this.callEvent(new EventValueChanged(this, value)); - } - } - - public Position getDirection() { - return this.position; - } -} diff --git a/src/main/java/binnie/craftgui/core/Attribute.java b/src/main/java/binnie/craftgui/core/Attribute.java deleted file mode 100644 index 90f48e37..00000000 --- a/src/main/java/binnie/craftgui/core/Attribute.java +++ /dev/null @@ -1,14 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core; - -public enum Attribute implements IWidgetAttribute -{ - MouseOver, - CanFocus, - NeedsDeletion, - AlwaysOnTop, - BlockTooltip; -} diff --git a/src/main/java/binnie/craftgui/core/CraftGUI.java b/src/main/java/binnie/craftgui/core/CraftGUI.java deleted file mode 100644 index c0f86cc3..00000000 --- a/src/main/java/binnie/craftgui/core/CraftGUI.java +++ /dev/null @@ -1,14 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core; - -import binnie.craftgui.core.renderer.Renderer; -import binnie.craftgui.resource.minecraft.CraftGUIResourceManager; - -public class CraftGUI -{ - public static CraftGUIResourceManager ResourceManager; - public static Renderer Render; -} diff --git a/src/main/java/binnie/craftgui/core/ITooltip.java b/src/main/java/binnie/craftgui/core/ITooltip.java deleted file mode 100644 index e34efe7a..00000000 --- a/src/main/java/binnie/craftgui/core/ITooltip.java +++ /dev/null @@ -1,10 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core; - -public interface ITooltip -{ - void getTooltip(final Tooltip p0); -} diff --git a/src/main/java/binnie/craftgui/core/ITooltipHelp.java b/src/main/java/binnie/craftgui/core/ITooltipHelp.java deleted file mode 100644 index 5cc24b63..00000000 --- a/src/main/java/binnie/craftgui/core/ITooltipHelp.java +++ /dev/null @@ -1,10 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core; - -public interface ITooltipHelp -{ - void getHelpTooltip(final Tooltip p0); -} diff --git a/src/main/java/binnie/craftgui/core/ITopLevelWidget.java b/src/main/java/binnie/craftgui/core/ITopLevelWidget.java deleted file mode 100644 index cc7f3266..00000000 --- a/src/main/java/binnie/craftgui/core/ITopLevelWidget.java +++ /dev/null @@ -1,32 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core; - -import binnie.craftgui.core.geometry.IPoint; - -public interface ITopLevelWidget extends IWidget -{ - void setMousePosition(final int p0, final int p1); - - IPoint getAbsoluteMousePosition(); - - IWidget getFocusedWidget(); - - IWidget getMousedOverWidget(); - - IWidget getDraggedWidget(); - - boolean isFocused(final IWidget p0); - - boolean isMouseOver(final IWidget p0); - - boolean isDragged(final IWidget p0); - - void updateTopLevel(); - - void widgetDeleted(final IWidget p0); - - IPoint getDragDistance(); -} diff --git a/src/main/java/binnie/craftgui/core/IWidget.java b/src/main/java/binnie/craftgui/core/IWidget.java deleted file mode 100644 index 943ef8ec..00000000 --- a/src/main/java/binnie/craftgui/core/IWidget.java +++ /dev/null @@ -1,142 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core; - -import binnie.craftgui.events.EventHandler; -import binnie.craftgui.events.Event; -import java.util.List; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.geometry.IPoint; - -public interface IWidget -{ - IWidget getParent(); - - void deleteChild(final IWidget p0); - - void deleteAllChildren(); - - ITopLevelWidget getSuperParent(); - - boolean isTopLevel(); - - IPoint getPosition(); - - IPoint pos(); - - void setPosition(final IPoint p0); - - IPoint getSize(); - - IPoint size(); - - void setSize(final IPoint p0); - - IPoint getOriginalPosition(); - - IPoint getAbsolutePosition(); - - IPoint getOriginalAbsolutePosition(); - - IPoint getOffset(); - - IArea getArea(); - - IArea area(); - - void setOffset(final IPoint p0); - - IPoint getMousePosition(); - - IPoint getRelativeMousePosition(); - - void setColour(final int p0); - - int getColour(); - - void render(); - - void updateClient(); - - void enable(); - - void disable(); - - void show(); - - void hide(); - - boolean calculateIsMouseOver(); - - boolean isEnabled(); - - boolean isVisible(); - - boolean isFocused(); - - boolean isMouseOver(); - - boolean isDragged(); - - boolean isChildVisible(final IWidget p0); - - boolean isChildEnabled(final IWidget p0); - - boolean canMouseOver(); - - boolean canFocus(); - - IWidget addWidget(final IWidget p0); - - List getWidgets(); - - void callEvent(final Event p0); - - void recieveEvent(final Event p0); - - void onUpdateClient(); - - void delete(); - - void onDelete(); - - T getWidget(final Class p0); - - IArea getCroppedZone(); - - void setCroppedZone(final IWidget p0, final IArea p1); - - boolean isCroppedWidet(); - - IWidget getCropWidget(); - - boolean isMouseOverWidget(final IPoint p0); - - int getLevel(); - - boolean isDescendant(final IWidget p0); - - List getAttributes(); - - boolean hasAttribute(final IWidgetAttribute p0); - - boolean addAttribute(final IWidgetAttribute p0); - - void addEventHandler(final EventHandler p0); - - void addSelfEventHandler(final EventHandler p0); - - boolean contains(final IPoint p0); - - float x(); - - float y(); - - float w(); - - float h(); - - void onRender(final RenderStage p0); -} diff --git a/src/main/java/binnie/craftgui/core/IWidgetAttribute.java b/src/main/java/binnie/craftgui/core/IWidgetAttribute.java deleted file mode 100644 index e2f04660..00000000 --- a/src/main/java/binnie/craftgui/core/IWidgetAttribute.java +++ /dev/null @@ -1,9 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core; - -public interface IWidgetAttribute -{ -} diff --git a/src/main/java/binnie/craftgui/core/RenderStage.java b/src/main/java/binnie/craftgui/core/RenderStage.java deleted file mode 100644 index d5dd7c60..00000000 --- a/src/main/java/binnie/craftgui/core/RenderStage.java +++ /dev/null @@ -1,12 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core; - -public enum RenderStage -{ - PreChildren, - PostChildren, - PostSiblings; -} diff --git a/src/main/java/binnie/craftgui/core/Tooltip.java b/src/main/java/binnie/craftgui/core/Tooltip.java deleted file mode 100644 index 736b2523..00000000 --- a/src/main/java/binnie/craftgui/core/Tooltip.java +++ /dev/null @@ -1,86 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core; - -import net.minecraftforge.fluids.FluidStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.item.ItemStack; -import java.util.ArrayList; -import java.util.List; - -public class Tooltip -{ - List tooltip; - ITooltipType type; - public int maxWidth; - - public Tooltip() { - this.tooltip = new ArrayList(); - this.type = Type.Standard; - this.maxWidth = 256; - } - - public void add(final String string) { - this.tooltip.add(string); - } - - public String getLine(final int index) { - final String string = this.getList().get(index); - return string; - } - - public void add(final List list) { - for (final Object obj : list) { - this.tooltip.add((String) obj); - } - } - - public List getList() { - return this.tooltip; - } - - public boolean exists() { - return this.tooltip.size() > 0; - } - - public void setType(final ITooltipType type) { - this.type = type; - } - - public void setMaxWidth(final int w) { - this.maxWidth = w; - } - - public ITooltipType getType() { - return this.type; - } - - public void add(final ItemStack item, final String string) { - final NBTTagCompound nbt = new NBTTagCompound(); - item.writeToNBT(nbt); - nbt.setByte("nbt-type", (byte) 105); - this.add("~~~" + nbt.toString() + "~~~" + string); - } - - public void add(final FluidStack item, final String string) { - final NBTTagCompound nbt = new NBTTagCompound(); - item.writeToNBT(nbt); - nbt.setByte("nbt-type", (byte) 102); - this.add("~~~" + nbt.toString() + "~~~" + string); - } - - public enum Type implements ITooltipType - { - Standard, - Help, - Information, - User, - Power; - } - - public interface ITooltipType - { - } -} diff --git a/src/main/java/binnie/craftgui/core/TopLevelWidget.java b/src/main/java/binnie/craftgui/core/TopLevelWidget.java deleted file mode 100644 index 9abf5590..00000000 --- a/src/main/java/binnie/craftgui/core/TopLevelWidget.java +++ /dev/null @@ -1,228 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core; - -import java.util.ListIterator; -import java.util.List; -import java.util.ArrayList; -import java.util.Collection; -import java.util.ArrayDeque; -import java.util.Deque; -import org.lwjgl.input.Mouse; -import binnie.craftgui.events.EventWidget; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.core.geometry.IPoint; - -public abstract class TopLevelWidget extends Widget implements ITopLevelWidget -{ - IWidget mousedOverWidget; - IWidget draggedWidget; - IWidget focusedWidget; - protected IPoint mousePosition; - IPoint dragStart; - - public TopLevelWidget() { - super(null); - this.mousedOverWidget = null; - this.draggedWidget = null; - this.focusedWidget = null; - this.mousePosition = new IPoint(0.0f, 0.0f); - this.dragStart = IPoint.ZERO; - this.addEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(final EventMouse.Down event) { - TopLevelWidget.this.setDraggedWidget(TopLevelWidget.this.mousedOverWidget, event.getButton()); - TopLevelWidget.this.setFocusedWidget(TopLevelWidget.this.mousedOverWidget); - } - }); - this.addEventHandler(new EventMouse.Up.Handler() { - @Override - public void onEvent(final EventMouse.Up event) { - TopLevelWidget.this.setDraggedWidget(null); - } - }); - this.addEventHandler(new EventWidget.StartDrag.Handler() { - @Override - public void onEvent(final EventWidget.StartDrag event) { - TopLevelWidget.this.dragStart = TopLevelWidget.this.getRelativeMousePosition(); - } - }); - } - - public void setMousedOverWidget(final IWidget widget) { - if (this.mousedOverWidget == widget) { - return; - } - if (this.mousedOverWidget != null) { - this.callEvent(new EventWidget.EndMouseOver(this.mousedOverWidget)); - } - this.mousedOverWidget = widget; - if (this.mousedOverWidget != null) { - this.callEvent(new EventWidget.StartMouseOver(this.mousedOverWidget)); - } - } - - public void setDraggedWidget(final IWidget widget) { - this.setDraggedWidget(widget, -1); - } - - public void setDraggedWidget(final IWidget widget, final int button) { - if (this.draggedWidget == widget) { - return; - } - if (this.draggedWidget != null) { - this.callEvent(new EventWidget.EndDrag(this.draggedWidget)); - } - this.draggedWidget = widget; - if (this.draggedWidget != null) { - this.callEvent(new EventWidget.StartDrag(this.draggedWidget, button)); - } - } - - public void setFocusedWidget(final IWidget widget) { - IWidget newWidget = widget; - if (this.focusedWidget == newWidget) { - return; - } - if (newWidget != null && !newWidget.canFocus()) { - newWidget = null; - } - if (this.focusedWidget != null) { - this.callEvent(new EventWidget.LoseFocus(this.focusedWidget)); - } - this.focusedWidget = newWidget; - if (this.focusedWidget != null) { - this.callEvent(new EventWidget.GainFocus(this.focusedWidget)); - } - } - - @Override - public IWidget getMousedOverWidget() { - return this.mousedOverWidget; - } - - @Override - public IWidget getDraggedWidget() { - return this.draggedWidget; - } - - @Override - public IWidget getFocusedWidget() { - return this.focusedWidget; - } - - @Override - public boolean isMouseOver(final IWidget widget) { - return this.getMousedOverWidget() == widget; - } - - @Override - public boolean isDragged(final IWidget widget) { - return this.getDraggedWidget() == widget; - } - - @Override - public boolean isFocused(final IWidget widget) { - return this.getFocusedWidget() == widget; - } - - @Override - public void updateTopLevel() { - this.setMousedOverWidget(this.calculateMousedOverWidget()); - if (this.getFocusedWidget() != null && (!this.getFocusedWidget().isVisible() || !this.getFocusedWidget().isEnabled())) { - this.setFocusedWidget(null); - } - if (!Mouse.isButtonDown(0)) { - if (this.draggedWidget != null) { - this.setDraggedWidget(null); - } - } - } - - private IWidget calculateMousedOverWidget() { - final Deque queue = this.calculateMousedOverWidgets(); - while (!queue.isEmpty()) { - final IWidget widget = queue.removeFirst(); - if (widget.isEnabled() && widget.isVisible()) { - if (!widget.canMouseOver()) { - continue; - } - if (widget.isEnabled() && widget.isVisible() && widget.canMouseOver() && widget.calculateIsMouseOver()) { - return widget; - } - continue; - } - } - return null; - } - - public Deque calculateMousedOverWidgets() { - final Deque list = new ArrayDeque(); - for (final IWidget widget : this.getQueuedWidgets(this)) { - if (widget.calculateIsMouseOver()) { - list.addLast(widget); - } - } - return list; - } - - private Collection getQueuedWidgets(final IWidget widget) { - final List widgets = new ArrayList(); - boolean addChildren = true; - if (widget.isCroppedWidet()) { - addChildren = widget.getCroppedZone().contains(widget.getCropWidget().getRelativeMousePosition()); - } - if (addChildren) { - final ListIterator li = widget.getWidgets().listIterator(widget.getWidgets().size()); - while (li.hasPrevious()) { - final IWidget child = li.previous(); - widgets.addAll(this.getQueuedWidgets(child)); - } - } - widgets.add(widget); - return widgets; - } - - @Override - public void setMousePosition(final int x, final int y) { - final float dx = x - this.mousePosition.x(); - final float dy = y - this.mousePosition.y(); - if (dx != 0.0f || dy != 0.0f) { - if (this.getDraggedWidget() != null) { - this.callEvent(new EventMouse.Drag(this.getDraggedWidget(), dx, dy)); - } - else { - this.callEvent(new EventMouse.Move(this, dx, dy)); - } - } - if (this.mousePosition.x() != x || this.mousePosition.y() != y) { - this.mousePosition = new IPoint(x, y); - this.setMousedOverWidget(this.calculateMousedOverWidget()); - } - } - - @Override - public IPoint getAbsoluteMousePosition() { - return this.mousePosition; - } - - @Override - public void widgetDeleted(final IWidget widget) { - if (this.isMouseOver(widget)) { - this.setMousedOverWidget(null); - } - if (this.isDragged(widget)) { - this.setDraggedWidget(null); - } - if (this.isFocused(widget)) { - this.setFocusedWidget(null); - } - } - - @Override - public IPoint getDragDistance() { - return this.getRelativeMousePosition().sub(this.dragStart); - } -} diff --git a/src/main/java/binnie/craftgui/core/Widget.java b/src/main/java/binnie/craftgui/core/Widget.java deleted file mode 100644 index 0d3dc8ee..00000000 --- a/src/main/java/binnie/craftgui/core/Widget.java +++ /dev/null @@ -1,517 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core; - -import java.util.ConcurrentModificationException; - -import binnie.craftgui.events.Event; -import binnie.craftgui.events.EventWidget; - -import java.util.ArrayList; - -import binnie.craftgui.events.EventHandler; - -import java.util.Collection; - -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.geometry.IPoint; - -import java.util.List; - -public class Widget implements IWidget -{ - private IWidget parent; - private List subWidgets; - private List attributes; - private IPoint position; - private IPoint size; - private IPoint offset; - IArea cropArea; - IWidget cropWidget; - boolean cropped; - int colour; - private Collection globalEventHandlers; - private boolean enabled; - private boolean visible; - - public Widget(final IWidget parent) { - this.parent = null; - this.subWidgets = new ArrayList(); - this.attributes = new ArrayList(); - this.position = new IPoint(0.0f, 0.0f); - this.size = new IPoint(0.0f, 0.0f); - this.offset = new IPoint(0.0f, 0.0f); - this.cropped = false; - this.colour = 16777215; - this.globalEventHandlers = new ArrayList(); - this.enabled = true; - this.visible = true; - this.parent = parent; - if (parent != null) { - parent.addWidget(this); - } - } - - @Override - public List getAttributes() { - return this.attributes; - } - - @Override - public boolean hasAttribute(final IWidgetAttribute attribute) { - return this.attributes.contains(attribute); - } - - @Override - public boolean addAttribute(final IWidgetAttribute attribute) { - return this.attributes.add(attribute); - } - - @Override - public final void deleteChild(final IWidget child) { - if (child == null) { - return; - } - child.delete(); - this.subWidgets.remove(child); - } - - @Override - public final void deleteAllChildren() { - while (!this.subWidgets.isEmpty()) { - this.deleteChild(this.subWidgets.get(0)); - } - } - - @Override - public final IWidget getParent() { - return this.parent; - } - - @Override - public final ITopLevelWidget getSuperParent() { - return (ITopLevelWidget) (this.isTopLevel() ? this : this.parent.getSuperParent()); - } - - @Override - public final IWidget addWidget(final IWidget widget) { - if (this.subWidgets.size() != 0 && this.subWidgets.get(this.subWidgets.size() - 1).hasAttribute(Attribute.AlwaysOnTop)) { - this.subWidgets.add(this.subWidgets.size() - 1, widget); - } - else { - this.subWidgets.add(widget); - } - this.onAddChild(widget); - return widget; - } - - protected void onAddChild(final IWidget widget) { - } - - @Override - public final List getWidgets() { - return this.subWidgets; - } - - @Override - public final boolean isTopLevel() { - return this instanceof ITopLevelWidget; - } - - @Override - public final IPoint pos() { - return this.position.add(this.offset); - } - - @Override - public final IPoint size() { - return this.size; - } - - @Override - public final IArea area() { - return this.getArea(); - } - - @Override - public final IPoint getPosition() { - return this.pos(); - } - - @Override - public final IArea getArea() { - return new IArea(IPoint.ZERO, this.size()); - } - - @Override - public final IPoint getOriginalPosition() { - return this.position; - } - - @Override - public IArea getCroppedZone() { - return this.cropArea; - } - - @Override - public void setCroppedZone(final IWidget relative, final IArea area) { - this.cropArea = area; - this.cropped = true; - this.cropWidget = relative; - } - - @Override - public final IPoint getAbsolutePosition() { - return this.isTopLevel() ? this.getPosition() : this.getParent().getAbsolutePosition().add(this.getPosition()); - } - - @Override - public final IPoint getOriginalAbsolutePosition() { - return this.isTopLevel() ? this.getOriginalPosition() : this.getParent().getOriginalPosition().sub(this.getOriginalPosition()); - } - - @Override - public final IPoint getSize() { - return this.size(); - } - - @Override - public final IPoint getOffset() { - return this.offset; - } - - @Override - public final void setPosition(final IPoint vector) { - if (!vector.equals(this.position)) { - this.position = new IPoint(vector); - this.callEvent(new EventWidget.ChangePosition(this)); - } - } - - @Override - public final void setSize(final IPoint vector) { - if (!vector.equals(this.size)) { - this.size = new IPoint(vector); - this.callEvent(new EventWidget.ChangeSize(this)); - } - } - - @Override - public final void setOffset(final IPoint vector) { - if (vector != this.offset) { - this.offset = new IPoint(vector); - this.callEvent(new EventWidget.ChangeOffset(this)); - } - } - - @Override - public final void setColour(final int colour) { - if (this.colour != colour) { - this.colour = colour; - this.callEvent(new EventWidget.ChangeColour(this)); - } - } - - @Override - public final int getColour() { - return this.colour; - } - - @Override - public boolean canMouseOver() { - return this.hasAttribute(Attribute.MouseOver); - } - - @Override - public boolean canFocus() { - return this.hasAttribute(Attribute.CanFocus); - } - - @Override - public void addEventHandler(final EventHandler handler) { - this.globalEventHandlers.add(handler); - } - - @Override - public void addSelfEventHandler(final EventHandler handler) { - this.addEventHandler(handler.setOrigin(EventHandler.Origin.Self, this)); - } - - @Override - public final void callEvent(final Event event) { - this.getSuperParent().recieveEvent(event); - } - - @Override - public final void recieveEvent(final Event event) { - for (final EventHandler handler : this.globalEventHandlers) { - if (handler.handles(event)) { - handler.onEvent(event); - } - } - try { - for (final IWidget child : this.getWidgets()) { - child.recieveEvent(event); - } - } catch (ConcurrentModificationException e) { - } - } - - @Override - public final IPoint getMousePosition() { - return this.getSuperParent().getAbsoluteMousePosition(); - } - - @Override - public final IPoint getRelativeMousePosition() { - return this.isTopLevel() ? this.getMousePosition() : this.getParent().getRelativeMousePosition().sub(this.getPosition()); - } - - @Override - public boolean isCroppedWidet() { - return this.cropped; - } - - @Override - public final IWidget getCropWidget() { - return (this.cropWidget == null) ? this : this.cropWidget; - } - - @Override - public final void render() { - if (this.isVisible()) { - CraftGUI.Render.preRender(this); - this.onRender(RenderStage.PreChildren); - for (final IWidget widget : this.getWidgets()) { - widget.render(); - } - for (final IWidget widget : this.getWidgets()) { - CraftGUI.Render.preRender(widget); - widget.onRender(RenderStage.PostSiblings); - CraftGUI.Render.postRender(widget); - } - this.onRender(RenderStage.PostChildren); - CraftGUI.Render.postRender(this); - } - } - - @Override - public final void updateClient() { - if (!this.isVisible()) { - return; - } - if (this.getSuperParent() == this) { - ((ITopLevelWidget) this).updateTopLevel(); - } - this.onUpdateClient(); - final List deletedWidgets = new ArrayList(); - for (final IWidget widget : this.getWidgets()) { - if (widget.hasAttribute(Attribute.NeedsDeletion)) { - deletedWidgets.add(widget); - } - else { - widget.updateClient(); - } - } - for (final IWidget widget : deletedWidgets) { - this.deleteChild(widget); - } - } - - @Override - public final boolean calculateIsMouseOver() { - final IPoint mouse = this.getRelativeMousePosition(); - if (!this.cropped) { - return this.isMouseOverWidget(mouse); - } - final IWidget cropRelative = (this.cropWidget != null) ? this.cropWidget : this; - final IPoint pos = IPoint.sub(cropRelative.getAbsolutePosition(), this.getAbsolutePosition()); - final IPoint size = new IPoint(this.cropArea.size().x(), this.cropArea.size().y()); - final boolean inCrop = mouse.x() > pos.x() && mouse.y() > pos.y() && mouse.x() < pos.x() + size.x() && mouse.y() < pos.y() + size.y(); - return inCrop && this.isMouseOverWidget(mouse); - } - - @Override - public boolean isMouseOverWidget(final IPoint relativeMouse) { - return this.getArea().contains(relativeMouse); - } - - @Override - public final void enable() { - this.enabled = true; - this.callEvent(new EventWidget.Enable(this)); - } - - @Override - public final void disable() { - this.enabled = false; - this.callEvent(new EventWidget.Disable(this)); - } - - @Override - public final void show() { - this.visible = true; - this.callEvent(new EventWidget.Show(this)); - } - - @Override - public final void hide() { - this.visible = false; - this.callEvent(new EventWidget.Hide(this)); - } - - @Override - public boolean isEnabled() { - if (this.enabled) { - if (!this.isTopLevel()) { - if (!this.getParent().isEnabled() || !this.getParent().isChildEnabled(this)) { - return false; - } - } - return true; - } - return false; - } - - @Override - public final boolean isVisible() { - if (this.visible) { - if (!this.isTopLevel()) { - if (!this.getParent().isVisible() || !this.getParent().isChildVisible(this)) { - return false; - } - } - return true; - } - return false; - } - - @Override - public final boolean isFocused() { - return this.getSuperParent().isFocused(this); - } - - @Override - public final boolean isDragged() { - return this.getSuperParent().isDragged(this); - } - - @Override - public final boolean isMouseOver() { - return this.getSuperParent().isMouseOver(this); - } - - @Override - public boolean isChildVisible(final IWidget child) { - return true; - } - - @Override - public boolean isChildEnabled(final IWidget child) { - return true; - } - - @Override - public void onRender(final RenderStage stage) { - if (stage == RenderStage.PreChildren) { - this.onRenderBackground(); - } - if (stage == RenderStage.PostChildren) { - this.onRenderForeground(); - } - if (stage == RenderStage.PostSiblings) { - this.onRenderOverlay(); - } - } - - public void onRenderBackground() { - } - - public void onRenderForeground() { - } - - public void onRenderOverlay() { - } - - @Override - public void onUpdateClient() { - } - - @Override - public final void delete() { - this.getSuperParent().widgetDeleted(this); - this.onDelete(); - } - - @Override - public void onDelete() { - } - - @Override - public T getWidget(final Class x) { - for (final IWidget child : this.getWidgets()) { - if (x.isInstance(child)) { - return (T) child; - } - final T found = child.getWidget(x); - if (found != null) { - return found; - } - } - return null; - } - - @Override - public final boolean contains(final IPoint position) { - return this.getArea().contains(position); - } - - public void scheduleDeletion() { - this.addAttribute(Attribute.NeedsDeletion); - } - - @Override - public int getLevel() { - final int level = (this.getParent() == null) ? 0 : this.getParent().getLevel(); - final int index = (this.getParent() == null) ? 0 : this.getParent().getWidgets().indexOf(this); - return level + index; - } - - @Override - public boolean isDescendant(final IWidget widget) { - IWidget clss = this; - while (clss != widget) { - clss = clss.getParent(); - if (clss == null) { - return false; - } - } - return true; - } - - @Override - public float x() { - return this.pos().x(); - } - - @Override - public float y() { - return this.pos().y(); - } - - @Override - public float w() { - return this.size().x(); - } - - @Override - public float h() { - return this.size().y(); - } - - public IWidget getWidget() { - return this; - } -} diff --git a/src/main/java/binnie/craftgui/core/geometry/CraftGUIUtil.java b/src/main/java/binnie/craftgui/core/geometry/CraftGUIUtil.java deleted file mode 100644 index 61642551..00000000 --- a/src/main/java/binnie/craftgui/core/geometry/CraftGUIUtil.java +++ /dev/null @@ -1,69 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core.geometry; - -import binnie.craftgui.events.EventValueChanged; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.core.IWidget; - -public class CraftGUIUtil -{ - public static void alignToWidget(final IWidget target, final IWidget relativeTo) { - final IPoint startPos = target.getAbsolutePosition(); - final IPoint endPos = relativeTo.getAbsolutePosition(); - moveWidget(target, endPos.sub(startPos)); - } - - public static void moveWidget(final IWidget target, final IPoint movement) { - target.setPosition(target.getPosition().add(movement)); - } - - public static void horizontalGrid(final float px, final float py, final IWidget... widgets) { - horizontalGrid(px, py, TextJustification.MiddleCenter, 0.0f, widgets); - } - - public static void horizontalGrid(final float px, final float py, final TextJustification just, final float spacing, final IWidget... widgets) { - float x = 0.0f; - float h = 0.0f; - for (final IWidget widget : widgets) { - h = Math.max(h, widget.getSize().y()); - } - for (final IWidget widget : widgets) { - widget.setPosition(new IPoint(px + x, py + (h - widget.getSize().y()) * just.yOffset)); - x += widget.getSize().x() + spacing; - } - } - - public static void verticalGrid(final float px, final float py, final IWidget... widgets) { - horizontalGrid(px, py, TextJustification.MiddleCenter, 0.0f, widgets); - } - - public static void verticalGrid(final float px, final float py, final TextJustification just, final float spacing, final IWidget... widgets) { - float y = 0.0f; - float w = 0.0f; - for (final IWidget widget : widgets) { - w = Math.max(w, widget.getSize().x()); - } - for (final IWidget widget : widgets) { - widget.setPosition(new IPoint(px + (w - widget.getSize().x()) * just.xOffset, py + y)); - y += widget.getSize().y() + spacing; - } - } - - public static void linkWidgets(final IControlValue tab, final IControlValue target) { - tab.addSelfEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(final EventValueChanged event) { - target.setValue((T) event.getValue()); - } - }); - target.addSelfEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(final EventValueChanged event) { - tab.setValue((T) event.getValue()); - } - }); - } -} diff --git a/src/main/java/binnie/craftgui/core/geometry/IArea.java b/src/main/java/binnie/craftgui/core/geometry/IArea.java deleted file mode 100644 index bf47a22d..00000000 --- a/src/main/java/binnie/craftgui/core/geometry/IArea.java +++ /dev/null @@ -1,121 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core.geometry; - -public class IArea -{ - private IPoint pos; - private IPoint size; - - public IArea(final IArea area) { - this(area.pos().x(), area.pos().y(), area.size().x(), area.size().y()); - } - - public IArea(final IPoint pos, final IPoint size) { - this(pos.x(), pos.y(), size.x(), size.y()); - } - - public IArea(final float xywh) { - this(xywh, xywh, xywh, xywh); - } - - public IArea(final float xy, final float wh) { - this(xy, xy, wh, wh); - } - - public IArea(final float x, final float y, final float wh) { - this(x, y, wh, wh); - } - - public IArea(final float x, final float y, final float w, final float h) { - this.setPosition(new IPoint(x, y)); - this.setSize(new IPoint(w, h)); - } - - public IPoint pos() { - return this.pos; - } - - public IPoint getPosition() { - return this.pos; - } - - public void setPosition(final IPoint position) { - this.pos = position.copy(); - } - - public IPoint size() { - return this.size; - } - - public IPoint getSize() { - return this.size; - } - - public void setSize(final IPoint size) { - this.size = size.copy(); - } - - public boolean contains(final IPoint position) { - return position.x() >= this.pos().x() && position.y() >= this.pos.y() && position.x() <= this.pos().x() + this.size().x() && position.y() <= this.pos().y() + this.size().y(); - } - - public float x() { - return this.pos().x(); - } - - public float y() { - return this.pos().y(); - } - - public float w() { - return this.size().x(); - } - - public float h() { - return this.size().y(); - } - - public float x(final float n) { - return this.pos.x(n); - } - - public float y(final float n) { - return this.pos.y(n); - } - - public float w(final float n) { - return this.size.x(n); - } - - public float h(final float n) { - return this.size.y(n); - } - - public IArea inset(final IBorder border) { - return new IArea(this.x() + border.l(), this.y() + border.t(), this.w() - border.l() - border.r(), this.h() - border.t() - border.b()); - } - - public IArea outset(final int outset) { - return this.outset(new IBorder(outset)); - } - - public IArea outset(final IBorder border) { - return new IArea(this.x() - border.l(), this.y() - border.t(), this.w() + border.l() + border.r(), this.h() + border.t() + border.b()); - } - - public IArea inset(final int inset) { - return this.inset(new IBorder(inset)); - } - - @Override - public String toString() { - return this.w() + "x" + this.h() + "@" + this.x() + "," + this.y(); - } - - public IArea shift(final float dx, final float f) { - return new IArea(this.x() + dx, this.y() + f, this.w(), this.h()); - } -} diff --git a/src/main/java/binnie/craftgui/core/geometry/IBorder.java b/src/main/java/binnie/craftgui/core/geometry/IBorder.java deleted file mode 100644 index 20265dda..00000000 --- a/src/main/java/binnie/craftgui/core/geometry/IBorder.java +++ /dev/null @@ -1,110 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core.geometry; - -public class IBorder -{ - public static final IBorder ZERO; - float t; - float b; - float l; - float r; - - public IBorder(final float pad) { - this(pad, pad, pad, pad); - } - - public IBorder(final float tb, final float rl) { - this(tb, rl, tb, rl); - } - - public IBorder(final float t, final float rl, final float b) { - this(t, rl, b, rl); - } - - public IBorder(final float t, final float r, final float b, final float l) { - this.t = t; - this.b = b; - this.l = l; - this.r = r; - } - - public IBorder(final Position edge, final float n) { - this((edge == Position.Top) ? n : 0.0f, (edge == Position.Right) ? n : 0.0f, (edge == Position.Bottom) ? n : 0.0f, (edge == Position.Left) ? n : 0.0f); - } - - public IBorder(final IBorder padding) { - this(padding.t(), padding.r(), padding.b(), padding.l()); - } - - public float t() { - return this.t; - } - - public float b() { - return this.b; - } - - public float l() { - return this.l; - } - - public float r() { - return this.r; - } - - public float t(final float n) { - return this.t = n; - } - - public float b(final float n) { - return this.b = n; - } - - public float l(final float n) { - return this.l = n; - } - - public float r(final float n) { - return this.r = n; - } - - public boolean isNonZero() { - return this.t != 0.0f || this.r != 0.0f || this.l != 0.0f || this.r != 0.0f; - } - - @Deprecated - public IPoint tl() { - return new IPoint(this.l(), this.t()); - } - - @Deprecated - public IPoint tr() { - return new IPoint(this.r(), this.t()); - } - - @Deprecated - public IPoint bl() { - return new IPoint(this.l(), this.b()); - } - - @Deprecated - public IPoint br() { - return new IPoint(this.r(), this.b()); - } - - public IBorder add(final IBorder o) { - return new IBorder(this.t() + o.t(), this.r() + o.r(), this.b() + o.b(), this.l() + o.l()); - } - - @Override - public String toString() { - return this.t() + "-" + this.r() + "-" + this.b() + "-" + this.l(); - } - - static { - ZERO = new IBorder(0.0f); - } -} diff --git a/src/main/java/binnie/craftgui/core/geometry/IPoint.java b/src/main/java/binnie/craftgui/core/geometry/IPoint.java deleted file mode 100644 index d7d1501d..00000000 --- a/src/main/java/binnie/craftgui/core/geometry/IPoint.java +++ /dev/null @@ -1,79 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core.geometry; - -public class IPoint -{ - public static final IPoint ZERO; - float x; - float y; - - public IPoint(final float x, final float y) { - this.x = 0.0f; - this.y = 0.0f; - this.x = x; - this.y = y; - } - - public IPoint(final IPoint o) { - this.x = 0.0f; - this.y = 0.0f; - this.x = o.x(); - this.y = o.y(); - } - - public static IPoint add(final IPoint a, final IPoint b) { - return new IPoint(a.x() + b.x(), a.y() + b.y()); - } - - public static IPoint sub(final IPoint a, final IPoint b) { - return new IPoint(a.x() - b.x(), a.y() - b.y()); - } - - public IPoint sub(final IPoint a) { - return sub(this, a); - } - - public IPoint add(final IPoint other) { - return add(this, other); - } - - public IPoint add(final float dx, final float dy) { - return add(this, new IPoint(dx, dy)); - } - - public IPoint copy() { - return new IPoint(this); - } - - public float x() { - return this.x; - } - - public float y() { - return this.y; - } - - public void xy(final float x, final float y) { - this.x(x); - this.y(y); - } - - public float x(final float x) { - return this.x = x; - } - - public float y(final float y) { - return this.y = y; - } - - public boolean equals(final IPoint other) { - return this.x() == other.x() && this.y() == other.y(); - } - - static { - ZERO = new IPoint(0.0f, 0.0f); - } -} diff --git a/src/main/java/binnie/craftgui/core/geometry/Position.java b/src/main/java/binnie/craftgui/core/geometry/Position.java deleted file mode 100644 index 43d4ce9d..00000000 --- a/src/main/java/binnie/craftgui/core/geometry/Position.java +++ /dev/null @@ -1,49 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core.geometry; - -public enum Position -{ - Top(0, -1), - Bottom(0, 1), - Left(-1, 0), - Right(1, 0); - - int x; - int y; - - private Position(final int x, final int y) { - this.x = x; - this.y = y; - } - - public int x() { - return this.x; - } - - public int y() { - return this.y; - } - - public Position opposite() { - switch (this) { - case Bottom: { - return Position.Top; - } - case Left: { - return Position.Right; - } - case Right: { - return Position.Left; - } - case Top: { - return Position.Bottom; - } - default: { - return null; - } - } - } -} diff --git a/src/main/java/binnie/craftgui/core/renderer/Renderer.java b/src/main/java/binnie/craftgui/core/renderer/Renderer.java deleted file mode 100644 index 81745699..00000000 --- a/src/main/java/binnie/craftgui/core/renderer/Renderer.java +++ /dev/null @@ -1,228 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core.renderer; - -import binnie.craftgui.core.geometry.Position; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.util.IIcon; -import net.minecraft.item.ItemStack; -import java.util.List; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.core.BinnieCore; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.geometry.IArea; -import org.lwjgl.opengl.GL11; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.resource.IStyleSheet; -import binnie.craftgui.resource.Texture; -import binnie.craftgui.minecraft.GuiCraftGUI; - -public class Renderer -{ - GuiCraftGUI gui; - int currentColour; - Texture currentTexture; - IStyleSheet stylesheet; - - public Renderer(final GuiCraftGUI gui) { - this.currentColour = 16777215; - this.gui = gui; - } - - public final void preRender(final IWidget widget) { - GL11.glPushMatrix(); - GL11.glTranslatef(widget.getPosition().x(), widget.getPosition().y(), 0.0f); - this.colour(widget.getColour()); - if (widget.isCroppedWidet()) { - final IWidget cropRelative = (widget.getCropWidget() != null) ? widget.getCropWidget() : widget; - final IPoint pos = cropRelative.getAbsolutePosition(); - final IArea cropZone = widget.getCroppedZone(); - GL11.glEnable(3089); - this.limitArea(new IArea(pos.add(cropZone.pos()), cropZone.size())); - - } - GL11.glDisable(2929); - } - - public final void postRender(final IWidget widget) { - if (widget.isCroppedWidet()) { - GL11.glDisable(3089); - } - GL11.glEnable(2929); - GL11.glPopMatrix(); - } - - public void colour(final int hex) { - this.currentColour = hex; - int a = (hex & 0xFF000000) >> 24; - final int r = (hex & 0xFF0000) >> 16; - final int g = (hex & 0xFF00) >> 8; - final int b = hex & 0xFF; - if (a < 0) { - a += 256; - } - if (a > 0 && a != 255) { - GL11.glColor4f(r / 255.0f, g / 255.0f, b / 255.0f, a / 255.0f); - GL11.glEnable(3042); - } - else { - GL11.glColor3f(r / 255.0f, g / 255.0f, b / 255.0f); - } - } - - public Texture getTexture(final Object key) { - if (key instanceof Texture) { - return (Texture) key; - } - return this.stylesheet.getTexture(key); - } - - public void setTexture(final Texture texture) { - if (texture != this.currentTexture && texture != null) { - BinnieCore.proxy.bindTexture(texture.getFilename()); - } - this.colour(this.currentColour); - } - - public void texture(final Object texture, final IPoint position) { - this.texture(this.getTexture(texture), position); - } - - public void texture(final Texture texture, final IPoint position) { - if (texture == null) { - return; - } - this.setTexture(texture); - final IPoint point = position.sub(new IPoint(texture.getBorder().l(), texture.getBorder().t())); - final IArea textureArea = texture.getArea().outset(texture.getBorder()); - this.gui.renderTexture(point, textureArea); - } - - public void texture(final Object window, final IArea area) { - this.texture(this.getTexture(window), area); - } - - public void texture(final Texture texture, final IArea area) { - if (texture == null) { - return; - } - this.setTexture(texture); - final IArea textureArea = texture.getArea().outset(texture.getBorder()); - final IArea targetArea = area.outset(texture.getBorder()); - if (textureArea.w() == targetArea.w() && textureArea.h() == targetArea.h()) { - this.gui.renderTexture(targetArea.pos(), textureArea); - } - else { - this.gui.renderTexturePadded(targetArea, textureArea, texture.getTotalPadding()); - } - } - - public void stylesheet(final IStyleSheet sheet) { - this.stylesheet = sheet; - } - - public int textWidth(final String text) { - return this.gui.getFontRenderer().getStringWidth(text); - } - - public int textHeight() { - return (this.gui.getFontRenderer() == null) ? 0 : this.gui.getFontRenderer().FONT_HEIGHT; - } - - public void text(final IPoint pos, final String text, final int colour) { - this.text(new IArea(pos, new IPoint(500.0f, 500.0f)), TextJustification.TopLeft, text, colour); - } - - public void text(final IArea area, final TextJustification justification, final String text, final int colour) { - final IPoint pos = area.pos(); - if (area.size().x() <= 0.0f) { - return; - } - final List wrappedStrings = this.gui.getFontRenderer().listFormattedStringToWidth(text, (int) area.size().x()); - final float totalHeight = wrappedStrings.size() * this.textHeight(); - float posY = area.pos().y(); - if (area.size().y() > totalHeight) { - posY += (area.size().y() - totalHeight) * justification.getYOffset(); - } - for (final String string : wrappedStrings) { - final float stringWidth = this.textWidth(string); - float posX = area.size().x() - stringWidth; - posX *= justification.getXOffset(); - GL11.glDisable(2929); - this.gui.getFontRenderer().drawString(string, (int) (pos.x() + posX), (int) posY, colour); - posY += this.textHeight(); - } - GL11.glColor3f(1.0f, 1.0f, 1.0f); - } - - public void solid(final IArea area, final int colour) { - this.gui.drawRect(area.pos().x(), area.pos().y(), area.pos().x() + area.size().x(), area.pos().y() + area.size().y(), 0xFF000000 | colour); - } - - public void solidAlpha(final IArea area, final int c1) { - this.gui.drawGradientArea(area.pos().x(), area.pos().y(), area.pos().x() + area.size().x(), area.pos().y() + area.size().y(), c1, c1); - } - - public void gradientRect(final IArea area, final int c1, final int c2) { - this.gui.drawGradientArea(area.pos().x(), area.pos().y(), area.pos().x() + area.size().x(), area.pos().y() + area.size().y(), c1, c2); - } - - public void item(final IPoint pos, final ItemStack item) { - this.gui.renderItem(pos, item, false); - } - - public void item(final IPoint pos, final ItemStack item, final boolean rotating) { - this.gui.renderItem(pos, item, rotating); - } - - public void iconBlock(final IPoint pos, final IIcon icon) { - this.gui.renderIcon(pos, icon, TextureMap.locationBlocksTexture); - } - - public void iconItem(final IPoint pos, final IIcon icon) { - this.gui.renderIcon(pos, icon, TextureMap.locationItemsTexture); - } - - public void limitArea(final IArea area) { - this.gui.limitArea(area); - } - - public float textHeight(final String text, final float width) { - return this.gui.getFontRenderer().listFormattedStringToWidth(text, (int) width).size() * this.textHeight(); - } - - public void texturePercentage(final Texture texture, final IArea area, final Position direction, final float percentage) { - final float dist = (direction == Position.Top || direction == Position.Bottom) ? (percentage * texture.h()) : (percentage * texture.w()); - final float dim = (direction == Position.Top || direction == Position.Bottom) ? texture.h() : texture.w(); - float x = area.pos().x(); - float y = area.pos().y(); - float w = area.size().x(); - float h = area.size().y(); - switch (direction) { - case Top: { - h *= percentage; - break; - } - case Right: { - x += (1.0f - percentage) * w; - w *= percentage; - break; - } - case Left: { - w *= percentage; - break; - } - case Bottom: { - y += h - (int) (percentage * h); - h *= percentage; - break; - } - } - this.texture(texture.crop(direction, dim - dist), new IArea(x, y, w, h)); - } - - public void test(final IWidget widget) { - } -} diff --git a/src/main/java/binnie/craftgui/core/renderer/TextureType.java b/src/main/java/binnie/craftgui/core/renderer/TextureType.java deleted file mode 100644 index 72d3a5ab..00000000 --- a/src/main/java/binnie/craftgui/core/renderer/TextureType.java +++ /dev/null @@ -1,11 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.core.renderer; - -public enum TextureType -{ - Stretched, - Tiled; -} diff --git a/src/main/java/binnie/craftgui/events/Event.java b/src/main/java/binnie/craftgui/events/Event.java deleted file mode 100644 index d7f52f76..00000000 --- a/src/main/java/binnie/craftgui/events/Event.java +++ /dev/null @@ -1,24 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.events; - -import binnie.craftgui.core.IWidget; - -public class Event -{ - IWidget origin; - - public Event(final IWidget origin) { - this.origin = origin; - } - - public IWidget getOrigin() { - return this.origin; - } - - public boolean isOrigin(final IWidget widget) { - return this.origin == widget; - } -} diff --git a/src/main/java/binnie/craftgui/events/EventButtonClicked.java b/src/main/java/binnie/craftgui/events/EventButtonClicked.java deleted file mode 100644 index 9287348f..00000000 --- a/src/main/java/binnie/craftgui/events/EventButtonClicked.java +++ /dev/null @@ -1,21 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.events; - -import binnie.craftgui.core.IWidget; - -public class EventButtonClicked extends Event -{ - public EventButtonClicked(final IWidget origin) { - super(origin); - } - - public abstract static class Handler extends EventHandler - { - public Handler() { - super(EventButtonClicked.class); - } - } -} diff --git a/src/main/java/binnie/craftgui/events/EventCycleChanged.java b/src/main/java/binnie/craftgui/events/EventCycleChanged.java deleted file mode 100644 index 148aa3e8..00000000 --- a/src/main/java/binnie/craftgui/events/EventCycleChanged.java +++ /dev/null @@ -1,21 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.events; - -import binnie.craftgui.core.IWidget; - -public class EventCycleChanged extends Event -{ - public int value; - - public EventCycleChanged(final IWidget origin, final int value) { - super(origin); - this.value = value; - } - - public int getValue() { - return this.value; - } -} diff --git a/src/main/java/binnie/craftgui/events/EventHandler.java b/src/main/java/binnie/craftgui/events/EventHandler.java deleted file mode 100644 index a6ec6219..00000000 --- a/src/main/java/binnie/craftgui/events/EventHandler.java +++ /dev/null @@ -1,60 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.events; - -import binnie.craftgui.core.IWidget; - -public abstract class EventHandler -{ - Class eventClass; - Origin origin; - IWidget relative; - - public EventHandler(final Class eventClass) { - this.origin = Origin.Any; - this.relative = null; - this.eventClass = eventClass; - } - - public EventHandler setOrigin(final Origin origin, final IWidget relative) { - this.origin = origin; - this.relative = relative; - return this; - } - - public abstract void onEvent(final E p0); - - public final boolean handles(final Event e) { - return this.eventClass.isInstance(e) && this.origin.isOrigin(e.getOrigin(), this.relative); - } - - public enum Origin - { - Any, - Self, - Parent, - DirectChild; - - public boolean isOrigin(final IWidget origin, final IWidget test) { - switch (this) { - case Any: { - return true; - } - case DirectChild: { - return test.getWidgets().contains(origin); - } - case Parent: { - return test.getParent() == origin; - } - case Self: { - return test == origin; - } - default: { - return false; - } - } - } - } -} diff --git a/src/main/java/binnie/craftgui/events/EventKey.java b/src/main/java/binnie/craftgui/events/EventKey.java deleted file mode 100644 index 262fe9fa..00000000 --- a/src/main/java/binnie/craftgui/events/EventKey.java +++ /dev/null @@ -1,55 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.events; - -import binnie.craftgui.core.IWidget; - -public abstract class EventKey extends Event -{ - char character; - int key; - - public EventKey(final IWidget origin, final char character, final int key) { - super(origin); - this.character = character; - this.key = key; - } - - public char getCharacter() { - return this.character; - } - - public int getKey() { - return this.key; - } - - public static class Down extends EventKey - { - public Down(final IWidget origin, final char character, final int key) { - super(origin, character, key); - } - - public abstract static class Handler extends EventHandler - { - public Handler() { - super(Down.class); - } - } - } - - public static class Up extends EventKey - { - public Up(final IWidget origin, final char character, final int key) { - super(origin, character, key); - } - - public abstract static class Handler extends EventHandler - { - public Handler() { - super(Up.class); - } - } - } -} diff --git a/src/main/java/binnie/craftgui/events/EventMouse.java b/src/main/java/binnie/craftgui/events/EventMouse.java deleted file mode 100644 index c26def19..00000000 --- a/src/main/java/binnie/craftgui/events/EventMouse.java +++ /dev/null @@ -1,131 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.events; - -import binnie.craftgui.core.IWidget; - -public abstract class EventMouse extends Event -{ - public EventMouse(final IWidget origin) { - super(origin); - } - - public static class Button extends EventMouse - { - int x; - int y; - int button; - - public int getX() { - return this.x; - } - - public int getY() { - return this.y; - } - - public int getButton() { - return this.button; - } - - public Button(final IWidget currentMousedOverWidget, final int x, final int y, final int button) { - super(currentMousedOverWidget); - this.x = x; - this.y = y; - this.button = button; - } - } - - public static class Down extends Button - { - public Down(final IWidget currentMousedOverWidget, final int x, final int y, final int button) { - super(currentMousedOverWidget, x, y, button); - } - - public abstract static class Handler extends EventHandler - { - public Handler() { - super(Down.class); - } - } - } - - public static class Up extends Button - { - public Up(final IWidget currentMousedOverWidget, final int x, final int y, final int button) { - super(currentMousedOverWidget, x, y, button); - } - - public abstract static class Handler extends EventHandler - { - public Handler() { - super(Up.class); - } - } - } - - public static class Move extends EventMouse - { - float dx; - float dy; - - public float getDx() { - return this.dx; - } - - public float getDy() { - return this.dy; - } - - public Move(final IWidget origin, final float dx, final float dy) { - super(origin); - this.dx = dx; - this.dy = dy; - } - - public abstract static class Handler extends EventHandler - { - public Handler() { - super(Move.class); - } - } - } - - public static class Drag extends Move - { - public Drag(final IWidget draggedWidget, final float dx, final float dy) { - super(draggedWidget, dx, dy); - } - - public abstract static class Handler extends EventHandler - { - public Handler() { - super(Drag.class); - } - } - } - - public static class Wheel extends EventMouse - { - int dWheel; - - public Wheel(final IWidget origin, final int dWheel) { - super(origin); - this.dWheel = 0; - this.dWheel = dWheel / 28; - } - - public int getDWheel() { - return this.dWheel; - } - - public abstract static class Handler extends EventHandler - { - public Handler() { - super(Wheel.class); - } - } - } -} diff --git a/src/main/java/binnie/craftgui/events/EventTextEdit.java b/src/main/java/binnie/craftgui/events/EventTextEdit.java deleted file mode 100644 index cb2b83e1..00000000 --- a/src/main/java/binnie/craftgui/events/EventTextEdit.java +++ /dev/null @@ -1,21 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.events; - -import binnie.craftgui.core.IWidget; - -public class EventTextEdit extends EventValueChanged -{ - public EventTextEdit(final IWidget origin, final String text) { - super(origin, text); - } - - public abstract static class Handler extends EventHandler - { - public Handler() { - super(EventTextEdit.class); - } - } -} diff --git a/src/main/java/binnie/craftgui/events/EventToggleButtonClicked.java b/src/main/java/binnie/craftgui/events/EventToggleButtonClicked.java deleted file mode 100644 index 6af86785..00000000 --- a/src/main/java/binnie/craftgui/events/EventToggleButtonClicked.java +++ /dev/null @@ -1,21 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.events; - -import binnie.craftgui.core.IWidget; - -public class EventToggleButtonClicked extends Event -{ - boolean toggled; - - public EventToggleButtonClicked(final IWidget origin, final boolean toggled) { - super(origin); - this.toggled = toggled; - } - - public boolean isActive() { - return this.toggled; - } -} diff --git a/src/main/java/binnie/craftgui/events/EventValueChanged.java b/src/main/java/binnie/craftgui/events/EventValueChanged.java deleted file mode 100644 index 8ed382dd..00000000 --- a/src/main/java/binnie/craftgui/events/EventValueChanged.java +++ /dev/null @@ -1,28 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.events; - -import binnie.craftgui.core.IWidget; - -public class EventValueChanged extends Event -{ - public T value; - - public EventValueChanged(final IWidget origin, final T value) { - super(origin); - this.value = value; - } - - public T getValue() { - return this.value; - } - - public abstract static class Handler extends EventHandler - { - public Handler() { - super(EventValueChanged.class); - } - } -} diff --git a/src/main/java/binnie/craftgui/events/EventValuesChanged.java b/src/main/java/binnie/craftgui/events/EventValuesChanged.java deleted file mode 100644 index 62817686..00000000 --- a/src/main/java/binnie/craftgui/events/EventValuesChanged.java +++ /dev/null @@ -1,21 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.events; - -import binnie.craftgui.core.IWidget; - -public class EventValuesChanged extends Event -{ - public T[] values; - - public EventValuesChanged(final IWidget origin, final T[] values) { - super(origin); - this.values = values; - } - - public T[] getValues() { - return this.values; - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/ContainerCraftGUI.java b/src/main/java/binnie/craftgui/minecraft/ContainerCraftGUI.java deleted file mode 100644 index fd0638d2..00000000 --- a/src/main/java/binnie/craftgui/minecraft/ContainerCraftGUI.java +++ /dev/null @@ -1,481 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft; - -import binnie.craftgui.minecraft.control.EnumHighlighting; -import binnie.craftgui.minecraft.control.ControlSlot; -import java.util.List; -import java.util.ArrayList; -import binnie.core.network.packet.MessageContainerUpdate; -import binnie.core.BinnieCore; -import binnie.core.machines.network.INetwork; -import binnie.core.machines.power.IProcess; -import binnie.core.machines.power.IErrorStateSource; -import binnie.core.machines.power.IPoweredMachine; -import binnie.core.machines.power.ITankMachine; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.inventory.IInventory; -import binnie.core.machines.transfer.TransferRequest; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.inventory.Slot; -import com.mojang.authlib.GameProfile; -import binnie.core.machines.IMachine; -import cpw.mods.fml.relauncher.Side; -import binnie.core.machines.Machine; -import java.util.HashMap; -import binnie.core.machines.power.ErrorState; -import binnie.core.machines.power.ProcessInfo; -import binnie.core.machines.power.PowerInfo; -import binnie.core.machines.power.TankInfo; -import net.minecraft.nbt.NBTTagCompound; -import java.util.Map; -import net.minecraft.inventory.Container; - -public class ContainerCraftGUI extends Container -{ - private Window window; - private Map syncedNBT; - private Map sentNBT; - private Map syncedTanks; - private PowerInfo syncedPower; - private ProcessInfo syncedProcess; - private int errorType; - private ErrorState error; - private int mousedOverSlotNumber; - - public ContainerCraftGUI(final Window window) { - this.syncedNBT = new HashMap(); - this.sentNBT = new HashMap(); - this.syncedTanks = new HashMap(); - this.syncedPower = new PowerInfo(); - this.syncedProcess = new ProcessInfo(); - this.errorType = 0; - this.error = null; - this.mousedOverSlotNumber = -1; - this.window = window; - final IMachine machine = Machine.getMachine(window.getInventory()); - if (this.getSide() == Side.SERVER) { - this.inventoryItemStacks = new ListMap(); - this.inventorySlots = new ListMap(); - if (machine != null) { - final GameProfile user = machine.getOwner(); - if (user != null) { - final NBTTagCompound nbt = new NBTTagCompound(); - nbt.setString("username", user.getName()); - this.sendNBTToClient("username", nbt); - } - } - } - } - - @Override - protected Slot addSlotToContainer(final Slot slot) { - return super.addSlotToContainer(slot); - } - - private Side getSide() { - return this.window.isServer() ? Side.SERVER : Side.CLIENT; - } - - @Override - public Slot getSlot(final int par1) { - if (par1 < 0 || par1 >= this.inventorySlots.size()) { - return null; - } - return (Slot) this.inventorySlots.get(par1); - } - - @Override - public void putStackInSlot(final int par1, final ItemStack par2ItemStack) { - if (this.getSlot(par1) != null) { - this.getSlot(par1).putStack(par2ItemStack); - } - } - - @Override - public void putStacksInSlots(final ItemStack[] par1ArrayOfItemStack) { - for (int i = 0; i < par1ArrayOfItemStack.length; ++i) { - if (this.getSlot(i) != null) { - this.getSlot(i).putStack(par1ArrayOfItemStack[i]); - } - } - } - - @Override - public void onContainerClosed(final EntityPlayer par1EntityPlayer) { - super.onContainerClosed(par1EntityPlayer); - final WindowInventory inventory = this.window.getWindowInventory(); - for (int i = 0; i < inventory.getSizeInventory(); ++i) { - if (inventory.dispenseOnClose(i)) { - ItemStack stack = inventory.getStackInSlot(i); - if (stack != null) { - stack = new TransferRequest(stack, par1EntityPlayer.inventory).transfer(true); - if (stack != null) { - par1EntityPlayer.dropPlayerItemWithRandomChoice(stack, false); - } - } - } - } - } - - @Override - public ItemStack slotClick(final int slotNum, final int mouseButton, final int modifier, final EntityPlayer player) { - final Slot slot = this.getSlot(slotNum); - if (slot instanceof CustomSlot && ((CustomSlot) slot).handleClick()) { - ((CustomSlot) slot).onSlotClick(this, mouseButton, modifier, player); - return player.inventory.getItemStack(); - } - final ItemStack stack = super.slotClick(slotNum, mouseButton, modifier, player); - return stack; - } - - public void sendNBTToClient(final String key, final NBTTagCompound nbt) { - this.syncedNBT.put(key, nbt); - } - - @Override - public boolean canInteractWith(final EntityPlayer var1) { - return true; - } - - @Override - public final ItemStack transferStackInSlot(final EntityPlayer player, final int slotID) { - return this.shiftClick(player, slotID); - } - - private ItemStack shiftClick(final EntityPlayer player, final int slotnumber) { - final TransferRequest request = this.getShiftClickRequest(player, slotnumber); - if (request == null) { - return null; - } - final ItemStack itemstack = request.transfer(true); - final Slot shiftClickedSlot = (Slot) this.inventorySlots.get(slotnumber); - shiftClickedSlot.putStack(itemstack); - shiftClickedSlot.onSlotChanged(); - return null; - } - - private TransferRequest getShiftClickRequest(final EntityPlayer player, final int slotnumber) { - if (slotnumber < 0) { - return null; - } - final Slot shiftClickedSlot = (Slot) this.inventorySlots.get(slotnumber); - ItemStack itemstack = null; - if (shiftClickedSlot.getHasStack()) { - itemstack = shiftClickedSlot.getStack().copy(); - } - final IInventory playerInventory = player.inventory; - final IInventory containerInventory = this.window.getInventory(); - final IInventory windowInventory = this.window.getWindowInventory(); - final IInventory fromPlayer = (containerInventory == null) ? windowInventory : containerInventory; - final int[] target = new int[36]; - for (int i = 0; i < 36; ++i) { - target[i] = i; - } - TransferRequest request; - if (shiftClickedSlot.inventory == playerInventory) { - request = new TransferRequest(itemstack, fromPlayer).setOrigin(shiftClickedSlot.inventory); - } - else { - request = new TransferRequest(itemstack, playerInventory).setOrigin(shiftClickedSlot.inventory).setTargetSlots(target); - } - if (this.window instanceof IWindowAffectsShiftClick) { - ((IWindowAffectsShiftClick) this.window).alterRequest(request); - } - return request; - } - - public final ItemStack tankClick(final EntityPlayer player, final int slotID) { - if (player.inventory.getItemStack() == null) { - return null; - } - ItemStack heldItem = player.inventory.getItemStack().copy(); - heldItem = new TransferRequest(heldItem, this.window.getInventory()).setOrigin(player.inventory).setTargetSlots(new int[0]).setTargetTanks(new int[] { slotID }).transfer(true); - player.inventory.setItemStack(heldItem); - if (player instanceof EntityPlayerMP) { - ((EntityPlayerMP) player).updateHeldItem(); - } - return heldItem; - } - - public boolean handleNBT(final Side side, final EntityPlayer player, final String name, final NBTTagCompound action) { - if (side == Side.SERVER) { - if (name.equals("tank-click")) { - this.tankClick(player, action.getByte("id")); - } - if (name.equals("slot-reg")) { - final int type = action.getByte("t"); - final int index = action.getShort("i"); - final int slotNumber = action.getShort("n"); - this.getOrCreateSlot(InventoryType.values()[type % 4], index, slotNumber); - } - } - if (name.contains("tank-update")) { - this.onTankUpdate(action); - } - else if (name.equals("power-update")) { - this.onPowerUpdate(action); - } - else if (name.equals("process-update")) { - this.onProcessUpdate(action); - } - else if (name.equals("error-update")) { - this.onErrorUpdate(action); - } - else if (name.equals("mouse-over-slot")) { - this.onMouseOverSlot(player, action); - } - else if (name.equals("shift-click-info")) { - this.onRecieveShiftClickHighlights(player, action); - } - return false; - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - final ITankMachine tanks = Machine.getInterface(ITankMachine.class, this.window.getInventory()); - final IPoweredMachine powered = Machine.getInterface(IPoweredMachine.class, this.window.getInventory()); - final IErrorStateSource error = Machine.getInterface(IErrorStateSource.class, this.window.getInventory()); - final IProcess process = Machine.getInterface(IProcess.class, this.window.getInventory()); - if (tanks != null && this.window.isServer()) { - for (int i = 0; i < tanks.getTankInfos().length; ++i) { - final TankInfo tank = tanks.getTankInfos()[i]; - if (!this.getTankInfo(i).equals(tank)) { - this.syncedNBT.put("tank-update-" + i, this.createTankNBT(i, tank)); - this.syncedTanks.put(i, tank); - } - } - } - if (powered != null && this.window.isServer()) { - this.syncedNBT.put("power-update", this.createPowerNBT(powered.getPowerInfo())); - } - if (process != null && this.window.isServer()) { - this.syncedNBT.put("process-update", this.createProcessNBT(process.getInfo())); - } - if (error != null && this.window.isServer()) { - this.syncedNBT.put("error-update", this.createErrorNBT(error)); - } - final INetwork.SendGuiNBT machineSync = Machine.getInterface(INetwork.SendGuiNBT.class, this.window.getInventory()); - if (machineSync != null) { - machineSync.sendGuiNBT(this.syncedNBT); - } - final Map sentThisTime = new HashMap(); - for (final Map.Entry nbt : this.syncedNBT.entrySet()) { - nbt.getValue().setString("type", nbt.getKey()); - boolean shouldSend = true; - final NBTTagCompound lastSent = this.sentNBT.get(nbt.getKey()); - if (lastSent != null) { - shouldSend = !lastSent.equals(nbt.getValue()); - } - if (shouldSend) { - for (int j = 0; j < this.crafters.size(); ++j) { - if (this.crafters.get(j) instanceof EntityPlayerMP) { - final EntityPlayerMP player = (EntityPlayerMP) this.crafters.get(j); - BinnieCore.proxy.sendToPlayer(new MessageContainerUpdate(nbt.getValue()), player); - } - } - sentThisTime.put(nbt.getKey(), nbt.getValue()); - } - } - this.sentNBT.putAll(sentThisTime); - this.syncedNBT.clear(); - } - - private NBTTagCompound createErrorNBT(final IErrorStateSource error) { - final NBTTagCompound nbt = new NBTTagCompound(); - ErrorState state = null; - if (error.canWork() != null) { - nbt.setByte("type", (byte) 0); - state = error.canWork(); - } - else if (error.canProgress() != null) { - nbt.setByte("type", (byte) 1); - state = error.canProgress(); - } - if (state != null) { - state.writeToNBT(nbt); - } - return nbt; - } - - public NBTTagCompound createPowerNBT(final PowerInfo powerInfo) { - final NBTTagCompound nbt = new NBTTagCompound(); - powerInfo.writeToNBT(nbt); - return nbt; - } - - public NBTTagCompound createProcessNBT(final ProcessInfo powerInfo) { - final NBTTagCompound nbt = new NBTTagCompound(); - powerInfo.writeToNBT(nbt); - return nbt; - } - - public NBTTagCompound createTankNBT(final int tank, final TankInfo tankInfo) { - final NBTTagCompound nbt = new NBTTagCompound(); - tankInfo.writeToNBT(nbt); - nbt.setByte("tank", (byte) tank); - return nbt; - } - - public void onTankUpdate(final NBTTagCompound nbt) { - final int tankID = nbt.getByte("tank"); - final TankInfo tank = new TankInfo(); - tank.readFromNBT(nbt); - this.syncedTanks.put(tankID, tank); - } - - public void onProcessUpdate(final NBTTagCompound nbt) { - (this.syncedProcess = new ProcessInfo()).readFromNBT(nbt); - } - - public void onPowerUpdate(final NBTTagCompound nbt) { - (this.syncedPower = new PowerInfo()).readFromNBT(nbt); - } - - public PowerInfo getPowerInfo() { - return this.syncedPower; - } - - public ProcessInfo getProcessInfo() { - return this.syncedProcess; - } - - public TankInfo getTankInfo(final int tank) { - return this.syncedTanks.containsKey(tank) ? this.syncedTanks.get(tank) : new TankInfo(); - } - - public void onErrorUpdate(final NBTTagCompound nbt) { - this.errorType = nbt.getByte("type"); - if (nbt.hasKey("name")) { - (this.error = new ErrorState("", "")).readFromNBT(nbt); - } - else { - this.error = null; - } - } - - public ErrorState getErrorState() { - return this.error; - } - - public int getErrorType() { - return this.errorType; - } - - public CustomSlot[] getCustomSlots() { - final List slots = new ArrayList(); - for (final Object object : this.inventorySlots) { - if (object instanceof CustomSlot) { - slots.add((CustomSlot) object); - } - } - return slots.toArray(new CustomSlot[0]); - } - - public void setMouseOverSlot(final Slot slot) { - if (slot.slotNumber != this.mousedOverSlotNumber) { - this.mousedOverSlotNumber = slot.slotNumber; - ControlSlot.highlighting.get(EnumHighlighting.ShiftClick).clear(); - final NBTTagCompound nbt = new NBTTagCompound(); - nbt.setShort("slot", (short) slot.slotNumber); - this.window.sendClientAction("mouse-over-slot", nbt); - } - } - - private void onMouseOverSlot(final EntityPlayer player, final NBTTagCompound data) { - final int slotnumber = data.getShort("slot"); - final TransferRequest request = this.getShiftClickRequest(player, slotnumber); - if (request == null) { - return; - } - request.transfer(false); - final NBTTagCompound nbt = new NBTTagCompound(); - final List slots = new ArrayList(); - for (final TransferRequest.TransferSlot tslot : request.getInsertedSlots()) { - final Slot slot = this.getSlot(tslot.inventory, tslot.id); - if (slot != null) { - slots.add(slot.slotNumber); - } - } - final int[] array = new int[slots.size()]; - for (int i = 0; i < slots.size(); ++i) { - array[i] = slots.get(i); - } - nbt.setIntArray("slots", array); - nbt.setShort("origin", (short) slotnumber); - this.syncedNBT.put("shift-click-info", nbt); - } - - private void onRecieveShiftClickHighlights(final EntityPlayer player, final NBTTagCompound data) { - ControlSlot.highlighting.get(EnumHighlighting.ShiftClick).clear(); - for (final int slotnumber : data.getIntArray("slots")) { - ControlSlot.highlighting.get(EnumHighlighting.ShiftClick).add(slotnumber); - } - } - - private CustomSlot getSlot(final IInventory inventory, final int id) { - for (final Object o : this.inventorySlots) { - final CustomSlot slot = (CustomSlot) o; - if (slot.inventory == inventory && slot.getSlotIndex() == id) { - return slot; - } - } - return null; - } - - public void recieveNBT(final Side side, final EntityPlayer player, final NBTTagCompound action) { - final String name = action.getString("type"); - if (this.handleNBT(side, player, name, action)) { - return; - } - this.window.recieveGuiNBT(this.getSide(), player, name, action); - final INetwork.RecieveGuiNBT machine = Machine.getInterface(INetwork.RecieveGuiNBT.class, this.window.getInventory()); - if (machine != null) { - machine.recieveGuiNBT(this.getSide(), player, name, action); - } - } - - public Slot getOrCreateSlot(final InventoryType type, final int index) { - final IInventory inventory = this.getInventory(type); - Slot slot = this.getSlot(inventory, index); - if (slot == null) { - slot = new CustomSlot(inventory, index); - this.addSlotToContainer(slot); - } - final NBTTagCompound nbt = new NBTTagCompound(); - nbt.setByte("t", (byte) type.ordinal()); - nbt.setShort("i", (short) index); - nbt.setShort("n", (short) slot.slotNumber); - this.window.sendClientAction("slot-reg", nbt); - return slot; - } - - protected IInventory getInventory(final InventoryType type) { - if (type == InventoryType.Machine) { - return this.window.getInventory(); - } - if (type == InventoryType.Player) { - return this.window.getPlayer().inventory; - } - if (type == InventoryType.Window) { - return this.window.getWindowInventory(); - } - return null; - } - - private Slot getOrCreateSlot(final InventoryType type, final int index, final int slotNumber) { - final IInventory inventory = this.getInventory(type); - if (this.inventorySlots.get(slotNumber) != null) { - return null; - } - final Slot slot = new CustomSlot(inventory, index); - slot.slotNumber = slotNumber; - this.inventorySlots.add(slotNumber, slot); - this.inventoryItemStacks.add(slotNumber, null); - return slot; - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/Dialog.java b/src/main/java/binnie/craftgui/minecraft/Dialog.java deleted file mode 100644 index e561a384..00000000 --- a/src/main/java/binnie/craftgui/minecraft/Dialog.java +++ /dev/null @@ -1,51 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft; - -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.events.EventHandler; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.core.Control; - -public abstract class Dialog extends Control -{ - public Dialog(final IWidget parent, final float w, final float h) { - super(parent, (parent.w() - w) / 2.0f, (parent.h() - h) / 2.0f, w, h); - this.addAttribute(Attribute.MouseOver); - this.addAttribute(Attribute.AlwaysOnTop); - this.addAttribute(Attribute.BlockTooltip); - this.initialise(); - this.addEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(final EventMouse.Down event) { - if (!Dialog.this.getArea().contains(Dialog.this.getRelativeMousePosition())) { - Dialog.this.onClose(); - Dialog.this.getParent().deleteChild(Dialog.this); - } - } - }.setOrigin(EventHandler.Origin.Any, this)); - } - - @Override - public abstract void initialise(); - - public abstract void onClose(); - - @Override - public void onRenderBackground() { - CraftGUI.Render.gradientRect(this.getArea().outset(400), -1442840576, -1442840576); - CraftGUI.Render.texture(CraftGUITexture.Window, this.getArea()); - CraftGUI.Render.texture(CraftGUITexture.TabOutline, this.getArea().inset(4)); - } - - @Override - public boolean isMouseOverWidget(final IPoint relativeMouse) { - return true; - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/GuiCraftGUI.java b/src/main/java/binnie/craftgui/minecraft/GuiCraftGUI.java deleted file mode 100644 index 5865c7fa..00000000 --- a/src/main/java/binnie/craftgui/minecraft/GuiCraftGUI.java +++ /dev/null @@ -1,506 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft; - -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.IIcon; - -import binnie.craftgui.core.CraftGUI; -import binnie.core.BinnieCore; - -import net.minecraft.client.renderer.Tessellator; - -import binnie.craftgui.core.geometry.IBorder; -import binnie.craftgui.core.geometry.IArea; - -import org.lwjgl.input.Mouse; - -import binnie.craftgui.events.EventKey; - -import org.lwjgl.input.Keyboard; - -import binnie.craftgui.core.IWidget; -import binnie.craftgui.events.EventMouse; - -import java.util.List; - -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.nbt.NBTException; -import net.minecraft.nbt.JsonToNBT; -import net.minecraft.nbt.NBTTagCompound; - -import java.util.ArrayList; - -import net.minecraft.entity.player.InventoryPlayer; - -import binnie.craftgui.core.Tooltip; - -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderHelper; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.inventory.Container; -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; - -import binnie.craftgui.core.geometry.IPoint; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -import net.minecraft.client.gui.inventory.GuiContainer; - -@SideOnly(Side.CLIENT) -public class GuiCraftGUI extends GuiContainer -{ - IPoint mousePos; - private Window window; - private ItemStack draggedItem; - - @Override - public void updateScreen() { - this.window.updateClient(); - } - - public Minecraft getMinecraft() { - return this.mc; - } - - public GuiCraftGUI(final Window window) { - super(window.getContainer()); - this.mousePos = new IPoint(0.0f, 0.0f); - this.window = window; - this.resize(window.getSize()); - } - - @Override - protected void drawGuiContainerBackgroundLayer(final float var1, final int var2, final int var3) { - } - - @Override - public void initGui() { - super.initGui(); - this.mc.thePlayer.openContainer = this.inventorySlots; - this.guiLeft = (this.width - this.xSize) / 2; - this.guiTop = (this.height - this.ySize) / 2; - this.window.setSize(new IPoint(this.xSize, this.ySize)); - this.window.setPosition(new IPoint(this.guiLeft, this.guiTop)); - this.window.initGui(); - } - - public ItemStack getDraggedItem() { - return this.draggedItem; - } - - @Override - public void drawScreen(final int mouseX, final int mouseY, final float par3) { - this.window.setMousePosition(mouseX - (int) this.window.getPosition().x(), mouseY - (int) this.window.getPosition().y()); - this.drawDefaultBackground(); - - GL11.glDisable(32826); - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(2896); - GL11.glDisable(2929); - this.zLevel = 10.0f; - GuiScreen.itemRender.zLevel = this.zLevel; - - this.window.render(); - - RenderHelper.enableGUIStandardItemLighting(); - GL11.glPushMatrix(); - GL11.glEnable(32826); - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0f, 240.0f); - final InventoryPlayer playerInventory = this.mc.thePlayer.inventory; - this.draggedItem = playerInventory.getItemStack(); - if (this.draggedItem != null) { - this.renderItem(new IPoint(mouseX - 8, mouseY - 8), this.draggedItem, 200, false); - this.renderItem(new IPoint(mouseX - 8, mouseY - 8), this.draggedItem, 200, false); - } - GL11.glDisable(32826); - GL11.glPopMatrix(); - GL11.glDisable(2896); - GL11.glDisable(2929); - final MinecraftTooltip tooltip = new MinecraftTooltip(); - if (this.isHelpMode()) { - tooltip.setType(Tooltip.Type.Help); - this.window.getHelpTooltip(tooltip); - } - else { - tooltip.setType(Tooltip.Type.Standard); - this.window.getTooltip(tooltip); - } - if (tooltip.exists()) { - this.renderTooltip(new IPoint(mouseX, mouseY), tooltip); - } - this.zLevel = 0.0f; - GL11.glEnable(2896); - GL11.glEnable(2929); - } - - public void renderTooltip(final IPoint mousePosition, final MinecraftTooltip tooltip) { - final int mouseX = (int) mousePosition.x(); - final int mouseY = (int) mousePosition.y(); - final FontRenderer font = this.getFontRenderer(); - GL11.glDisable(32826); - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(2896); - GL11.glDisable(2929); - int k = 0; - final List strings = new ArrayList(); - for (final String string : tooltip.getList()) { - if (string != null) { - if (!string.contains("~~~")) { - strings.addAll(font.listFormattedStringToWidth(string, tooltip.maxWidth)); - } - else { - strings.add(string); - } - } - } - for (final String s : strings) { - int l = font.getStringWidth(s); - if (s.contains("~~~")) { - l = 12 + font.getStringWidth(s.replaceAll("~~~(.*?)~~~", "")); - } - if (l > k) { - k = l; - } - } - int i1 = mouseX + 12; - int j1 = mouseY - 12; - int k2 = 8; - if (strings.size() > 1) { - k2 += 2 + (strings.size() - 1) * 10; - } - if (i1 + k > this.width) { - i1 -= 28 + k; - } - if (j1 + k2 + 6 > this.height) { - j1 = this.height - k2 - 6; - } - this.zLevel = 300.0f; - GuiScreen.itemRender.zLevel = 300.0f; - final int l2 = -267386864; - final int j2; - final int i2 = j2 = 1342177280 + MinecraftTooltip.getOutline(tooltip.getType()); - this.drawGradientRect(i1 - 3, j1 - 4, i1 + k + 3, j1 - 3, l2, l2); - this.drawGradientRect(i1 - 3, j1 + k2 + 3, i1 + k + 3, j1 + k2 + 4, l2, l2); - this.drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 + k2 + 3, l2, l2); - this.drawGradientRect(i1 - 4, j1 - 3, i1 - 3, j1 + k2 + 3, l2, l2); - this.drawGradientRect(i1 + k + 3, j1 - 3, i1 + k + 4, j1 + k2 + 3, l2, l2); - this.drawGradientRect(i1 - 3, j1 - 3 + 1, i1 - 3 + 1, j1 + k2 + 3 - 1, i2, j2); - this.drawGradientRect(i1 + k + 2, j1 - 3 + 1, i1 + k + 3, j1 + k2 + 3 - 1, i2, j2); - this.drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 - 3 + 1, i2, i2); - this.drawGradientRect(i1 - 3, j1 + k2 + 2, i1 + k + 3, j1 + k2 + 3, j2, j2); - for (int k3 = 0; k3 < strings.size(); ++k3) { - String s2 = strings.get(k3); - if (k3 == 0) { - s2 = MinecraftTooltip.getTitle(tooltip.getType()) + s2; - } - else { - s2 = MinecraftTooltip.getBody(tooltip.getType()) + s2; - } - if (s2.contains("~~~")) { - final String split = s2.split("~~~")[1]; - try { - final NBTTagCompound nbt = (NBTTagCompound) JsonToNBT.func_150315_a(split); - final ItemStack stack = ItemStack.loadItemStackFromNBT(nbt); - GL11.glPushMatrix(); - GL11.glTranslatef(i1, j1 - 1.5f, 0.0f); - GL11.glScalef(0.6f, 0.6f, 1.0f); - this.renderItem(new IPoint(0.0f, 0.0f), stack, false); - GL11.glPopMatrix(); - } catch (NBTException e) { - e.printStackTrace(); - } - s2 = " " + s2.replaceAll("~~~(.*?)~~~", ""); - } - font.drawStringWithShadow(s2, i1, j1, -1); - if (k3 == 0) { - j1 += 2; - } - j1 += 10; - } - this.zLevel = 0.0f; - GuiScreen.itemRender.zLevel = 0.0f; - GL11.glEnable(2896); - GL11.glEnable(2929); - RenderHelper.enableStandardItemLighting(); - GL11.glEnable(32826); - } - - @Override - protected void mouseClicked(final int x, final int y, final int button) { - IWidget origin = this.window; - if (this.window.getMousedOverWidget() != null) { - origin = this.window.getMousedOverWidget(); - } - this.window.callEvent(new EventMouse.Down(origin, x, y, button)); - } - - public boolean isShiftDown() { - return Keyboard.isKeyDown(this.mc.gameSettings.keyBindSneak.getKeyCode()); - } - - @Override - protected void keyTyped(final char c, final int key) { - if (key == 1 || (key == this.mc.gameSettings.keyBindInventory.getKeyCode() && this.window.getFocusedWidget() == null)) { - this.mc.thePlayer.closeScreen(); - } - final IWidget origin = (this.window.getFocusedWidget() == null) ? this.window : this.window.getFocusedWidget(); - this.window.callEvent(new EventKey.Down(origin, c, key)); - } - - @Override - protected void mouseMovedOrUp(final int x, final int y, final int button) { - final IWidget origin = (this.window.getMousedOverWidget() == null) ? this.window : this.window.getMousedOverWidget(); - if (button == -1) { - final float dx = Mouse.getEventDX() * this.width / (float)this.mc.displayWidth; - final float dy = -(Mouse.getEventDY() * this.height / (float)this.mc.displayHeight); - } - else { - this.window.callEvent(new EventMouse.Up(origin, x, y, button)); - } - } - - @Override - public void handleMouseInput() { - super.handleMouseInput(); - final int dWheel = Mouse.getDWheel(); - final IWidget origin = (this.window.getFocusedWidget() == null) ? this.window : this.window.getFocusedWidget(); - if (dWheel != 0) { - this.window.callEvent(new EventMouse.Wheel(this.window, dWheel)); - } - } - - @Override - public void onGuiClosed() { - this.window.onClose(); - } - - public void renderTexturedRect(final float x, final float y, final float u, final float v, final float w, final float h) { - this.drawTexturedModalRect((int) x, (int) y, (int) u, (int) v, (int) w, (int) h); - } - - public void renderTexture(final IPoint position, final IArea textureArea) { - this.drawTexturedModalRect((int) position.x(), (int) position.y(), (int) textureArea.pos().x(), (int) textureArea.pos().y(), (int) textureArea.size().x(), (int) textureArea.size().y()); - } - - private void renderTexturedRect(final IArea area, final IPoint uv) { - this.renderTexturedRect(area.pos().x(), area.pos().y(), uv.x(), uv.y(), area.size().x(), area.size().y()); - } - - public void renderTexturePadded(final IArea area, final IArea texture, final IBorder padding) { - int borderLeft = (int) padding.l(); - int borderRight = (int) padding.r(); - int borderTop = (int) padding.t(); - int borderBottom = (int) padding.b(); - final int posX = (int) area.pos().x(); - final int posY = (int) area.pos().y(); - final int width = (int) area.size().x(); - final int height = (int) area.size().y(); - final int textWidth = (int) texture.w(); - final int textHeight = (int) texture.h(); - final int u = (int) texture.x(); - final int v = (int) texture.y(); - if (borderTop + borderBottom > height) { - borderTop = height / 2; - borderBottom = height / 2; - } - if (borderLeft + borderRight > width) { - borderLeft = width / 2; - borderRight = width / 2; - } - final IPoint origin = area.pos(); - this.drawTexturedModalRect(posX, posY, u, v, borderLeft, borderTop); - this.drawTexturedModalRect(posX + width - borderRight, posY, u + textWidth - borderRight, v, borderRight, borderTop); - this.drawTexturedModalRect(posX, posY + height - borderBottom, u, v + textHeight - borderBottom, borderLeft, borderBottom); - this.drawTexturedModalRect(posX + width - borderRight, posY + height - borderBottom, u + textWidth - borderRight, v + textHeight - borderBottom, borderRight, borderBottom); - int texturingWidth; - for (int currentXPos = borderLeft; currentXPos < width - borderRight; currentXPos += texturingWidth) { - final int distanceXRemaining = width - borderRight - currentXPos; - texturingWidth = textWidth - borderLeft - borderRight; - if (texturingWidth > distanceXRemaining) { - texturingWidth = distanceXRemaining; - } - if (texturingWidth <= 0) { - break; - } - this.drawTexturedModalRect(posX + currentXPos, posY, u + borderLeft, v, texturingWidth, borderTop); - this.drawTexturedModalRect(posX + currentXPos, posY + height - borderBottom, u + borderLeft, v + textHeight - borderBottom, texturingWidth, borderBottom); - int texturingHeight; - for (int currentYPos = borderTop; currentYPos < height - borderBottom; currentYPos += texturingHeight) { - final int distanceYRemaining = height - borderBottom - currentYPos; - texturingHeight = textHeight - borderTop - borderBottom; - if (texturingHeight > distanceYRemaining) { - texturingHeight = distanceYRemaining; - } - if (texturingHeight <= 0) { - break; - } - this.drawTexturedModalRect(posX + currentXPos, posY + currentYPos, u + borderLeft, v + borderTop, texturingWidth, texturingHeight); - } - } - int texturingHeight2; - for (int currentYPos2 = borderTop; currentYPos2 < height - borderBottom; currentYPos2 += texturingHeight2) { - final int distanceYRemaining2 = height - borderBottom - currentYPos2; - texturingHeight2 = textHeight - borderTop - borderBottom; - if (texturingHeight2 > distanceYRemaining2) { - texturingHeight2 = distanceYRemaining2; - } - if (texturingHeight2 <= 0) { - break; - } - this.drawTexturedModalRect(posX, posY + currentYPos2, u, v + borderTop, borderLeft, texturingHeight2); - this.drawTexturedModalRect(posX + width - borderRight, posY + currentYPos2, u + textWidth - borderRight, v + borderTop, borderRight, texturingHeight2); - } - } - - public void drawGradientArea(final float p_73733_1_, final float p_73733_2_, final float p_73733_3_, final float p_73733_4_, final int p_73733_5_, final int p_73733_6_) { - final float f = (p_73733_5_ >> 24 & 0xFF) / 255.0f; - final float f2 = (p_73733_5_ >> 16 & 0xFF) / 255.0f; - final float f3 = (p_73733_5_ >> 8 & 0xFF) / 255.0f; - final float f4 = (p_73733_5_ & 0xFF) / 255.0f; - final float f5 = (p_73733_6_ >> 24 & 0xFF) / 255.0f; - final float f6 = (p_73733_6_ >> 16 & 0xFF) / 255.0f; - final float f7 = (p_73733_6_ >> 8 & 0xFF) / 255.0f; - final float f8 = (p_73733_6_ & 0xFF) / 255.0f; - GL11.glDisable(3553); - GL11.glEnable(3042); - GL11.glDisable(3008); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glShadeModel(7425); - final Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(f2, f3, f4, f); - tessellator.addVertex(p_73733_3_, p_73733_2_, this.zLevel); - tessellator.addVertex(p_73733_1_, p_73733_2_, this.zLevel); - tessellator.setColorRGBA_F(f6, f7, f8, f5); - tessellator.addVertex(p_73733_1_, p_73733_4_, this.zLevel); - tessellator.addVertex(p_73733_3_, p_73733_4_, this.zLevel); - tessellator.draw(); - GL11.glShadeModel(7424); - GL11.glDisable(3042); - GL11.glEnable(3008); - GL11.glEnable(3553); - } - - public void renderItem(final IPoint pos, final ItemStack item, final boolean rotating) { - this.renderItem(pos, item, (int) this.zLevel + 3, rotating); - } - - private void renderItem(final IPoint pos, final ItemStack item, final int zLevel, final boolean rotating) { - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0f, 240.0f); - GL11.glPushMatrix(); - RenderHelper.enableGUIStandardItemLighting(); - GL11.glEnable(32826); - GL11.glEnable(2929); - FontRenderer font = item.getItem().getFontRenderer(item); - if (font == null) { - font = this.getFontRenderer(); - } - if (item != null) { - BinnieCore.proxy.getMinecraftInstance(); - final float phase = Minecraft.getSystemTime() / 20.0f; - GL11.glPushMatrix(); - if (rotating) { - GL11.glTranslatef(8.0f, 8.0f, 0.0f); - GL11.glRotatef(phase, 0.0f, -0.866f, 0.5f); - GL11.glTranslatef(-8.0f, -8.0f, -67.1f); - } - GuiScreen.itemRender.renderItemAndEffectIntoGUI(font, this.mc.renderEngine, item, (int) pos.x(), (int) pos.y()); - GL11.glPopMatrix(); - GuiScreen.itemRender.renderItemOverlayIntoGUI(font, this.mc.renderEngine, item, (int) pos.x(), (int) pos.y(), (String) null); - } - GL11.glClear(256); - GL11.glEnable(3042); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - RenderHelper.disableStandardItemLighting(); - CraftGUI.Render.colour(-1); - GL11.glEnable(32826); - GL11.glPopMatrix(); - } - - public void renderIcon(final IPoint pos, final IIcon icon, final ResourceLocation map) { - if (icon == null) { - return; - } - GL11.glPushMatrix(); - GL11.glEnable(32826); - BinnieCore.proxy.bindTexture(map); - GuiScreen.itemRender.zLevel = this.zLevel; - GuiScreen.itemRender.renderIcon((int) pos.x(), (int) pos.y(), icon, 16, 16); - GL11.glEnable(32826); - GL11.glPopMatrix(); - } - - public boolean isHelpMode() { - return Keyboard.isKeyDown(15); - } - - public FontRenderer getFontRenderer() { - return this.fontRendererObj; - } - - public void resize(final IPoint size) { - this.xSize = (int) size.x(); - this.ySize = (int) size.y(); - this.guiLeft = (this.width - this.xSize) / 2; - this.guiTop = (this.height - this.ySize) / 2; - this.window.setPosition(new IPoint(this.guiLeft, this.guiTop)); - } - - public void limitArea(final IArea area) { - float x = area.pos().x(); - float y = area.pos().y(); - float w = area.size().x(); - float h = area.size().y(); - y = this.height - (y + h); - final float k = this.xSize; - final float scaleX = this.width / (float) this.mc.displayWidth; - final float scaleY = this.height / (float) this.mc.displayHeight; - x += 0.0f; - y += 0.0f; - w += 0.0f; - h += 0.0f; - GL11.glScissor((int) (x / scaleX), (int) (y / scaleY), (int) (w / scaleX), (int) (h / scaleY)); - } - - public int getZLevel() { - return (int) this.zLevel; - } - - public void drawRect(float p_73734_0_, float p_73734_1_, float p_73734_2_, float p_73734_3_, final int p_73734_4_) { - if (p_73734_0_ < p_73734_2_) { - final float j1 = p_73734_0_; - p_73734_0_ = p_73734_2_; - p_73734_2_ = j1; - } - if (p_73734_1_ < p_73734_3_) { - final float j1 = p_73734_1_; - p_73734_1_ = p_73734_3_; - p_73734_3_ = j1; - } - final float f3 = (p_73734_4_ >> 24 & 0xFF) / 255.0f; - final float f4 = (p_73734_4_ >> 16 & 0xFF) / 255.0f; - final float f5 = (p_73734_4_ >> 8 & 0xFF) / 255.0f; - final float f6 = (p_73734_4_ & 0xFF) / 255.0f; - final Tessellator tessellator = Tessellator.instance; - GL11.glEnable(3042); - GL11.glDisable(3553); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glColor4f(f4, f5, f6, f3); - tessellator.startDrawingQuads(); - tessellator.addVertex(p_73734_0_, p_73734_3_, 0.0); - tessellator.addVertex(p_73734_2_, p_73734_3_, 0.0); - tessellator.addVertex(p_73734_2_, p_73734_1_, 0.0); - tessellator.addVertex(p_73734_0_, p_73734_1_, 0.0); - tessellator.draw(); - GL11.glEnable(3553); - GL11.glDisable(3042); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/IMinecraftTooltip.java b/src/main/java/binnie/craftgui/minecraft/IMinecraftTooltip.java deleted file mode 100644 index f8d0e89b..00000000 --- a/src/main/java/binnie/craftgui/minecraft/IMinecraftTooltip.java +++ /dev/null @@ -1,12 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft; - -import binnie.craftgui.core.ITooltip; - -public interface IMinecraftTooltip extends ITooltip -{ - void getTooltip(final MinecraftTooltip p0); -} diff --git a/src/main/java/binnie/craftgui/minecraft/ListMap.java b/src/main/java/binnie/craftgui/minecraft/ListMap.java deleted file mode 100644 index 8413b575..00000000 --- a/src/main/java/binnie/craftgui/minecraft/ListMap.java +++ /dev/null @@ -1,152 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft; - -import java.util.ListIterator; -import java.util.Map; -import java.util.Collection; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; - -class ListMap implements List -{ - private LinkedHashMap map; - - ListMap() { - this.map = new LinkedHashMap(); - } - - @Override - public int size() { - int i = -1; - for (final int k : this.map.keySet()) { - if (k > i) { - i = k; - } - } - return i + 1; - } - - @Override - public boolean isEmpty() { - return this.map.isEmpty(); - } - - @Override - public boolean contains(final Object o) { - return this.map.containsValue(o); - } - - @Override - public Iterator iterator() { - return this.map.values().iterator(); - } - - @Override - public Object[] toArray() { - return this.map.values().toArray(); - } - - @Override - public

P[] toArray(final P[] a) { - return this.map.values().toArray(a); - } - - @Override - public boolean add(final T e) { - if (this.get(this.size()) == null) { - this.add(this.size(), e); - return true; - } - return false; - } - - @Override - public boolean remove(final Object o) { - return false; - } - - @Override - public boolean containsAll(final Collection c) { - return this.map.values().containsAll(c); - } - - @Override - public boolean addAll(final Collection c) { - return false; - } - - @Override - public boolean addAll(final int index, final Collection c) { - return false; - } - - @Override - public boolean removeAll(final Collection c) { - return false; - } - - @Override - public boolean retainAll(final Collection c) { - return false; - } - - @Override - public void clear() { - this.map.clear(); - } - - @Override - public T get(final int index) { - return this.map.get(index); - } - - @Override - public T set(final int index, final T element) { - this.map.put(index, element); - return element; - } - - @Override - public void add(final int index, final T element) { - this.map.put(index, element); - } - - @Override - public T remove(final int index) { - return null; - } - - @Override - public int indexOf(final Object o) { - for (final Map.Entry entry : this.map.entrySet()) { - if (entry.getValue() == o) { - return entry.getKey(); - } - } - return 0; - } - - @Override - public int lastIndexOf(final Object o) { - return this.indexOf(o); - } - - @Override - public ListIterator listIterator() { - return null; - } - - @Override - public ListIterator listIterator(final int index) { - return null; - } - - @Override - public List subList(final int fromIndex, final int toIndex) { - return null; - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/MinecraftGUI.java b/src/main/java/binnie/craftgui/minecraft/MinecraftGUI.java deleted file mode 100644 index daf8e243..00000000 --- a/src/main/java/binnie/craftgui/minecraft/MinecraftGUI.java +++ /dev/null @@ -1,20 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft; - -import binnie.craftgui.window.Panel; - -public class MinecraftGUI -{ - public enum PanelType implements Panel.IPanelType - { - Black, - Gray, - Tinted, - Coloured, - Outline, - TabOutline; - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/Window.java b/src/main/java/binnie/craftgui/minecraft/Window.java deleted file mode 100644 index d68dd2e6..00000000 --- a/src/main/java/binnie/craftgui/minecraft/Window.java +++ /dev/null @@ -1,314 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft; - -import binnie.craftgui.resource.Texture; -import binnie.craftgui.minecraft.control.ControlPowerSystem; -import binnie.core.machines.power.PowerSystem; -import binnie.craftgui.minecraft.control.ControlUser; -import binnie.core.network.packet.MessageCraftGUI; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import net.minecraft.item.ItemStack; -import com.mojang.authlib.GameProfile; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.core.BinnieCore; -import cpw.mods.fml.relauncher.SideOnly; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.events.EventWidget; -import binnie.craftgui.minecraft.control.ControlInfo; -import binnie.craftgui.minecraft.control.ControlHelp; -import binnie.craftgui.resource.StyleSheetManager; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.renderer.Renderer; -import java.util.ArrayList; -import binnie.craftgui.minecraft.control.ControlSlot; -import binnie.craftgui.minecraft.control.EnumHighlighting; -import binnie.craftgui.core.geometry.IPoint; -import binnie.core.machines.Machine; -import binnie.core.machines.inventory.IInventoryMachine; -import binnie.core.resource.ResourceType; -import binnie.Binnie; -import binnie.core.resource.BinnieResource; -import binnie.core.AbstractMod; -import binnie.craftgui.core.ITooltipHelp; -import java.util.Deque; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.Tooltip; -import cpw.mods.fml.relauncher.Side; -import net.minecraft.inventory.IInventory; -import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.resource.minecraft.StandardTexture; -import binnie.craftgui.controls.ControlText; -import binnie.core.machines.network.INetwork; -import binnie.craftgui.core.TopLevelWidget; - -public abstract class Window extends TopLevelWidget implements INetwork.RecieveGuiNBT -{ - private GuiCraftGUI gui; - private ContainerCraftGUI container; - private WindowInventory windowInventory; - private ControlText title; - protected float titleButtonLeft; - protected float titleButtonRight; - private StandardTexture bgText1; - private StandardTexture bgText2; - private boolean hasBeenInitialised; - private EntityPlayer player; - private IInventory entityInventory; - private Side side; - - public void getTooltip(final Tooltip tooltip) { - final Deque queue = this.calculateMousedOverWidgets(); - while (!queue.isEmpty()) { - final IWidget widget = queue.removeFirst(); - if (widget.isEnabled() && widget.isVisible()) { - if (!widget.calculateIsMouseOver()) { - continue; - } - if (widget instanceof ITooltip) { - ((ITooltip) widget).getTooltip(tooltip); - if (tooltip.exists()) { - return; - } - } - if (widget.hasAttribute(Attribute.BlockTooltip)) { - return; - } - continue; - } - } - } - - public void getHelpTooltip(final MinecraftTooltip tooltip) { - final Deque queue = this.calculateMousedOverWidgets(); - while (!queue.isEmpty()) { - final IWidget widget = queue.removeFirst(); - if (widget.isEnabled() && widget.isVisible()) { - if (!widget.calculateIsMouseOver()) { - continue; - } - if (widget instanceof ITooltipHelp) { - ((ITooltipHelp) widget).getHelpTooltip(tooltip); - if (tooltip.exists()) { - return; - } - } - if (widget.hasAttribute(Attribute.BlockTooltip)) { - return; - } - continue; - } - } - } - - protected abstract AbstractMod getMod(); - - protected abstract String getName(); - - public BinnieResource getBackgroundTextureFile(final int i) { - return Binnie.Resource.getPNG(this.getMod(), ResourceType.GUI, this.getName() + ((i == 1) ? "" : i)); - } - - public boolean showHelpButton() { - return Machine.getInterface(IInventoryMachine.class, this.getInventory()) != null; - } - - public String showInfoButton() { - if (Machine.getInterface(IMachineInformation.class, this.getInventory()) != null) { - return Machine.getInterface(IMachineInformation.class, this.getInventory()).getInformation(); - } - return null; - } - - public Window(final float width, final float height, final EntityPlayer player, final IInventory inventory, final Side side) { - this.titleButtonLeft = 8.0f; - this.titleButtonRight = 8.0f; - this.bgText1 = null; - this.bgText2 = null; - this.hasBeenInitialised = false; - this.side = Side.CLIENT; - this.side = side; - this.setInventories(player, inventory); - this.container = new ContainerCraftGUI(this); - this.windowInventory = new WindowInventory(this); - if (side == Side.SERVER) { - return; - } - this.setSize(new IPoint(width, height)); - this.gui = new GuiCraftGUI(this); - for (final EnumHighlighting h : EnumHighlighting.values()) { - ControlSlot.highlighting.put(h, new ArrayList()); - } - (CraftGUI.Render = new Renderer(this.gui)).stylesheet(StyleSheetManager.getDefault()); - this.titleButtonLeft = -14.0f; - if (this.showHelpButton()) { - new ControlHelp(this, this.titleButtonLeft += 22.0f, 8.0f); - } - if (this.showInfoButton() != null) { - new ControlInfo(this, this.titleButtonLeft += 22.0f, 8.0f, this.showInfoButton()); - } - this.addSelfEventHandler(new EventWidget.ChangeSize.Handler() { - @Override - public void onEvent(final EventWidget.ChangeSize event) { - if (Window.this.isClient() && Window.this.getGui() != null) { - Window.this.getGui().resize(Window.this.getSize()); - if (Window.this.title != null) { - Window.this.title.setSize(new IPoint(Window.this.w(), Window.this.title.h())); - } - } - } - }); - } - - public void setTitle(final String title) { - (this.title = new ControlTextCentered(this, 12.0f, title)).setColour(4210752); - } - - @SideOnly(Side.CLIENT) - public final GuiCraftGUI getGui() { - return this.gui; - } - - public final ContainerCraftGUI getContainer() { - return this.container; - } - - public final WindowInventory getWindowInventory() { - return this.windowInventory; - } - - public final void initGui() { - if (this.hasBeenInitialised) { - return; - } - this.bgText1 = new StandardTexture(0, 0, 256, 256, this.getBackgroundTextureFile(1)); - if (this.getSize().x() > 256.0f) { - this.bgText2 = new StandardTexture(0, 0, 256, 256, this.getBackgroundTextureFile(2)); - } - if (!BinnieCore.proxy.checkTexture(this.bgText1.getTexture())) { - this.bgText1 = null; - this.bgText2 = null; - } - this.initialiseClient(); - this.hasBeenInitialised = true; - } - - public abstract void initialiseClient(); - - public void initialiseServer() { - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.colour(16777215); - if (this.getBackground1() != null) { - CraftGUI.Render.texture(this.getBackground1(), IPoint.ZERO); - } - if (this.getBackground2() != null) { - CraftGUI.Render.texture(this.getBackground2(), new IPoint(256.0f, 0.0f)); - } - CraftGUI.Render.colour(this.getColour()); - CraftGUI.Render.texture(CraftGUITexture.Window, this.getArea()); - } - - @Override - public void onUpdateClient() { - ControlSlot.highlighting.get(EnumHighlighting.Help).clear(); - ControlSlot.shiftClickActive = false; - } - - public EntityPlayer getPlayer() { - return this.player; - } - - public GameProfile getUsername() { - return this.getPlayer().getGameProfile(); - } - - public ItemStack getHeldItemStack() { - if (this.player != null) { - return this.player.inventory.getItemStack(); - } - return null; - } - - public IInventory getInventory() { - return this.entityInventory; - } - - public void setInventories(final EntityPlayer player2, final IInventory inventory) { - this.player = player2; - this.entityInventory = inventory; - } - - public void onClose() { - } - - public void setHeldItemStack(final ItemStack stack) { - if (this.player != null) { - this.player.inventory.setItemStack(stack); - } - } - - public boolean isServer() { - return !this.isClient(); - } - - public boolean isClient() { - return this.side == Side.CLIENT; - } - - public World getWorld() { - if (this.getPlayer() != null) { - return this.getPlayer().worldObj; - } - return BinnieCore.proxy.getWorld(); - } - - public void onInventoryUpdate() { - } - - public void sendClientAction(final String name, final NBTTagCompound action) { - action.setString("type", name); - final MessageCraftGUI packet = new MessageCraftGUI(action); - BinnieCore.proxy.sendToServer(packet); - } - - @Override - public void recieveGuiNBT(final Side side, final EntityPlayer player, final String name, final NBTTagCompound nbt) { - if (side == Side.CLIENT && name.equals("username")) { - final float w = this.w(); - final float titleButtonRight = this.titleButtonRight + 16.0f; - this.titleButtonRight = titleButtonRight; - final ControlUser controlUser = new ControlUser(this, w - titleButtonRight, 8.0f, nbt.getString("username")); - this.titleButtonRight += 6.0f; - } - if (side == Side.CLIENT && name.equals("power-system")) { - final float w2 = this.w(); - final float titleButtonRight2 = this.titleButtonRight + 16.0f; - this.titleButtonRight = titleButtonRight2; - final ControlPowerSystem controlPowerSystem = new ControlPowerSystem(this, w2 - titleButtonRight2, 8.0f, PowerSystem.get(nbt.getByte("system"))); - this.titleButtonRight += 6.0f; - } - } - - public void onWindowInventoryChanged() { - } - - public Texture getBackground1() { - return this.bgText1; - } - - public Texture getBackground2() { - return this.bgText2; - } - - public static T get(final IWidget widget) { - return (T) widget.getSuperParent(); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/WindowInventory.java b/src/main/java/binnie/craftgui/minecraft/WindowInventory.java deleted file mode 100644 index 8f27d304..00000000 --- a/src/main/java/binnie/craftgui/minecraft/WindowInventory.java +++ /dev/null @@ -1,140 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft; - -import net.minecraft.entity.player.EntityPlayer; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import binnie.core.machines.inventory.SlotValidator; -import net.minecraft.item.ItemStack; -import java.util.Map; -import net.minecraft.inventory.IInventory; - -public class WindowInventory implements IInventory -{ - private Window window; - private Map inventory; - private Map validators; - private List disabledAutoDispenses; - - public WindowInventory(final Window window) { - this.inventory = new HashMap(); - this.validators = new HashMap(); - this.disabledAutoDispenses = new ArrayList(); - this.window = window; - } - - @Override - public int getSizeInventory() { - if (this.inventory.size() == 0) { - return 0; - } - int max = 0; - for (final int i : this.inventory.keySet()) { - if (i > max) { - max = i; - } - } - return max + 1; - } - - @Override - public ItemStack getStackInSlot(final int var1) { - if (this.inventory.containsKey(var1)) { - return this.inventory.get(var1); - } - return null; - } - - @Override - public ItemStack decrStackSize(final int index, int amount) { - if (this.inventory.containsKey(index)) { - final ItemStack item = this.inventory.get(index); - final ItemStack output = item.copy(); - final int available = item.stackSize; - if (amount > available) { - amount = available; - } - final ItemStack itemStack = item; - itemStack.stackSize -= amount; - output.stackSize = amount; - if (item.stackSize == 0) { - this.setInventorySlotContents(index, null); - } - return output; - } - return null; - } - - @Override - public ItemStack getStackInSlotOnClosing(final int var1) { - return null; - } - - @Override - public void setInventorySlotContents(final int var1, final ItemStack var2) { - this.inventory.put(var1, var2); - this.markDirty(); - } - - @Override - public String getInventoryName() { - return "window.inventory"; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public void markDirty() { - this.window.onWindowInventoryChanged(); - } - - @Override - public boolean isUseableByPlayer(final EntityPlayer var1) { - return true; - } - - @Override - public void openInventory() { - } - - @Override - public void closeInventory() { - } - - @Override - public boolean hasCustomInventoryName() { - return false; - } - - @Override - public boolean isItemValidForSlot(final int i, final ItemStack itemstack) { - return !this.validators.containsKey(i) || this.validators.get(i).isValid(itemstack); - } - - public void createSlot(final int slot) { - this.inventory.put(slot, null); - } - - public void setValidator(final int slot, final SlotValidator validator) { - this.validators.put(slot, validator); - } - - public void disableAutoDispense(final int i) { - this.disabledAutoDispenses.add(i); - } - - public boolean dispenseOnClose(final int i) { - return !this.disabledAutoDispenses.contains(i); - } - - public SlotValidator getValidator(final int i) { - return this.validators.get(i); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlEnergyBar.java b/src/main/java/binnie/craftgui/minecraft/control/ControlEnergyBar.java deleted file mode 100644 index 2d228cdf..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlEnergyBar.java +++ /dev/null @@ -1,139 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.core.geometry.IArea; -import org.lwjgl.opengl.GL11; -import binnie.craftgui.minecraft.MinecraftTooltip; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.core.machines.Machine; -import binnie.core.machines.power.IProcess; -import binnie.craftgui.core.Tooltip; -import net.minecraft.inventory.IInventory; -import binnie.core.machines.TileEntityMachine; -import binnie.craftgui.minecraft.Window; -import binnie.core.machines.power.IPoweredMachine; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; - -public class ControlEnergyBar extends Control implements ITooltip -{ - public static boolean isError; - private Position direction; - - public ControlEnergyBar(final IWidget parent, final int x, final int y, final int width, final int height, final Position direction) { - super(parent, x, y, width, height); - this.direction = direction; - this.addAttribute(Attribute.MouseOver); - } - - public IPoweredMachine getClientPower() { - final IInventory inventory = Window.get(this).getInventory(); - final TileEntityMachine machine = (inventory instanceof TileEntityMachine) ? (TileEntityMachine) inventory : null; - if (machine == null) { - return null; - } - final IPoweredMachine clientPower = machine.getMachine().getInterface(IPoweredMachine.class); - return clientPower; - } - - public float getPercentage() { - float percentage = 100.0f * this.getStoredEnergy() / this.getMaxEnergy(); - if (percentage > 100.0f) { - percentage = 100.0f; - } - return percentage; - } - - private float getStoredEnergy() { - return Window.get(this).getContainer().getPowerInfo().getStoredEnergy(); - } - - private float getMaxEnergy() { - return Window.get(this).getContainer().getPowerInfo().getMaxEnergy(); - } - - @Override - public void getTooltip(final Tooltip tooltip) { - tooltip.add((int) this.getPercentage() + "% charged"); - tooltip.add(this.getStoredEnergy() + "/" + this.getMaxEnergy() + " RF"); - } - - @Override - public void getHelpTooltip(final Tooltip tooltip) { - tooltip.add("Energy Bar"); - tooltip.add("Current: " + this.getStoredEnergy() + " RF (" + (int) this.getPercentage() + "%)"); - tooltip.add("Capacity: " + this.getMaxEnergy() + " RF"); - final IProcess process = Machine.getInterface(IProcess.class, Window.get(this).getInventory()); - if (process != null) { - tooltip.add("Usage: " + (int) process.getEnergyPerTick() + " RF"); - } - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.texture(CraftGUITexture.EnergyBarBack, this.getArea()); - final float percentage = this.getPercentage() / 100.0f; - CraftGUI.Render.colour(this.getColourFromPercentage(percentage)); - final IArea area = this.getArea(); - switch (this.direction) { - case Top: - case Bottom: { - final float height = area.size().y() * percentage; - area.setSize(new IPoint(area.size().x(), height)); - break; - } - case Left: - case Right: { - final float width = area.size().x() * percentage; - area.setSize(new IPoint(width, area.size().y())); - break; - } - } - if (this.isMouseOver() && Window.get(this).getGui().isHelpMode()) { - final int c = -1442840576 + MinecraftTooltip.getOutline(Tooltip.Type.Help); - CraftGUI.Render.gradientRect(this.getArea().inset(1), c, c); - } - else if (ControlEnergyBar.isError) { - final int c = -1442840576 + MinecraftTooltip.getOutline(MinecraftTooltip.Type.Error); - CraftGUI.Render.gradientRect(this.getArea().inset(1), c, c); - } - CraftGUI.Render.texture(CraftGUITexture.EnergyBarGlow, area); - GL11.glColor3d(1.0, 1.0, 1.0); - CraftGUI.Render.texture(CraftGUITexture.EnergyBarGlass, this.getArea()); - } - - @Override - public void onRenderForeground() { - if (this.isMouseOver() && Window.get(this).getGui().isHelpMode()) { - final IArea area = this.getArea(); - CraftGUI.Render.colour(MinecraftTooltip.getOutline(Tooltip.Type.Help)); - CraftGUI.Render.texture(CraftGUITexture.Outline, area.outset(1)); - } - else if (ControlEnergyBar.isError) { - final IArea area = this.getArea(); - CraftGUI.Render.colour(MinecraftTooltip.getOutline(MinecraftTooltip.Type.Error)); - CraftGUI.Render.texture(CraftGUITexture.Outline, area.outset(1)); - } - } - - public int getColourFromPercentage(final float percentage) { - int colour = 16777215; - if (percentage > 0.5) { - final int r = (int) ((1.0 - 2.0 * (percentage - 0.5)) * 255.0); - colour = (r << 16) + 65280; - } - else { - final int g = (int) (255.0f * (2.0f * percentage)); - colour = 16711680 + (g << 8); - } - return colour; - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlErrorState.java b/src/main/java/binnie/craftgui/minecraft/control/ControlErrorState.java deleted file mode 100644 index 32234013..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlErrorState.java +++ /dev/null @@ -1,106 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.minecraft.MinecraftTooltip; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.minecraft.CustomSlot; -import net.minecraft.entity.player.InventoryPlayer; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.core.machines.power.ErrorState; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; - -public class ControlErrorState extends Control implements ITooltip -{ - private ErrorState errorState; - private int type; - - @Override - public void onRenderBackground() { - Object texture = CraftGUITexture.StateWarning; - if (this.errorState == null) { - texture = CraftGUITexture.StateNone; - } - else if (this.type == 0) { - texture = CraftGUITexture.StateError; - } - CraftGUI.Render.texture(texture, IPoint.ZERO); - super.onRenderBackground(); - } - - public ErrorState getError() { - return Window.get(this).getContainer().getErrorState(); - } - - @Override - public final void onUpdateClient() { - this.errorState = this.getError(); - this.type = Window.get(this).getContainer().getErrorType(); - ControlSlot.highlighting.get(EnumHighlighting.Error).clear(); - ControlSlot.highlighting.get(EnumHighlighting.Warning).clear(); - ControlLiquidTank.tankError.clear(); - ControlEnergyBar.isError = false; - if (!this.isMouseOver() || this.errorState == null) { - return; - } - ControlEnergyBar.isError = this.errorState.isPowerError(); - if (this.errorState.isItemError()) { - for (final int slot : this.errorState.getData()) { - int id = -1; - for (final CustomSlot cslot : Window.get(this).getContainer().getCustomSlots()) { - if (!(cslot.inventory instanceof InventoryPlayer) && cslot.getSlotIndex() == slot) { - id = cslot.slotNumber; - } - } - if (id >= 0) { - if (this.type == 0) { - ControlSlot.highlighting.get(EnumHighlighting.Error).add(id); - } - else { - ControlSlot.highlighting.get(EnumHighlighting.Warning).add(id); - } - } - } - } - if (this.errorState.isTankError()) { - for (final int slot : this.errorState.getData()) { - ControlLiquidTank.tankError.add(slot); - } - } - } - - public ControlErrorState(final IWidget parent, final float x, final float y) { - super(parent, x, y, 16.0f, 16.0f); - this.type = 0; - this.addAttribute(Attribute.MouseOver); - } - - @Override - public void getTooltip(final Tooltip tooltipOrig) { - final MinecraftTooltip tooltip = (MinecraftTooltip) tooltipOrig; - if (this.errorState != null) { - if (this.type == 0) { - tooltip.setType(MinecraftTooltip.Type.Error); - } - else { - tooltip.setType(MinecraftTooltip.Type.Warning); - } - tooltip.add(this.errorState.toString()); - if (this.errorState.getTooltip().length() > 0) { - tooltip.add(this.errorState.getTooltip()); - } - } - } - - public ErrorState getErrorState() { - return this.errorState; - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlHelp.java b/src/main/java/binnie/craftgui/minecraft/control/ControlHelp.java deleted file mode 100644 index abc544e9..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlHelp.java +++ /dev/null @@ -1,40 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; - -public class ControlHelp extends Control implements ITooltip -{ - public ControlHelp(final IWidget parent, final float x, final float y) { - super(parent, x, y, 16.0f, 16.0f); - this.addAttribute(Attribute.MouseOver); - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.texture(CraftGUITexture.HelpButton, this.getArea()); - } - - @Override - public void getTooltip(final Tooltip tooltip) { - tooltip.setType(Tooltip.Type.Help); - tooltip.add("Help"); - tooltip.add("To activate help tooltips,"); - tooltip.add("hold down the tab key and"); - tooltip.add("mouse over controls."); - } - - @Override - public void getHelpTooltip(final Tooltip tooltip) { - this.getTooltip(tooltip); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlIconDisplay.java b/src/main/java/binnie/craftgui/minecraft/control/ControlIconDisplay.java deleted file mode 100644 index 9d3319e4..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlIconDisplay.java +++ /dev/null @@ -1,27 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.IWidget; -import net.minecraft.util.IIcon; -import binnie.craftgui.controls.core.Control; - -public class ControlIconDisplay extends Control -{ - private IIcon icon; - - public ControlIconDisplay(final IWidget parent, final float x, final float y, final IIcon icon) { - super(parent, x, y, 16.0f, 16.0f); - this.icon = null; - this.icon = icon; - } - - @Override - public void onRenderForeground() { - CraftGUI.Render.iconItem(IPoint.ZERO, this.icon); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlImage.java b/src/main/java/binnie/craftgui/minecraft/control/ControlImage.java deleted file mode 100644 index 7b7e4937..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlImage.java +++ /dev/null @@ -1,27 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.resource.Texture; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.core.Control; - -public class ControlImage extends Control -{ - private Object key; - - public ControlImage(final IWidget parent, final float x, final float y, final Texture text) { - super(parent, x, y, text.w(), text.h()); - this.key = null; - this.key = text; - } - - @Override - public void onRenderForeground() { - CraftGUI.Render.texture(this.key, IPoint.ZERO); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlInfo.java b/src/main/java/binnie/craftgui/minecraft/control/ControlInfo.java deleted file mode 100644 index 78a7fc43..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlInfo.java +++ /dev/null @@ -1,37 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; - -public class ControlInfo extends Control implements ITooltip -{ - private String info; - - public ControlInfo(final IWidget parent, final float x, final float y, final String info) { - super(parent, x, y, 16.0f, 16.0f); - this.addAttribute(Attribute.MouseOver); - this.info = info; - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.texture(CraftGUITexture.InfoButton, this.getArea()); - } - - @Override - public void getTooltip(final Tooltip tooltip) { - tooltip.setType(Tooltip.Type.Information); - tooltip.add("Info"); - tooltip.add(this.info); - tooltip.setMaxWidth(200); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlItemDisplay.java b/src/main/java/binnie/craftgui/minecraft/control/ControlItemDisplay.java deleted file mode 100644 index 33ebcf29..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlItemDisplay.java +++ /dev/null @@ -1,92 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; -import net.minecraft.client.Minecraft; -import binnie.core.BinnieCore; -import org.lwjgl.opengl.GL11; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.Attribute; -import net.minecraft.item.ItemStack; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; - -public class ControlItemDisplay extends Control implements ITooltip -{ - private ItemStack itemStack; - public boolean hastooltip; - private boolean rotating; - - public void setTooltip() { - this.hastooltip = true; - this.addAttribute(Attribute.MouseOver); - } - - public ControlItemDisplay(final IWidget parent, final float x, final float y) { - this(parent, x, y, 16.0f); - } - - public ControlItemDisplay(final IWidget parent, final float f, final float y, final ItemStack stack, final boolean tooltip) { - this(parent, f, y, 16.0f); - this.setItemStack(stack); - if (tooltip) { - this.setTooltip(); - } - } - - public ControlItemDisplay(final IWidget parent, final float x, final float y, final float size) { - super(parent, x, y, size, size); - this.itemStack = null; - this.hastooltip = false; - this.rotating = false; - } - - @Override - public void onRenderBackground() { - final IPoint relativeToWindow = this.getAbsolutePosition().sub(this.getSuperParent().getPosition()); - if (relativeToWindow.x() > Window.get(this).getSize().x() + 100.0f || relativeToWindow.y() > Window.get(this).getSize().y() + 100.0f) { - return; - } - if (this.itemStack != null) { - - if (this.getSize().x() != 16.0f) { - GL11.glPushMatrix(); - final float scale = this.getSize().x() / 16.0f; - GL11.glScalef(scale, scale, 1.0f); - BinnieCore.proxy.getMinecraftInstance(); - final float phase = Minecraft.getSystemTime() / 20.0f; - CraftGUI.Render.item(IPoint.ZERO, this.itemStack, this.rotating); - GL11.glPopMatrix(); - } - else { - CraftGUI.Render.item(IPoint.ZERO, this.itemStack, this.rotating); - } - } - } - - public void setItemStack(final ItemStack itemStack) { - this.itemStack = itemStack; - } - - public ItemStack getItemStack() { - return this.itemStack; - } - - @Override - public void getTooltip(final Tooltip tooltip) { - if (this.hastooltip && this.itemStack != null) { - tooltip.add(this.itemStack.getTooltip(((Window) this.getSuperParent()).getPlayer(), false)); - } - super.getTooltip(tooltip); - } - - public void setRotating() { - this.rotating = true; - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlLiquidTank.java b/src/main/java/binnie/craftgui/minecraft/control/ControlLiquidTank.java deleted file mode 100644 index 423d9dbc..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlLiquidTank.java +++ /dev/null @@ -1,179 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import java.util.ArrayList; -import binnie.core.machines.Machine; -import binnie.core.machines.power.ITankMachine; -import binnie.core.machines.inventory.TankSlot; -import binnie.core.machines.inventory.MachineSide; -import net.minecraft.util.IIcon; -import net.minecraftforge.fluids.Fluid; -import net.minecraft.client.renderer.texture.TextureMap; -import binnie.core.BinnieCore; -import binnie.craftgui.core.geometry.IArea; -import org.lwjgl.opengl.GL11; -import binnie.craftgui.minecraft.MinecraftTooltip; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.core.machines.power.TankInfo; -import binnie.craftgui.minecraft.Window; -import net.minecraft.nbt.NBTTagCompound; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import java.util.List; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; - -public class ControlLiquidTank extends Control implements ITooltip -{ - public static List tankError; - private int tankID; - private boolean horizontal; - - public ControlLiquidTank(final IWidget parent, final int x, final int y) { - this(parent, x, y, false); - } - - public ControlLiquidTank(final IWidget parent, final int x, final int y, final boolean horizontal) { - super(parent, x, y, horizontal ? 60.0f : 18.0f, horizontal ? 18.0f : 60.0f); - this.tankID = 0; - this.horizontal = false; - this.horizontal = horizontal; - this.addAttribute(Attribute.MouseOver); - this.addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(final EventMouse.Down event) { - if (event.getButton() == 0) { - final NBTTagCompound nbt = new NBTTagCompound(); - nbt.setByte("id", (byte) ControlLiquidTank.this.tankID); - Window.get(ControlLiquidTank.this.getWidget()).sendClientAction("tank-click", nbt); - } - } - }); - } - - public void setTankID(final int tank) { - this.tankID = tank; - } - - public TankInfo getTank() { - return Window.get(this).getContainer().getTankInfo(this.tankID); - } - - public boolean isTankValid() { - return !this.getTank().isEmpty(); - } - - public int getTankCapacity() { - return (int) this.getTank().getCapacity(); - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.texture(this.horizontal ? CraftGUITexture.HorizontalLiquidTank : CraftGUITexture.LiquidTank, IPoint.ZERO); - if (this.isMouseOver() && Window.get(this).getGui().isHelpMode()) { - final int c = -1442840576 + MinecraftTooltip.getOutline(Tooltip.Type.Help); - CraftGUI.Render.gradientRect(this.getArea().inset(1), c, c); - } - else if (ControlLiquidTank.tankError.contains(this.tankID)) { - final int c = -1442840576 + MinecraftTooltip.getOutline(MinecraftTooltip.Type.Error); - CraftGUI.Render.gradientRect(this.getArea().inset(1), c, c); - } - else if (this.getSuperParent().getMousedOverWidget() == this) { - if (Window.get(this).getGui().getDraggedItem() != null) { - CraftGUI.Render.gradientRect(this.getArea().inset(1), -1426089575, -1426089575); - } - else { - CraftGUI.Render.gradientRect(this.getArea().inset(1), -2130706433, -2130706433); - } - } - if (this.isTankValid()) { - final Object content = null; - final float height = this.horizontal ? 16.0f : 58.0f; - final int squaled = (int) (height * (this.getTank().getAmount() / this.getTank().getCapacity())); - final int yPos = (int) height + 1; - final Fluid fluid = this.getTank().liquid.getFluid(); - final int hex = fluid.getColor(this.getTank().liquid); - final int r = (hex & 0xFF0000) >> 16; - final int g = (hex & 0xFF00) >> 8; - final int b = hex & 0xFF; - GL11.glColor4f(r / 255.0f, g / 255.0f, b / 255.0f, 1.0f); - GL11.glEnable(3042); - GL11.glBlendFunc(770, 771); - final IPoint pos = this.getAbsolutePosition(); - final IPoint offset = new IPoint(0.0f, height - squaled); - final IArea limited = this.getArea().inset(1); - if (this.horizontal) { - limited.setSize(new IPoint(limited.w() - 1.0f, limited.h())); - } - CraftGUI.Render.limitArea(new IArea(limited.pos().add(pos).add(offset), limited.size().sub(offset))); - GL11.glEnable(3089); - BinnieCore.proxy.bindTexture(TextureMap.locationItemsTexture); - for (int y = 0; y < height; y += 16) { - for (int x = 0; x < (this.horizontal ? 58 : 16); x += 16) { - final IIcon icon = fluid.getIcon(); - CraftGUI.Render.iconBlock(new IPoint(1 + x, 1 + y), icon); - } - } - GL11.glDisable(3089); - GL11.glDisable(3042); - } - } - - @Override - public void onRenderForeground() { - CraftGUI.Render.texture(this.horizontal ? CraftGUITexture.HorizontalLiquidTankOverlay : CraftGUITexture.LiquidTankOverlay, IPoint.ZERO); - if (this.isMouseOver() && Window.get(this).getGui().isHelpMode()) { - final IArea area = this.getArea(); - CraftGUI.Render.colour(MinecraftTooltip.getOutline(Tooltip.Type.Help)); - CraftGUI.Render.texture(CraftGUITexture.Outline, area.outset(1)); - } - if (ControlLiquidTank.tankError.contains(this.tankID)) { - final IArea area = this.getArea(); - CraftGUI.Render.colour(MinecraftTooltip.getOutline(MinecraftTooltip.Type.Error)); - CraftGUI.Render.texture(CraftGUITexture.Outline, area.outset(1)); - } - } - - @Override - public void getHelpTooltip(final Tooltip tooltip) { - if (this.getTankSlot() != null) { - final TankSlot slot = this.getTankSlot(); - tooltip.add(slot.getName()); - tooltip.add("Capacity: " + this.getTankCapacity() + " mB"); - tooltip.add("Insert Side: " + MachineSide.asString(slot.getInputSides())); - tooltip.add("Extract Side: " + MachineSide.asString(slot.getOutputSides())); - if (slot.isReadOnly()) { - tooltip.add("Output Only Tank"); - } - tooltip.add("Accepts: " + ((slot.getValidator() == null) ? "Any Item" : slot.getValidator().getTooltip())); - } - } - - @Override - public void getTooltip(final Tooltip tooltip) { - if (this.isTankValid()) { - final int percentage = (int) (100.0 * this.getTank().getAmount() / this.getTankCapacity()); - tooltip.add(this.getTank().getName()); - tooltip.add(percentage + "% full"); - tooltip.add((int) this.getTank().getAmount() + " mB"); - return; - } - tooltip.add("Empty"); - } - - private TankSlot getTankSlot() { - final ITankMachine tank = Machine.getInterface(ITankMachine.class, Window.get(this).getInventory()); - return (tank != null) ? tank.getTankSlot(this.tankID) : null; - } - - static { - ControlLiquidTank.tankError = new ArrayList(); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlMachineProgress.java b/src/main/java/binnie/craftgui/minecraft/control/ControlMachineProgress.java deleted file mode 100644 index cf1f21cf..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlMachineProgress.java +++ /dev/null @@ -1,16 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.resource.Texture; -import binnie.craftgui.core.IWidget; - -public class ControlMachineProgress extends ControlProgress -{ - public ControlMachineProgress(final IWidget parent, final int x, final int y, final Texture base, final Texture progress, final Position dir) { - super(parent, x, y, base, progress, dir); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlPlayerInventory.java b/src/main/java/binnie/craftgui/minecraft/control/ControlPlayerInventory.java deleted file mode 100644 index 096c7632..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlPlayerInventory.java +++ /dev/null @@ -1,99 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import binnie.craftgui.minecraft.InventoryType; -import java.util.ArrayList; -import binnie.craftgui.core.IWidget; -import java.util.List; -import binnie.craftgui.controls.core.Control; - -public class ControlPlayerInventory extends Control -{ - private List slots; - - public ControlPlayerInventory(final IWidget parent, final boolean wide) { - super(parent, (int) (parent.getSize().x() / 2.0f) - (wide ? 110 : 81), (int) parent.getSize().y() - (wide ? 54 : 76) - 12, wide ? 220 : 162, wide ? 54 : 76); - this.slots = new ArrayList(); - for (int row = 0; row < 3; ++row) { - for (int column = 0; column < 9; ++column) { - final ControlSlot slot = new ControlSlot(this, (wide ? 58 : 0) + column * 18, row * 18); - this.slots.add(slot); - } - } - if (wide) { - for (int i1 = 0; i1 < 9; ++i1) { - final ControlSlot slot2 = new ControlSlot(this, i1 % 3 * 18, i1 / 3 * 18); - this.slots.add(slot2); - } - } - else { - for (int i1 = 0; i1 < 9; ++i1) { - final ControlSlot slot2 = new ControlSlot(this, i1 * 18, 58.0f); - this.slots.add(slot2); - } - } - this.create(); - } - - public ControlPlayerInventory(final IWidget parent) { - this(parent, false); - } - - public ControlPlayerInventory(final IWidget parent, final int x, final int y) { - super(parent, x, y, 54.0f, 220.0f); - this.slots = new ArrayList(); - for (int row = 0; row < 6; ++row) { - for (int column = 0; column < 6; ++column) { - final ControlSlot slot = new ControlSlot(this, column * 18, row * 18); - this.slots.add(slot); - } - } - this.create(); - } - - public void create() { - for (int row = 0; row < 3; ++row) { - for (int column = 0; column < 9; ++column) { - final ControlSlot slot = this.slots.get(column + row * 9); - slot.assign(InventoryType.Player, 9 + column + row * 9); - } - } - for (int i1 = 0; i1 < 9; ++i1) { - final ControlSlot slot2 = this.slots.get(27 + i1); - slot2.assign(InventoryType.Player, i1); - } - } - - public void addItem(final ItemStack item) { - if (item == null) { - return; - } - for (final ControlSlot slot : this.slots) { - if (!slot.slot.getHasStack()) { - slot.slot.putStack(item); - } - } - } - - public void addInventory(final IInventory inventory) { - for (int i = 0; i < inventory.getSizeInventory(); ++i) { - this.addItem(inventory.getStackInSlot(i)); - } - } - - public ControlSlot getSlot(final int i) { - if (i < 0 || i >= this.slots.size()) { - return null; - } - return this.slots.get(i); - } - - @Override - public void onUpdateClient() { - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlPowerSystem.java b/src/main/java/binnie/craftgui/minecraft/control/ControlPowerSystem.java deleted file mode 100644 index bc29badb..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlPowerSystem.java +++ /dev/null @@ -1,38 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.core.machines.power.PowerSystem; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; - -public class ControlPowerSystem extends Control implements ITooltip -{ - private PowerSystem system; - - public ControlPowerSystem(final IWidget parent, final float x, final float y, final PowerSystem system) { - super(parent, x, y, 16.0f, 16.0f); - this.addAttribute(Attribute.MouseOver); - this.system = system; - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.texture(CraftGUITexture.PowerButton, this.getArea()); - } - - @Override - public void getTooltip(final Tooltip tooltip) { - tooltip.setType(Tooltip.Type.Power); - tooltip.add("Power Supply"); - tooltip.add("Powered by " + this.system.getUnitName()); - tooltip.setMaxWidth(200); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlProgress.java b/src/main/java/binnie/craftgui/minecraft/control/ControlProgress.java deleted file mode 100644 index 96ba20ee..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlProgress.java +++ /dev/null @@ -1,31 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.resource.Texture; - -public class ControlProgress extends ControlProgressBase -{ - private Texture progressBlank; - private Texture progressBar; - private Position direction; - - public ControlProgress(final IWidget parent, final int x, final int y, final Texture progressBlank, final Texture progressBar, final Position dir) { - super(parent, x, y, (progressBlank == null) ? 0.0f : progressBlank.w(), (progressBlank == null) ? 0.0f : progressBlank.h()); - this.progressBlank = progressBlank; - this.progressBar = progressBar; - this.progress = 0.0f; - this.direction = dir; - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.texture(this.progressBlank, this.getArea()); - CraftGUI.Render.texturePercentage(this.progressBar, this.getArea(), this.direction, this.progress); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlSlide.java b/src/main/java/binnie/craftgui/minecraft/control/ControlSlide.java deleted file mode 100644 index 6aae9e9a..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlSlide.java +++ /dev/null @@ -1,105 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.resource.Texture; -import binnie.craftgui.core.geometry.TextJustification; -import org.lwjgl.opengl.GL11; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.geometry.IBorder; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.controls.core.Control; - -public class ControlSlide extends Control -{ - private IArea expanded; - private IArea shrunk; - private boolean slideActive; - private Position anchor; - private String label; - - public ControlSlide(final IWidget parent, final float x, final float y, final float w, final float h, final Position anchor2) { - super(parent, x, y, w, h); - this.slideActive = true; - this.label = null; - this.addAttribute(Attribute.MouseOver); - this.addAttribute(Attribute.BlockTooltip); - this.expanded = new IArea(this.getPosition(), this.getSize()); - this.anchor = anchor2.opposite(); - final float border = (this.anchor.x() != 0) ? (this.expanded.w() - 6.0f) : (this.expanded.h() - 6.0f); - this.shrunk = this.expanded.inset(new IBorder(this.anchor, border)); - this.slideActive = false; - } - - @Override - public void onRenderBackground() { - super.onRenderBackground(); - if (this.label != null) { - final float lw = CraftGUI.Render.textWidth(this.label) + 16; - final float lh = CraftGUI.Render.textHeight() + 16; - final boolean hor = this.anchor.x() != 0; - final IArea ar = this.isSlideActive() ? this.expanded : this.shrunk; - IArea tabArea = new IArea(hor ? (-lh / 2.0f) : (-lw / 2.0f), hor ? (-lw / 2.0f) : (-lh / 2.0f), hor ? lh : lw, hor ? lw : lh); - final IPoint shift = new IPoint(ar.w() * (1 - this.anchor.x()) / 2.0f, ar.h() * (1 - this.anchor.y()) / 2.0f); - tabArea = tabArea.shift(shift.x() - (-3.0f + lh / 2.0f) * this.anchor.x(), shift.y() - (-3.0f + lh / 2.0f) * this.anchor.y()); - Texture texture = CraftGUI.Render.getTexture(this.isSlideActive() ? CraftGUITexture.Tab : CraftGUITexture.TabDisabled).crop(this.anchor.opposite(), 8.0f); - CraftGUI.Render.texture(texture, tabArea); - texture = CraftGUI.Render.getTexture(CraftGUITexture.TabOutline).crop(this.anchor.opposite(), 8.0f); - CraftGUI.Render.texture(texture, tabArea.inset(2)); - final IArea labelArea = new IArea(-lw / 2.0f, 0.0f, lw, lh); - GL11.glPushMatrix(); - GL11.glTranslatef(shift.x() + this.anchor.x() * 2.0f, shift.y() + this.anchor.y() * 2.0f, 0.0f); - if (this.anchor.x() != 0) { - GL11.glRotatef(90.0f, 0.0f, 0.0f, this.anchor.x()); - } - if (this.anchor.y() > 0) { - GL11.glTranslatef(0.0f, -lh, 0.0f); - } - CraftGUI.Render.text(labelArea, TextJustification.MiddleCenter, this.label, 16777215); - GL11.glPopMatrix(); - } - CraftGUI.Render.texture(CraftGUITexture.Window, this.getArea()); - final Object slideTexture = (this.anchor == Position.Bottom) ? CraftGUITexture.SlideDown : ((this.anchor == Position.Top) ? CraftGUITexture.SlideUp : ((this.anchor == Position.Left) ? CraftGUITexture.SlideLeft : CraftGUITexture.SlideRight)); - CraftGUI.Render.texture(slideTexture, new IPoint((this.anchor.x() + 1.0f) * this.w() / 2.0f - 8.0f, (this.anchor.y() + 1.0f) * this.h() / 2.0f - 8.0f)); - } - - public boolean isSlideActive() { - return this.slideActive; - } - - @Override - public void onUpdateClient() { - final boolean mouseOver = this.isMouseOverWidget(this.getRelativeMousePosition()); - if (mouseOver != this.slideActive) { - this.setSlide(mouseOver); - } - } - - @Override - public boolean isMouseOverWidget(final IPoint relativeMouse) { - return this.getArea().outset(this.isSlideActive() ? 16 : 8).outset(new IBorder(this.anchor.opposite(), 16.0f)).contains(relativeMouse); - } - - @Override - public boolean isChildVisible(final IWidget child) { - return this.slideActive; - } - - public void setSlide(final boolean b) { - this.slideActive = b; - final IArea area = this.isSlideActive() ? this.expanded : this.shrunk; - this.setSize(area.size()); - this.setPosition(area.pos()); - } - - public void setLabel(final String l) { - this.label = l; - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlSlot.java b/src/main/java/binnie/craftgui/minecraft/control/ControlSlot.java deleted file mode 100644 index 93ac00c7..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlSlot.java +++ /dev/null @@ -1,211 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import java.util.HashMap; -import binnie.craftgui.minecraft.CustomSlot; -import binnie.core.machines.inventory.SlotValidator; -import net.minecraft.entity.player.InventoryPlayer; -import binnie.craftgui.minecraft.WindowInventory; -import binnie.core.machines.inventory.MachineSide; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.minecraft.InventoryType; -import net.minecraft.item.ItemStack; -import java.util.ArrayList; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.util.IIcon; -import binnie.core.machines.inventory.InventorySlot; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import net.minecraft.client.multiplayer.PlayerControllerMP; -import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.GuiCraftGUI; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.core.IWidget; -import net.minecraft.inventory.Slot; -import java.util.List; -import java.util.Map; - -public class ControlSlot extends ControlSlotBase -{ - public static Map> highlighting; - public static boolean shiftClickActive; - public Slot slot; - - public ControlSlot(final IWidget parent, final float x, final float y) { - super(parent, x, y); - this.slot = null; - this.addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(final EventMouse.Down event) { - if (ControlSlot.this.slot != null) { - final PlayerControllerMP playerController = ((Window) ControlSlot.this.getSuperParent()).getGui().getMinecraft().playerController; - final int windowId = ((Window) ControlSlot.this.getSuperParent()).getContainer().windowId; - final int slotNumber = ControlSlot.this.slot.slotNumber; - final int button = event.getButton(); - Window.get(ControlSlot.this.getWidget()).getGui(); - playerController.windowClick(windowId, slotNumber, button, GuiScreen.isShiftKeyDown() ? 1 : 0, ((Window) ControlSlot.this.getSuperParent()).getGui().getMinecraft().thePlayer); - } - } - }); - } - - public ControlSlot(final IWidget parent, final int x, final int y, final Slot slot) { - super(parent, x, y); - this.slot = null; - this.slot = slot; - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.texture(CraftGUITexture.Slot, IPoint.ZERO); - if (this.slot == null) { - return; - } - final InventorySlot islot = this.getInventorySlot(); - if (islot != null && islot.getValidator() != null) { - final IIcon icon = islot.getValidator().getIcon(!islot.getInputSides().isEmpty()); - if (icon != null) { - CraftGUI.Render.iconItem(new IPoint(1.0f, 1.0f), icon); - } - } - boolean highlighted = false; - for (final Map.Entry> highlight : ControlSlot.highlighting.entrySet()) { - if (highlight.getKey() == EnumHighlighting.ShiftClick && !ControlSlot.shiftClickActive) { - continue; - } - if (highlighted || !highlight.getValue().contains(this.slot.slotNumber)) { - continue; - } - highlighted = true; - final int c = -1442840576 + Math.min(highlight.getKey().getColour(), 16777215); - CraftGUI.Render.gradientRect(new IArea(1.0f, 1.0f, 16.0f, 16.0f), c, c); - } - if (!highlighted && this.getSuperParent().getMousedOverWidget() == this) { - if (Window.get(this).getGui().getDraggedItem() != null && !this.slot.isItemValid(Window.get(this).getGui().getDraggedItem())) { - CraftGUI.Render.gradientRect(new IArea(1.0f, 1.0f, 16.0f, 16.0f), -1426089575, -1426089575); - } - else { - CraftGUI.Render.gradientRect(new IArea(1.0f, 1.0f, 16.0f, 16.0f), -2130706433, -2130706433); - } - } - } - - @Override - public void onRenderOverlay() { - if (this.slot == null) { - return; - } - boolean highlighted = false; - for (final Map.Entry> highlight : ControlSlot.highlighting.entrySet()) { - if (highlight.getKey() == EnumHighlighting.ShiftClick && !ControlSlot.shiftClickActive) { - continue; - } - if (highlighted || !highlight.getValue().contains(this.slot.slotNumber)) { - continue; - } - highlighted = true; - final int c = highlight.getKey().getColour(); - IArea area = this.getArea(); - if (this.getParent() instanceof ControlSlotArray || this.getParent() instanceof ControlPlayerInventory) { - area = this.getParent().getArea(); - area.setPosition(IPoint.ZERO.sub(this.getPosition())); - } - CraftGUI.Render.colour(c); - CraftGUI.Render.texture(CraftGUITexture.Outline, area.outset(1)); - } - } - - @Override - public void onUpdateClient() { - super.onUpdateClient(); - if (this.slot == null) { - return; - } - if (this.isMouseOver() && GuiScreen.isShiftKeyDown()) { - Window.get(this).getContainer().setMouseOverSlot(this.slot); - ControlSlot.shiftClickActive = true; - } - if (Window.get(this).getGui().isHelpMode() && this.isMouseOver()) { - for (final ControlSlot slot2 : this.getControlSlots()) { - if (slot2.slot != null) { - ControlSlot.highlighting.get(EnumHighlighting.Help).add(slot2.slot.slotNumber); - } - } - } - } - - private List getControlSlots() { - final List slots = new ArrayList(); - if (this.getParent() instanceof ControlSlotArray || this.getParent() instanceof ControlPlayerInventory) { - for (final IWidget child : this.getParent().getWidgets()) { - slots.add((ControlSlot) child); - } - } - else { - slots.add(this); - } - return slots; - } - - @Override - public ItemStack getItemStack() { - if (this.slot != null) { - return this.slot.getStack(); - } - return null; - } - - public ControlSlot assign(final int index) { - return this.assign(InventoryType.Machine, index); - } - - public ControlSlot assign(final InventoryType inventory, final int index) { - if (this.slot != null) { - return this; - } - this.slot = ((Window) this.getSuperParent()).getContainer().getOrCreateSlot(inventory, index); - return this; - } - - @Override - public void getHelpTooltip(final Tooltip tooltip) { - if (this.slot == null) { - return; - } - final InventorySlot slot = this.getInventorySlot(); - if (this.getInventorySlot() != null) { - tooltip.add(slot.getName()); - tooltip.add("Insert Side: " + MachineSide.asString(slot.getInputSides())); - tooltip.add("Extract Side: " + MachineSide.asString(slot.getOutputSides())); - if (slot.isReadOnly()) { - tooltip.add("Pickup Only Slot"); - } - tooltip.add("Accepts: " + ((slot.getValidator() == null) ? "Any Item" : slot.getValidator().getTooltip())); - } - else if (this.slot.inventory instanceof WindowInventory) { - final SlotValidator s = ((WindowInventory) this.slot.inventory).getValidator(this.slot.getSlotIndex()); - tooltip.add("Accepts: " + ((s == null) ? "Any Item" : s.getTooltip())); - } - else if (this.slot.inventory instanceof InventoryPlayer) { - tooltip.add("Player Inventory"); - } - } - - public InventorySlot getInventorySlot() { - return (this.slot instanceof CustomSlot) ? ((CustomSlot) this.slot).getInventorySlot() : null; - } - - static { - ControlSlot.highlighting = new HashMap>(); - ControlSlot.shiftClickActive = false; - for (final EnumHighlighting h : EnumHighlighting.values()) { - ControlSlot.highlighting.put(h, new ArrayList()); - } - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlSlotArray.java b/src/main/java/binnie/craftgui/minecraft/control/ControlSlotArray.java deleted file mode 100644 index 5cd4419e..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlSlotArray.java +++ /dev/null @@ -1,71 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import java.util.Iterator; -import binnie.craftgui.minecraft.InventoryType; -import net.minecraft.item.ItemStack; -import java.util.ArrayList; -import binnie.craftgui.core.IWidget; -import java.util.List; -import binnie.craftgui.controls.core.Control; - -public class ControlSlotArray extends Control implements Iterable -{ - private int rows; - private int columns; - private List slots; - - public ControlSlotArray(final IWidget parent, final int x, final int y, final int columns, final int rows) { - super(parent, x, y, columns * 18, rows * 18); - this.slots = new ArrayList(); - this.rows = rows; - this.columns = columns; - for (int row = 0; row < rows; ++row) { - for (int column = 0; column < columns; ++column) { - this.slots.add(this.createSlot(column * 18, row * 18)); - } - } - } - - public ControlSlot createSlot(final int x, final int y) { - return new ControlSlot(this, x, y); - } - - public void setItemStacks(final ItemStack[] array) { - int i = 0; - for (final ItemStack item : array) { - if (i >= this.slots.size()) { - return; - } - this.slots.get(i).slot.putStack(item); - ++i; - } - } - - public ControlSlot getControlSlot(final int i) { - if (i < 0 || i >= this.slots.size()) { - return null; - } - return this.slots.get(i); - } - - public ControlSlotArray create(final int[] index) { - return this.create(InventoryType.Machine, index); - } - - public ControlSlotArray create(final InventoryType type, final int[] index) { - int i = 0; - for (final ControlSlot slot : this.slots) { - slot.assign(type, index[i++]); - } - return this; - } - - @Override - public Iterator iterator() { - return this.slots.iterator(); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlSlotBase.java b/src/main/java/binnie/craftgui/minecraft/control/ControlSlotBase.java deleted file mode 100644 index bc18d32e..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlSlotBase.java +++ /dev/null @@ -1,71 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import net.minecraft.item.ItemStack; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.events.EventWidget; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; - -public abstract class ControlSlotBase extends Control implements ITooltip -{ - private ControlItemDisplay itemDisplay; - - public ControlSlotBase(final IWidget parent, final float x, final float y) { - this(parent, x, y, 18); - } - - public ControlSlotBase(final IWidget parent, final float x, final float y, final int size) { - super(parent, x, y, size, size); - this.addAttribute(Attribute.MouseOver); - this.itemDisplay = new ControlItemDisplay(this, 1.0f, 1.0f, size - 2); - this.addSelfEventHandler(new EventWidget.ChangeSize.Handler() { - @Override - public void onEvent(final EventWidget.ChangeSize event) { - if (ControlSlotBase.this.itemDisplay != null) { - ControlSlotBase.this.itemDisplay.setSize(ControlSlotBase.this.getSize().sub(new IPoint(2.0f, 2.0f))); - } - } - }); - } - - protected void setRotating() { - this.itemDisplay.setRotating(); - } - - @Override - public void onRenderBackground() { - final int size = (int) this.getSize().x(); - CraftGUI.Render.texture(CraftGUITexture.Slot, this.getArea()); - if (this.getSuperParent().getMousedOverWidget() == this) { - CraftGUI.Render.gradientRect(new IArea(new IPoint(1.0f, 1.0f), this.getArea().size().sub(new IPoint(2.0f, 2.0f))), -2130706433, -2130706433); - } - } - - @Override - public void onUpdateClient() { - super.onUpdateClient(); - this.itemDisplay.setItemStack(this.getItemStack()); - } - - @Override - public void getTooltip(final Tooltip tooltip) { - final ItemStack item = this.getItemStack(); - if (item == null) { - return; - } - tooltip.add(item.getTooltip(((Window) this.getSuperParent()).getPlayer(), false)); - } - - public abstract ItemStack getItemStack(); -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlSlotCharge.java b/src/main/java/binnie/craftgui/minecraft/control/ControlSlotCharge.java deleted file mode 100644 index 63682517..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlSlotCharge.java +++ /dev/null @@ -1,41 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.core.machines.Machine; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.minecraft.Window; -import binnie.core.machines.inventory.IChargedSlots; -import binnie.craftgui.controls.core.Control; - -public class ControlSlotCharge extends Control -{ - private int slot; - - float getCharge() { - final IChargedSlots slots = Machine.getInterface(IChargedSlots.class, Window.get(this).getInventory()); - return (slots == null) ? 0.0f : slots.getCharge(this.slot); - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.texture(CraftGUITexture.PanelBlack, this.getArea()); - CraftGUI.Render.texturePercentage(CraftGUI.Render.getTexture(CraftGUITexture.SlotCharge), this.getArea().inset(1), Position.Bottom, this.getCharge()); - } - - public ControlSlotCharge(final IWidget parent, final int x, final int y, final int slot) { - super(parent, x, y, 4.0f, 18.0f); - this.slot = slot; - } - - @Override - public void getHelpTooltip(final Tooltip tooltip) { - tooltip.add("Charge Remaining: " + (int) (this.getCharge() * 100.0f) + "%"); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlTabIcon.java b/src/main/java/binnie/craftgui/minecraft/control/ControlTabIcon.java deleted file mode 100644 index 63359f00..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlTabIcon.java +++ /dev/null @@ -1,45 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.core.geometry.IPoint; -import binnie.core.genetics.IItemStackRepresentative; -import net.minecraft.item.ItemStack; -import binnie.craftgui.controls.tab.ControlTabBar; -import binnie.craftgui.controls.tab.ControlTab; - -public class ControlTabIcon extends ControlTab -{ - private ControlItemDisplay item; - - public ControlTabIcon(final ControlTabBar parent, final float x, final float y, final float w, final float h, final T value) { - super(parent, x, y, w, h, value); - this.item = new ControlItemDisplay(this, -8.0f + w / 2.0f, -8.0f + h / 2.0f); - this.item.hastooltip = false; - } - - public ItemStack getItemStack() { - if (this.value instanceof IItemStackRepresentative) { - return ((IItemStackRepresentative) this.value).getItemStackRepresentative(); - } - return null; - } - - @Override - public void onUpdateClient() { - super.onUpdateClient(); - this.item.setItemStack(this.getItemStack()); - final float x = ((ControlTabBar) this.getParent()).getDirection().x(); - this.item.setOffset(new IPoint((this.isCurrentSelection() || this.isMouseOver()) ? 0.0f : (-4.0f * x), 0.0f)); - } - - public boolean hasOutline() { - return false; - } - - public int getOutlineColour() { - return 16777215; - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/ControlUser.java b/src/main/java/binnie/craftgui/minecraft/control/ControlUser.java deleted file mode 100644 index f5232844..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/ControlUser.java +++ /dev/null @@ -1,42 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; - -public class ControlUser extends Control implements ITooltip -{ - private String username; - String team; - - public ControlUser(final IWidget parent, final float x, final float y, final String username) { - super(parent, x, y, 16.0f, 16.0f); - this.username = ""; - this.team = ""; - this.addAttribute(Attribute.MouseOver); - this.username = username; - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.texture(CraftGUITexture.UserButton, this.getArea()); - } - - @Override - public void getTooltip(final Tooltip tooltip) { - tooltip.setType(Tooltip.Type.User); - tooltip.add("Owner"); - if (this.username != "") { - tooltip.add(this.username); - } - tooltip.setMaxWidth(200); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/control/EnumHighlighting.java b/src/main/java/binnie/craftgui/minecraft/control/EnumHighlighting.java deleted file mode 100644 index 005a3b0d..00000000 --- a/src/main/java/binnie/craftgui/minecraft/control/EnumHighlighting.java +++ /dev/null @@ -1,36 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.control; - -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.minecraft.MinecraftTooltip; - -public enum EnumHighlighting -{ - Error, - Warning, - Help, - ShiftClick; - - int getColour() { - switch (this) { - case Error: { - return MinecraftTooltip.getOutline(MinecraftTooltip.Type.Error); - } - case Help: { - return MinecraftTooltip.getOutline(Tooltip.Type.Help); - } - case ShiftClick: { - return 16776960; - } - case Warning: { - return MinecraftTooltip.getOutline(MinecraftTooltip.Type.Warning); - } - default: { - return 0; - } - } - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/render/MinecraftTexture.java b/src/main/java/binnie/craftgui/minecraft/render/MinecraftTexture.java deleted file mode 100644 index 231c4d69..00000000 --- a/src/main/java/binnie/craftgui/minecraft/render/MinecraftTexture.java +++ /dev/null @@ -1,18 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.render; - -import binnie.core.resource.IBinnieTexture; -import binnie.craftgui.core.geometry.IArea; - -public class MinecraftTexture -{ - IArea textureArea; - IBinnieTexture texture; - - public MinecraftTexture() { - this.textureArea = new IArea(0.0f, 0.0f, 0.0f, 0.0f); - } -} diff --git a/src/main/java/binnie/craftgui/minecraft/render/RenderCommand.java b/src/main/java/binnie/craftgui/minecraft/render/RenderCommand.java deleted file mode 100644 index 0c9cb87c..00000000 --- a/src/main/java/binnie/craftgui/minecraft/render/RenderCommand.java +++ /dev/null @@ -1,19 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.minecraft.render; - -import binnie.craftgui.minecraft.GuiCraftGUI; -import binnie.craftgui.core.IWidget; - -public abstract class RenderCommand -{ - IWidget widget; - - public RenderCommand(final IWidget widget) { - this.widget = widget; - } - - public abstract void render(final GuiCraftGUI p0); -} diff --git a/src/main/java/binnie/craftgui/mod/database/ControlBranchBox.java b/src/main/java/binnie/craftgui/mod/database/ControlBranchBox.java deleted file mode 100644 index d9871f6b..00000000 --- a/src/main/java/binnie/craftgui/mod/database/ControlBranchBox.java +++ /dev/null @@ -1,23 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.controls.scroll.ControlScrollableContent; -import binnie.craftgui.controls.listbox.ControlList; -import binnie.craftgui.core.IWidget; -import forestry.api.genetics.IClassification; -import binnie.craftgui.controls.listbox.ControlListBox; - -class ControlBranchBox extends ControlListBox -{ - @Override - public IWidget createOption(final IClassification value, final int y) { - return new ControlBranchBoxOption(((ControlScrollableContent>) this).getContent(), value, y); - } - - public ControlBranchBox(final IWidget parent, final float x, final float y, final float width, final float height) { - super(parent, x, y, width, height, 12.0f); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/ControlBranchBoxOption.java b/src/main/java/binnie/craftgui/mod/database/ControlBranchBoxOption.java deleted file mode 100644 index 70696991..00000000 --- a/src/main/java/binnie/craftgui/mod/database/ControlBranchBoxOption.java +++ /dev/null @@ -1,16 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.controls.listbox.ControlList; -import forestry.api.genetics.IClassification; -import binnie.craftgui.controls.listbox.ControlTextOption; - -class ControlBranchBoxOption extends ControlTextOption -{ - public ControlBranchBoxOption(final ControlList controlList, final IClassification option, final int y) { - super(controlList, option, (option.getName() == null) ? option.getScientific() : (option.getName().contains(".") ? option.getScientific() : option.getName()), y); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/ControlBreedingProgress.java b/src/main/java/binnie/craftgui/mod/database/ControlBreedingProgress.java deleted file mode 100644 index 84149641..00000000 --- a/src/main/java/binnie/craftgui/mod/database/ControlBreedingProgress.java +++ /dev/null @@ -1,42 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.resource.minecraft.StandardTexture; -import binnie.craftgui.resource.minecraft.CraftGUITextureSheet; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.core.genetics.BreedingSystem; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.resource.Texture; -import binnie.craftgui.controls.core.Control; - -class ControlBreedingProgress extends Control -{ - private static Texture Progress; - private float percentage; - private int colour; - - public ControlBreedingProgress(final IWidget parent, final int x, final int y, final int width, final int height, final BreedingSystem system, final float percentage) { - super(parent, x, y, width, height); - this.percentage = percentage; - this.colour = system.getColour(); - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.texture(CraftGUITexture.PanelBlack, this.getArea()); - final IArea area = this.getArea().inset(1); - area.setSize(new IPoint(area.size().x() * this.percentage, area.size().y())); - CraftGUI.Render.colour(this.colour); - CraftGUI.Render.texture(ControlBreedingProgress.Progress, area); - } - - static { - ControlBreedingProgress.Progress = new StandardTexture(80, 22, 4, 4, CraftGUITextureSheet.Controls2); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/ControlDatabaseIndividualDisplay.java b/src/main/java/binnie/craftgui/mod/database/ControlDatabaseIndividualDisplay.java deleted file mode 100644 index 819c6aff..00000000 --- a/src/main/java/binnie/craftgui/mod/database/ControlDatabaseIndividualDisplay.java +++ /dev/null @@ -1,113 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.core.Tooltip; -import net.minecraft.util.IIcon; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.events.EventMouse; -import com.mojang.authlib.GameProfile; -import forestry.api.genetics.IIndividual; -import binnie.core.genetics.BreedingSystem; -import forestry.api.genetics.ISpeciesRoot; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.minecraft.Window; -import binnie.Binnie; -import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.minecraft.control.ControlItemDisplay; - -public class ControlDatabaseIndividualDisplay extends ControlItemDisplay implements ITooltip -{ - private IAlleleSpecies species; - EnumDiscoveryState discovered; - - public void setSpecies(final IAlleleSpecies species) { - this.setSpecies(species, EnumDiscoveryState.Show); - } - - public void setSpecies(final IAlleleSpecies species, EnumDiscoveryState state) { - final ISpeciesRoot speciesRoot = Binnie.Genetics.getSpeciesRoot(species); - final BreedingSystem system = Binnie.Genetics.getSystem(speciesRoot.getUID()); - final IIndividual ind = system.getSpeciesRoot().templateAsIndividual(system.getSpeciesRoot().getTemplate(species.getUID())); - super.setItemStack(system.getSpeciesRoot().getMemberStack(ind, system.getDefaultType())); - this.species = species; - final GameProfile username = Window.get(this).getUsername(); - if (state == EnumDiscoveryState.Undetermined) { - state = (system.isSpeciesDiscovered(species, Window.get(this).getWorld(), username) ? EnumDiscoveryState.Discovered : EnumDiscoveryState.Undiscovered); - } - if (Window.get(this) instanceof WindowAbstractDatabase && ((WindowAbstractDatabase) Window.get(this)).isNEI) { - state = EnumDiscoveryState.Show; - } - this.discovered = state; - this.addAttribute(Attribute.MouseOver); - } - - public ControlDatabaseIndividualDisplay(final IWidget parent, final float x, final float y) { - this(parent, x, y, 16.0f); - } - - public ControlDatabaseIndividualDisplay(final IWidget parent, final float x, final float y, final float size) { - super(parent, x, y, size); - this.species = null; - this.discovered = EnumDiscoveryState.Show; - this.addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(final EventMouse.Down event) { - if (event.getButton() == 0 && ControlDatabaseIndividualDisplay.this.species != null && EnumDiscoveryState.Show == ControlDatabaseIndividualDisplay.this.discovered) { - ((WindowAbstractDatabase) ControlDatabaseIndividualDisplay.this.getSuperParent()).gotoSpeciesDelayed(ControlDatabaseIndividualDisplay.this.species); - } - } - }); - } - - @Override - public void onRenderForeground() { - IIcon icon = null; - if (this.species == null) { - return; - } - final BreedingSystem system = Binnie.Genetics.getSystem(this.species.getRoot()); - switch (this.discovered) { - case Show: { - super.onRenderForeground(); - return; - } - case Discovered: { - icon = system.getDiscoveredIcon(); - break; - } - case Undiscovered: { - icon = system.getUndiscoveredIcon(); - break; - } - } - if (icon != null) { - CraftGUI.Render.iconItem(IPoint.ZERO, icon); - } - } - - @Override - public void getTooltip(final Tooltip tooltip) { - if (this.species != null) { - switch (this.discovered) { - case Show: { - tooltip.add(this.species.getName()); - break; - } - case Discovered: { - tooltip.add("Discovered Species"); - break; - } - case Undiscovered: { - tooltip.add("Undiscovered Species"); - break; - } - } - } - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/ControlItemStackOption.java b/src/main/java/binnie/craftgui/mod/database/ControlItemStackOption.java deleted file mode 100644 index 3ecd4e04..00000000 --- a/src/main/java/binnie/craftgui/mod/database/ControlItemStackOption.java +++ /dev/null @@ -1,33 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.geometry.CraftGUIUtil; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.controls.listbox.ControlList; -import binnie.craftgui.minecraft.control.ControlItemDisplay; -import net.minecraft.item.ItemStack; -import binnie.craftgui.controls.listbox.ControlTextOption; - -public class ControlItemStackOption extends ControlTextOption -{ - private ControlItemDisplay controlBee; - - public ControlItemStackOption(final ControlList controlList, final ItemStack option, final int y) { - super(controlList, option, option.getDisplayName(), y); - this.setSize(new IPoint(this.getSize().x(), 20.0f)); - (this.controlBee = new ControlItemDisplay(this, 2.0f, 2.0f)).setItemStack(option); - this.addAttribute(Attribute.MouseOver); - CraftGUIUtil.moveWidget(this.textWidget, new IPoint(22.0f, 0.0f)); - this.textWidget.setSize(this.textWidget.getSize().sub(new IPoint(24.0f, 0.0f))); - final int th = (int) CraftGUI.Render.textHeight(this.textWidget.getValue(), this.textWidget.getSize().x()); - final int height = Math.max(20, th + 6); - this.setSize(new IPoint(this.size().x(), height)); - this.textWidget.setSize(new IPoint(this.textWidget.getSize().x(), height)); - this.controlBee.setPosition(new IPoint(this.controlBee.pos().x(), (height - 18) / 2)); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/ControlMutationBox.java b/src/main/java/binnie/craftgui/mod/database/ControlMutationBox.java deleted file mode 100644 index 2c416b28..00000000 --- a/src/main/java/binnie/craftgui/mod/database/ControlMutationBox.java +++ /dev/null @@ -1,68 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.controls.scroll.ControlScrollableContent; -import java.util.List; -import binnie.core.genetics.BreedingSystem; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.controls.listbox.ControlList; -import binnie.craftgui.core.IWidget; -import forestry.api.genetics.IAlleleSpecies; -import forestry.api.genetics.IMutation; -import binnie.craftgui.controls.listbox.ControlListBox; - -class ControlMutationBox extends ControlListBox -{ - private int index; - private Type type; - private IAlleleSpecies species; - - @Override - public IWidget createOption(final IMutation value, final int y) { - return new ControlMutationItem(((ControlScrollableContent>) this).getContent(), value, this.species, y); - } - - public ControlMutationBox(final IWidget parent, final int x, final int y, final int width, final int height, final Type type) { - super(parent, x, y, width, height, 12.0f); - this.species = null; - this.type = type; - } - - public void setSpecies(final IAlleleSpecies species) { - if (species != this.species) { - this.species = species; - this.index = 0; - this.movePercentage(-100.0f); - final BreedingSystem system = ((WindowAbstractDatabase) this.getSuperParent()).getBreedingSystem(); - final List discovered = system.getDiscoveredMutations(Window.get(this).getWorld(), Window.get(this).getUsername()); - if (species != null) { - if (this.type == Type.Resultant) { - this.setOptions(system.getResultantMutations(species)); - } - else { - final List mutations = system.getFurtherMutations(species); - int i = 0; - while (i < mutations.size()) { - final IMutation mutation = mutations.get(i); - if (!discovered.contains(mutations) && !((IAlleleSpecies) mutation.getTemplate()[0]).isCounted()) { - mutations.remove(i); - } - else { - ++i; - } - } - this.setOptions(mutations); - } - } - } - } - - enum Type - { - Resultant, - Further; - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/ControlMutationItem.java b/src/main/java/binnie/craftgui/mod/database/ControlMutationItem.java deleted file mode 100644 index 8fa1bafd..00000000 --- a/src/main/java/binnie/craftgui/mod/database/ControlMutationItem.java +++ /dev/null @@ -1,48 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.core.genetics.BreedingSystem; -import binnie.craftgui.minecraft.Window; -import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.controls.listbox.ControlList; -import forestry.api.genetics.IMutation; -import binnie.craftgui.controls.listbox.ControlOption; - -class ControlMutationItem extends ControlOption -{ - private ControlDatabaseIndividualDisplay itemWidget1; - private ControlDatabaseIndividualDisplay itemWidget2; - private ControlDatabaseIndividualDisplay itemWidget3; - private ControlMutationSymbol addSymbol; - private ControlMutationSymbol arrowSymbol; - - public ControlMutationItem(final ControlList controlList, final IMutation option, final IAlleleSpecies species, final int y) { - super(controlList, option, y); - this.itemWidget1 = new ControlDatabaseIndividualDisplay(this, 4.0f, 4.0f); - this.itemWidget2 = new ControlDatabaseIndividualDisplay(this, 44.0f, 4.0f); - this.itemWidget3 = new ControlDatabaseIndividualDisplay(this, 104.0f, 4.0f); - this.addSymbol = new ControlMutationSymbol(this, 24, 4, 0); - this.arrowSymbol = new ControlMutationSymbol(this, 64, 4, 1); - final boolean isNEI = ((WindowAbstractDatabase) this.getSuperParent()).isNEI(); - final BreedingSystem system = ((WindowAbstractDatabase) this.getSuperParent()).getBreedingSystem(); - if (this.getValue() != null) { - final boolean isMutationDiscovered = system.isMutationDiscovered(this.getValue(), Window.get(this).getWorld(), Window.get(this).getUsername()); - IAlleleSpecies allele = null; - EnumDiscoveryState state = null; - allele = this.getValue().getAllele0(); - state = ((isNEI || isMutationDiscovered) ? EnumDiscoveryState.Show : ((species == allele) ? EnumDiscoveryState.Show : EnumDiscoveryState.Undetermined)); - this.itemWidget1.setSpecies(allele, state); - allele = this.getValue().getAllele1(); - state = ((isNEI || isMutationDiscovered) ? EnumDiscoveryState.Show : ((species == allele) ? EnumDiscoveryState.Show : EnumDiscoveryState.Undetermined)); - this.itemWidget2.setSpecies(allele, state); - allele = (IAlleleSpecies) this.getValue().getTemplate()[0]; - state = ((isNEI || isMutationDiscovered) ? EnumDiscoveryState.Show : ((species == allele) ? EnumDiscoveryState.Show : EnumDiscoveryState.Undetermined)); - this.itemWidget3.setSpecies(allele, state); - this.addSymbol.setValue(this.getValue()); - this.arrowSymbol.setValue(this.getValue()); - } - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/ControlMutationSymbol.java b/src/main/java/binnie/craftgui/mod/database/ControlMutationSymbol.java deleted file mode 100644 index fc91cc13..00000000 --- a/src/main/java/binnie/craftgui/mod/database/ControlMutationSymbol.java +++ /dev/null @@ -1,81 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.resource.minecraft.StandardTexture; -import binnie.craftgui.resource.minecraft.CraftGUITextureSheet; -import forestry.api.genetics.IAllele; -import binnie.craftgui.core.Tooltip; -import binnie.core.genetics.BreedingSystem; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; -import forestry.api.genetics.IMutation; -import binnie.craftgui.resource.Texture; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; - -class ControlMutationSymbol extends Control implements ITooltip -{ - private static Texture MutationPlus; - private static Texture MutationArrow; - private IMutation value; - private boolean discovered; - private int type; - - @Override - public void onRenderBackground() { - super.onRenderBackground(); - if (this.type == 0) { - CraftGUI.Render.texture(ControlMutationSymbol.MutationPlus, IPoint.ZERO); - } - else { - CraftGUI.Render.texture(ControlMutationSymbol.MutationArrow, IPoint.ZERO); - } - } - - protected ControlMutationSymbol(final IWidget parent, final int x, final int y, final int type) { - super(parent, x, y, 16 + type * 16, 16.0f); - this.value = null; - this.type = type; - this.addAttribute(Attribute.MouseOver); - } - - public void setValue(final IMutation value) { - this.value = value; - final boolean isNEI = ((WindowAbstractDatabase) this.getSuperParent()).isNEI(); - final BreedingSystem system = ((WindowAbstractDatabase) this.getSuperParent()).getBreedingSystem(); - this.discovered = (isNEI || system.isMutationDiscovered(value, Window.get(this).getWorld(), Window.get(this).getUsername())); - if (this.discovered) { - this.setColour(16777215); - } - else { - this.setColour(7829367); - } - } - - @Override - public void getTooltip(final Tooltip tooltip) { - if (this.type == 1 && this.discovered) { - final IAllele species1 = this.value.getAllele0(); - final IAllele species2 = this.value.getAllele1(); - final BreedingSystem system = ((WindowAbstractDatabase) this.getSuperParent()).getBreedingSystem(); - final float chance = system.getChance(this.value, Window.get(this).getPlayer(), species1, species2); - tooltip.add("Current Chance - " + chance + "%"); - if (this.value.getSpecialConditions() != null) { - for (final String string : this.value.getSpecialConditions()) { - tooltip.add(string); - } - } - } - } - - static { - ControlMutationSymbol.MutationPlus = new StandardTexture(2, 94, 16, 16, CraftGUITextureSheet.Controls2); - ControlMutationSymbol.MutationArrow = new StandardTexture(20, 94, 32, 16, CraftGUITextureSheet.Controls2); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/ControlSpeciesBox.java b/src/main/java/binnie/craftgui/mod/database/ControlSpeciesBox.java deleted file mode 100644 index ca9c5880..00000000 --- a/src/main/java/binnie/craftgui/mod/database/ControlSpeciesBox.java +++ /dev/null @@ -1,54 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.controls.scroll.ControlScrollableContent; -import com.mojang.authlib.GameProfile; -import net.minecraft.entity.player.EntityPlayer; -import java.util.List; -import binnie.craftgui.minecraft.Window; -import java.util.Collection; -import java.util.ArrayList; -import binnie.craftgui.controls.listbox.ControlList; -import binnie.craftgui.core.IWidget; -import forestry.api.genetics.IClassification; -import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.controls.listbox.ControlListBox; - -public class ControlSpeciesBox extends ControlListBox -{ - private IClassification branch; - - @Override - public IWidget createOption(final IAlleleSpecies value, final int y) { - return new ControlSpeciexBoxOption(((ControlScrollableContent>) this).getContent(), value, y); - } - - public ControlSpeciesBox(final IWidget parent, final float x, final float y, final float width, final float height) { - super(parent, x, y, width, height, 12.0f); - this.branch = null; - } - - public void setBranch(final IClassification branch) { - if (branch != this.branch) { - this.branch = branch; - final List speciesList2 = new ArrayList(); - this.movePercentage(-100.0f); - this.setOptions(speciesList2); - final EntityPlayer player = Window.get(this).getPlayer(); - final GameProfile playerName = Window.get(this).getUsername(); - final WindowAbstractDatabase db = Window.get(this); - final Collection speciesList3 = db.isNEI ? db.getBreedingSystem().getAllSpecies() : db.getBreedingSystem().getDiscoveredSpecies(db.getWorld(), playerName); - if (branch != null) { - for (final IAlleleSpecies species : branch.getMemberSpecies()) { - if (speciesList3.contains(species)) { - speciesList2.add(species); - } - } - } - this.setOptions(speciesList2); - } - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/ControlSpeciexBoxOption.java b/src/main/java/binnie/craftgui/mod/database/ControlSpeciexBoxOption.java deleted file mode 100644 index 3c687862..00000000 --- a/src/main/java/binnie/craftgui/mod/database/ControlSpeciexBoxOption.java +++ /dev/null @@ -1,38 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.geometry.CraftGUIUtil; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.controls.listbox.ControlList; -import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.controls.listbox.ControlTextOption; - -class ControlSpeciexBoxOption extends ControlTextOption -{ - private ControlDatabaseIndividualDisplay controlBee; - - public ControlSpeciexBoxOption(final ControlList controlList, final IAlleleSpecies option, final int y) { - super(controlList, option, option.getName(), y); - this.setSize(new IPoint(this.getSize().x(), 20.0f)); - (this.controlBee = new ControlDatabaseIndividualDisplay(this, 2.0f, 2.0f)).setSpecies(this.getValue(), EnumDiscoveryState.Undetermined); - if (this.controlBee.discovered == EnumDiscoveryState.Discovered) { - this.controlBee.discovered = EnumDiscoveryState.Show; - } - this.textWidget.setValue((this.controlBee.discovered == EnumDiscoveryState.Show) ? option.getName() : "Undiscovered"); - if (this.controlBee.discovered == EnumDiscoveryState.Show) { - this.addAttribute(Attribute.MouseOver); - } - CraftGUIUtil.moveWidget(this.textWidget, new IPoint(22.0f, 0.0f)); - this.textWidget.setSize(this.textWidget.getSize().sub(new IPoint(24.0f, 0.0f))); - final int th = (int) CraftGUI.Render.textHeight(this.textWidget.getValue(), this.textWidget.getSize().x()); - final int height = Math.max(20, th + 6); - this.setSize(new IPoint(this.size().x(), height)); - this.textWidget.setSize(new IPoint(this.textWidget.getSize().x(), height)); - this.controlBee.setPosition(new IPoint(this.controlBee.pos().x(), (height - 18) / 2)); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/DatabaseTab.java b/src/main/java/binnie/craftgui/mod/database/DatabaseTab.java deleted file mode 100644 index 54a3f21e..00000000 --- a/src/main/java/binnie/craftgui/mod/database/DatabaseTab.java +++ /dev/null @@ -1,33 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.core.Tooltip; -import binnie.Binnie; -import binnie.core.AbstractMod; -import binnie.craftgui.core.ITooltipHelp; - -public class DatabaseTab implements ITooltipHelp -{ - private AbstractMod mod; - private String unloc; - private int colour; - - public DatabaseTab(final AbstractMod mod, final String unloc, final int colour) { - this.mod = mod; - this.unloc = unloc; - this.colour = colour; - } - - @Override - public String toString() { - return Binnie.Language.localise(this.mod, "gui.database.tab." + this.unloc); - } - - @Override - public void getHelpTooltip(final Tooltip tooltip) { - tooltip.add(Binnie.Language.localiseOrBlank(this.mod, "gui.database.tab." + this.unloc + ".help")); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/EnumDiscoveryState.java b/src/main/java/binnie/craftgui/mod/database/EnumDiscoveryState.java deleted file mode 100644 index 53c05667..00000000 --- a/src/main/java/binnie/craftgui/mod/database/EnumDiscoveryState.java +++ /dev/null @@ -1,13 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -public enum EnumDiscoveryState -{ - Show, - Undetermined, - Discovered, - Undiscovered; -} diff --git a/src/main/java/binnie/craftgui/mod/database/IDatabaseMode.java b/src/main/java/binnie/craftgui/mod/database/IDatabaseMode.java deleted file mode 100644 index f6edc069..00000000 --- a/src/main/java/binnie/craftgui/mod/database/IDatabaseMode.java +++ /dev/null @@ -1,10 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -public interface IDatabaseMode -{ - String getName(); -} diff --git a/src/main/java/binnie/craftgui/mod/database/PageAbstract.java b/src/main/java/binnie/craftgui/mod/database/PageAbstract.java deleted file mode 100644 index ab0c1643..00000000 --- a/src/main/java/binnie/craftgui/mod/database/PageAbstract.java +++ /dev/null @@ -1,17 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.page.ControlPage; - -public abstract class PageAbstract extends ControlPage -{ - public PageAbstract(final IWidget parent, final DatabaseTab tab) { - super(parent, 0.0f, 0.0f, parent.getSize().x(), parent.getSize().y(), tab); - } - - public abstract void onValueChanged(final T p0); -} diff --git a/src/main/java/binnie/craftgui/mod/database/PageBranch.java b/src/main/java/binnie/craftgui/mod/database/PageBranch.java deleted file mode 100644 index c586b15a..00000000 --- a/src/main/java/binnie/craftgui/mod/database/PageBranch.java +++ /dev/null @@ -1,15 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.core.IWidget; -import forestry.api.genetics.IClassification; - -abstract class PageBranch extends PageAbstract -{ - public PageBranch(final IWidget parent, final DatabaseTab tab) { - super(parent, tab); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/PageBranchOverview.java b/src/main/java/binnie/craftgui/mod/database/PageBranchOverview.java deleted file mode 100644 index 123d786b..00000000 --- a/src/main/java/binnie/craftgui/mod/database/PageBranchOverview.java +++ /dev/null @@ -1,58 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.core.CraftGUI; -import forestry.api.genetics.IClassification; -import binnie.craftgui.controls.ControlTextCentered; -import java.util.ArrayList; -import binnie.craftgui.core.IWidget; -import java.util.List; -import binnie.craftgui.controls.ControlText; - -public class PageBranchOverview extends PageBranch -{ - private ControlText pageBranchOverview_branchName; - private ControlText pageBranchOverview_branchScientific; - private ControlText pageBranchOverview_branchAuthority; - private List pageBranchOverview_branchDescription; - - public PageBranchOverview(final IWidget parent, final DatabaseTab tab) { - super(parent, tab); - this.pageBranchOverview_branchDescription = new ArrayList(); - this.pageBranchOverview_branchName = new ControlTextCentered(this, 8.0f, ""); - this.pageBranchOverview_branchScientific = new ControlTextCentered(this, 32.0f, ""); - this.pageBranchOverview_branchAuthority = new ControlTextCentered(this, 44.0f, ""); - } - - @Override - public void onValueChanged(final IClassification branch) { - this.pageBranchOverview_branchName.setValue("§n" + branch.getName() + " Branch§r"); - this.pageBranchOverview_branchScientific.setValue("§oApidae " + branch.getScientific() + "§r"); - this.pageBranchOverview_branchAuthority.setValue("Discovered by §l" + branch.getMemberSpecies()[0].getAuthority() + "§r"); - for (final IWidget widget : this.pageBranchOverview_branchDescription) { - this.deleteChild(widget); - } - this.pageBranchOverview_branchDescription.clear(); - String desc = branch.getDescription(); - if (desc == null || desc == "") { - desc = "No Description Provided."; - } - String line = ""; - final List descLines = new ArrayList(); - for (final String str : desc.split(" ")) { - if (CraftGUI.Render.textWidth(line + " " + str) > 134) { - descLines.add("§o" + line + "§r"); - line = ""; - } - line = line + " " + str; - } - descLines.add(line); - int i = 0; - for (final String dLine : descLines) { - this.pageBranchOverview_branchDescription.add(new ControlTextCentered(this, 84 + 12 * i++, dLine)); - } - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/PageBranchSpecies.java b/src/main/java/binnie/craftgui/mod/database/PageBranchSpecies.java deleted file mode 100644 index 869d2b83..00000000 --- a/src/main/java/binnie/craftgui/mod/database/PageBranchSpecies.java +++ /dev/null @@ -1,42 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import forestry.api.genetics.IClassification; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.core.IWidget; -import cpw.mods.fml.common.Mod; -import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.events.EventValueChanged; -import binnie.craftgui.controls.ControlText; - -public class PageBranchSpecies extends PageBranch -{ - private ControlText pageBranchSpecies_title; - private ControlSpeciesBox pageBranchSpecies_speciesList; - - @Mod.EventHandler - public void onHandleEvent(final EventValueChanged event) { - } - - public PageBranchSpecies(final IWidget parent, final DatabaseTab tab) { - super(parent, tab); - this.pageBranchSpecies_title = new ControlTextCentered(this, 8.0f, "Species"); - this.addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(final EventValueChanged event) { - if (event.isOrigin(PageBranchSpecies.this.pageBranchSpecies_speciesList)) { - ((WindowAbstractDatabase) PageBranchSpecies.this.getSuperParent()).gotoSpecies((IAlleleSpecies) event.getValue()); - } - } - }); - this.pageBranchSpecies_speciesList = new ControlSpeciesBox(this, 4.0f, 20.0f, 136.0f, 152.0f); - } - - @Override - public void onValueChanged(final IClassification branch) { - this.pageBranchSpecies_speciesList.setBranch(branch); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/PageBreederStats.java b/src/main/java/binnie/craftgui/mod/database/PageBreederStats.java deleted file mode 100644 index 26ccb9c6..00000000 --- a/src/main/java/binnie/craftgui/mod/database/PageBreederStats.java +++ /dev/null @@ -1,23 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.core.genetics.BreedingSystem; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.core.Control; - -public class PageBreederStats extends Control -{ - String player; - - public PageBreederStats(final IWidget parent, final int w, final int h, final String player) { - super(parent, 0.0f, 0.0f, w, h); - this.player = player; - final ControlText pageBranchOverview_branchName = new ControlTextCentered(this, 8.0f, "§nStats§r"); - final BreedingSystem system = ((WindowAbstractDatabase) this.getSuperParent()).getBreedingSystem(); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/PageSpecies.java b/src/main/java/binnie/craftgui/mod/database/PageSpecies.java deleted file mode 100644 index 7fd1669a..00000000 --- a/src/main/java/binnie/craftgui/mod/database/PageSpecies.java +++ /dev/null @@ -1,15 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.core.IWidget; -import forestry.api.genetics.IAlleleSpecies; - -public abstract class PageSpecies extends PageAbstract -{ - public PageSpecies(final IWidget parent, final DatabaseTab tab) { - super(parent, tab); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/PageSpeciesClassification.java b/src/main/java/binnie/craftgui/mod/database/PageSpeciesClassification.java deleted file mode 100644 index f2e55444..00000000 --- a/src/main/java/binnie/craftgui/mod/database/PageSpeciesClassification.java +++ /dev/null @@ -1,49 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.controls.ControlTextCentered; -import java.util.LinkedHashMap; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.ControlText; -import forestry.api.genetics.IClassification; -import java.util.Map; - -public class PageSpeciesClassification extends PageSpecies -{ - private Map levels; - private ControlText genus; - - public PageSpeciesClassification(final IWidget parent, final DatabaseTab tab) { - super(parent, tab); - this.levels = new LinkedHashMap(); - int y = 16; - for (final IClassification.EnumClassLevel level : IClassification.EnumClassLevel.values()) { - final ControlText text = new ControlTextCentered(this, y, ""); - text.setColour(level.getColour()); - this.levels.put(level, text); - y += 12; - } - (this.genus = new ControlTextCentered(this, y, "")).setColour(16759415); - } - - @Override - public void onValueChanged(final IAlleleSpecies species) { - if (species != null) { - for (final ControlText text : this.levels.values()) { - text.setValue("- - -"); - } - this.genus.setValue(species.getBinomial()); - for (IClassification classification = species.getBranch(); classification != null; classification = classification.getParent()) { - final IClassification.EnumClassLevel level = classification.getLevel(); - String text2 = ""; - final int n = level.ordinal(); - text2 += classification.getScientific(); - this.levels.get(level).setValue(text2); - } - } - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/PageSpeciesMutations.java b/src/main/java/binnie/craftgui/mod/database/PageSpeciesMutations.java deleted file mode 100644 index 190a2408..00000000 --- a/src/main/java/binnie/craftgui/mod/database/PageSpeciesMutations.java +++ /dev/null @@ -1,27 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.ControlText; - -public class PageSpeciesMutations extends PageSpecies -{ - private ControlText pageSpeciesFurther_Title; - private ControlMutationBox pageSpeciesFurther_List; - - public PageSpeciesMutations(final IWidget parent, final DatabaseTab tab) { - super(parent, tab); - this.pageSpeciesFurther_Title = new ControlTextCentered(this, 8.0f, "Further Mutations"); - this.pageSpeciesFurther_List = new ControlMutationBox(this, 4, 20, 136, 152, ControlMutationBox.Type.Further); - } - - @Override - public void onValueChanged(final IAlleleSpecies species) { - this.pageSpeciesFurther_List.setSpecies(species); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/PageSpeciesOverview.java b/src/main/java/binnie/craftgui/mod/database/PageSpeciesOverview.java deleted file mode 100644 index fe7d7ad6..00000000 --- a/src/main/java/binnie/craftgui/mod/database/PageSpeciesOverview.java +++ /dev/null @@ -1,70 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; -import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.ControlText; - -public class PageSpeciesOverview extends PageSpecies -{ - private ControlText controlName; - private ControlText controlScientific; - private ControlText controlAuthority; - private ControlText controlComplexity; - private ControlText controlDescription; - private ControlText controlSignature; - private ControlDatabaseIndividualDisplay controlInd1; - private ControlDatabaseIndividualDisplay controlInd2; - - public PageSpeciesOverview(final IWidget parent, final DatabaseTab tab) { - super(parent, tab); - this.controlInd1 = new ControlDatabaseIndividualDisplay(this, 5.0f, 5.0f); - this.controlInd2 = new ControlDatabaseIndividualDisplay(this, 123.0f, 5.0f); - this.controlName = new ControlTextCentered(this, 8.0f, ""); - this.controlScientific = new ControlTextCentered(this, 32.0f, ""); - this.controlAuthority = new ControlTextCentered(this, 44.0f, ""); - this.controlComplexity = new ControlTextCentered(this, 56.0f, ""); - this.controlDescription = new ControlText(this, new IArea(8.0f, 84.0f, this.getSize().x() - 16.0f, 0.0f), "", TextJustification.MiddleCenter); - this.controlSignature = new ControlText(this, new IArea(8.0f, 84.0f, this.getSize().x() - 16.0f, 0.0f), "", TextJustification.BottomRight); - } - - @Override - public void onValueChanged(final IAlleleSpecies species) { - this.controlInd1.setSpecies(species, EnumDiscoveryState.Show); - this.controlInd2.setSpecies(species, EnumDiscoveryState.Show); - final String branchBinomial = (species.getBranch() != null) ? species.getBranch().getScientific() : ""; - final String branchName = (species.getBranch() != null) ? species.getBranch().getName() : "Unknown"; - this.controlName.setValue("§n" + species.getName() + "§r"); - this.controlScientific.setValue("§o" + branchBinomial + " " + species.getBinomial() + "§r"); - this.controlAuthority.setValue("Discovered by §l" + species.getAuthority() + "§r"); - this.controlComplexity.setValue("Complexity: " + species.getComplexity()); - final String desc = species.getDescription(); - String descBody = "§o"; - String descSig = ""; - if (desc == null || desc == "") { - descBody += "No Description Provided."; - } - else { - final String[] descStrings = desc.split("\\|"); - descBody += descStrings[0]; - for (int i = 1; i < descStrings.length - 1; ++i) { - descBody = descBody + " " + descStrings[i]; - } - if (descStrings.length > 1) { - descSig += descStrings[descStrings.length - 1]; - } - } - this.controlDescription.setValue(descBody + "§r"); - this.controlSignature.setValue(descSig + "§r"); - final float descHeight = CraftGUI.Render.textHeight(this.controlDescription.getValue(), this.controlDescription.getSize().x()); - this.controlSignature.setPosition(new IPoint(this.controlSignature.pos().x(), this.controlDescription.getPosition().y() + descHeight + 10.0f)); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/PageSpeciesResultant.java b/src/main/java/binnie/craftgui/mod/database/PageSpeciesResultant.java deleted file mode 100644 index e3732694..00000000 --- a/src/main/java/binnie/craftgui/mod/database/PageSpeciesResultant.java +++ /dev/null @@ -1,27 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.ControlText; - -public class PageSpeciesResultant extends PageSpecies -{ - private ControlText pageSpeciesResultant_Title; - private ControlMutationBox pageSpeciesResultant_List; - - public PageSpeciesResultant(final IWidget parent, final DatabaseTab tab) { - super(parent, tab); - this.pageSpeciesResultant_Title = new ControlTextCentered(this, 8.0f, "Resultant Mutations"); - this.pageSpeciesResultant_List = new ControlMutationBox(this, 4, 20, 136, 152, ControlMutationBox.Type.Resultant); - } - - @Override - public void onValueChanged(final IAlleleSpecies species) { - this.pageSpeciesResultant_List.setSpecies(species); - } -} diff --git a/src/main/java/binnie/craftgui/mod/database/WindowAbstractDatabase.java b/src/main/java/binnie/craftgui/mod/database/WindowAbstractDatabase.java deleted file mode 100644 index e45eb10b..00000000 --- a/src/main/java/binnie/craftgui/mod/database/WindowAbstractDatabase.java +++ /dev/null @@ -1,248 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.mod.database; - -import binnie.core.BinnieCore; -import forestry.api.genetics.IBreedingTracker; -import binnie.craftgui.core.geometry.CraftGUIUtil; -import binnie.craftgui.controls.tab.ControlTab; -import binnie.craftgui.controls.tab.ControlTabBar; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.controls.listbox.ControlListBox; -import forestry.api.genetics.IClassification; -import java.util.Collection; -import com.mojang.authlib.GameProfile; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.controls.ControlTextEdit; -import binnie.craftgui.minecraft.MinecraftGUI; -import binnie.craftgui.minecraft.control.ControlHelp; -import binnie.craftgui.controls.listbox.ControlTextOption; -import binnie.core.util.IValidator; -import binnie.craftgui.events.EventTextEdit; -import binnie.craftgui.events.EventHandler; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.page.ControlPage; -import binnie.craftgui.events.EventValueChanged; -import binnie.craftgui.core.geometry.IPoint; -import java.util.HashMap; -import cpw.mods.fml.relauncher.Side; -import net.minecraft.entity.player.EntityPlayer; -import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.controls.page.ControlPages; -import binnie.craftgui.window.Panel; -import binnie.core.genetics.BreedingSystem; -import java.util.Map; -import binnie.craftgui.minecraft.Window; - -public abstract class WindowAbstractDatabase extends Window -{ - private float selectionBoxWidth; - private final float infoBoxWidth = 144.0f; - private final float infoBoxHeight = 176.0f; - private final float infoTabWidth = 16.0f; - private final float modeTabWidth = 22.0f; - private final float searchBoxHeight = 16.0f; - private Map modes; - boolean isNEI; - private BreedingSystem system; - private Panel panelInformation; - private Panel panelSearch; - private ControlPages modePages; - private IAlleleSpecies gotoSpecies; - - public void changeMode(final IDatabaseMode mode) { - this.modePages.setValue(mode); - } - - public WindowAbstractDatabase(final EntityPlayer player, final Side side, final boolean nei, final BreedingSystem system, final float wid) { - super(100.0f, 192.0f, player, null, side); - this.selectionBoxWidth = 95.0f; - this.modes = new HashMap(); - this.panelInformation = null; - this.panelSearch = null; - this.modePages = null; - this.gotoSpecies = null; - this.isNEI = nei; - this.system = system; - this.selectionBoxWidth = wid; - } - - public ControlPages getInfoPages(final IDatabaseMode mode) { - return this.modes.get(mode).infoPages; - } - - public boolean isNEI() { - return this.isNEI; - } - - public BreedingSystem getBreedingSystem() { - return this.system; - } - - public WindowAbstractDatabase(final EntityPlayer player, final Side side, final boolean nei, final BreedingSystem system) { - this(player, side, nei, system, 95.0f); - } - - protected ModeWidgets createMode(final IDatabaseMode mode, final ModeWidgets widgets) { - this.modes.put(mode, widgets); - return widgets; - } - - @Override - public void initialiseClient() { - this.setSize(new IPoint(176.0f + this.selectionBoxWidth + 22.0f + 8.0f, 208.0f)); - this.addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(final EventValueChanged event) { - if (event.getOrigin().getParent() instanceof ControlPage && !(event.getValue() instanceof DatabaseTab)) { - final ControlPage parent = (ControlPage) event.getOrigin().getParent(); - if (parent.getValue() instanceof IDatabaseMode) { - for (final IWidget widget : parent.getWidgets()) { - if (widget instanceof ControlPages) { - if (event.getValue() == null) { - widget.hide(); - } - else { - widget.show(); - for (final IWidget widget2 : widget.getWidgets()) { - if (widget2 instanceof PageAbstract) { - ((PageAbstract) widget2).onValueChanged(event.getValue()); - } - } - } - } - } - } - } - } - }); - this.addEventHandler(new EventTextEdit.Handler() { - @Override - public void onEvent(final EventTextEdit event) { - for (final ModeWidgets widgets : WindowAbstractDatabase.this.modes.values()) { - widgets.listBox.setValidator(new IValidator() { - @Override - public boolean isValid(final IWidget object) { - return event.getValue() == "" || ((ControlTextOption) object).getText().toLowerCase().contains(event.getValue().toLowerCase()); - } - }); - } - } - }.setOrigin(EventHandler.Origin.DirectChild, this)); - new ControlHelp(this, 4.0f, 4.0f); - (this.panelInformation = new Panel(this, 24.0f, 24.0f, 144.0f, 176.0f, MinecraftGUI.PanelType.Black)).setColour(860416); - (this.panelSearch = new Panel(this, 176.0f, 24.0f, this.selectionBoxWidth, 160.0f, MinecraftGUI.PanelType.Black)).setColour(860416); - this.modePages = new ControlPages(this, 0.0f, 0.0f, this.getSize().x(), this.getSize().y()); - new ControlTextEdit(this, 176.0f, 184.0f, this.selectionBoxWidth, 16.0f); - this.createMode(Mode.Species, new ModeWidgets(Mode.Species, this) { - @Override - public void createListBox(final IArea area) { - final GameProfile playerName = WindowAbstractDatabase.this.getUsername(); - final Collection speciesList = this.database.isNEI ? this.database.system.getAllSpecies() : this.database.system.getDiscoveredSpecies(this.database.getWorld(), playerName); - (this.listBox = new ControlSpeciesBox(this.modePage, area.x(), area.y(), area.w(), area.h())).setOptions(speciesList); - } - }); - this.createMode(Mode.Branches, new ModeWidgets(Mode.Branches, this) { - @Override - public void createListBox(final IArea area) { - final EntityPlayer player = this.database.getPlayer(); - final GameProfile playerName = WindowAbstractDatabase.this.getUsername(); - final Collection speciesList = this.database.isNEI ? this.database.system.getAllBranches() : this.database.system.getDiscoveredBranches(this.database.getWorld(), playerName); - (this.listBox = new ControlBranchBox(this.modePage, area.x(), area.y(), area.w(), area.h())).setOptions(speciesList); - } - }); - this.createMode(Mode.Breeder, new ModeWidgets(Mode.Breeder, this) { - @Override - public void createListBox(final IArea area) { - this.listBox = new ControlListBox(this.modePage, area.x(), area.y(), area.w(), area.h(), 12.0f); - } - }); - this.addTabs(); - final ControlTabBar tab = new ControlTabBar(this, 176.0f + this.selectionBoxWidth, 24.0f, 22.0f, 176.0f, Position.Right) { - @Override - public ControlTab createTab(final float x, final float y, final float w, final float h, final IDatabaseMode value) { - return new ControlTab(this, x, y, w, h, value) { - @Override - public String getName() { - return this.value.getName(); - } - }; - } - }; - tab.setValues(this.modePages.getValues()); - CraftGUIUtil.linkWidgets(tab, this.modePages); - this.changeMode(Mode.Species); - for (final IDatabaseMode mode : this.modes.keySet()) { - this.modes.get(mode).infoTabs = new ControlTabBar(this.modes.get(mode).modePage, 8.0f, 24.0f, 16.0f, 176.0f, Position.Left); - this.modes.get(mode).infoTabs.setValues(this.modes.get(mode).infoPages.getValues()); - CraftGUIUtil.linkWidgets(this.modes.get(mode).infoTabs, this.modes.get(mode).infoPages); - } - } - - @Override - public void initialiseServer() { - final IBreedingTracker tracker = this.system.getSpeciesRoot().getBreedingTracker(this.getWorld(), this.getUsername()); - if (tracker != null) { - tracker.synchToPlayer(this.getPlayer()); - } - } - - protected void addTabs() { - } - - public void gotoSpecies(final IAlleleSpecies value) { - if (value != null) { - this.modePages.setValue(Mode.Species); - this.changeMode(Mode.Species); - this.modes.get(this.modePages.getValue()).listBox.setValue(value); - } - } - - public void gotoSpeciesDelayed(final IAlleleSpecies species) { - this.gotoSpecies = species; - } - - @Override - public void onUpdateClient() { - super.onUpdateClient(); - if (this.gotoSpecies != null) { - ((WindowAbstractDatabase) this.getSuperParent()).gotoSpecies(this.gotoSpecies); - this.gotoSpecies = null; - } - } - - public enum Mode implements IDatabaseMode - { - Species, - Branches, - Breeder; - - @Override - public String getName() { - return BinnieCore.proxy.localise("gui.database.mode." + this.name().toLowerCase()); - } - } - - public abstract static class ModeWidgets - { - public WindowAbstractDatabase database; - public ControlPage modePage; - private ControlPages infoPages; - public ControlListBox listBox; - private ControlTabBar infoTabs; - - public ModeWidgets(final IDatabaseMode mode, final WindowAbstractDatabase database) { - this.database = database; - this.modePage = new ControlPage(database.modePages, 0.0f, 0.0f, database.getSize().x(), database.getSize().y(), mode); - final IArea listBoxArea = database.panelSearch.area().inset(2); - this.createListBox(listBoxArea); - CraftGUIUtil.alignToWidget(this.listBox, database.panelSearch); - CraftGUIUtil.moveWidget(this.listBox, new IPoint(2.0f, 2.0f)); - CraftGUIUtil.alignToWidget(this.infoPages = new ControlPages(this.modePage, 0.0f, 0.0f, 144.0f, 176.0f), database.panelInformation); - } - - public abstract void createListBox(final IArea p0); - } -} diff --git a/src/main/java/binnie/craftgui/resource/IStyleSheet.java b/src/main/java/binnie/craftgui/resource/IStyleSheet.java deleted file mode 100644 index 7857caa2..00000000 --- a/src/main/java/binnie/craftgui/resource/IStyleSheet.java +++ /dev/null @@ -1,10 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.resource; - -public interface IStyleSheet -{ - Texture getTexture(final Object p0); -} diff --git a/src/main/java/binnie/craftgui/resource/StyleSheet.java b/src/main/java/binnie/craftgui/resource/StyleSheet.java deleted file mode 100644 index 64731c09..00000000 --- a/src/main/java/binnie/craftgui/resource/StyleSheet.java +++ /dev/null @@ -1,25 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.resource; - -import java.util.HashMap; -import java.util.Map; - -public class StyleSheet implements IStyleSheet -{ - protected Map textures; - - public StyleSheet() { - this.textures = new HashMap(); - } - - @Override - public Texture getTexture(final Object key) { - if (!this.textures.containsKey(key)) { - return StyleSheetManager.getTexture(key); - } - return this.textures.get(key); - } -} diff --git a/src/main/java/binnie/craftgui/resource/StyleSheetManager.java b/src/main/java/binnie/craftgui/resource/StyleSheetManager.java deleted file mode 100644 index bf5678b3..00000000 --- a/src/main/java/binnie/craftgui/resource/StyleSheetManager.java +++ /dev/null @@ -1,32 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.resource; - -import binnie.craftgui.core.CraftGUI; - -public class StyleSheetManager -{ - static IStyleSheet defaultSS; - - public static Texture getTexture(final Object key) { - return StyleSheetManager.defaultSS.getTexture(key); - } - - public static IStyleSheet getDefault() { - return StyleSheetManager.defaultSS; - } - - static { - StyleSheetManager.defaultSS = new DefaultStyleSheet(); - } - - private static class DefaultStyleSheet implements IStyleSheet - { - @Override - public Texture getTexture(final Object key) { - return CraftGUI.ResourceManager.getTexture(key.toString()); - } - } -} diff --git a/src/main/java/binnie/craftgui/resource/minecraft/PaddedTexture.java b/src/main/java/binnie/craftgui/resource/minecraft/PaddedTexture.java deleted file mode 100644 index f8dd6900..00000000 --- a/src/main/java/binnie/craftgui/resource/minecraft/PaddedTexture.java +++ /dev/null @@ -1,22 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.resource.minecraft; - -import binnie.craftgui.core.geometry.IBorder; -import binnie.craftgui.core.geometry.IArea; -import binnie.core.resource.BinnieResource; -import binnie.core.resource.IBinnieTexture; -import binnie.craftgui.resource.Texture; - -public class PaddedTexture extends Texture -{ - public PaddedTexture(final int u, final int v, final int w, final int h, final int offset, final IBinnieTexture textureFile, final int leftPadding, final int rightPadding, final int topPadding, final int bottomPadding) { - this(u, v, w, h, offset, textureFile.getTexture(), leftPadding, rightPadding, topPadding, bottomPadding); - } - - public PaddedTexture(final int u, final int v, final int w, final int h, final int offset, final BinnieResource textureFile, final int leftPadding, final int rightPadding, final int topPadding, final int bottomPadding) { - super(new IArea(u, v, w, h), new IBorder(topPadding, rightPadding, bottomPadding, leftPadding), new IBorder(offset), textureFile); - } -} diff --git a/src/main/java/binnie/craftgui/resource/minecraft/StandardTexture.java b/src/main/java/binnie/craftgui/resource/minecraft/StandardTexture.java deleted file mode 100644 index 05a3fc26..00000000 --- a/src/main/java/binnie/craftgui/resource/minecraft/StandardTexture.java +++ /dev/null @@ -1,34 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.resource.minecraft; - -import binnie.craftgui.core.geometry.IBorder; -import binnie.craftgui.core.geometry.IArea; -import binnie.core.resource.BinnieResource; -import binnie.core.resource.IBinnieTexture; -import binnie.craftgui.resource.Texture; - -public class StandardTexture extends Texture -{ - public StandardTexture(final int u, final int v, final int w, final int h, final IBinnieTexture textureFile) { - this(u, v, w, h, 0, textureFile.getTexture()); - } - - public StandardTexture(final int u, final int v, final int w, final int h, final int offset, final IBinnieTexture textureFile) { - this(u, v, w, h, offset, textureFile.getTexture()); - } - - public StandardTexture(final int u, final int v, final int w, final int h, final BinnieResource textureFile) { - this(u, v, w, h, 0, textureFile); - } - - public StandardTexture(final int u, final int v, final int w, final int h, final int padding, final BinnieResource textureFile) { - super(new IArea(u, v, w, h), IBorder.ZERO, new IBorder(padding), textureFile); - } - - public BinnieResource getTexture() { - return this.getFilename(); - } -} diff --git a/src/main/java/binnie/craftgui/window/Panel.java b/src/main/java/binnie/craftgui/window/Panel.java deleted file mode 100644 index 5f8535d2..00000000 --- a/src/main/java/binnie/craftgui/window/Panel.java +++ /dev/null @@ -1,63 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.craftgui.window; - -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.minecraft.MinecraftGUI; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.core.Control; - -public class Panel extends Control -{ - IPanelType type; - - public Panel(final IWidget parent, final float x, final float y, final float width, final float height, final IPanelType type) { - super(parent, x, y, width, height); - this.type = type; - } - - public Panel(final IWidget parent, final IArea area, final IPanelType type) { - this(parent, area.x(), area.y(), area.w(), area.h(), type); - } - - public IPanelType getType() { - return this.type; - } - - @Override - public void onRenderBackground() { - final IPanelType panelType = this.getType(); - if (panelType instanceof MinecraftGUI.PanelType) { - switch ((MinecraftGUI.PanelType) panelType) { - case Black: { - CraftGUI.Render.texture(CraftGUITexture.PanelBlack, this.getArea()); - break; - } - case Gray: { - CraftGUI.Render.texture(CraftGUITexture.PanelGray, this.getArea()); - break; - } - case Tinted: { - CraftGUI.Render.texture(CraftGUITexture.PanelTinted, this.getArea()); - break; - } - case Outline: { - CraftGUI.Render.texture(CraftGUITexture.Outline, this.getArea()); - break; - } - case TabOutline: { - CraftGUI.Render.texture(CraftGUITexture.TabOutline, this.getArea()); - break; - } - } - } - } - - public interface IPanelType - { - } -} diff --git a/src/main/java/binnie/extrabees/apiary/machine/AlvearyFrame.java b/src/main/java/binnie/extrabees/apiary/machine/AlvearyFrame.java index 91cfd710..74134a3a 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/AlvearyFrame.java +++ b/src/main/java/binnie/extrabees/apiary/machine/AlvearyFrame.java @@ -16,7 +16,7 @@ import binnie.Binnie; import binnie.core.machines.Machine; import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.core.machines.inventory.SlotValidator; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import binnie.extrabees.apiary.ComponentBeeModifier; import binnie.extrabees.apiary.ComponentExtraBeeGUI; import binnie.extrabees.apiary.TileExtraBeeAlveary; diff --git a/src/main/java/binnie/extrabees/apiary/machine/AlvearyHatchery.java b/src/main/java/binnie/extrabees/apiary/machine/AlvearyHatchery.java index e7c4c660..3fcc45c1 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/AlvearyHatchery.java +++ b/src/main/java/binnie/extrabees/apiary/machine/AlvearyHatchery.java @@ -14,14 +14,13 @@ import forestry.api.apiculture.IBee; import forestry.api.apiculture.IBeeHousing; import forestry.api.apiculture.IBeeListener; import forestry.api.apiculture.IBeeModifier; -import forestry.api.genetics.IIndividual; import binnie.Binnie; import binnie.core.machines.Machine; import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.core.machines.inventory.InventorySlot; import binnie.core.machines.inventory.SlotValidator; import binnie.core.machines.transfer.TransferRequest; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import binnie.extrabees.apiary.ComponentBeeModifier; import binnie.extrabees.apiary.ComponentExtraBeeGUI; import binnie.extrabees.apiary.TileExtraBeeAlveary; diff --git a/src/main/java/binnie/extrabees/apiary/machine/AlvearyLighting.java b/src/main/java/binnie/extrabees/apiary/machine/AlvearyLighting.java index 4b55459d..e7e06d47 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/AlvearyLighting.java +++ b/src/main/java/binnie/extrabees/apiary/machine/AlvearyLighting.java @@ -9,7 +9,7 @@ import forestry.api.apiculture.IBeeModifier; import binnie.extrabees.apiary.ComponentBeeModifier; import binnie.core.machines.Machine; import binnie.extrabees.core.ExtraBeeTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; public class AlvearyLighting { diff --git a/src/main/java/binnie/extrabees/apiary/machine/AlvearyMutator.java b/src/main/java/binnie/extrabees/apiary/machine/AlvearyMutator.java index 39f0c235..051be3eb 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/AlvearyMutator.java +++ b/src/main/java/binnie/extrabees/apiary/machine/AlvearyMutator.java @@ -18,7 +18,7 @@ import binnie.core.machines.Machine; import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.core.machines.inventory.SlotValidator; import binnie.core.machines.inventory.ValidatorIcon; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import binnie.extrabees.ExtraBees; import binnie.extrabees.apiary.ComponentBeeModifier; import binnie.extrabees.apiary.ComponentExtraBeeGUI; diff --git a/src/main/java/binnie/extrabees/apiary/machine/AlvearyRainShield.java b/src/main/java/binnie/extrabees/apiary/machine/AlvearyRainShield.java index 251b2ceb..523a57ac 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/AlvearyRainShield.java +++ b/src/main/java/binnie/extrabees/apiary/machine/AlvearyRainShield.java @@ -9,7 +9,7 @@ import forestry.api.apiculture.IBeeModifier; import binnie.extrabees.apiary.ComponentBeeModifier; import binnie.core.machines.Machine; import binnie.extrabees.core.ExtraBeeTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; public class AlvearyRainShield { diff --git a/src/main/java/binnie/extrabees/apiary/machine/AlvearyStimulator.java b/src/main/java/binnie/extrabees/apiary/machine/AlvearyStimulator.java index 30a91042..313f82e7 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/AlvearyStimulator.java +++ b/src/main/java/binnie/extrabees/apiary/machine/AlvearyStimulator.java @@ -25,7 +25,7 @@ import binnie.core.machines.Machine; import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.core.machines.inventory.SlotValidator; import binnie.core.machines.power.ComponentPowerReceptor; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import binnie.extrabees.apiary.ComponentBeeModifier; import binnie.extrabees.apiary.ComponentExtraBeeGUI; import binnie.extrabees.core.ExtraBeeGUID; diff --git a/src/main/java/binnie/extrabees/apiary/machine/AlvearyTransmission.java b/src/main/java/binnie/extrabees/apiary/machine/AlvearyTransmission.java index 5760526a..9e9782cd 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/AlvearyTransmission.java +++ b/src/main/java/binnie/extrabees/apiary/machine/AlvearyTransmission.java @@ -17,7 +17,7 @@ import forestry.api.apiculture.IBeeListener; import forestry.api.apiculture.IBeeModifier; import binnie.core.machines.Machine; import binnie.core.machines.power.ComponentPowerReceptor; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import binnie.extrabees.apiary.ComponentBeeModifier; import binnie.extrabees.apiary.TileExtraBeeAlveary; import binnie.extrabees.core.ExtraBeeTexture; diff --git a/src/main/java/binnie/extrabees/core/ExtraBeeGUID.java b/src/main/java/binnie/extrabees/core/ExtraBeeGUID.java index 1d128ba5..5d5d566e 100644 --- a/src/main/java/binnie/extrabees/core/ExtraBeeGUID.java +++ b/src/main/java/binnie/extrabees/core/ExtraBeeGUID.java @@ -11,7 +11,7 @@ import binnie.extrabees.gui.WindowAlvearyFrame; import binnie.extrabees.gui.WindowAlvearyMutator; import binnie.extrabees.gui.database.WindowApiaristDatabase; import net.minecraft.inventory.IInventory; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.world.World; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/binnie/extrabees/gui/WindowAlvearyFrame.java b/src/main/java/binnie/extrabees/gui/WindowAlvearyFrame.java index 058f9ea2..6d4fb324 100644 --- a/src/main/java/binnie/extrabees/gui/WindowAlvearyFrame.java +++ b/src/main/java/binnie/extrabees/gui/WindowAlvearyFrame.java @@ -6,14 +6,14 @@ package binnie.extrabees.gui; import binnie.extrabees.ExtraBees; import binnie.core.AbstractMod; -import binnie.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.control.ControlSlot; import binnie.core.machines.TileEntityMachine; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; import binnie.core.machines.Machine; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; public class WindowAlvearyFrame extends Window { diff --git a/src/main/java/binnie/extrabees/gui/WindowAlvearyHatchery.java b/src/main/java/binnie/extrabees/gui/WindowAlvearyHatchery.java index 0bdb0fb9..a21f9c0e 100644 --- a/src/main/java/binnie/extrabees/gui/WindowAlvearyHatchery.java +++ b/src/main/java/binnie/extrabees/gui/WindowAlvearyHatchery.java @@ -7,14 +7,14 @@ package binnie.extrabees.gui; import binnie.extrabees.ExtraBees; import binnie.core.AbstractMod; import binnie.extrabees.apiary.machine.AlvearyHatchery; -import binnie.craftgui.minecraft.control.ControlSlotArray; +import binnie.core.craftgui.minecraft.control.ControlSlotArray; import binnie.core.machines.TileEntityMachine; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; import binnie.core.machines.Machine; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; public class WindowAlvearyHatchery extends Window { diff --git a/src/main/java/binnie/extrabees/gui/WindowAlvearyIndustrialFrame.java b/src/main/java/binnie/extrabees/gui/WindowAlvearyIndustrialFrame.java index 284f81e9..e18e9749 100644 --- a/src/main/java/binnie/extrabees/gui/WindowAlvearyIndustrialFrame.java +++ b/src/main/java/binnie/extrabees/gui/WindowAlvearyIndustrialFrame.java @@ -6,14 +6,14 @@ package binnie.extrabees.gui; import binnie.extrabees.ExtraBees; import binnie.core.AbstractMod; -import binnie.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.control.ControlSlot; import binnie.core.machines.TileEntityMachine; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; import binnie.core.machines.Machine; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; public class WindowAlvearyIndustrialFrame extends Window { diff --git a/src/main/java/binnie/extrabees/gui/WindowAlvearyMutator.java b/src/main/java/binnie/extrabees/gui/WindowAlvearyMutator.java index dd94264a..7aa606d6 100644 --- a/src/main/java/binnie/extrabees/gui/WindowAlvearyMutator.java +++ b/src/main/java/binnie/extrabees/gui/WindowAlvearyMutator.java @@ -6,20 +6,20 @@ package binnie.extrabees.gui; import binnie.extrabees.ExtraBees; import binnie.core.AbstractMod; -import binnie.craftgui.minecraft.control.ControlItemDisplay; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; import net.minecraft.item.ItemStack; import binnie.extrabees.apiary.machine.AlvearyMutator; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.minecraft.control.ControlSlot; import binnie.core.machines.TileEntityMachine; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; import binnie.core.machines.Machine; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; public class WindowAlvearyMutator extends Window { @@ -44,7 +44,7 @@ public class WindowAlvearyMutator extends Window this.playerInventory = new ControlPlayerInventory(this); final ControlSlot slot = new ControlSlot(this, 79.0f, 30.0f); slot.assign(0); - new ControlText(this, new IArea(0.0f, 52.0f, this.w(), 16.0f), "Possible Mutagens:", TextJustification.MiddleCenter).setColour(5592405); + new ControlText(this, new IArea(0.0f, 52.0f, this.w(), 16.0f), "Possible Mutagens:", TextJustification.MiddleCenter).setColor(5592405); final int size = AlvearyMutator.getMutagens().size(); final int w = size * 18; if (size > 0) { diff --git a/src/main/java/binnie/extrabees/gui/WindowAlvearyStimulator.java b/src/main/java/binnie/extrabees/gui/WindowAlvearyStimulator.java index 299182b4..42dd8ca4 100644 --- a/src/main/java/binnie/extrabees/gui/WindowAlvearyStimulator.java +++ b/src/main/java/binnie/extrabees/gui/WindowAlvearyStimulator.java @@ -7,16 +7,16 @@ package binnie.extrabees.gui; import binnie.extrabees.ExtraBees; import binnie.core.AbstractMod; import binnie.extrabees.apiary.machine.AlvearyStimulator; -import binnie.craftgui.minecraft.control.ControlSlot; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; import binnie.core.machines.TileEntityMachine; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; import binnie.core.machines.Machine; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; public class WindowAlvearyStimulator extends Window { diff --git a/src/main/java/binnie/extrabees/gui/database/ControlBiomes.java b/src/main/java/binnie/extrabees/gui/database/ControlBiomes.java index 18c18fcb..2a9238b1 100644 --- a/src/main/java/binnie/extrabees/gui/database/ControlBiomes.java +++ b/src/main/java/binnie/extrabees/gui/database/ControlBiomes.java @@ -9,17 +9,17 @@ import forestry.api.apiculture.IBeeGenome; import binnie.core.BinnieCore; import binnie.Binnie; import forestry.api.apiculture.IAlleleBeeSpecies; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.craftgui.CraftGUI; import net.minecraft.world.biome.BiomeGenBase; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.Attribute; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; import java.util.ArrayList; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.IWidget; import java.util.List; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.controls.core.Control; public class ControlBiomes extends Control implements ITooltip { @@ -28,11 +28,11 @@ public class ControlBiomes extends Control implements ITooltip public ControlBiomes(final IWidget parent, final int x, final int y, final int width, final int height) { super(parent, x, y, width * 16, height * 16); this.tolerated = new ArrayList(); - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); } @Override - public void getTooltip(final Tooltip list) { + public void getTooltip(final Tooltip tooltip) { if (this.tolerated.isEmpty()) { return; } @@ -40,7 +40,7 @@ public class ControlBiomes extends Control implements ITooltip final int y = (int) (this.getRelativeMousePosition().y() / 16.0f); final int i = x + y * 8; if (i < this.tolerated.size()) { - list.add(BiomeGenBase.getBiome(this.tolerated.get(i)).biomeName); + tooltip.add(BiomeGenBase.getBiome(this.tolerated.get(i)).biomeName); } } diff --git a/src/main/java/binnie/extrabees/gui/database/ControlClimateBar.java b/src/main/java/binnie/extrabees/gui/database/ControlClimateBar.java index d0dfdb70..601e7b9e 100644 --- a/src/main/java/binnie/extrabees/gui/database/ControlClimateBar.java +++ b/src/main/java/binnie/extrabees/gui/database/ControlClimateBar.java @@ -8,18 +8,18 @@ import forestry.api.genetics.EnumTolerance; import forestry.api.apiculture.IBeeGenome; import binnie.Binnie; import forestry.api.apiculture.IAlleleBeeSpecies; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.craftgui.CraftGUI; import forestry.api.core.EnumTemperature; import forestry.api.core.EnumHumidity; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.Attribute; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.WidgetAttribute; import java.util.ArrayList; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.IWidget; import java.util.List; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.controls.core.Control; public class ControlClimateBar extends Control implements ITooltip { @@ -34,7 +34,7 @@ public class ControlClimateBar extends Control implements ITooltip this.tolerated = new ArrayList(); this.tempColours = new int[] { 65531, 7912447, 5242672, 16776960, 16753152, 16711680 }; this.humidColours = new int[] { 16770979, 1769216, 3177727 }; - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); } public ControlClimateBar(final IWidget parent, final int x, final int y, final int width, final int height, final boolean humidity) { @@ -43,12 +43,12 @@ public class ControlClimateBar extends Control implements ITooltip this.tolerated = new ArrayList(); this.tempColours = new int[] { 65531, 7912447, 5242672, 16776960, 16753152, 16711680 }; this.humidColours = new int[] { 16770979, 1769216, 3177727 }; - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); this.isHumidity = true; } @Override - public void getTooltip(final Tooltip list) { + public void getTooltip(final Tooltip tooltip) { if (this.tolerated.isEmpty()) { return; } @@ -59,10 +59,10 @@ public class ControlClimateBar extends Control implements ITooltip } if (type < types) { if (this.isHumidity) { - list.add(EnumHumidity.values()[type].name); + tooltip.add(EnumHumidity.values()[type].name); } else { - list.add(EnumTemperature.values()[type + 1].name); + tooltip.add(EnumTemperature.values()[type + 1].name); } } } diff --git a/src/main/java/binnie/extrabees/gui/database/ControlProductsBox.java b/src/main/java/binnie/extrabees/gui/database/ControlProductsBox.java index ddddb70c..f3baaaa8 100644 --- a/src/main/java/binnie/extrabees/gui/database/ControlProductsBox.java +++ b/src/main/java/binnie/extrabees/gui/database/ControlProductsBox.java @@ -12,9 +12,9 @@ import java.util.Map; import java.util.ArrayList; import binnie.core.BinnieCore; import binnie.Binnie; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.IWidget; import forestry.api.apiculture.IAlleleBeeSpecies; -import binnie.craftgui.controls.listbox.ControlListBox; +import binnie.core.craftgui.controls.listbox.ControlListBox; public class ControlProductsBox extends ControlListBox { diff --git a/src/main/java/binnie/extrabees/gui/database/ControlProductsItem.java b/src/main/java/binnie/extrabees/gui/database/ControlProductsItem.java index cacd03a4..1d60d3d5 100644 --- a/src/main/java/binnie/extrabees/gui/database/ControlProductsItem.java +++ b/src/main/java/binnie/extrabees/gui/database/ControlProductsItem.java @@ -4,14 +4,14 @@ package binnie.extrabees.gui.database; -import binnie.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.ControlText; import java.text.DecimalFormat; -import binnie.craftgui.core.geometry.CraftGUIUtil; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.controls.listbox.ControlList; -import binnie.craftgui.minecraft.control.ControlItemDisplay; -import binnie.craftgui.controls.listbox.ControlOption; +import binnie.core.craftgui.geometry.CraftGUIUtil; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.listbox.ControlList; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; +import binnie.core.craftgui.controls.listbox.ControlOption; public class ControlProductsItem extends ControlOption { diff --git a/src/main/java/binnie/extrabees/gui/database/PageSpeciesClimate.java b/src/main/java/binnie/extrabees/gui/database/PageSpeciesClimate.java index ef3932df..98944d49 100644 --- a/src/main/java/binnie/extrabees/gui/database/PageSpeciesClimate.java +++ b/src/main/java/binnie/extrabees/gui/database/PageSpeciesClimate.java @@ -6,10 +6,10 @@ package binnie.extrabees.gui.database; import forestry.api.apiculture.IAlleleBeeSpecies; import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.mod.database.DatabaseTab; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.mod.database.PageSpecies; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.database.PageSpecies; public class PageSpeciesClimate extends PageSpecies { diff --git a/src/main/java/binnie/extrabees/gui/database/PageSpeciesGenome.java b/src/main/java/binnie/extrabees/gui/database/PageSpeciesGenome.java index 9d3ee2ce..3ea126d9 100644 --- a/src/main/java/binnie/extrabees/gui/database/PageSpeciesGenome.java +++ b/src/main/java/binnie/extrabees/gui/database/PageSpeciesGenome.java @@ -10,13 +10,13 @@ import forestry.api.genetics.IAllele; import binnie.core.BinnieCore; import binnie.Binnie; import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.mod.database.DatabaseTab; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.mod.database.PageSpecies; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.database.PageSpecies; public class PageSpeciesGenome extends PageSpecies { diff --git a/src/main/java/binnie/extrabees/gui/database/PageSpeciesProducts.java b/src/main/java/binnie/extrabees/gui/database/PageSpeciesProducts.java index 37720840..8f8fbe2f 100644 --- a/src/main/java/binnie/extrabees/gui/database/PageSpeciesProducts.java +++ b/src/main/java/binnie/extrabees/gui/database/PageSpeciesProducts.java @@ -6,11 +6,11 @@ package binnie.extrabees.gui.database; import forestry.api.apiculture.IAlleleBeeSpecies; import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.mod.database.DatabaseTab; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.mod.database.PageSpecies; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.database.PageSpecies; public class PageSpeciesProducts extends PageSpecies { diff --git a/src/main/java/binnie/extrabees/gui/database/WindowApiaristDatabase.java b/src/main/java/binnie/extrabees/gui/database/WindowApiaristDatabase.java index 0ca95669..9d6d0a64 100644 --- a/src/main/java/binnie/extrabees/gui/database/WindowApiaristDatabase.java +++ b/src/main/java/binnie/extrabees/gui/database/WindowApiaristDatabase.java @@ -4,21 +4,21 @@ package binnie.extrabees.gui.database; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; import binnie.Binnie; import cpw.mods.fml.relauncher.Side; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.mod.database.PageBreeder; -import binnie.craftgui.mod.database.PageBranchSpecies; -import binnie.craftgui.mod.database.PageBranchOverview; -import binnie.craftgui.mod.database.PageSpeciesMutations; -import binnie.craftgui.mod.database.PageSpeciesResultant; -import binnie.craftgui.mod.database.PageSpeciesClassification; +import binnie.core.craftgui.database.PageBreeder; +import binnie.core.craftgui.database.PageBranchSpecies; +import binnie.core.craftgui.database.PageBranchOverview; +import binnie.core.craftgui.database.PageSpeciesMutations; +import binnie.core.craftgui.database.PageSpeciesResultant; +import binnie.core.craftgui.database.PageSpeciesClassification; import binnie.core.AbstractMod; -import binnie.craftgui.mod.database.DatabaseTab; +import binnie.core.craftgui.database.DatabaseTab; import binnie.extrabees.ExtraBees; -import binnie.craftgui.mod.database.PageSpeciesOverview; -import binnie.craftgui.mod.database.WindowAbstractDatabase; +import binnie.core.craftgui.database.PageSpeciesOverview; +import binnie.core.craftgui.database.WindowAbstractDatabase; public class WindowApiaristDatabase extends WindowAbstractDatabase { diff --git a/src/main/java/binnie/extrabees/gui/punnett/ControlChromosome.java b/src/main/java/binnie/extrabees/gui/punnett/ControlChromosome.java index 26f2798b..38622738 100644 --- a/src/main/java/binnie/extrabees/gui/punnett/ControlChromosome.java +++ b/src/main/java/binnie/extrabees/gui/punnett/ControlChromosome.java @@ -4,14 +4,14 @@ package binnie.extrabees.gui.punnett; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.ITooltip; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.ITooltip; import forestry.api.genetics.IChromosomeType; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.controls.core.Control; public class ControlChromosome extends Control implements IControlValue, ITooltip { @@ -20,7 +20,7 @@ public class ControlChromosome extends Control implements IControlValue, IControlScrollable { @@ -129,7 +129,7 @@ public class ControlTileSelect extends Control implements IControlValue protected ControlTile(final IWidget parent, final float x, final float y, final IDesign value) { super(parent, x, y, 18.0f, 18.0f); this.setValue(value); - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); this.addSelfEventHandler(new EventMouse.Down.Handler() { @Override public void onEvent(final EventMouse.Down event) { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/DialogBreweryRecipe.java b/src/main/java/binnie/extratrees/craftgui/dictionary/DialogBreweryRecipe.java similarity index 68% rename from src/main/java/binnie/craftgui/extratrees/dictionary/DialogBreweryRecipe.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/DialogBreweryRecipe.java index ff630040..594d1517 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/DialogBreweryRecipe.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/DialogBreweryRecipe.java @@ -2,10 +2,10 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.minecraft.Dialog; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.minecraft.Dialog; public class DialogBreweryRecipe extends Dialog { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/PageFruit.java b/src/main/java/binnie/extratrees/craftgui/dictionary/PageFruit.java similarity index 73% rename from src/main/java/binnie/craftgui/extratrees/dictionary/PageFruit.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/PageFruit.java index c4138ef6..0f9091d7 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/PageFruit.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/PageFruit.java @@ -2,22 +2,22 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; import forestry.api.genetics.IAlleleSpecies; import java.util.Collection; -import binnie.craftgui.mod.database.ControlSpeciesBox; +import binnie.core.craftgui.database.ControlSpeciesBox; import binnie.core.genetics.TreeBreedingSystem; -import binnie.craftgui.core.geometry.TextJustification; +import binnie.core.craftgui.geometry.TextJustification; import binnie.extratrees.ExtraTrees; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.mod.database.WindowAbstractDatabase; -import binnie.craftgui.mod.database.DatabaseTab; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.database.WindowAbstractDatabase; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.IWidget; import net.minecraft.item.ItemStack; -import binnie.craftgui.mod.database.PageAbstract; +import binnie.core.craftgui.database.PageAbstract; public class PageFruit extends PageAbstract { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/PagePlanksOverview.java b/src/main/java/binnie/extratrees/craftgui/dictionary/PagePlanksOverview.java similarity index 82% rename from src/main/java/binnie/craftgui/extratrees/dictionary/PagePlanksOverview.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/PagePlanksOverview.java index 21e88cfb..d4654e4a 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/PagePlanksOverview.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/PagePlanksOverview.java @@ -2,26 +2,26 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; import binnie.extratrees.block.IPlankType; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.CraftGUI; import binnie.core.BinnieCore; -import binnie.craftgui.minecraft.control.ControlItemDisplay; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; import binnie.extratrees.block.DoorType; import binnie.extratrees.block.decor.FenceType; import binnie.extratrees.block.WoodManager; import binnie.extratrees.ExtraTrees; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.mod.database.WindowAbstractDatabase; -import binnie.craftgui.mod.database.DatabaseTab; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.database.WindowAbstractDatabase; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.IWidget; import net.minecraft.item.ItemStack; -import binnie.craftgui.mod.database.PageAbstract; +import binnie.core.craftgui.database.PageAbstract; public class PagePlanksOverview extends PageAbstract { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/PagePlanksTrees.java b/src/main/java/binnie/extratrees/craftgui/dictionary/PagePlanksTrees.java similarity index 65% rename from src/main/java/binnie/craftgui/extratrees/dictionary/PagePlanksTrees.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/PagePlanksTrees.java index 87e3ba84..dcb6111b 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/PagePlanksTrees.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/PagePlanksTrees.java @@ -2,21 +2,21 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; import forestry.api.genetics.IAlleleSpecies; import java.util.Collection; -import binnie.craftgui.mod.database.ControlSpeciesBox; +import binnie.core.craftgui.database.ControlSpeciesBox; import binnie.core.genetics.TreeBreedingSystem; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.mod.database.WindowAbstractDatabase; -import binnie.craftgui.mod.database.DatabaseTab; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.database.WindowAbstractDatabase; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.IWidget; import net.minecraft.item.ItemStack; -import binnie.craftgui.mod.database.PageAbstract; +import binnie.core.craftgui.database.PageAbstract; public class PagePlanksTrees extends PageAbstract { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/PageSpeciesImage.java b/src/main/java/binnie/extratrees/craftgui/dictionary/PageSpeciesImage.java similarity index 59% rename from src/main/java/binnie/craftgui/extratrees/dictionary/PageSpeciesImage.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/PageSpeciesImage.java index 340553bb..b9897f39 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/PageSpeciesImage.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/PageSpeciesImage.java @@ -2,17 +2,17 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; -import binnie.craftgui.mod.database.EnumDiscoveryState; +import binnie.core.craftgui.database.EnumDiscoveryState; import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.minecraft.MinecraftGUI; -import binnie.craftgui.window.Panel; -import binnie.craftgui.mod.database.DatabaseTab; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.mod.database.ControlDatabaseIndividualDisplay; -import binnie.craftgui.mod.database.PageSpecies; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.minecraft.MinecraftGUI; +import binnie.core.craftgui.window.Panel; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.database.ControlDatabaseIndividualDisplay; +import binnie.core.craftgui.database.PageSpecies; public class PageSpeciesImage extends PageSpecies { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/PageSpeciesTreeGenome.java b/src/main/java/binnie/extratrees/craftgui/dictionary/PageSpeciesTreeGenome.java similarity index 89% rename from src/main/java/binnie/craftgui/extratrees/dictionary/PageSpeciesTreeGenome.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/PageSpeciesTreeGenome.java index 48bf7494..0800e7b9 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/PageSpeciesTreeGenome.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/PageSpeciesTreeGenome.java @@ -2,7 +2,7 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; import java.util.List; @@ -13,13 +13,13 @@ import forestry.api.arboriculture.IAlleleTreeSpecies; import forestry.api.arboriculture.ITreeGenome; import forestry.api.arboriculture.ITree; import forestry.api.genetics.IAllele; -import binnie.craftgui.core.geometry.IPoint; +import binnie.core.craftgui.geometry.IPoint; import net.minecraft.item.ItemStack; import java.util.ArrayList; -import binnie.craftgui.minecraft.control.ControlItemDisplay; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; import binnie.extratrees.ExtraTrees; import binnie.extratrees.FakeWorld; @@ -28,18 +28,17 @@ import net.minecraftforge.common.util.ForgeDirection; import forestry.api.core.ForestryAPI; import binnie.core.BinnieCore; -import forestry.api.genetics.IChromosomeType; import forestry.api.arboriculture.EnumTreeChromosome; -import binnie.craftgui.controls.core.Control; -import binnie.craftgui.controls.scroll.ControlScrollableContent; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.scroll.ControlScrollableContent; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.controls.ControlText; import binnie.Binnie; import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.mod.database.DatabaseTab; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.mod.database.PageSpecies; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.database.PageSpecies; public class PageSpeciesTreeGenome extends PageSpecies { @@ -100,9 +99,9 @@ public class PageSpeciesTreeGenome extends PageSpecies } if (leaf != null) { new ControlText(contents, new IArea(0.0f, y, w2, th2), ExtraTrees.proxy.localise("gui.database.leaves") + " : ", TextJustification.MiddleRight); - new ControlBlockIconDisplay(contents, w2, y, leaf).setColour(treeSpecies.getLeafColour(false)); + new ControlBlockIconDisplay(contents, w2, y, leaf).setColor(treeSpecies.getLeafColour(false)); if (fruit != null && !treeSpecies.getUID().equals("forestry.treeOak")) { - new ControlBlockIconDisplay(contents, w2, y, fruit).setColour(fruitColour); + new ControlBlockIconDisplay(contents, w2, y, fruit).setColor(fruitColour); } y += th2; } diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/PageWood.java b/src/main/java/binnie/extratrees/craftgui/dictionary/PageWood.java similarity index 65% rename from src/main/java/binnie/craftgui/extratrees/dictionary/PageWood.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/PageWood.java index 133ec8b9..b48bef69 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/PageWood.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/PageWood.java @@ -2,21 +2,21 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; import forestry.api.genetics.IAlleleSpecies; import java.util.Collection; -import binnie.craftgui.mod.database.ControlSpeciesBox; +import binnie.core.craftgui.database.ControlSpeciesBox; import binnie.core.genetics.TreeBreedingSystem; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.mod.database.WindowAbstractDatabase; -import binnie.craftgui.mod.database.DatabaseTab; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.database.WindowAbstractDatabase; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.IWidget; import net.minecraft.item.ItemStack; -import binnie.craftgui.mod.database.PageAbstract; +import binnie.core.craftgui.database.PageAbstract; public class PageWood extends PageAbstract { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowArboristDatabase.java b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowArboristDatabase.java similarity index 81% rename from src/main/java/binnie/craftgui/extratrees/dictionary/WindowArboristDatabase.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/WindowArboristDatabase.java index 5ca75980..7227e077 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowArboristDatabase.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowArboristDatabase.java @@ -2,32 +2,32 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; -import binnie.craftgui.controls.scroll.ControlScrollableContent; +import binnie.core.craftgui.controls.scroll.ControlScrollableContent; import binnie.core.genetics.TreeBreedingSystem; -import binnie.craftgui.mod.database.ControlItemStackOption; -import binnie.craftgui.controls.listbox.ControlList; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.mod.database.PageBreeder; -import binnie.craftgui.mod.database.PageBranchSpecies; -import binnie.craftgui.mod.database.PageBranchOverview; -import binnie.craftgui.mod.database.PageSpeciesMutations; -import binnie.craftgui.mod.database.PageSpeciesResultant; -import binnie.craftgui.mod.database.PageSpeciesClassification; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.database.ControlItemStackOption; +import binnie.core.craftgui.controls.listbox.ControlList; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.database.PageBreeder; +import binnie.core.craftgui.database.PageBranchSpecies; +import binnie.core.craftgui.database.PageBranchOverview; +import binnie.core.craftgui.database.PageSpeciesMutations; +import binnie.core.craftgui.database.PageSpeciesResultant; +import binnie.core.craftgui.database.PageSpeciesClassification; +import binnie.core.craftgui.IWidget; import binnie.core.AbstractMod; -import binnie.craftgui.mod.database.DatabaseTab; +import binnie.core.craftgui.database.DatabaseTab; import binnie.extratrees.ExtraTrees; -import binnie.craftgui.mod.database.IDatabaseMode; -import binnie.craftgui.mod.database.PageSpeciesOverview; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.database.IDatabaseMode; +import binnie.core.craftgui.database.PageSpeciesOverview; +import binnie.core.craftgui.minecraft.Window; import binnie.Binnie; import cpw.mods.fml.relauncher.Side; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import binnie.craftgui.controls.listbox.ControlListBox; -import binnie.craftgui.mod.database.WindowAbstractDatabase; +import binnie.core.craftgui.controls.listbox.ControlListBox; +import binnie.core.craftgui.database.WindowAbstractDatabase; public class WindowArboristDatabase extends WindowAbstractDatabase { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowBrewery.java b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowBrewery.java similarity index 75% rename from src/main/java/binnie/craftgui/extratrees/dictionary/WindowBrewery.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/WindowBrewery.java index 452f9db4..b41abd24 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowBrewery.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowBrewery.java @@ -2,23 +2,23 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlEnergyBar; -import binnie.craftgui.minecraft.control.ControlLiquidTank; -import binnie.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.minecraft.control.ControlLiquidTank; +import binnie.core.craftgui.minecraft.control.ControlSlot; import binnie.extratrees.machines.Brewery; -import binnie.craftgui.minecraft.control.ControlSlotArray; +import binnie.core.craftgui.minecraft.control.ControlSlotArray; import binnie.core.machines.Machine; import binnie.extratrees.ExtraTrees; import binnie.core.AbstractMod; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; public class WindowBrewery extends Window { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowDistillery.java b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowDistillery.java similarity index 77% rename from src/main/java/binnie/craftgui/extratrees/dictionary/WindowDistillery.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/WindowDistillery.java index 534df63b..204a6400 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowDistillery.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowDistillery.java @@ -2,21 +2,21 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; import binnie.extratrees.machines.Distillery; -import binnie.craftgui.minecraft.control.ControlLiquidTank; +import binnie.core.craftgui.minecraft.control.ControlLiquidTank; import binnie.core.machines.Machine; import binnie.extratrees.ExtraTrees; import binnie.core.AbstractMod; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; public class WindowDistillery extends Window { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowLepidopteristDatabase.java b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowLepidopteristDatabase.java similarity index 75% rename from src/main/java/binnie/craftgui/extratrees/dictionary/WindowLepidopteristDatabase.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/WindowLepidopteristDatabase.java index 5c99227f..4522515b 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowLepidopteristDatabase.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowLepidopteristDatabase.java @@ -2,23 +2,23 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; -import binnie.craftgui.mod.database.PageBreeder; -import binnie.craftgui.mod.database.PageBranchSpecies; -import binnie.craftgui.mod.database.PageBranchOverview; -import binnie.craftgui.mod.database.PageSpeciesMutations; -import binnie.craftgui.mod.database.PageSpeciesResultant; -import binnie.craftgui.mod.database.PageSpeciesClassification; +import binnie.core.craftgui.database.PageBreeder; +import binnie.core.craftgui.database.PageBranchSpecies; +import binnie.core.craftgui.database.PageBranchOverview; +import binnie.core.craftgui.database.PageSpeciesMutations; +import binnie.core.craftgui.database.PageSpeciesResultant; +import binnie.core.craftgui.database.PageSpeciesClassification; import binnie.core.AbstractMod; -import binnie.craftgui.mod.database.DatabaseTab; +import binnie.core.craftgui.database.DatabaseTab; import binnie.extratrees.ExtraTrees; -import binnie.craftgui.mod.database.PageSpeciesOverview; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.database.PageSpeciesOverview; +import binnie.core.craftgui.minecraft.Window; import binnie.Binnie; import cpw.mods.fml.relauncher.Side; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.mod.database.WindowAbstractDatabase; +import binnie.core.craftgui.database.WindowAbstractDatabase; public class WindowLepidopteristDatabase extends WindowAbstractDatabase { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowLumbermill.java b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowLumbermill.java similarity index 76% rename from src/main/java/binnie/craftgui/extratrees/dictionary/WindowLumbermill.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/WindowLumbermill.java index 8dd9931a..a8024fe5 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowLumbermill.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowLumbermill.java @@ -2,22 +2,22 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlEnergyBar; -import binnie.craftgui.minecraft.control.ControlLiquidTank; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.minecraft.control.ControlLiquidTank; import binnie.extratrees.machines.Lumbermill; -import binnie.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.control.ControlSlot; import binnie.core.machines.Machine; import binnie.extratrees.ExtraTrees; import binnie.core.AbstractMod; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; public class WindowLumbermill extends Window { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowPress.java b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowPress.java similarity index 81% rename from src/main/java/binnie/craftgui/extratrees/dictionary/WindowPress.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/WindowPress.java index 80831153..b25a9a3c 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowPress.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowPress.java @@ -2,26 +2,26 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; import net.minecraft.item.ItemStack; import binnie.core.machines.power.ErrorState; import net.minecraft.nbt.NBTTagCompound; -import binnie.craftgui.minecraft.InventoryType; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlEnergyBar; -import binnie.craftgui.minecraft.control.ControlLiquidTank; +import binnie.core.craftgui.minecraft.InventoryType; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.minecraft.control.ControlLiquidTank; import binnie.extratrees.machines.Press; -import binnie.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.control.ControlSlot; import binnie.core.machines.Machine; import binnie.extratrees.ExtraTrees; import binnie.core.AbstractMod; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; public class WindowPress extends Window { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowSetSquare.java b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowSetSquare.java similarity index 90% rename from src/main/java/binnie/craftgui/extratrees/dictionary/WindowSetSquare.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/WindowSetSquare.java index 40339320..833d6c69 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowSetSquare.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowSetSquare.java @@ -2,7 +2,7 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; import net.minecraft.world.World; import binnie.extratrees.ExtraTrees; @@ -10,7 +10,7 @@ import binnie.core.AbstractMod; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; public class WindowSetSquare extends Window { diff --git a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowWoodworker.java b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowWoodworker.java similarity index 75% rename from src/main/java/binnie/craftgui/extratrees/dictionary/WindowWoodworker.java rename to src/main/java/binnie/extratrees/craftgui/dictionary/WindowWoodworker.java index 54e8c9ac..6675fa75 100644 --- a/src/main/java/binnie/craftgui/extratrees/dictionary/WindowWoodworker.java +++ b/src/main/java/binnie/extratrees/craftgui/dictionary/WindowWoodworker.java @@ -2,31 +2,31 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.dictionary; +package binnie.extratrees.craftgui.dictionary; import binnie.extratrees.machines.DesignerType; import binnie.extratrees.ExtraTrees; import binnie.core.AbstractMod; -import binnie.craftgui.events.EventHandler; -import binnie.craftgui.events.EventTextEdit; +import binnie.core.craftgui.events.EventHandler; +import binnie.core.craftgui.events.EventTextEdit; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; import binnie.extratrees.machines.Designer; -import binnie.craftgui.minecraft.control.ControlSlot; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.controls.scroll.ControlScrollableContent; -import binnie.craftgui.minecraft.MinecraftGUI; -import binnie.craftgui.window.Panel; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.core.geometry.TextJustification; +import binnie.core.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.controls.scroll.ControlScrollableContent; +import binnie.core.craftgui.minecraft.MinecraftGUI; +import binnie.core.craftgui.window.Panel; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.geometry.TextJustification; import binnie.core.BinnieCore; -import binnie.craftgui.core.geometry.IArea; +import binnie.core.craftgui.geometry.IArea; import binnie.core.machines.Machine; -import binnie.craftgui.controls.ControlTextEdit; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.controls.ControlTextEdit; +import binnie.core.craftgui.minecraft.Window; public class WindowWoodworker extends Window { @@ -36,7 +36,7 @@ public class WindowWoodworker extends Window @Override public void initialiseClient() { this.setTitle(Machine.getMachine(this.getInventory()).getPackage().getDisplayName()); - new ControlText(this, new IArea(190.0f, 36.0f, 114.0f, 10.0f), BinnieCore.proxy.localise("gui.design"), TextJustification.TopCenter).setColour(4473924); + new ControlText(this, new IArea(190.0f, 36.0f, 114.0f, 10.0f), BinnieCore.proxy.localise("gui.design"), TextJustification.TopCenter).setColor(4473924); new Panel(this, 188.0f, 48.0f, 118.0f, 126.0f, MinecraftGUI.PanelType.Gray); this.textEdit = new ControlTextEdit(this, 188.0f, 178.0f, 118.0f, 12.0f); final ControlScrollableContent scroll = new ControlScrollableContent(this, 190.0f, 50.0f, 114.0f, 122.0f, 12.0f); diff --git a/src/main/java/binnie/craftgui/extratrees/kitchen/ControlDropDownMenu.java b/src/main/java/binnie/extratrees/craftgui/kitchen/ControlDropDownMenu.java similarity index 57% rename from src/main/java/binnie/craftgui/extratrees/kitchen/ControlDropDownMenu.java rename to src/main/java/binnie/extratrees/craftgui/kitchen/ControlDropDownMenu.java index 5d051fcb..5a52bc67 100644 --- a/src/main/java/binnie/craftgui/extratrees/kitchen/ControlDropDownMenu.java +++ b/src/main/java/binnie/extratrees/craftgui/kitchen/ControlDropDownMenu.java @@ -2,12 +2,12 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.kitchen; +package binnie.extratrees.craftgui.kitchen; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.minecraft.MinecraftGUI; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.window.Panel; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.minecraft.MinecraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.window.Panel; public class ControlDropDownMenu extends Panel { @@ -16,6 +16,6 @@ public class ControlDropDownMenu extends Panel public ControlDropDownMenu(final IWidget parent, final float x, final float y, final float width, final float height) { super(parent, x, y, width, 2.0f, MinecraftGUI.PanelType.Gray); this.stayOpenOnChildClick = false; - this.addAttribute(Attribute.CanFocus); + this.addAttribute(WidgetAttribute.CanFocus); } } diff --git a/src/main/java/binnie/craftgui/extratrees/kitchen/ControlDropdownButton.java b/src/main/java/binnie/extratrees/craftgui/kitchen/ControlDropdownButton.java similarity index 82% rename from src/main/java/binnie/craftgui/extratrees/kitchen/ControlDropdownButton.java rename to src/main/java/binnie/extratrees/craftgui/kitchen/ControlDropdownButton.java index 544e7eb1..1b0abbd1 100644 --- a/src/main/java/binnie/craftgui/extratrees/kitchen/ControlDropdownButton.java +++ b/src/main/java/binnie/extratrees/craftgui/kitchen/ControlDropdownButton.java @@ -2,12 +2,12 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.kitchen; +package binnie.extratrees.craftgui.kitchen; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.button.ControlButton; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.button.ControlButton; public abstract class ControlDropdownButton extends ControlButton { diff --git a/src/main/java/binnie/craftgui/extratrees/kitchen/ControlFluidDisplay.java b/src/main/java/binnie/extratrees/craftgui/kitchen/ControlFluidDisplay.java similarity index 84% rename from src/main/java/binnie/craftgui/extratrees/kitchen/ControlFluidDisplay.java rename to src/main/java/binnie/extratrees/craftgui/kitchen/ControlFluidDisplay.java index 40958f78..88f09ba1 100644 --- a/src/main/java/binnie/craftgui/extratrees/kitchen/ControlFluidDisplay.java +++ b/src/main/java/binnie/extratrees/craftgui/kitchen/ControlFluidDisplay.java @@ -2,20 +2,20 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.kitchen; +package binnie.extratrees.craftgui.kitchen; -import binnie.craftgui.core.Tooltip; +import binnie.core.craftgui.Tooltip; import net.minecraft.util.IIcon; import net.minecraftforge.fluids.Fluid; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.CraftGUI; import org.lwjgl.opengl.GL11; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.Attribute; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.WidgetAttribute; import net.minecraftforge.fluids.FluidStack; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.controls.core.Control; public class ControlFluidDisplay extends Control implements ITooltip { @@ -24,7 +24,7 @@ public class ControlFluidDisplay extends Control implements ITooltip public void setTooltip() { this.hastooltip = true; - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); } public ControlFluidDisplay(final IWidget parent, final float f, final float y) { diff --git a/src/main/java/binnie/craftgui/extratrees/kitchen/ControlSlotFluid.java b/src/main/java/binnie/extratrees/craftgui/kitchen/ControlSlotFluid.java similarity index 75% rename from src/main/java/binnie/craftgui/extratrees/kitchen/ControlSlotFluid.java rename to src/main/java/binnie/extratrees/craftgui/kitchen/ControlSlotFluid.java index 90a09a41..639ec4b7 100644 --- a/src/main/java/binnie/craftgui/extratrees/kitchen/ControlSlotFluid.java +++ b/src/main/java/binnie/extratrees/craftgui/kitchen/ControlSlotFluid.java @@ -2,19 +2,19 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.kitchen; +package binnie.extratrees.craftgui.kitchen; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.events.EventWidget; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.events.EventWidget; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.IWidget; import net.minecraftforge.fluids.FluidStack; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.controls.core.Control; public class ControlSlotFluid extends Control implements ITooltip { @@ -27,7 +27,7 @@ public class ControlSlotFluid extends Control implements ITooltip public ControlSlotFluid(final IWidget parent, final int x, final int y, final int size, final FluidStack fluid) { super(parent, x, y, size, size); - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); this.itemDisplay = new ControlFluidDisplay(this, 1.0f, 1.0f, size - 2); this.fluidStack = fluid; this.addSelfEventHandler(new EventWidget.ChangeSize.Handler() { diff --git a/src/main/java/binnie/craftgui/extratrees/kitchen/ControlSlotGlassware.java b/src/main/java/binnie/extratrees/craftgui/kitchen/ControlSlotGlassware.java similarity index 76% rename from src/main/java/binnie/craftgui/extratrees/kitchen/ControlSlotGlassware.java rename to src/main/java/binnie/extratrees/craftgui/kitchen/ControlSlotGlassware.java index 764eca77..8c39db70 100644 --- a/src/main/java/binnie/craftgui/extratrees/kitchen/ControlSlotGlassware.java +++ b/src/main/java/binnie/extratrees/craftgui/kitchen/ControlSlotGlassware.java @@ -2,13 +2,13 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.kitchen; +package binnie.extratrees.craftgui.kitchen; import net.minecraft.item.ItemStack; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.IWidget; import binnie.extratrees.alcohol.Glassware; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.minecraft.control.ControlSlotBase; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.minecraft.control.ControlSlotBase; public class ControlSlotGlassware extends ControlSlotBase implements IControlValue { diff --git a/src/main/java/binnie/craftgui/extratrees/kitchen/ControlTankSlot.java b/src/main/java/binnie/extratrees/craftgui/kitchen/ControlTankSlot.java similarity index 83% rename from src/main/java/binnie/craftgui/extratrees/kitchen/ControlTankSlot.java rename to src/main/java/binnie/extratrees/craftgui/kitchen/ControlTankSlot.java index 18d04626..9fe20b01 100644 --- a/src/main/java/binnie/craftgui/extratrees/kitchen/ControlTankSlot.java +++ b/src/main/java/binnie/extratrees/craftgui/kitchen/ControlTankSlot.java @@ -2,13 +2,13 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.kitchen; +package binnie.extratrees.craftgui.kitchen; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.minecraft.Window; import net.minecraft.nbt.NBTTagCompound; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.IWidget; public class ControlTankSlot extends ControlSlotFluid { diff --git a/src/main/java/binnie/craftgui/extratrees/kitchen/WindowBottleRack.java b/src/main/java/binnie/extratrees/craftgui/kitchen/WindowBottleRack.java similarity index 87% rename from src/main/java/binnie/craftgui/extratrees/kitchen/WindowBottleRack.java rename to src/main/java/binnie/extratrees/craftgui/kitchen/WindowBottleRack.java index 819c7756..d3dcd494 100644 --- a/src/main/java/binnie/craftgui/extratrees/kitchen/WindowBottleRack.java +++ b/src/main/java/binnie/extratrees/craftgui/kitchen/WindowBottleRack.java @@ -2,16 +2,16 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.extratrees.kitchen; +package binnie.extratrees.craftgui.kitchen; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; import binnie.core.machines.Machine; import binnie.extratrees.ExtraTrees; import binnie.core.AbstractMod; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; public class WindowBottleRack extends Window { diff --git a/src/main/java/binnie/extratrees/kitchen/BottleRack.java b/src/main/java/binnie/extratrees/kitchen/BottleRack.java index 60ec6b24..c57d462a 100644 --- a/src/main/java/binnie/extratrees/kitchen/BottleRack.java +++ b/src/main/java/binnie/extratrees/kitchen/BottleRack.java @@ -9,7 +9,7 @@ import binnie.extratrees.core.ExtraTreesGUID; import binnie.extratrees.machines.ExtraTreeMachine; import binnie.core.machines.Machine; import binnie.extratrees.core.ExtraTreeTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; public class BottleRack { diff --git a/src/main/java/binnie/extratrees/machines/Brewery.java b/src/main/java/binnie/extratrees/machines/Brewery.java index 325c4eca..014733d5 100644 --- a/src/main/java/binnie/extratrees/machines/Brewery.java +++ b/src/main/java/binnie/extratrees/machines/Brewery.java @@ -14,7 +14,7 @@ import binnie.core.machines.power.ComponentPowerReceptor; import binnie.core.machines.power.ComponentProcessSetCost; import binnie.core.machines.power.ErrorState; import binnie.core.machines.power.IProcess; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import binnie.extratrees.alcohol.Alcohol; import binnie.extratrees.core.ExtraTreeTexture; import binnie.extratrees.core.ExtraTreesGUID; diff --git a/src/main/java/binnie/extratrees/machines/Designer.java b/src/main/java/binnie/extratrees/machines/Designer.java index 034e410b..983a5492 100644 --- a/src/main/java/binnie/extratrees/machines/Designer.java +++ b/src/main/java/binnie/extratrees/machines/Designer.java @@ -23,7 +23,7 @@ import binnie.core.machines.component.ComponentRecipe; import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.extratrees.core.ExtraTreesGUID; import binnie.core.machines.Machine; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; public abstract class Designer { diff --git a/src/main/java/binnie/extratrees/machines/Distillery.java b/src/main/java/binnie/extratrees/machines/Distillery.java index 713c6cc9..8ff4d64a 100644 --- a/src/main/java/binnie/extratrees/machines/Distillery.java +++ b/src/main/java/binnie/extratrees/machines/Distillery.java @@ -15,7 +15,7 @@ import binnie.core.machines.power.ComponentPowerReceptor; import binnie.core.machines.power.ComponentProcessSetCost; import binnie.core.machines.power.ErrorState; import binnie.core.machines.power.IProcess; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import binnie.extratrees.core.ExtraTreeTexture; import binnie.extratrees.core.ExtraTreesGUID; import cpw.mods.fml.relauncher.Side; diff --git a/src/main/java/binnie/extratrees/machines/Infuser.java b/src/main/java/binnie/extratrees/machines/Infuser.java index 1a573cae..8d5047a1 100644 --- a/src/main/java/binnie/extratrees/machines/Infuser.java +++ b/src/main/java/binnie/extratrees/machines/Infuser.java @@ -17,7 +17,7 @@ import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.extratrees.core.ExtraTreesGUID; import binnie.core.machines.Machine; import binnie.extratrees.core.ExtraTreeTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import java.util.HashMap; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; diff --git a/src/main/java/binnie/extratrees/machines/Lumbermill.java b/src/main/java/binnie/extratrees/machines/Lumbermill.java index 3d6b1f42..93d358ff 100644 --- a/src/main/java/binnie/extratrees/machines/Lumbermill.java +++ b/src/main/java/binnie/extratrees/machines/Lumbermill.java @@ -21,7 +21,7 @@ import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.extratrees.core.ExtraTreesGUID; import binnie.core.machines.Machine; import binnie.extratrees.core.ExtraTreeTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import java.util.HashMap; import java.util.List; import net.minecraftforge.oredict.ShapelessOreRecipe; diff --git a/src/main/java/binnie/extratrees/machines/Press.java b/src/main/java/binnie/extratrees/machines/Press.java index e9b1290d..97bcede2 100644 --- a/src/main/java/binnie/extratrees/machines/Press.java +++ b/src/main/java/binnie/extratrees/machines/Press.java @@ -17,7 +17,7 @@ import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.extratrees.core.ExtraTreesGUID; import binnie.core.machines.Machine; import binnie.extratrees.core.ExtraTreeTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import java.util.HashMap; import net.minecraftforge.fluids.FluidStack; import net.minecraft.item.ItemStack; diff --git a/src/main/java/binnie/genetics/core/GeneticsGUI.java b/src/main/java/binnie/genetics/core/GeneticsGUI.java index e7fc28a9..ef735b43 100644 --- a/src/main/java/binnie/genetics/core/GeneticsGUI.java +++ b/src/main/java/binnie/genetics/core/GeneticsGUI.java @@ -4,25 +4,25 @@ package binnie.genetics.core; -import binnie.craftgui.genetics.machine.WindowSplicer; -import binnie.craftgui.genetics.machine.WindowAcclimatiser; -import binnie.craftgui.genetics.machine.WindowIncubator; -import binnie.craftgui.genetics.machine.WindowAnalyser; -import binnie.craftgui.genetics.machine.WindowInoculator; -import binnie.craftgui.genetics.machine.WindowPolymeriser; -import binnie.craftgui.genetics.machine.WindowSequencer; -import binnie.craftgui.genetics.machine.WindowIsolator; -import binnie.craftgui.genetics.machine.WindowGenepool; +import binnie.genetics.craftgui.WindowSplicer; +import binnie.genetics.craftgui.WindowAcclimatiser; +import binnie.genetics.craftgui.WindowIncubator; +import binnie.genetics.craftgui.WindowAnalyser; +import binnie.genetics.craftgui.WindowInoculator; +import binnie.genetics.craftgui.WindowPolymeriser; +import binnie.genetics.craftgui.WindowSequencer; +import binnie.genetics.craftgui.WindowIsolator; +import binnie.genetics.craftgui.WindowGenepool; import net.minecraft.tileentity.TileEntity; -import binnie.craftgui.genetics.machine.WindowGeneBankNEI; -import binnie.craftgui.genetics.machine.WindowGeneBank; +import binnie.genetics.craftgui.WindowGeneBankNEI; +import binnie.genetics.craftgui.WindowGeneBank; import net.minecraft.world.World; import java.lang.reflect.Constructor; import binnie.genetics.gui.WindowAnalyst; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; import binnie.core.gui.IBinnieGUID; public enum GeneticsGUI implements IBinnieGUID diff --git a/src/main/java/binnie/craftgui/genetics/machine/ControlGene.java b/src/main/java/binnie/genetics/craftgui/ControlGene.java similarity index 82% rename from src/main/java/binnie/craftgui/genetics/machine/ControlGene.java rename to src/main/java/binnie/genetics/craftgui/ControlGene.java index 40fd6edf..47b8dea4 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/ControlGene.java +++ b/src/main/java/binnie/genetics/craftgui/ControlGene.java @@ -2,25 +2,24 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; import binnie.genetics.core.GeneticsTexture; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; -import net.minecraft.nbt.NBTBase; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.CraftGUI; import net.minecraft.nbt.NBTTagCompound; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.core.Attribute; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.WidgetAttribute; import net.minecraft.item.ItemStack; import binnie.genetics.genetics.Engineering; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.minecraft.Window; import binnie.Binnie; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.ITooltip; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.ITooltip; import binnie.genetics.api.IGene; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.controls.core.Control; public class ControlGene extends Control implements IControlValue, ITooltip { @@ -47,7 +46,7 @@ public class ControlGene extends Control implements IControlValue, IToolt protected ControlGene(final IWidget parent, final float x, final float y) { super(parent, x, y, 16.0f, 16.0f); - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); this.addSelfEventHandler(new EventMouse.Down.Handler() { @Override public void onEvent(final EventMouse.Down event) { diff --git a/src/main/java/binnie/craftgui/genetics/machine/ControlGeneScroll.java b/src/main/java/binnie/genetics/craftgui/ControlGeneScroll.java similarity index 88% rename from src/main/java/binnie/craftgui/genetics/machine/ControlGeneScroll.java rename to src/main/java/binnie/genetics/craftgui/ControlGeneScroll.java index 20129a53..37a6e4cf 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/ControlGeneScroll.java +++ b/src/main/java/binnie/genetics/craftgui/ControlGeneScroll.java @@ -2,10 +2,10 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.controls.ControlText; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.controls.ControlText; import binnie.core.genetics.Gene; import java.util.ArrayList; import forestry.api.genetics.IAllele; @@ -14,11 +14,11 @@ import forestry.api.genetics.IChromosomeType; import java.util.Map; import binnie.Binnie; import binnie.genetics.genetics.GeneTracker; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.IWidget; import binnie.core.genetics.BreedingSystem; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.controls.core.Control; public class ControlGeneScroll extends Control implements IControlValue { diff --git a/src/main/java/binnie/craftgui/genetics/machine/ControlProcessTemporary.java b/src/main/java/binnie/genetics/craftgui/ControlProcessTemporary.java similarity index 68% rename from src/main/java/binnie/craftgui/genetics/machine/ControlProcessTemporary.java rename to src/main/java/binnie/genetics/craftgui/ControlProcessTemporary.java index 78fa4c28..b996f1b1 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/ControlProcessTemporary.java +++ b/src/main/java/binnie/genetics/craftgui/ControlProcessTemporary.java @@ -2,13 +2,13 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.minecraft.control.ControlMachineProgress; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.minecraft.control.ControlMachineProgress; public class ControlProcessTemporary extends ControlMachineProgress { diff --git a/src/main/java/binnie/craftgui/genetics/machine/ControlSequencerProgress.java b/src/main/java/binnie/genetics/craftgui/ControlSequencerProgress.java similarity index 76% rename from src/main/java/binnie/craftgui/genetics/machine/ControlSequencerProgress.java rename to src/main/java/binnie/genetics/craftgui/ControlSequencerProgress.java index efd129c2..b3303108 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/ControlSequencerProgress.java +++ b/src/main/java/binnie/genetics/craftgui/ControlSequencerProgress.java @@ -2,19 +2,19 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; import net.minecraft.item.ItemStack; import java.util.Random; import binnie.core.machines.Machine; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.window.Panel; -import binnie.craftgui.minecraft.MinecraftGUI; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.minecraft.control.ControlProgressBase; +import binnie.core.craftgui.minecraft.Window; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.window.Panel; +import binnie.core.craftgui.minecraft.MinecraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.minecraft.control.ControlProgressBase; public class ControlSequencerProgress extends ControlProgressBase { diff --git a/src/main/java/binnie/craftgui/genetics/machine/ControlSplicerProgress.java b/src/main/java/binnie/genetics/craftgui/ControlSplicerProgress.java similarity index 90% rename from src/main/java/binnie/craftgui/genetics/machine/ControlSplicerProgress.java rename to src/main/java/binnie/genetics/craftgui/ControlSplicerProgress.java index 600364b0..275ec7d0 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/ControlSplicerProgress.java +++ b/src/main/java/binnie/genetics/craftgui/ControlSplicerProgress.java @@ -2,12 +2,12 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.minecraft.control.ControlProgressBase; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.minecraft.control.ControlProgressBase; public class ControlSplicerProgress extends ControlProgressBase { diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowAcclimatiser.java b/src/main/java/binnie/genetics/craftgui/WindowAcclimatiser.java similarity index 78% rename from src/main/java/binnie/craftgui/genetics/machine/WindowAcclimatiser.java rename to src/main/java/binnie/genetics/craftgui/WindowAcclimatiser.java index 091f33ce..b3f0588e 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowAcclimatiser.java +++ b/src/main/java/binnie/genetics/craftgui/WindowAcclimatiser.java @@ -2,24 +2,24 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; -import binnie.craftgui.resource.minecraft.StandardTexture; +import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.extrabees.core.ExtraBeeTexture; import binnie.genetics.Genetics; import binnie.core.AbstractMod; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlEnergyBar; -import binnie.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.minecraft.control.ControlSlot; import binnie.genetics.machine.Acclimatiser; -import binnie.craftgui.minecraft.control.ControlSlotArray; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.control.ControlSlotArray; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.resource.Texture; +import binnie.core.craftgui.resource.Texture; public class WindowAcclimatiser extends WindowMachine { diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowAnalyser.java b/src/main/java/binnie/genetics/craftgui/WindowAnalyser.java similarity index 71% rename from src/main/java/binnie/craftgui/genetics/machine/WindowAnalyser.java rename to src/main/java/binnie/genetics/craftgui/WindowAnalyser.java index 1c9bd62c..08cf8ae4 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowAnalyser.java +++ b/src/main/java/binnie/genetics/craftgui/WindowAnalyser.java @@ -2,31 +2,31 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; import binnie.extrabees.core.ExtraBeeTexture; import binnie.genetics.Genetics; import binnie.core.AbstractMod; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.minecraft.control.ControlProgress; -import binnie.craftgui.minecraft.MinecraftGUI; -import binnie.craftgui.window.Panel; -import binnie.craftgui.minecraft.GUIIcon; -import binnie.craftgui.minecraft.control.ControlIconDisplay; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlEnergyBar; -import binnie.craftgui.minecraft.control.ControlSlotCharge; -import binnie.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlProgress; +import binnie.core.craftgui.minecraft.MinecraftGUI; +import binnie.core.craftgui.window.Panel; +import binnie.core.craftgui.minecraft.GUIIcon; +import binnie.core.craftgui.minecraft.control.ControlIconDisplay; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.minecraft.control.ControlSlotCharge; +import binnie.core.craftgui.minecraft.control.ControlSlot; import binnie.genetics.machine.Analyser; -import binnie.craftgui.minecraft.control.ControlSlotArray; -import binnie.craftgui.resource.minecraft.StandardTexture; +import binnie.core.craftgui.minecraft.control.ControlSlotArray; +import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.genetics.core.GeneticsTexture; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.resource.Texture; +import binnie.core.craftgui.resource.Texture; public class WindowAnalyser extends WindowMachine { @@ -50,7 +50,7 @@ public class WindowAnalyser extends WindowMachine new ControlSlotArray(this, x, y, 2, 3).create(Analyser.slotReserve); x += 28; new ControlSlot(this, x, y + 54 + 8).assign(13); - new ControlSlotCharge(this, x + 20, y + 54 + 8, 13).setColour(10040319); + new ControlSlotCharge(this, x + 20, y + 54 + 8, 13).setColor(10040319); new ControlEnergyBar(this, x + 24 + 16, y + 54 + 8 + 1, 60, 16, Position.Left); new ControlErrorState(this, x + 24 + 16 + 60 + 16, y + 54 + 8 + 1); x -= 28; diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowGeneBank.java b/src/main/java/binnie/genetics/craftgui/WindowGeneBank.java similarity index 88% rename from src/main/java/binnie/craftgui/genetics/machine/WindowGeneBank.java rename to src/main/java/binnie/genetics/craftgui/WindowGeneBank.java index 3d9b259d..918d4d09 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowGeneBank.java +++ b/src/main/java/binnie/genetics/craftgui/WindowGeneBank.java @@ -2,34 +2,34 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; import binnie.genetics.Genetics; import binnie.core.AbstractMod; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.controls.ControlText; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.controls.ControlText; import java.util.Arrays; import forestry.api.genetics.IAllele; import java.util.List; import forestry.api.genetics.IChromosomeType; import java.util.Map; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.minecraft.control.ControlTabIcon; -import binnie.craftgui.controls.tab.ControlTab; -import binnie.craftgui.controls.tab.ControlTabBar; -import binnie.craftgui.core.geometry.Position; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.minecraft.control.ControlTabIcon; +import binnie.core.craftgui.controls.tab.ControlTab; +import binnie.core.craftgui.controls.tab.ControlTabBar; +import binnie.core.craftgui.geometry.Position; import binnie.Binnie; -import binnie.craftgui.events.EventTextEdit; -import binnie.craftgui.controls.ControlTextEdit; -import binnie.craftgui.controls.scroll.ControlScrollableContent; -import binnie.craftgui.minecraft.MinecraftGUI; -import binnie.craftgui.window.Panel; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.events.EventHandler; +import binnie.core.craftgui.events.EventTextEdit; +import binnie.core.craftgui.controls.ControlTextEdit; +import binnie.core.craftgui.controls.scroll.ControlScrollableContent; +import binnie.core.craftgui.minecraft.MinecraftGUI; +import binnie.core.craftgui.window.Panel; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.events.EventHandler; import binnie.core.genetics.BreedingSystem; -import binnie.craftgui.events.EventValueChanged; +import binnie.core.craftgui.events.EventValueChanged; import binnie.genetics.genetics.GeneTracker; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.entity.player.EntityPlayerMP; diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowGeneBankNEI.java b/src/main/java/binnie/genetics/craftgui/WindowGeneBankNEI.java similarity index 81% rename from src/main/java/binnie/craftgui/genetics/machine/WindowGeneBankNEI.java rename to src/main/java/binnie/genetics/craftgui/WindowGeneBankNEI.java index cb3ac572..d25da705 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowGeneBankNEI.java +++ b/src/main/java/binnie/genetics/craftgui/WindowGeneBankNEI.java @@ -2,9 +2,9 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowGeneProject.java b/src/main/java/binnie/genetics/craftgui/WindowGeneProject.java similarity index 88% rename from src/main/java/binnie/craftgui/genetics/machine/WindowGeneProject.java rename to src/main/java/binnie/genetics/craftgui/WindowGeneProject.java index 90e1f3f5..cdaf3ef8 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowGeneProject.java +++ b/src/main/java/binnie/genetics/craftgui/WindowGeneProject.java @@ -2,14 +2,14 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; import binnie.genetics.Genetics; import binnie.core.AbstractMod; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; public class WindowGeneProject extends Window { diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowGenepool.java b/src/main/java/binnie/genetics/craftgui/WindowGenepool.java similarity index 67% rename from src/main/java/binnie/craftgui/genetics/machine/WindowGenepool.java rename to src/main/java/binnie/genetics/craftgui/WindowGenepool.java index c31393f6..86e98413 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowGenepool.java +++ b/src/main/java/binnie/genetics/craftgui/WindowGenepool.java @@ -2,29 +2,29 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; -import binnie.craftgui.resource.minecraft.StandardTexture; +import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.extrabees.core.ExtraBeeTexture; import binnie.genetics.Genetics; import binnie.core.AbstractMod; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.minecraft.control.ControlSlotCharge; -import binnie.craftgui.minecraft.control.ControlEnergyBar; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlMachineProgress; -import binnie.craftgui.minecraft.control.ControlSlot; -import binnie.craftgui.minecraft.GUIIcon; -import binnie.craftgui.minecraft.control.ControlIconDisplay; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.minecraft.control.ControlSlotCharge; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlMachineProgress; +import binnie.core.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.GUIIcon; +import binnie.core.craftgui.minecraft.control.ControlIconDisplay; import binnie.genetics.machine.Genepool; -import binnie.craftgui.minecraft.control.ControlSlotArray; -import binnie.craftgui.minecraft.control.ControlLiquidTank; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.control.ControlSlotArray; +import binnie.core.craftgui.minecraft.control.ControlLiquidTank; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.resource.Texture; +import binnie.core.craftgui.resource.Texture; public class WindowGenepool extends WindowMachine { @@ -57,7 +57,7 @@ public class WindowGenepool extends WindowMachine new ControlLiquidTank(this, x, y).setTankID(0); new ControlEnergyBar(this, 21, 115, 16, 60, Position.Bottom); new ControlSlot(this, 121.0f, 82.0f).assign(7); - new ControlSlotCharge(this, 143, 82, 7).setColour(15722671); + new ControlSlotCharge(this, 143, 82, 7).setColor(15722671); new ControlErrorState(this, 181.0f, 83.0f); new ControlPlayerInventory(this); } diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowGenomeAssembler.java b/src/main/java/binnie/genetics/craftgui/WindowGenomeAssembler.java similarity index 91% rename from src/main/java/binnie/craftgui/genetics/machine/WindowGenomeAssembler.java rename to src/main/java/binnie/genetics/craftgui/WindowGenomeAssembler.java index 9f2723c7..35fcc3a5 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowGenomeAssembler.java +++ b/src/main/java/binnie/genetics/craftgui/WindowGenomeAssembler.java @@ -2,11 +2,11 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; import binnie.genetics.Genetics; import binnie.core.AbstractMod; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowIncubator.java b/src/main/java/binnie/genetics/craftgui/WindowIncubator.java similarity index 72% rename from src/main/java/binnie/craftgui/genetics/machine/WindowIncubator.java rename to src/main/java/binnie/genetics/craftgui/WindowIncubator.java index 33e0f1ba..9fc4110c 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowIncubator.java +++ b/src/main/java/binnie/genetics/craftgui/WindowIncubator.java @@ -2,28 +2,28 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; -import binnie.craftgui.resource.minecraft.StandardTexture; +import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.genetics.core.GeneticsTexture; import binnie.genetics.Genetics; import binnie.core.AbstractMod; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.minecraft.control.ControlEnergyBar; -import binnie.craftgui.minecraft.control.ControlSlot; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlMachineProgress; -import binnie.craftgui.minecraft.GUIIcon; -import binnie.craftgui.minecraft.control.ControlIconDisplay; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlMachineProgress; +import binnie.core.craftgui.minecraft.GUIIcon; +import binnie.core.craftgui.minecraft.control.ControlIconDisplay; import binnie.genetics.machine.Incubator; -import binnie.craftgui.minecraft.control.ControlSlotArray; -import binnie.craftgui.minecraft.control.ControlLiquidTank; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.control.ControlSlotArray; +import binnie.core.craftgui.minecraft.control.ControlLiquidTank; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.resource.Texture; +import binnie.core.craftgui.resource.Texture; public class WindowIncubator extends WindowMachine { diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowInoculator.java b/src/main/java/binnie/genetics/craftgui/WindowInoculator.java similarity index 73% rename from src/main/java/binnie/craftgui/genetics/machine/WindowInoculator.java rename to src/main/java/binnie/genetics/craftgui/WindowInoculator.java index e0410c46..dcac7b2b 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowInoculator.java +++ b/src/main/java/binnie/genetics/craftgui/WindowInoculator.java @@ -2,30 +2,30 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; -import binnie.craftgui.resource.minecraft.StandardTexture; +import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.genetics.core.GeneticsTexture; import binnie.genetics.Genetics; import binnie.core.AbstractMod; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.minecraft.control.ControlEnergyBar; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlMachineProgress; -import binnie.craftgui.core.geometry.CraftGUIUtil; -import binnie.craftgui.minecraft.control.ControlSlot; -import binnie.craftgui.minecraft.control.ControlIconDisplay; -import binnie.craftgui.minecraft.GUIIcon; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlMachineProgress; +import binnie.core.craftgui.geometry.CraftGUIUtil; +import binnie.core.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.control.ControlIconDisplay; +import binnie.core.craftgui.minecraft.GUIIcon; import binnie.genetics.machine.Inoculator; -import binnie.craftgui.minecraft.control.ControlSlotArray; -import binnie.craftgui.minecraft.control.ControlLiquidTank; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.control.ControlSlotArray; +import binnie.core.craftgui.minecraft.control.ControlLiquidTank; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.resource.Texture; +import binnie.core.craftgui.resource.Texture; public class WindowInoculator extends WindowMachine { diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowIsolator.java b/src/main/java/binnie/genetics/craftgui/WindowIsolator.java similarity index 72% rename from src/main/java/binnie/craftgui/genetics/machine/WindowIsolator.java rename to src/main/java/binnie/genetics/craftgui/WindowIsolator.java index 60cd09ff..c035276a 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowIsolator.java +++ b/src/main/java/binnie/genetics/craftgui/WindowIsolator.java @@ -2,29 +2,29 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; -import binnie.craftgui.resource.minecraft.StandardTexture; +import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.extrabees.core.ExtraBeeTexture; import binnie.genetics.Genetics; import binnie.core.AbstractMod; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.minecraft.control.ControlEnergyBar; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlProgress; -import binnie.craftgui.minecraft.control.ControlSlotCharge; -import binnie.craftgui.minecraft.control.ControlSlot; -import binnie.craftgui.minecraft.GUIIcon; -import binnie.craftgui.minecraft.control.ControlIconDisplay; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlProgress; +import binnie.core.craftgui.minecraft.control.ControlSlotCharge; +import binnie.core.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.GUIIcon; +import binnie.core.craftgui.minecraft.control.ControlIconDisplay; import binnie.genetics.machine.Isolator; -import binnie.craftgui.minecraft.control.ControlSlotArray; -import binnie.craftgui.minecraft.control.ControlLiquidTank; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.control.ControlSlotArray; +import binnie.core.craftgui.minecraft.control.ControlLiquidTank; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.resource.Texture; +import binnie.core.craftgui.resource.Texture; public class WindowIsolator extends WindowMachine { @@ -52,7 +52,7 @@ public class WindowIsolator extends WindowMachine x += 18; new ControlSlot(this, x, y + 3).assign(5); new ControlSlot(this, x, y + 36 + 3).assign(0); - new ControlSlotCharge(this, x + 18 + 2, y + 36 + 3, 0).setColour(15722671); + new ControlSlotCharge(this, x + 18 + 2, y + 36 + 3, 0).setColor(15722671); x += 18; new ControlProgress(this, x, y + 3, WindowIsolator.ProgressBase, WindowIsolator.Progress, Position.Left); x += 142; diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowMachine.java b/src/main/java/binnie/genetics/craftgui/WindowMachine.java similarity index 86% rename from src/main/java/binnie/craftgui/genetics/machine/WindowMachine.java rename to src/main/java/binnie/genetics/craftgui/WindowMachine.java index cf53ed9e..bfb160a1 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowMachine.java +++ b/src/main/java/binnie/genetics/craftgui/WindowMachine.java @@ -2,12 +2,12 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; public abstract class WindowMachine extends Window { diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowPolymeriser.java b/src/main/java/binnie/genetics/craftgui/WindowPolymeriser.java similarity index 71% rename from src/main/java/binnie/craftgui/genetics/machine/WindowPolymeriser.java rename to src/main/java/binnie/genetics/craftgui/WindowPolymeriser.java index 2d107dba..78c69344 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowPolymeriser.java +++ b/src/main/java/binnie/genetics/craftgui/WindowPolymeriser.java @@ -2,29 +2,29 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; -import binnie.craftgui.resource.minecraft.StandardTexture; +import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.genetics.core.GeneticsTexture; import binnie.genetics.Genetics; import binnie.core.AbstractMod; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.minecraft.control.ControlSlotCharge; -import binnie.craftgui.minecraft.control.ControlEnergyBar; -import binnie.craftgui.minecraft.control.ControlLiquidTank; -import binnie.craftgui.minecraft.control.ControlSlot; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlMachineProgress; -import binnie.craftgui.minecraft.GUIIcon; -import binnie.craftgui.minecraft.control.ControlIconDisplay; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.minecraft.control.ControlSlotCharge; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.minecraft.control.ControlLiquidTank; +import binnie.core.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlMachineProgress; +import binnie.core.craftgui.minecraft.GUIIcon; +import binnie.core.craftgui.minecraft.control.ControlIconDisplay; import binnie.genetics.machine.Polymeriser; -import binnie.craftgui.minecraft.control.ControlSlotArray; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.control.ControlSlotArray; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.resource.Texture; +import binnie.core.craftgui.resource.Texture; public class WindowPolymeriser extends WindowMachine { @@ -54,7 +54,7 @@ public class WindowPolymeriser extends WindowMachine new ControlEnergyBar(this, x + 120, 96, 64, 16, Position.Left); x += 40; new ControlSlot(this, x + 30, y + 18 + 8).assign(1); - new ControlSlotCharge(this, x + 30 + 20, y + 18 + 8, 1).setColour(16766976); + new ControlSlotCharge(this, x + 30 + 20, y + 18 + 8, 1).setColor(16766976); x += 138; new ControlSlotArray(this, x, y + 9, 2, 2).create(Polymeriser.slotSerumFinished); final ControlErrorState errorState = new ControlErrorState(this, 244.0f, 97.0f); diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowSequencer.java b/src/main/java/binnie/genetics/craftgui/WindowSequencer.java similarity index 72% rename from src/main/java/binnie/craftgui/genetics/machine/WindowSequencer.java rename to src/main/java/binnie/genetics/craftgui/WindowSequencer.java index 3cafc6a3..1bf0b55e 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowSequencer.java +++ b/src/main/java/binnie/genetics/craftgui/WindowSequencer.java @@ -2,32 +2,32 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; -import binnie.craftgui.resource.minecraft.StandardTexture; +import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.extrabees.core.ExtraBeeTexture; import binnie.genetics.Genetics; import binnie.core.AbstractMod; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlEnergyBar; -import binnie.craftgui.minecraft.control.ControlSlotCharge; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.geometry.CraftGUIUtil; -import binnie.craftgui.minecraft.control.ControlSlot; -import binnie.craftgui.minecraft.control.ControlIconDisplay; -import binnie.craftgui.minecraft.GUIIcon; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.minecraft.control.ControlSlotCharge; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.CraftGUIUtil; +import binnie.core.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.control.ControlIconDisplay; +import binnie.core.craftgui.minecraft.GUIIcon; import binnie.genetics.machine.Sequencer; -import binnie.craftgui.minecraft.control.ControlSlotArray; -import binnie.craftgui.core.geometry.TextJustification; +import binnie.core.craftgui.minecraft.control.ControlSlotArray; +import binnie.core.craftgui.geometry.TextJustification; import net.minecraft.nbt.NBTTagCompound; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.resource.Texture; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.resource.Texture; public class WindowSequencer extends WindowMachine { @@ -66,7 +66,7 @@ public class WindowSequencer extends WindowMachine final ControlSlot slotDye = new ControlSlot(this, x, y); slotDye.assign(0); x += 20; - new ControlSlotCharge(this, x, y, 0).setColour(16750848); + new ControlSlotCharge(this, x, y, 0).setColor(16750848); x += 32; new ControlEnergyBar(this, x, y, 60, 16, Position.Left); x += 92; diff --git a/src/main/java/binnie/craftgui/genetics/machine/WindowSplicer.java b/src/main/java/binnie/genetics/craftgui/WindowSplicer.java similarity index 75% rename from src/main/java/binnie/craftgui/genetics/machine/WindowSplicer.java rename to src/main/java/binnie/genetics/craftgui/WindowSplicer.java index 8eada42d..db7373e6 100644 --- a/src/main/java/binnie/craftgui/genetics/machine/WindowSplicer.java +++ b/src/main/java/binnie/genetics/craftgui/WindowSplicer.java @@ -2,29 +2,29 @@ // Decompiled by Procyon v0.5.30 // -package binnie.craftgui.genetics.machine; +package binnie.genetics.craftgui; -import binnie.craftgui.resource.minecraft.StandardTexture; +import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.genetics.core.GeneticsTexture; import binnie.genetics.Genetics; import binnie.core.AbstractMod; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; import binnie.genetics.machine.Inoculator; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.minecraft.control.ControlErrorState; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.minecraft.control.ControlEnergyBar; -import binnie.craftgui.core.geometry.CraftGUIUtil; -import binnie.craftgui.minecraft.control.ControlSlot; -import binnie.craftgui.minecraft.control.ControlIconDisplay; -import binnie.craftgui.minecraft.GUIIcon; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.minecraft.control.ControlErrorState; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.minecraft.control.ControlEnergyBar; +import binnie.core.craftgui.geometry.CraftGUIUtil; +import binnie.core.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.minecraft.control.ControlIconDisplay; +import binnie.core.craftgui.minecraft.GUIIcon; import binnie.genetics.machine.Splicer; -import binnie.craftgui.minecraft.control.ControlSlotArray; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.control.ControlSlotArray; +import binnie.core.craftgui.minecraft.Window; import cpw.mods.fml.relauncher.Side; import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; -import binnie.craftgui.resource.Texture; +import binnie.core.craftgui.resource.Texture; public class WindowSplicer extends WindowMachine { diff --git a/src/main/java/binnie/genetics/gui/AnalystPageAppearance.java b/src/main/java/binnie/genetics/gui/AnalystPageAppearance.java index 4761a506..6f1b75b1 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageAppearance.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageAppearance.java @@ -6,24 +6,24 @@ package binnie.genetics.gui; import forestry.api.genetics.IAlleleSpecies; import binnie.botany.api.EnumFlowerStage; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.CraftGUI; import org.lwjgl.opengl.GL11; -import binnie.craftgui.minecraft.control.ControlIconDisplay; -import binnie.craftgui.botany.ControlColourDisplay; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.minecraft.control.ControlIconDisplay; +import binnie.botany.craftgui.ControlColourDisplay; +import binnie.core.craftgui.controls.ControlTextCentered; import binnie.botany.api.IFlower; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public class AnalystPageAppearance extends ControlAnalystPage { public AnalystPageAppearance(final IWidget parent, final IArea area, final IFlower ind) { super(parent, area); - this.setColour(3355443); + this.setColor(3355443); int y = 4; final IAlleleSpecies species = ind.getGenome().getPrimary(); - new ControlTextCentered(this, y, "§nAppearance").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nAppearance").setColor(this.getColor()); y += 12; final ControlColourDisplay a = new ControlColourDisplay(this, this.w() / 2.0f - 28.0f, y); a.setValue(ind.getGenome().getPrimaryColor()); diff --git a/src/main/java/binnie/genetics/gui/AnalystPageBehaviour.java b/src/main/java/binnie/genetics/gui/AnalystPageBehaviour.java index 8fc54f70..444f6203 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageBehaviour.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageBehaviour.java @@ -6,63 +6,62 @@ package binnie.genetics.gui; import forestry.api.lepidopterology.IAlleleButterflyEffect; import forestry.api.apiculture.IAlleleBeeEffect; -import forestry.api.genetics.IChromosomeType; import forestry.api.lepidopterology.EnumButterflyChromosome; import binnie.Binnie; import forestry.api.lepidopterology.IButterfly; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.core.geometry.TextJustification; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.geometry.TextJustification; import binnie.core.BinnieCore; import forestry.plugins.PluginApiculture; import forestry.api.apiculture.IBee; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.ControlTextCentered; import forestry.api.genetics.IIndividual; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public class AnalystPageBehaviour extends ControlAnalystPage { public AnalystPageBehaviour(final IWidget parent, final IArea area, final IIndividual ind) { super(parent, area); - this.setColour(6684723); + this.setColor(6684723); int y = 4; - new ControlTextCentered(this, y, "§nBehaviour").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nBehaviour").setColor(this.getColor()); y += 12; if (ind instanceof IBee) { final IBee bee = (IBee) ind; y += 8; final int fertility = bee.getGenome().getFlowering(); - new ControlTextCentered(this, y, "Pollinates nearby\n" + bee.getGenome().getFlowerProvider().getDescription()).setColour(this.getColour()); + new ControlTextCentered(this, y, "Pollinates nearby\n" + bee.getGenome().getFlowerProvider().getDescription()).setColor(this.getColor()); y += 20; - new ControlTextCentered(this, y, "§oEvery " + this.getTimeString(PluginApiculture.ticksPerBeeWorkCycle * 100.0f / fertility)).setColour(this.getColour()); + new ControlTextCentered(this, y, "§oEvery " + this.getTimeString(PluginApiculture.ticksPerBeeWorkCycle * 100.0f / fertility)).setColor(this.getColor()); y += 22; final IAlleleBeeEffect effect = bee.getGenome().getEffect(); final int[] t = bee.getGenome().getTerritory(); if (!effect.getUID().contains("None")) { final String effectDesc = BinnieCore.proxy.localiseOrBlank("allele." + effect.getUID() + ".desc"); final String loc = effectDesc.equals("") ? ("Effect: " + effect.getName()) : effectDesc; - new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 0.0f), loc, TextJustification.TopCenter).setColour(this.getColour()); + new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 0.0f), loc, TextJustification.TopCenter).setColor(this.getColor()); y += (int) (CraftGUI.Render.textHeight(loc, this.w() - 8.0f) + 1.0f); - new ControlTextCentered(this, y, "§oWithin " + (int) (t[0] / 2.0f) + " blocks").setColour(this.getColour()); + new ControlTextCentered(this, y, "§oWithin " + (int) (t[0] / 2.0f) + " blocks").setColor(this.getColor()); y += 22; } - new ControlTextCentered(this, y, "Territory: §o" + t[0] + "x" + t[1] + "x" + t[2]).setColour(this.getColour()); + new ControlTextCentered(this, y, "Territory: §o" + t[0] + "x" + t[1] + "x" + t[2]).setColor(this.getColor()); y += 22; } if (ind instanceof IButterfly) { final IButterfly bee2 = (IButterfly) ind; - new ControlTextCentered(this, y, "§oMetabolism: " + Binnie.Genetics.mothBreedingSystem.getAlleleName(EnumButterflyChromosome.METABOLISM, ind.getGenome().getActiveAllele(EnumButterflyChromosome.METABOLISM))).setColour(this.getColour()); + new ControlTextCentered(this, y, "§oMetabolism: " + Binnie.Genetics.mothBreedingSystem.getAlleleName(EnumButterflyChromosome.METABOLISM, ind.getGenome().getActiveAllele(EnumButterflyChromosome.METABOLISM))).setColor(this.getColor()); y += 20; - new ControlTextCentered(this, y, "Pollinates nearby\n" + bee2.getGenome().getFlowerProvider().getDescription()).setColour(this.getColour()); + new ControlTextCentered(this, y, "Pollinates nearby\n" + bee2.getGenome().getFlowerProvider().getDescription()).setColor(this.getColor()); y += 20; - new ControlTextCentered(this, y, "§oEvery " + this.getTimeString(1500.0f)).setColour(this.getColour()); + new ControlTextCentered(this, y, "§oEvery " + this.getTimeString(1500.0f)).setColor(this.getColor()); y += 22; final IAlleleButterflyEffect effect2 = bee2.getGenome().getEffect(); if (!effect2.getUID().contains("None")) { final String effectDesc2 = BinnieCore.proxy.localiseOrBlank("allele." + effect2.getUID() + ".desc"); final String loc2 = effectDesc2.equals("") ? ("Effect: " + effect2.getName()) : effectDesc2; - new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 0.0f), loc2, TextJustification.TopCenter).setColour(this.getColour()); + new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 0.0f), loc2, TextJustification.TopCenter).setColor(this.getColor()); y += (int) (CraftGUI.Render.textHeight(loc2, this.w() - 8.0f) + 1.0f); y += 22; } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageBiology.java b/src/main/java/binnie/genetics/gui/AnalystPageBiology.java index 641567ae..68a84922 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageBiology.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageBiology.java @@ -5,30 +5,29 @@ package binnie.genetics.gui; import java.text.DecimalFormat; -import binnie.craftgui.core.geometry.IPoint; +import binnie.core.craftgui.geometry.IPoint; import binnie.botany.api.IFlower; import net.minecraftforge.common.EnumPlantType; import forestry.plugins.PluginApiculture; -import forestry.api.genetics.IChromosomeType; import forestry.api.arboriculture.EnumTreeChromosome; import binnie.Binnie; import forestry.api.arboriculture.ITree; import forestry.api.lepidopterology.IButterfly; -import binnie.craftgui.minecraft.control.ControlIconDisplay; +import binnie.core.craftgui.minecraft.control.ControlIconDisplay; import binnie.genetics.item.ModuleItem; import forestry.api.apiculture.IBee; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.ControlTextCentered; import forestry.api.genetics.IIndividual; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public class AnalystPageBiology extends ControlAnalystPage { public AnalystPageBiology(final IWidget parent, final IArea area, final IIndividual ind) { super(parent, area); - this.setColour(26214); + this.setColor(26214); int y = 4; - new ControlTextCentered(this, y, "§nBiology").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nBiology").setColor(this.getColor()); y += 12; if (ind instanceof IBee) { final IBee bee = (IBee) ind; @@ -81,7 +80,7 @@ public class AnalystPageBiology extends ControlAnalystPage y += 30; } else if (ind instanceof ITree) { - new ControlTextCentered(this, y, "§oSappiness: " + Binnie.Genetics.treeBreedingSystem.getAlleleName(EnumTreeChromosome.SAPPINESS, ind.getGenome().getActiveAllele(EnumTreeChromosome.SAPPINESS))).setColour(this.getColour()); + new ControlTextCentered(this, y, "§oSappiness: " + Binnie.Genetics.treeBreedingSystem.getAlleleName(EnumTreeChromosome.SAPPINESS, ind.getGenome().getActiveAllele(EnumTreeChromosome.SAPPINESS))).setColor(this.getColor()); y += 20; } else { @@ -90,49 +89,49 @@ public class AnalystPageBiology extends ControlAnalystPage if (ind instanceof IBee) { final IBee bee = (IBee) ind; final int fertility = bee.getGenome().getFertility(); - new ControlTextCentered(this, y, "§l" + fertility + "§r drone" + ((fertility > 1) ? "s" : "") + " per hive").setColour(this.getColour()); + new ControlTextCentered(this, y, "§l" + fertility + "§r drone" + ((fertility > 1) ? "s" : "") + " per hive").setColor(this.getColor()); y += 22; final int lifespan = bee.getGenome().getLifespan() * PluginApiculture.ticksPerBeeWorkCycle; - new ControlTextCentered(this, y, "Average Lifespan").setColour(this.getColour()); + new ControlTextCentered(this, y, "Average Lifespan").setColor(this.getColor()); y += 12; - new ControlTextCentered(this, y, "§l" + this.getMCDayString(lifespan * (bee.getGenome().getNocturnal() ? 1.0f : 2.0f))).setColour(this.getColour()); + new ControlTextCentered(this, y, "§l" + this.getMCDayString(lifespan * (bee.getGenome().getNocturnal() ? 1.0f : 2.0f))).setColor(this.getColor()); y += 22; } if (ind instanceof IButterfly) { final IButterfly bee2 = (IButterfly) ind; final int fertility = bee2.getGenome().getFertility(); - new ControlTextCentered(this, y, "Lays §l" + fertility + "§r caterpillar" + ((fertility > 1) ? "s" : "") + " before dying").setColour(this.getColour()); + new ControlTextCentered(this, y, "Lays §l" + fertility + "§r caterpillar" + ((fertility > 1) ? "s" : "") + " before dying").setColor(this.getColor()); y += 32; final float caterpillarMatureTime = 1365.3999f * Math.round(bee2.getGenome().getLifespan() / (bee2.getGenome().getFertility() * 2)); - new ControlTextCentered(this, y, "Caterpillar Gestation").setColour(this.getColour()); + new ControlTextCentered(this, y, "Caterpillar Gestation").setColor(this.getColor()); y += 12; - new ControlTextCentered(this, y, "§l" + this.getMCDayString(caterpillarMatureTime)).setColour(this.getColour()); + new ControlTextCentered(this, y, "§l" + this.getMCDayString(caterpillarMatureTime)).setColor(this.getColor()); y += 22; final int speed = (int) (20.0f * bee2.getGenome().getSpeed()); - new ControlTextCentered(this, y, "Flight Speed").setColour(this.getColour()); + new ControlTextCentered(this, y, "Flight Speed").setColor(this.getColor()); y += 12; - new ControlTextCentered(this, y, "§l" + speed + "§r blocks per second").setColour(this.getColour()); + new ControlTextCentered(this, y, "§l" + speed + "§r blocks per second").setColor(this.getColor()); y += 22; } if (ind instanceof ITree) { final ITree tree = (ITree) ind; final int fertility = (int) (1.0f / tree.getGenome().getFertility()); - new ControlTextCentered(this, y, "1 Sapling per §l" + fertility + "§r leave" + ((fertility > 1) ? "s" : "")).setColour(this.getColour()); + new ControlTextCentered(this, y, "1 Sapling per §l" + fertility + "§r leave" + ((fertility > 1) ? "s" : "")).setColor(this.getColor()); y += 22; final float butterflySpawn = 1365.3999f / (tree.getGenome().getSappiness() * tree.getGenome().getYield() * 0.5f); - new ControlTextCentered(this, y, "Butterfies spawn every\n" + this.getTimeString(butterflySpawn) + " per leaf").setColour(this.getColour()); + new ControlTextCentered(this, y, "Butterfies spawn every\n" + this.getTimeString(butterflySpawn) + " per leaf").setColor(this.getColor()); y += 34; - new ControlTextCentered(this, y, "Plant Types").setColour(this.getColour()); + new ControlTextCentered(this, y, "Plant Types").setColor(this.getColor()); y += 12; for (final EnumPlantType type : tree.getGenome().getPlantTypes()) { - new ControlTextCentered(this, y, "§o" + type.name()).setColour(this.getColour()); + new ControlTextCentered(this, y, "§o" + type.name()).setColor(this.getColor()); y += 12; } } if (ind instanceof IFlower) { final IFlower flower = (IFlower) ind; final float butterflySpawn2 = 1365.3999f / (flower.getGenome().getSappiness() * 0.2f); - new ControlTextCentered(this, y, "Butterfies spawn every\n" + this.getTimeString(butterflySpawn2)).setColour(this.getColour()); + new ControlTextCentered(this, y, "Butterfies spawn every\n" + this.getTimeString(butterflySpawn2)).setColor(this.getColor()); y += 30; float CHANCE_DISPERSAL = 0.8f; CHANCE_DISPERSAL += 0.2f * flower.getGenome().getFertility(); @@ -150,17 +149,17 @@ public class AnalystPageBiology extends ControlAnalystPage final float lifespan2 = flower.getMaxAge() * 20.0f * 68.27f / flower.getGenome().getAgeChance(); float floweringLifespan = (flower.getMaxAge() - 1) * 20.0f * 68.27f / flower.getGenome().getAgeChance(); floweringLifespan -= 1365.3999f; - new ControlTextCentered(this, y, "Average Lifespan").setColour(this.getColour()); + new ControlTextCentered(this, y, "Average Lifespan").setColor(this.getColor()); y += 12; - new ControlTextCentered(this, y, "§l" + this.getMCDayString(lifespan2)).setColour(this.getColour()); + new ControlTextCentered(this, y, "§l" + this.getMCDayString(lifespan2)).setColor(this.getColor()); y += 22; - new ControlTextCentered(this, y, "Seed Dispersal").setColour(this.getColour()); + new ControlTextCentered(this, y, "Seed Dispersal").setColor(this.getColor()); y += 12; - new ControlTextCentered(this, y, "§o" + (int) (floweringLifespan / dispersalTime) + " per lifetime").setColour(this.getColour()); + new ControlTextCentered(this, y, "§o" + (int) (floweringLifespan / dispersalTime) + " per lifetime").setColor(this.getColor()); y += 22; - new ControlTextCentered(this, y, "Pollination").setColour(this.getColour()); + new ControlTextCentered(this, y, "Pollination").setColor(this.getColor()); y += 12; - new ControlTextCentered(this, y, "§o" + (int) (floweringLifespan / pollinateTime) + " per lifetime").setColour(this.getColour()); + new ControlTextCentered(this, y, "§o" + (int) (floweringLifespan / pollinateTime) + " per lifetime").setColor(this.getColor()); y += 22; } this.setSize(new IPoint(this.w(), y)); diff --git a/src/main/java/binnie/genetics/gui/AnalystPageClimate.java b/src/main/java/binnie/genetics/gui/AnalystPageClimate.java index e9cc4682..012c4635 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageClimate.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageClimate.java @@ -5,34 +5,33 @@ package binnie.genetics.gui; import java.util.List; -import binnie.craftgui.core.geometry.IPoint; +import binnie.core.craftgui.geometry.IPoint; import forestry.api.core.EnumHumidity; import binnie.core.genetics.Tolerance; import forestry.api.core.EnumTemperature; import net.minecraftforge.common.BiomeDictionary; import net.minecraft.world.biome.BiomeGenBase; import java.util.ArrayList; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.controls.ControlTextCentered; import forestry.api.lepidopterology.EnumButterflyChromosome; import forestry.api.lepidopterology.IButterfly; import binnie.botany.api.EnumFlowerChromosome; import binnie.botany.api.IFlower; -import forestry.api.genetics.IChromosomeType; import forestry.api.apiculture.EnumBeeChromosome; import forestry.api.genetics.IAlleleTolerance; import forestry.api.apiculture.IBee; import forestry.api.genetics.EnumTolerance; import forestry.api.genetics.IIndividual; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public class AnalystPageClimate extends ControlAnalystPage { public AnalystPageClimate(final IWidget parent, final IArea area, final IIndividual ind) { super(parent, area); - this.setColour(26163); + this.setColor(26163); final EnumTemperature temp = ind.getGenome().getPrimary().getTemperature(); EnumTolerance tempTol = EnumTolerance.NONE; final EnumHumidity humid = ind.getGenome().getPrimary().getHumidity(); @@ -50,19 +49,19 @@ public class AnalystPageClimate extends ControlAnalystPage humidTol = ((IAlleleTolerance) ind.getGenome().getActiveAllele(EnumButterflyChromosome.HUMIDITY_TOLERANCE)).getValue(); } int y = 4; - new ControlTextCentered(this, y, "§nClimate").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nClimate").setColor(this.getColor()); y += 16; - new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "Temp. Tolerance", TextJustification.MiddleCenter).setColour(this.getColour()); + new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "Temp. Tolerance", TextJustification.MiddleCenter).setColor(this.getColor()); y += 12; this.createTemperatureBar(this, (this.w() - 100.0f) / 2.0f, y, 100.0f, 10.0f, temp, tempTol); y += 16; if (!(ind instanceof IFlower)) { - new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "Humidity Tolerance", TextJustification.MiddleCenter).setColour(this.getColour()); + new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "Humidity Tolerance", TextJustification.MiddleCenter).setColor(this.getColor()); y += 12; this.createHumidity(this, (this.w() - 100.0f) / 2.0f, y, 100.0f, 10.0f, humid, humidTol); y += 16; } - new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "Biomes", TextJustification.MiddleCenter).setColour(this.getColour()); + new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "Biomes", TextJustification.MiddleCenter).setColor(this.getColor()); y += 12; final List biomes = new ArrayList(); for (final BiomeGenBase biome : BiomeGenBase.getBiomeGenArray()) { diff --git a/src/main/java/binnie/genetics/gui/AnalystPageDatabase.java b/src/main/java/binnie/genetics/gui/AnalystPageDatabase.java index 44b146dd..7cff1b95 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageDatabase.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageDatabase.java @@ -4,28 +4,27 @@ package binnie.genetics.gui; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.events.EventMouse; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.events.EventMouse; import forestry.api.genetics.IIndividual; -import binnie.craftgui.controls.scroll.ControlScrollBar; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.controls.core.Control; -import binnie.craftgui.controls.listbox.ControlListBox; -import forestry.api.genetics.IChromosomeType; +import binnie.core.craftgui.controls.scroll.ControlScrollBar; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.listbox.ControlListBox; import forestry.api.arboriculture.EnumTreeChromosome; -import binnie.craftgui.window.Panel; -import binnie.craftgui.minecraft.MinecraftGUI; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; +import binnie.core.craftgui.window.Panel; +import binnie.core.craftgui.minecraft.MinecraftGUI; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.craftgui.CraftGUI; import java.util.Collection; import forestry.api.genetics.IAlleleSpecies; import java.util.ArrayList; -import binnie.craftgui.controls.ControlTextEdit; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.ControlTextEdit; +import binnie.core.craftgui.controls.ControlTextCentered; import binnie.core.genetics.BreedingSystem; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.scroll.ControlScrollableContent; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.scroll.ControlScrollableContent; public class AnalystPageDatabase extends ControlAnalystPage { @@ -46,9 +45,9 @@ public class AnalystPageDatabase extends ControlAnalystPage brightness = 1.0f; } final int newColour = (int) (cr * brightness) * 65536 + (int) (cg * brightness) * 256 + (int) (cb * brightness); - this.setColour(newColour); + this.setColor(newColour); int y = 4; - new ControlTextCentered(this, y, "§nRegistry").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nRegistry").setColor(this.getColor()); y += 16; new ControlTextEdit(this, 20.0f, y, this.w() - 40.0f, 16.0f) { @Override @@ -73,13 +72,13 @@ public class AnalystPageDatabase extends ControlAnalystPage public void onRenderBackground() { CraftGUI.Render.colour(5592405); CraftGUI.Render.texture(CraftGUITexture.TabSolid, this.getArea().inset(1)); - CraftGUI.Render.colour(AnalystPageDatabase.this.getColour()); + CraftGUI.Render.colour(AnalystPageDatabase.this.getColor()); CraftGUI.Render.texture(CraftGUITexture.TabOutline, this.getArea()); super.renderTextField(); } }; y += 22; - new Panel(this, 3.0f, y - 1, this.w() - 6.0f, this.h() - y - 8.0f + 2.0f, MinecraftGUI.PanelType.TabOutline).setColour(this.getColour()); + new Panel(this, 3.0f, y - 1, this.w() - 6.0f, this.h() - y - 8.0f + 2.0f, MinecraftGUI.PanelType.TabOutline).setColor(this.getColor()); final boolean textView = false; final Collection options = this.getSpecies(system); for (final IAlleleSpecies species : options) { @@ -119,8 +118,8 @@ public class AnalystPageDatabase extends ControlAnalystPage if (!this.isEnabled()) { return; } - CraftGUI.Render.gradientRect(this.getArea(), 1140850688 + AnalystPageDatabase.this.getColour(), 1140850688 + AnalystPageDatabase.this.getColour()); - CraftGUI.Render.solid(this.getRenderArea(), AnalystPageDatabase.this.getColour()); + CraftGUI.Render.gradientRect(this.getArea(), 1140850688 + AnalystPageDatabase.this.getColor(), 1140850688 + AnalystPageDatabase.this.getColor()); + CraftGUI.Render.solid(this.getRenderArea(), AnalystPageDatabase.this.getColor()); } }; } @@ -153,7 +152,7 @@ public class AnalystPageDatabase extends ControlAnalystPage if (window.getIndividual() != null && window.getIndividual().getGenome().getPrimary() == species) { CraftGUI.Render.colour(15658734); CraftGUI.Render.texture(CraftGUITexture.TabSolid, this.getArea().outset(1)); - CraftGUI.Render.colour(AnalystPageDatabase.this.getColour()); + CraftGUI.Render.colour(AnalystPageDatabase.this.getColor()); CraftGUI.Render.texture(CraftGUITexture.TabOutline, this.getArea().outset(1)); } else if (this.calculateIsMouseOver()) { diff --git a/src/main/java/binnie/genetics/gui/AnalystPageDescription.java b/src/main/java/binnie/genetics/gui/AnalystPageDescription.java index fd74ee30..5619224d 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageDescription.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageDescription.java @@ -5,20 +5,20 @@ package binnie.genetics.gui; import forestry.api.genetics.IAlleleSpecies; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.controls.ControlTextCentered; import forestry.api.genetics.IIndividual; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public class AnalystPageDescription extends ControlAnalystPage { public AnalystPageDescription(final IWidget parent, final IArea area, final IIndividual ind) { super(parent, area); - this.setColour(3355443); + this.setColor(3355443); int y = 4; final IAlleleSpecies species = ind.getGenome().getPrimary(); final String branchBinomial = (species.getBranch() != null) ? species.getBranch().getScientific() : ""; @@ -49,20 +49,20 @@ public class AnalystPageDescription extends ControlAnalystPage if (authority.contains("MysteriousAges")) { authority = "§5§l" + authority; } - new ControlTextCentered(this, y, "§nDescription").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nDescription").setColor(this.getColor()); y += 16; - new ControlTextCentered(this, y, species.getName() + "§r").setColour(this.getColour()); + new ControlTextCentered(this, y, species.getName() + "§r").setColor(this.getColor()); y += 10; - new ControlTextCentered(this, y, "§o" + branchBinomial + " " + species.getBinomial() + "§r").setColour(this.getColour()); + new ControlTextCentered(this, y, "§o" + branchBinomial + " " + species.getBinomial() + "§r").setColor(this.getColor()); y += 20; - new ControlTextCentered(this, y, "Discovered by §l" + authority + "§r").setColour(this.getColour()); + new ControlTextCentered(this, y, "Discovered by §l" + authority + "§r").setColor(this.getColor()); y += (int) (3.0f + CraftGUI.Render.textHeight("Discovered by §l" + authority + "§r", this.w())); - new ControlTextCentered(this, y, "Genetic Complexity: " + species.getComplexity()).setColour(this.getColour()); + new ControlTextCentered(this, y, "Genetic Complexity: " + species.getComplexity()).setColor(this.getColor()); y += 26; final ControlText descText = new ControlText(this, new IArea(8.0f, y, this.w() - 16.0f, 0.0f), descBody + "§r", TextJustification.TopCenter); final IWidget signatureText = new ControlText(this, new IArea(8.0f, y, this.w() - 16.0f, 0.0f), descSig + "§r", TextJustification.BottomRight); - descText.setColour(this.getColour()); - signatureText.setColour(this.getColour()); + descText.setColor(this.getColor()); + signatureText.setColor(this.getColor()); final float descHeight = CraftGUI.Render.textHeight(descText.getValue(), descText.getSize().x()); signatureText.setPosition(new IPoint(signatureText.pos().x(), descText.getPosition().y() + descHeight + 10.0f)); this.setSize(new IPoint(this.w(), 20.0f + signatureText.y())); diff --git a/src/main/java/binnie/genetics/gui/AnalystPageFruit.java b/src/main/java/binnie/genetics/gui/AnalystPageFruit.java index c10b9f83..48903a0a 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageFruit.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageFruit.java @@ -6,35 +6,33 @@ package binnie.genetics.gui; import java.lang.reflect.Field; import forestry.api.arboriculture.ITreeGenome; -import binnie.craftgui.core.geometry.IPoint; +import binnie.core.craftgui.geometry.IPoint; import net.minecraft.init.Items; import forestry.api.arboriculture.IAlleleFruit; import forestry.api.genetics.IFruitFamily; -import forestry.api.genetics.ISpeciesRoot; import forestry.api.genetics.IAllele; import java.util.Collection; -import binnie.craftgui.minecraft.control.ControlItemDisplay; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; import net.minecraft.item.ItemStack; import forestry.arboriculture.FruitProviderPod; import binnie.core.util.UniqueItemStackSet; -import forestry.api.genetics.IChromosomeType; import forestry.api.arboriculture.EnumTreeChromosome; import binnie.Binnie; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.ControlTextCentered; import forestry.api.arboriculture.ITree; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public class AnalystPageFruit extends AnalystPageProduce { public AnalystPageFruit(final IWidget parent, final IArea area, final ITree ind) { super(parent, area); - this.setColour(13382400); + this.setColor(13382400); final ITreeGenome genome = ind.getGenome(); int y = 4; - new ControlTextCentered(this, y, "§nFruit").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nFruit").setColor(this.getColor()); y += 12; - new ControlTextCentered(this, y, "§oYield: " + Binnie.Genetics.treeBreedingSystem.getAlleleName(EnumTreeChromosome.YIELD, ind.getGenome().getActiveAllele(EnumTreeChromosome.YIELD))).setColour(this.getColour()); + new ControlTextCentered(this, y, "§oYield: " + Binnie.Genetics.treeBreedingSystem.getAlleleName(EnumTreeChromosome.YIELD, ind.getGenome().getActiveAllele(EnumTreeChromosome.YIELD))).setColor(this.getColor()); y += 20; final Collection products = new UniqueItemStackSet(); final Collection specialties = new UniqueItemStackSet(); @@ -58,7 +56,7 @@ public class AnalystPageFruit extends AnalystPageProduce e.printStackTrace(); } if (products.size() > 0) { - new ControlTextCentered(this, y, "Natural Fruit").setColour(this.getColour()); + new ControlTextCentered(this, y, "Natural Fruit").setColor(this.getColor()); y += 10; final int w = products.size() * 18 - 2; final int i = 0; @@ -70,7 +68,7 @@ public class AnalystPageFruit extends AnalystPageProduce y += 26; } if (specialties.size() > 0) { - new ControlTextCentered(this, y, "Specialty Fruit").setColour(this.getColour()); + new ControlTextCentered(this, y, "Specialty Fruit").setColor(this.getColor()); y += 10; final int w = products.size() * 18 - 2; final int i = 0; @@ -95,10 +93,10 @@ public class AnalystPageFruit extends AnalystPageProduce y += 8; } if (products.size() == 0 && specialties.size() == 0) { - new ControlTextCentered(this, y, "This tree has no \nfruits or nuts").setColour(this.getColour()); + new ControlTextCentered(this, y, "This tree has no \nfruits or nuts").setColor(this.getColor()); y += 28; } - new ControlTextCentered(this, y, "Possible Fruits").setColour(this.getColour()); + new ControlTextCentered(this, y, "Possible Fruits").setColor(this.getColor()); y += 12; final Collection fruitAlleles = Binnie.Genetics.getChromosomeMap(Binnie.Genetics.getTreeRoot()).get(EnumTreeChromosome.FRUITS); for (final IFruitFamily fam : ind.getGenome().getPrimary().getSuitableFruit()) { diff --git a/src/main/java/binnie/genetics/gui/AnalystPageGenome.java b/src/main/java/binnie/genetics/gui/AnalystPageGenome.java index bf8fa0f8..66ece45e 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageGenome.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageGenome.java @@ -7,19 +7,19 @@ package binnie.genetics.gui; import forestry.api.genetics.IAllele; import binnie.core.genetics.BreedingSystem; import forestry.api.genetics.ISpeciesRoot; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.CraftGUI; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.CraftGUI; import forestry.api.genetics.IChromosomeType; import org.lwjgl.opengl.GL11; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.Control; import binnie.Binnie; import forestry.api.genetics.AlleleManager; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.ControlTextCentered; import forestry.api.genetics.IIndividual; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public class AnalystPageGenome extends ControlAnalystPage { @@ -28,9 +28,9 @@ public class AnalystPageGenome extends ControlAnalystPage public AnalystPageGenome(final IWidget parent, final IArea area, final boolean active, final IIndividual ind) { super(parent, area); this.active = active; - this.setColour(26265); + this.setColor(26265); int y = 4; - new ControlTextCentered(this, y, "§n" + this.getTitle()).setColour(this.getColour()); + new ControlTextCentered(this, y, "§n" + this.getTitle()).setColor(this.getColor()); y += 16; final ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(ind.getClass()); final BreedingSystem system = Binnie.Genetics.getSystem(root); @@ -51,8 +51,8 @@ public class AnalystPageGenome extends ControlAnalystPage final IAllele allele = active ? ind.getGenome().getActiveAllele(chromo) : ind.getGenome().getInactiveAllele(chromo); final String alleleName = system.getAlleleName(chromo, allele); final float height = CraftGUI.Render.textHeight(alleleName, this.w() / 2.0f - 2.0f); - new ControlText(scaled, new IArea(0.0f, y + (height - 9.0f) / 2.0f, this.w() / 2.0f - 2.0f, 0.0f), system.getChromosomeShortName(chromo) + " :", TextJustification.TopRight).setColour(this.getColour()); - new ControlText(scaled, new IArea(this.w() / 2.0f + 2.0f, y, this.w() / 2.0f - 2.0f, 0.0f), alleleName, TextJustification.TopLeft).setColour(this.getColour()); + new ControlText(scaled, new IArea(0.0f, y + (height - 9.0f) / 2.0f, this.w() / 2.0f - 2.0f, 0.0f), system.getChromosomeShortName(chromo) + " :", TextJustification.TopRight).setColor(this.getColor()); + new ControlText(scaled, new IArea(this.w() / 2.0f + 2.0f, y, this.w() / 2.0f - 2.0f, 0.0f), alleleName, TextJustification.TopLeft).setColor(this.getColor()); y += (int) (3.0f + height); } this.setSize(new IPoint(this.w(), y + 8)); diff --git a/src/main/java/binnie/genetics/gui/AnalystPageGrowth.java b/src/main/java/binnie/genetics/gui/AnalystPageGrowth.java index bf7233f3..7f4a873d 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageGrowth.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageGrowth.java @@ -5,41 +5,40 @@ package binnie.genetics.gui; import forestry.api.genetics.IAlleleSpecies; -import forestry.api.genetics.IChromosomeType; import forestry.api.arboriculture.EnumTreeChromosome; import binnie.Binnie; import forestry.api.arboriculture.ITree; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.ControlTextCentered; import forestry.api.genetics.IIndividual; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public class AnalystPageGrowth extends ControlAnalystPage { public AnalystPageGrowth(final IWidget parent, final IArea area, final IIndividual ind) { super(parent, area); - this.setColour(3355443); + this.setColor(3355443); int y = 4; final IAlleleSpecies species = ind.getGenome().getPrimary(); - new ControlTextCentered(this, y, "§nGrowth").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nGrowth").setColor(this.getColor()); y += 12; if (ind instanceof ITree) { final ITree tree = (ITree) ind; final int mat = tree.getGenome().getMaturationTime(); - new ControlTextCentered(this, y, "Saplings mature in").setColour(this.getColour()); + new ControlTextCentered(this, y, "Saplings mature in").setColor(this.getColor()); y += 12; - new ControlTextCentered(this, y, "§l" + this.getTimeString(1373.3999f * mat)).setColour(this.getColour()); + new ControlTextCentered(this, y, "§l" + this.getTimeString(1373.3999f * mat)).setColor(this.getColor()); y += 22; - new ControlTextCentered(this, y, "§oHeight: " + Binnie.Genetics.treeBreedingSystem.getAlleleName(EnumTreeChromosome.HEIGHT, ind.getGenome().getActiveAllele(EnumTreeChromosome.HEIGHT))).setColour(this.getColour()); + new ControlTextCentered(this, y, "§oHeight: " + Binnie.Genetics.treeBreedingSystem.getAlleleName(EnumTreeChromosome.HEIGHT, ind.getGenome().getActiveAllele(EnumTreeChromosome.HEIGHT))).setColor(this.getColor()); y += 12; - new ControlTextCentered(this, y, "§oGirth: " + Binnie.Genetics.treeBreedingSystem.getAlleleName(EnumTreeChromosome.GIRTH, ind.getGenome().getActiveAllele(EnumTreeChromosome.GIRTH))).setColour(this.getColour()); + new ControlTextCentered(this, y, "§oGirth: " + Binnie.Genetics.treeBreedingSystem.getAlleleName(EnumTreeChromosome.GIRTH, ind.getGenome().getActiveAllele(EnumTreeChromosome.GIRTH))).setColor(this.getColor()); y += 20; - new ControlTextCentered(this, y, "Growth Conditions").setColour(this.getColour()); + new ControlTextCentered(this, y, "Growth Conditions").setColor(this.getColor()); y += 12; - new ControlTextCentered(this, y, "§o" + tree.getGenome().getGrowthProvider().getDescription()).setColour(this.getColour()); + new ControlTextCentered(this, y, "§o" + tree.getGenome().getGrowthProvider().getDescription()).setColor(this.getColor()); y += 12; for (final String s : tree.getGenome().getGrowthProvider().getInfo()) { - new ControlTextCentered(this, y, "§o" + s).setColour(this.getColour()); + new ControlTextCentered(this, y, "§o" + s).setColor(this.getColor()); y += 12; } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageKaryogram.java b/src/main/java/binnie/genetics/gui/AnalystPageKaryogram.java index 8474367f..d2d5308c 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageKaryogram.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageKaryogram.java @@ -9,18 +9,18 @@ import forestry.api.genetics.ISpeciesRoot; import forestry.api.genetics.IChromosomeType; import binnie.Binnie; import forestry.api.genetics.AlleleManager; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.ControlTextCentered; import forestry.api.genetics.IIndividual; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public class AnalystPageKaryogram extends ControlAnalystPage { public AnalystPageKaryogram(final IWidget parent, final IArea area, final IIndividual ind) { super(parent, area); - this.setColour(10040319); + this.setColor(10040319); int y = 4; - new ControlTextCentered(this, y, "§nKaryogram").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nKaryogram").setColor(this.getColor()); y += 16; y += 8; final ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(ind.getClass()); diff --git a/src/main/java/binnie/genetics/gui/AnalystPageMutations.java b/src/main/java/binnie/genetics/gui/AnalystPageMutations.java index e5114fa9..17a16d3e 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageMutations.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageMutations.java @@ -4,21 +4,20 @@ package binnie.genetics.gui; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.minecraft.EnumColor; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.minecraft.EnumColor; import java.util.Collection; import java.util.List; import forestry.api.genetics.IAllele; import binnie.genetics.item.ModuleItem; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.CraftGUI; import forestry.api.genetics.IAlleleSpecies; import binnie.core.genetics.BreedingSystem; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.Control; import forestry.api.genetics.IMutation; -import binnie.craftgui.minecraft.control.ControlItemDisplay; -import net.minecraft.block.Block; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; import net.minecraft.init.Blocks; import binnie.core.Mods; import binnie.core.genetics.ForestryAllele; @@ -26,20 +25,20 @@ import net.minecraft.item.ItemStack; import binnie.extrabees.ExtraBees; import binnie.extrabees.genetics.ExtraBeesSpecies; import forestry.api.apiculture.IBee; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.minecraft.Window; import binnie.Binnie; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.ControlTextCentered; import forestry.api.genetics.IIndividual; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public class AnalystPageMutations extends ControlAnalystPage { public AnalystPageMutations(final IWidget parent, final IArea area, final IIndividual ind, final boolean isMaster) { super(parent, area); - this.setColour(3355392); + this.setColor(3355392); int y = 4; - new ControlTextCentered(this, y, "§nMutations").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nMutations").setColor(this.getColor()); y += 18; final BreedingSystem system = Binnie.Genetics.getSystem(ind.getGenome().getSpeciesRoot()); final List discovered = system.getDiscoveredMutations(Window.get(this).getWorld(), Window.get(this).getUsername()); @@ -82,19 +81,19 @@ public class AnalystPageMutations extends ControlAnalystPage hive = new ItemStack(Blocks.chest); } if (ind.getGenome().getPrimary() == ForestryAllele.BeeSpecies.Valiant.getAllele()) { - new ControlTextCentered(this, y, "Natural Habitat").setColour(this.getColour()); + new ControlTextCentered(this, y, "Natural Habitat").setColor(this.getColor()); y += 10; - new ControlTextCentered(this, y, "§oFound in any Hive").setColour(this.getColour()); + new ControlTextCentered(this, y, "§oFound in any Hive").setColor(this.getColor()); y += 22; } else if (ind.getGenome().getPrimary() == ForestryAllele.BeeSpecies.Monastic.getAllele()) { - new ControlTextCentered(this, y, "Natural Habitat").setColour(this.getColour()); + new ControlTextCentered(this, y, "Natural Habitat").setColor(this.getColor()); y += 10; - new ControlTextCentered(this, y, "§oBought from Villagers").setColour(this.getColour()); + new ControlTextCentered(this, y, "§oBought from Villagers").setColor(this.getColor()); y += 22; } else if (hive != null) { - new ControlTextCentered(this, y, "Natural Habitat").setColour(this.getColour()); + new ControlTextCentered(this, y, "Natural Habitat").setColor(this.getColor()); y += 10; final ControlItemDisplay display = new ControlItemDisplay(this, (this.w() - 16.0f) / 2.0f, y); if (ind.getGenome().getPrimary() == ForestryAllele.BeeSpecies.Steadfast.getAllele()) { @@ -113,7 +112,7 @@ public class AnalystPageMutations extends ControlAnalystPage if (resultant.size() == 1) { ox = (this.w() - 44.0f) / 2.0f; } - new ControlTextCentered(this, y, "Resultant Mutations").setColour(this.getColour()); + new ControlTextCentered(this, y, "Resultant Mutations").setColor(this.getColor()); y += 10; for (final IMutation mutation : resultant) { final float specificChance = this.getSpecificChance(ind, mutation, system); @@ -171,7 +170,7 @@ public class AnalystPageMutations extends ControlAnalystPage if (further.size() == 1) { ox = (this.w() - 44.0f) / 2.0f; } - new ControlTextCentered(this, y, "Further Mutations").setColour(this.getColour()); + new ControlTextCentered(this, y, "Further Mutations").setColor(this.getColor()); y += 10; for (final IMutation mutation : further) { final IAllele speciesComb = mutation.getPartner(speciesCurrent); @@ -265,7 +264,7 @@ public class AnalystPageMutations extends ControlAnalystPage { public ControlUnknownMutation(final IWidget parent, final float x, final float y, final float w, final float h) { super(parent, x, y, w, h); - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); this.addTooltip("Unknown Mutation"); } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageProduce.java b/src/main/java/binnie/genetics/gui/AnalystPageProduce.java index dcdb77bf..1bedf145 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageProduce.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageProduce.java @@ -4,8 +4,8 @@ package binnie.genetics.gui; -import binnie.craftgui.minecraft.control.ControlItemDisplay; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; +import binnie.core.craftgui.controls.ControlTextCentered; import net.minecraft.init.Items; import net.minecraftforge.fluids.FluidContainerRegistry; import binnie.extratrees.machines.Distillery; @@ -25,8 +25,8 @@ import net.minecraft.item.crafting.FurnaceRecipes; import binnie.core.util.UniqueItemStackSet; import java.util.Collection; import net.minecraft.item.ItemStack; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public abstract class AnalystPageProduce extends ControlAnalystPage { @@ -218,7 +218,7 @@ public abstract class AnalystPageProduce extends ControlAnalystPage } protected int getRefined(final String string, int y, final Collection products) { - new ControlTextCentered(this, y, string).setColour(this.getColour()); + new ControlTextCentered(this, y, string).setColor(this.getColor()); y += 10; final int maxBiomePerLine = (int) ((this.w() + 2.0f - 16.0f) / 18.0f); final float biomeListX = (this.w() - (Math.min(maxBiomePerLine, products.size()) * 18 - 2)) / 2.0f; diff --git a/src/main/java/binnie/genetics/gui/AnalystPageProducts.java b/src/main/java/binnie/genetics/gui/AnalystPageProducts.java index f0b794dc..2af48687 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageProducts.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageProducts.java @@ -4,17 +4,17 @@ package binnie.genetics.gui; -import binnie.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.ControlText; import forestry.plugins.PluginApiculture; -import binnie.craftgui.core.geometry.CraftGUIUtil; +import binnie.core.craftgui.geometry.CraftGUIUtil; import net.minecraft.nbt.NBTTagCompound; -import binnie.craftgui.core.Tooltip; +import binnie.core.craftgui.Tooltip; import forestry.api.apiculture.IBeeGenome; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.extratrees.kitchen.ControlFluidDisplay; +import binnie.core.craftgui.geometry.IPoint; +import binnie.extratrees.craftgui.kitchen.ControlFluidDisplay; import net.minecraft.init.Items; import net.minecraftforge.fluids.FluidContainerRegistry; -import binnie.craftgui.minecraft.control.ControlItemDisplay; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; import net.minecraftforge.fluids.FluidStack; import java.util.ArrayList; import java.util.Collection; @@ -22,27 +22,26 @@ import java.util.Map; import net.minecraft.item.ItemStack; import java.util.HashMap; import binnie.core.util.UniqueItemStackSet; -import forestry.api.genetics.IChromosomeType; import forestry.api.apiculture.EnumBeeChromosome; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.ControlTextCentered; import binnie.core.BinnieCore; import binnie.Binnie; import forestry.api.apiculture.IBee; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public class AnalystPageProducts extends AnalystPageProduce { public AnalystPageProducts(final IWidget parent, final IArea area, final IBee ind) { super(parent, area); - this.setColour(13382400); + this.setColor(13382400); final IBeeGenome genome = ind.getGenome(); final float speed = genome.getSpeed(); final float modeSpeed = Binnie.Genetics.getBeeRoot().getBeekeepingMode(BinnieCore.proxy.getWorld()).getBeeModifier().getProductionModifier(genome, 1.0f); int y = 4; - new ControlTextCentered(this, y, "§nProduce").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nProduce").setColor(this.getColor()); y += 12; - new ControlTextCentered(this, y, "§oRate: " + Binnie.Genetics.beeBreedingSystem.getAlleleName(EnumBeeChromosome.SPEED, ind.getGenome().getActiveAllele(EnumBeeChromosome.SPEED))).setColour(this.getColour()); + new ControlTextCentered(this, y, "§oRate: " + Binnie.Genetics.beeBreedingSystem.getAlleleName(EnumBeeChromosome.SPEED, ind.getGenome().getActiveAllele(EnumBeeChromosome.SPEED))).setColor(this.getColor()); y += 20; final Collection refinedProducts = new UniqueItemStackSet(); final Collection productList = new UniqueItemStackSet(); @@ -51,7 +50,7 @@ public class AnalystPageProducts extends AnalystPageProduce products.putAll(genome.getPrimary().getProductChances()); products.putAll(genome.getSecondary().getProductChances()); if (!products.isEmpty()) { - new ControlTextCentered(this, y, "Natural Products").setColour(this.getColour()); + new ControlTextCentered(this, y, "Natural Products").setColor(this.getColor()); y += 12; for (final Map.Entry entry : products.entrySet()) { if (!productList.add(entry.getKey())) { @@ -65,7 +64,7 @@ public class AnalystPageProducts extends AnalystPageProduce } products = genome.getPrimary().getSpecialtyChances(); if (!products.isEmpty()) { - new ControlTextCentered(this, y, "Specialty Products").setColour(this.getColour()); + new ControlTextCentered(this, y, "Specialty Products").setColor(this.getColor()); y += 12; for (final Map.Entry entry : products.entrySet()) { refinedProducts.addAll(this.getAllProducts(entry.getKey())); @@ -74,7 +73,7 @@ public class AnalystPageProducts extends AnalystPageProduce } y += 12; } - new ControlTextCentered(this, y, "Refined Products").setColour(this.getColour()); + new ControlTextCentered(this, y, "Refined Products").setColor(this.getColor()); y += 12; Collection level2Products = new UniqueItemStackSet(); for (final ItemStack stack : refinedProducts) { @@ -176,7 +175,7 @@ public class AnalystPageProducts extends AnalystPageProduce }; item.setTooltip(); final ControlText textWidget = new ControlTextCentered(this, y + 4, ""); - textWidget.setColour(this.getColour()); + textWidget.setColor(this.getColor()); CraftGUIUtil.moveWidget(textWidget, new IPoint(12.0f, 0.0f)); item.setItemStack(key); final float time = (int) (PluginApiculture.ticksPerBeeWorkCycle * 100.0 / (speed * value)); diff --git a/src/main/java/binnie/genetics/gui/AnalystPageSoil.java b/src/main/java/binnie/genetics/gui/AnalystPageSoil.java index 2af658ad..0d22567f 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageSoil.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageSoil.java @@ -9,42 +9,41 @@ import java.util.List; import forestry.api.genetics.EnumTolerance; import java.util.EnumSet; import java.util.ArrayList; -import binnie.craftgui.minecraft.control.ControlItemDisplay; -import net.minecraft.block.Block; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; import net.minecraft.item.ItemStack; import binnie.botany.gardening.BlockSoil; import binnie.botany.Botany; import binnie.botany.api.EnumAcidity; import binnie.core.genetics.Tolerance; import binnie.botany.api.EnumMoisture; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.controls.ControlTextCentered; import binnie.botany.api.IFlower; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public class AnalystPageSoil extends ControlAnalystPage { public AnalystPageSoil(final IWidget parent, final IArea area, final IFlower flower) { super(parent, area); - this.setColour(6697728); + this.setColor(6697728); final EnumMoisture moisture = flower.getGenome().getPrimary().getMoisture(); final EnumTolerance moistureTol = flower.getGenome().getToleranceMoisture(); final EnumAcidity pH = flower.getGenome().getPrimary().getPH(); final EnumTolerance pHTol = flower.getGenome().getTolerancePH(); int y = 4; - new ControlTextCentered(this, y, "§nSoil").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nSoil").setColor(this.getColor()); y += 16; - new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "Moisture Tolerance", TextJustification.MiddleCenter).setColour(this.getColour()); + new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "Moisture Tolerance", TextJustification.MiddleCenter).setColor(this.getColor()); y += 12; this.createMoisture(this, (this.w() - 100.0f) / 2.0f, y, 100.0f, 10.0f, moisture, moistureTol); y += 16; - new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "pH Tolerance", TextJustification.MiddleCenter).setColour(this.getColour()); + new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "pH Tolerance", TextJustification.MiddleCenter).setColor(this.getColor()); y += 12; this.createAcidity(this, (this.w() - 100.0f) / 2.0f, y, 100.0f, 10.0f, pH, pHTol); y += 16; - new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "Recommended Soil", TextJustification.MiddleCenter).setColour(this.getColour()); + new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "Recommended Soil", TextJustification.MiddleCenter).setColor(this.getColor()); y += 12; EnumMoisture recomMoisture = EnumMoisture.Normal; final boolean canTolNormal = Tolerance.canTolerate(moisture, EnumMoisture.Normal, moistureTol); @@ -91,7 +90,7 @@ public class AnalystPageSoil extends ControlAnalystPage recomSoil.setItemStack(stack); recomSoil.setTooltip(); y += 32; - new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "Other Soils", TextJustification.MiddleCenter).setColour(this.getColour()); + new ControlText(this, new IArea(4.0f, y, this.w() - 8.0f, 14.0f), "Other Soils", TextJustification.MiddleCenter).setColor(this.getColor()); y += 12; final List stacks = new ArrayList(); for (final EnumAcidity a : EnumSet.range(EnumAcidity.Acid, EnumAcidity.Alkaline)) { diff --git a/src/main/java/binnie/genetics/gui/AnalystPageSpecimen.java b/src/main/java/binnie/genetics/gui/AnalystPageSpecimen.java index da37ec8f..569abe9b 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageSpecimen.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageSpecimen.java @@ -4,19 +4,18 @@ package binnie.genetics.gui; -import forestry.api.genetics.IIndividual; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.ControlTextCentered; import forestry.api.lepidopterology.IButterfly; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; public class AnalystPageSpecimen extends ControlAnalystPage { public AnalystPageSpecimen(final IWidget parent, final IArea area, final IButterfly ind) { super(parent, area); - this.setColour(3355443); + this.setColor(3355443); int y = 4; - new ControlTextCentered(this, y, "§nSpecimen").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nSpecimen").setColor(this.getColor()); y += 12; final float w = (this.w() - 16.0f) * ind.getSize(); new ControlIndividualDisplay(this, (this.w() - w) / 2.0f, y + (this.w() - w) / 2.0f, w, ind); diff --git a/src/main/java/binnie/genetics/gui/AnalystPageWood.java b/src/main/java/binnie/genetics/gui/AnalystPageWood.java index 0b732ca7..a0abac1b 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageWood.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageWood.java @@ -5,36 +5,35 @@ package binnie.genetics.gui; import forestry.api.arboriculture.ITreeGenome; -import binnie.craftgui.core.geometry.IPoint; +import binnie.core.craftgui.geometry.IPoint; import java.util.Collection; -import binnie.craftgui.minecraft.control.ControlItemDisplay; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.ForgeDirection; import binnie.core.util.UniqueItemStackSet; -import binnie.craftgui.minecraft.control.ControlIconDisplay; +import binnie.core.craftgui.minecraft.control.ControlIconDisplay; import binnie.genetics.item.ModuleItem; -import forestry.api.genetics.IChromosomeType; import forestry.api.arboriculture.EnumTreeChromosome; import forestry.api.genetics.IAlleleBoolean; -import binnie.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.controls.ControlTextCentered; import forestry.api.arboriculture.ITree; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; import binnie.extratrees.FakeWorld; public class AnalystPageWood extends AnalystPageProduce { public AnalystPageWood(final IWidget parent, final IArea area, final ITree ind) { super(parent, area); - this.setColour(6697728); + this.setColor(6697728); final ITreeGenome genome = ind.getGenome(); int y = 4; - new ControlTextCentered(this, y, "§nWood").setColour(this.getColour()); + new ControlTextCentered(this, y, "§nWood").setColor(this.getColor()); y += 12; if (((IAlleleBoolean) ind.getGenome().getActiveAllele(EnumTreeChromosome.FIREPROOF)).getValue()) { new ControlIconDisplay(this, (this.w() - 16.0f) / 2.0f, y, ModuleItem.iconNoFire.getIcon()).addTooltip("Fireproof"); @@ -55,7 +54,7 @@ public class AnalystPageWood extends AnalystPageProduce // products.add(stack); // } if (products.size() > 0) { - new ControlTextCentered(this, y, "Logs").setColour(this.getColour()); + new ControlTextCentered(this, y, "Logs").setColor(this.getColor()); y += 10; final int w = products.size() * 18 - 2; final int i = 0; @@ -77,7 +76,7 @@ public class AnalystPageWood extends AnalystPageProduce y += 8; } if (products.size() == 0) { - new ControlTextCentered(this, y, "This tree has no \nfruits or nuts").setColour(this.getColour()); + new ControlTextCentered(this, y, "This tree has no \nfruits or nuts").setColor(this.getColor()); y += 28; } this.setSize(new IPoint(this.w(), y + 8)); diff --git a/src/main/java/binnie/genetics/gui/ControlAnalystChromosome.java b/src/main/java/binnie/genetics/gui/ControlAnalystChromosome.java index 669da33d..4f54a231 100644 --- a/src/main/java/binnie/genetics/gui/ControlAnalystChromosome.java +++ b/src/main/java/binnie/genetics/gui/ControlAnalystChromosome.java @@ -6,19 +6,19 @@ package binnie.genetics.gui; import binnie.core.genetics.BreedingSystem; import binnie.Binnie; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.resource.minecraft.StandardTexture; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.core.texture.BinnieCoreTexture; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.resource.Texture; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.resource.Texture; import forestry.api.genetics.ISpeciesRoot; import forestry.api.genetics.IChromosomeType; import forestry.api.genetics.IAllele; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.controls.core.Control; public class ControlAnalystChromosome extends Control implements ITooltip { @@ -33,7 +33,7 @@ public class ControlAnalystChromosome extends Control implements ITooltip super(parent, x, y, 16.0f, 22.0f); this.Homozygous = new StandardTexture(0, 0, 16, 22, BinnieCoreTexture.GUIAnalyst); this.Heterozygous = new StandardTexture(16, 0, 16, 22, BinnieCoreTexture.GUIAnalyst); - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); this.root = root; this.chromosomeType = type; this.allele0 = allele0; diff --git a/src/main/java/binnie/genetics/gui/ControlAnalystPage.java b/src/main/java/binnie/genetics/gui/ControlAnalystPage.java index 61830e5b..b70747b9 100644 --- a/src/main/java/binnie/genetics/gui/ControlAnalystPage.java +++ b/src/main/java/binnie/genetics/gui/ControlAnalystPage.java @@ -5,9 +5,9 @@ package binnie.genetics.gui; import java.text.DecimalFormat; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.core.Control; public abstract class ControlAnalystPage extends Control { diff --git a/src/main/java/binnie/genetics/gui/ControlBiome.java b/src/main/java/binnie/genetics/gui/ControlBiome.java index ace58d7c..0e6b8af3 100644 --- a/src/main/java/binnie/genetics/gui/ControlBiome.java +++ b/src/main/java/binnie/genetics/gui/ControlBiome.java @@ -4,16 +4,16 @@ package binnie.genetics.gui; -import binnie.craftgui.core.Tooltip; +import binnie.core.craftgui.Tooltip; import net.minecraft.util.IIcon; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.CraftGUI; import forestry.core.render.TextureManager; import net.minecraftforge.common.BiomeDictionary; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.IWidget; import net.minecraft.world.biome.BiomeGenBase; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.controls.core.Control; public class ControlBiome extends Control implements ITooltip { diff --git a/src/main/java/binnie/genetics/gui/ControlChromoPicker.java b/src/main/java/binnie/genetics/gui/ControlChromoPicker.java index ed03d0e4..26e32ed3 100644 --- a/src/main/java/binnie/genetics/gui/ControlChromoPicker.java +++ b/src/main/java/binnie/genetics/gui/ControlChromoPicker.java @@ -5,18 +5,18 @@ package binnie.genetics.gui; import binnie.Binnie; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.events.EventValueChanged; -import binnie.craftgui.events.EventWidget; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.resource.minecraft.StandardTexture; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.events.EventValueChanged; +import binnie.core.craftgui.events.EventWidget; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.extrabees.core.ExtraBeeTexture; import forestry.api.genetics.IChromosomeType; -import binnie.craftgui.resource.Texture; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.resource.Texture; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.controls.core.Control; public class ControlChromoPicker extends Control implements ITooltip { @@ -30,7 +30,7 @@ public class ControlChromoPicker extends Control implements ITooltip this.Selected = new StandardTexture(160, 18, 16, 16, ExtraBeeTexture.GUIPunnett); this.Texture = new StandardTexture(160, 34, 16, 16, ExtraBeeTexture.GUIPunnett); this.type = chromo; - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); this.parent = parent; this.addSelfEventHandler(new EventWidget.StartMouseOver.Handler() { @Override diff --git a/src/main/java/binnie/genetics/gui/ControlChromosome.java b/src/main/java/binnie/genetics/gui/ControlChromosome.java index 9f32fc4c..864773c6 100644 --- a/src/main/java/binnie/genetics/gui/ControlChromosome.java +++ b/src/main/java/binnie/genetics/gui/ControlChromosome.java @@ -4,21 +4,21 @@ package binnie.genetics.gui; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.CraftGUI; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.CraftGUI; import forestry.api.lepidopterology.EnumButterflyChromosome; import binnie.botany.api.EnumFlowerChromosome; import forestry.api.arboriculture.EnumTreeChromosome; import forestry.api.apiculture.EnumBeeChromosome; import binnie.Binnie; -import binnie.craftgui.resource.minecraft.StandardTexture; +import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.core.texture.BinnieCoreTexture; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.IWidget; import forestry.api.genetics.ISpeciesRoot; -import binnie.craftgui.resource.Texture; +import binnie.core.craftgui.resource.Texture; import forestry.api.genetics.IChromosomeType; -import binnie.craftgui.controls.core.IControlValue; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.core.IControlValue; +import binnie.core.craftgui.controls.core.Control; public class ControlChromosome extends Control implements IControlValue { diff --git a/src/main/java/binnie/genetics/gui/ControlGenesisOption.java b/src/main/java/binnie/genetics/gui/ControlGenesisOption.java index e795229b..e325b6be 100644 --- a/src/main/java/binnie/genetics/gui/ControlGenesisOption.java +++ b/src/main/java/binnie/genetics/gui/ControlGenesisOption.java @@ -4,12 +4,12 @@ package binnie.genetics.gui; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.controls.listbox.ControlList; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.controls.listbox.ControlList; import binnie.core.genetics.Gene; -import binnie.craftgui.controls.listbox.ControlOption; +import binnie.core.craftgui.controls.listbox.ControlOption; public class ControlGenesisOption extends ControlOption { @@ -28,9 +28,9 @@ public class ControlGenesisOption extends ControlOption @Override public void onRenderBackground() { super.onRenderBackground(); - CraftGUI.Render.text(new IArea(0.0f, 0.0f, 70.0f, 22.0f), TextJustification.MiddleCenter, this.getChromosomeName(), this.getColour()); - CraftGUI.Render.text(new IArea(75.0f, 0.0f, 80.0f, 22.0f), TextJustification.MiddleCenter, this.getAlleleName(), this.getColour()); - CraftGUI.Render.solid(new IArea(70.0f, 2.0f, 1.0f, 16.0f), -16777216 + this.getColour()); + CraftGUI.Render.text(new IArea(0.0f, 0.0f, 70.0f, 22.0f), TextJustification.MiddleCenter, this.getChromosomeName(), this.getColor()); + CraftGUI.Render.text(new IArea(75.0f, 0.0f, 80.0f, 22.0f), TextJustification.MiddleCenter, this.getAlleleName(), this.getColor()); + CraftGUI.Render.solid(new IArea(70.0f, 2.0f, 1.0f, 16.0f), -16777216 + this.getColor()); } } diff --git a/src/main/java/binnie/genetics/gui/ControlIndividualDisplay.java b/src/main/java/binnie/genetics/gui/ControlIndividualDisplay.java index c0be4a1a..14f4b11b 100644 --- a/src/main/java/binnie/genetics/gui/ControlIndividualDisplay.java +++ b/src/main/java/binnie/genetics/gui/ControlIndividualDisplay.java @@ -6,13 +6,13 @@ package binnie.genetics.gui; import net.minecraft.item.ItemStack; import forestry.api.genetics.AlleleManager; -import binnie.craftgui.core.Tooltip; +import binnie.core.craftgui.Tooltip; import binnie.core.genetics.BreedingSystem; import binnie.Binnie; import forestry.api.genetics.IIndividual; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.minecraft.control.ControlItemDisplay; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; public class ControlIndividualDisplay extends ControlItemDisplay implements ITooltip { diff --git a/src/main/java/binnie/genetics/gui/ControlToleranceBar.java b/src/main/java/binnie/genetics/gui/ControlToleranceBar.java index 3b0bea57..45aa432c 100644 --- a/src/main/java/binnie/genetics/gui/ControlToleranceBar.java +++ b/src/main/java/binnie/genetics/gui/ControlToleranceBar.java @@ -6,16 +6,16 @@ package binnie.genetics.gui; import binnie.core.genetics.Tolerance; import forestry.api.genetics.EnumTolerance; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.geometry.IBorder; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.Tooltip; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IBorder; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.Tooltip; import forestry.api.core.EnumTemperature; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.IWidget; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.IWidget; import java.util.EnumSet; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.controls.core.Control; public abstract class ControlToleranceBar> extends Control implements ITooltip { @@ -25,7 +25,7 @@ public abstract class ControlToleranceBar> extends Control imp public ControlToleranceBar(final IWidget parent, final float x, final float y, final float width, final float height, final Class clss) { super(parent, x, y, width, height); - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); this.enumClass = clss; this.tolerated = EnumSet.noneOf(this.enumClass); this.fullSet = EnumSet.allOf(this.enumClass); @@ -35,12 +35,12 @@ public abstract class ControlToleranceBar> extends Control imp } @Override - public void getTooltip(final Tooltip list) { + public void getTooltip(final Tooltip tooltip) { final int types = this.fullSet.size(); final int type = (int) ((int) this.getRelativeMousePosition().x() / (this.getSize().x() / types)); for (final T tol : this.fullSet) { if (tol.ordinal() - ((this.enumClass == EnumTemperature.class) ? 1 : 0) == type) { - list.add((this.tolerated.contains(tol) ? "" : "§8") + this.getName(tol)); + tooltip.add((this.tolerated.contains(tol) ? "" : "§8") + this.getName(tol)); } } } diff --git a/src/main/java/binnie/genetics/gui/ControlTooltip.java b/src/main/java/binnie/genetics/gui/ControlTooltip.java index b03b34bb..44461a52 100644 --- a/src/main/java/binnie/genetics/gui/ControlTooltip.java +++ b/src/main/java/binnie/genetics/gui/ControlTooltip.java @@ -4,10 +4,10 @@ package binnie.genetics.gui; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.ITooltip; -import binnie.craftgui.controls.core.Control; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.ITooltip; +import binnie.core.craftgui.controls.core.Control; public class ControlTooltip extends Control implements ITooltip { diff --git a/src/main/java/binnie/genetics/gui/WindowAnalyst.java b/src/main/java/binnie/genetics/gui/WindowAnalyst.java index 97e6c0f8..5ef4c51b 100644 --- a/src/main/java/binnie/genetics/gui/WindowAnalyst.java +++ b/src/main/java/binnie/genetics/gui/WindowAnalyst.java @@ -9,21 +9,21 @@ import forestry.api.lepidopterology.IButterfly; import binnie.botany.api.IFlower; import forestry.api.apiculture.IBee; import forestry.api.arboriculture.ITree; -import binnie.craftgui.controls.ControlTextCentered; -import binnie.craftgui.events.EventKey; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.controls.scroll.ControlScrollBar; -import binnie.craftgui.minecraft.MinecraftGUI; -import binnie.craftgui.minecraft.InventoryType; -import binnie.craftgui.minecraft.control.ControlSlot; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.Tooltip; -import binnie.craftgui.events.EventMouse; -import binnie.craftgui.core.Attribute; -import binnie.craftgui.core.Widget; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.events.EventKey; +import binnie.core.craftgui.minecraft.control.ControlPlayerInventory; +import binnie.core.craftgui.geometry.Position; +import binnie.core.craftgui.controls.scroll.ControlScrollBar; +import binnie.core.craftgui.minecraft.MinecraftGUI; +import binnie.core.craftgui.minecraft.InventoryType; +import binnie.core.craftgui.minecraft.control.ControlSlot; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.resource.minecraft.CraftGUITexture; +import binnie.core.craftgui.CraftGUI; +import binnie.core.craftgui.Tooltip; +import binnie.core.craftgui.events.EventMouse; +import binnie.core.craftgui.WidgetAttribute; +import binnie.core.craftgui.Widget; import forestry.api.genetics.IBreedingTracker; import binnie.Binnie; import binnie.genetics.machine.ModuleMachine; @@ -39,14 +39,14 @@ import net.minecraft.inventory.IInventory; import net.minecraft.entity.player.EntityPlayer; import binnie.core.genetics.BreedingSystem; import forestry.api.genetics.IIndividual; -import binnie.craftgui.minecraft.control.ControlSlide; -import binnie.craftgui.core.geometry.IArea; +import binnie.core.craftgui.minecraft.control.ControlSlide; +import binnie.core.craftgui.geometry.IArea; import java.util.List; -import binnie.craftgui.window.Panel; -import binnie.craftgui.controls.core.Control; -import binnie.craftgui.controls.scroll.ControlScrollableContent; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.minecraft.Window; +import binnie.core.craftgui.window.Panel; +import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.controls.scroll.ControlScrollableContent; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.minecraft.Window; public class WindowAnalyst extends Window { @@ -129,7 +129,7 @@ public class WindowAnalyst extends Window new Control(this, x, y, 20.0f, 20.0f) { @Override public void initialise() { - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); this.addSelfEventHandler(new EventMouse.Down.Handler() { @Override public void onEvent(final EventMouse.Down event) { @@ -175,7 +175,7 @@ public class WindowAnalyst extends Window @Override public void initialise() { - this.setColour(4473924); + this.setColor(4473924); final float sectionWidth = (this.w() - 8.0f - 4.0f) / 2.0f; WindowAnalyst.this.leftPage = new ControlScrollableContent(this, 3.0f, 3.0f, sectionWidth + 2.0f, this.h() - 8.0f + 2.0f, 0.0f) { @Override @@ -183,7 +183,7 @@ public class WindowAnalyst extends Window if (this.getContent() == null) { return; } - CraftGUI.Render.colour(this.getContent().getColour()); + CraftGUI.Render.colour(this.getContent().getColor()); CraftGUI.Render.texture(CraftGUITexture.TabOutline, this.getArea()); } }; @@ -196,8 +196,8 @@ public class WindowAnalyst extends Window if (WindowAnalyst.this.leftPage.getContent() == null) { return; } - CraftGUI.Render.gradientRect(this.getArea(), 1140850688 + WindowAnalyst.this.leftPage.getContent().getColour(), 1140850688 + WindowAnalyst.this.leftPage.getContent().getColour()); - CraftGUI.Render.solid(this.getRenderArea(), WindowAnalyst.this.leftPage.getContent().getColour()); + CraftGUI.Render.gradientRect(this.getArea(), 1140850688 + WindowAnalyst.this.leftPage.getContent().getColor(), 1140850688 + WindowAnalyst.this.leftPage.getContent().getColor()); + CraftGUI.Render.solid(this.getRenderArea(), WindowAnalyst.this.leftPage.getContent().getColor()); } }; WindowAnalyst.this.rightPage = new ControlScrollableContent(this, 3.0f + sectionWidth + 4.0f, 3.0f, sectionWidth + 2.0f, this.h() - 8.0f + 2.0f, 0.0f) { @@ -206,7 +206,7 @@ public class WindowAnalyst extends Window if (this.getContent() == null) { return; } - CraftGUI.Render.colour(this.getContent().getColour()); + CraftGUI.Render.colour(this.getContent().getColor()); CraftGUI.Render.texture(CraftGUITexture.TabOutline, this.getArea()); } }; @@ -219,8 +219,8 @@ public class WindowAnalyst extends Window if (WindowAnalyst.this.rightPage.getContent() == null) { return; } - CraftGUI.Render.gradientRect(this.getArea(), 1140850688 + WindowAnalyst.this.rightPage.getContent().getColour(), 1140850688 + WindowAnalyst.this.rightPage.getContent().getColour()); - CraftGUI.Render.solid(this.getRenderArea(), WindowAnalyst.this.rightPage.getContent().getColour()); + CraftGUI.Render.gradientRect(this.getArea(), 1140850688 + WindowAnalyst.this.rightPage.getContent().getColor(), 1140850688 + WindowAnalyst.this.rightPage.getContent().getColor()); + CraftGUI.Render.solid(this.getRenderArea(), WindowAnalyst.this.rightPage.getContent().getColor()); } }; WindowAnalyst.this.analystPageSize = new IArea(1.0f, 1.0f, sectionWidth, this.h() - 8.0f); @@ -246,7 +246,7 @@ public class WindowAnalyst extends Window this.analystNone = new Control(this.analystPanel, 0.0f, 0.0f, this.analystPanel.w(), this.analystPanel.h()) { @Override public void initialise() { - new ControlTextCentered(this, 20.0f, "Add a bee, tree, flower or butterfly to the top left slot. DNA Dye is required if it has not been analysed yet. This dye can also convert vanilla items to breedable individuals.").setColour(4473924); + new ControlTextCentered(this, 20.0f, "Add a bee, tree, flower or butterfly to the top left slot. DNA Dye is required if it has not been analysed yet. This dye can also convert vanilla items to breedable individuals.").setColor(4473924); new ControlPlayerInventory(this); } }; @@ -352,7 +352,7 @@ public class WindowAnalyst extends Window @Override protected void initialise() { super.initialise(); - this.addAttribute(Attribute.MouseOver); + this.addAttribute(WidgetAttribute.MouseOver); this.value = page; this.addSelfEventHandler(new EventMouse.Down.Handler() { @Override @@ -383,9 +383,9 @@ public class WindowAnalyst extends Window @Override public void onRenderBackground() { final boolean active = this.value == WindowAnalyst.this.leftPage.getContent() || this.value == WindowAnalyst.this.rightPage.getContent(); - CraftGUI.Render.colour((active ? -16777216 : 1140850688) + this.value.getColour()); + CraftGUI.Render.colour((active ? -16777216 : 1140850688) + this.value.getColor()); CraftGUI.Render.texture(CraftGUITexture.TabSolid, this.getArea().inset(1)); - CraftGUI.Render.colour(this.value.getColour()); + CraftGUI.Render.colour(this.value.getColor()); CraftGUI.Render.texture(CraftGUITexture.TabOutline, this.getArea().inset(1)); super.onRenderBackground(); } diff --git a/src/main/java/binnie/genetics/machine/Acclimatiser.java b/src/main/java/binnie/genetics/machine/Acclimatiser.java index 8831d6ce..9029968c 100644 --- a/src/main/java/binnie/genetics/machine/Acclimatiser.java +++ b/src/main/java/binnie/genetics/machine/Acclimatiser.java @@ -23,13 +23,12 @@ import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.genetics.core.GeneticsGUI; import binnie.core.machines.Machine; import binnie.genetics.core.GeneticsTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import java.util.HashMap; import java.util.ArrayList; import forestry.api.genetics.EnumTolerance; import binnie.core.genetics.Tolerance; import binnie.core.Mods; -import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import binnie.botany.api.EnumFlowerChromosome; diff --git a/src/main/java/binnie/genetics/machine/Analyser.java b/src/main/java/binnie/genetics/machine/Analyser.java index 3e54d9bb..9fa53f56 100644 --- a/src/main/java/binnie/genetics/machine/Analyser.java +++ b/src/main/java/binnie/genetics/machine/Analyser.java @@ -4,7 +4,6 @@ package binnie.genetics.machine; -import net.minecraft.nbt.NBTBase; import net.minecraft.entity.player.EntityPlayer; import org.lwjgl.opengl.GL11; import net.minecraft.client.renderer.entity.RenderItem; @@ -34,7 +33,7 @@ import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.genetics.core.GeneticsGUI; import binnie.core.machines.Machine; import binnie.genetics.core.GeneticsTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import forestry.api.genetics.ISpeciesRoot; import net.minecraft.nbt.NBTTagCompound; import forestry.api.genetics.IIndividual; diff --git a/src/main/java/binnie/genetics/machine/Genepool.java b/src/main/java/binnie/genetics/machine/Genepool.java index 91fa03d0..46fb343e 100644 --- a/src/main/java/binnie/genetics/machine/Genepool.java +++ b/src/main/java/binnie/genetics/machine/Genepool.java @@ -37,7 +37,7 @@ import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.genetics.core.GeneticsGUI; import binnie.core.machines.Machine; import binnie.genetics.core.GeneticsTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; public class Genepool { diff --git a/src/main/java/binnie/genetics/machine/Incubator.java b/src/main/java/binnie/genetics/machine/Incubator.java index a46f9c6f..4cbfdea5 100644 --- a/src/main/java/binnie/genetics/machine/Incubator.java +++ b/src/main/java/binnie/genetics/machine/Incubator.java @@ -18,10 +18,9 @@ import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.genetics.core.GeneticsGUI; import binnie.core.machines.Machine; import binnie.genetics.core.GeneticsTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import java.util.ArrayList; import forestry.api.apiculture.IBee; -import forestry.api.genetics.IIndividual; import binnie.core.machines.MachineUtil; import forestry.api.apiculture.EnumBeeType; import binnie.core.BinnieCore; diff --git a/src/main/java/binnie/genetics/machine/Inoculator.java b/src/main/java/binnie/genetics/machine/Inoculator.java index aa298306..538c9a76 100644 --- a/src/main/java/binnie/genetics/machine/Inoculator.java +++ b/src/main/java/binnie/genetics/machine/Inoculator.java @@ -6,7 +6,6 @@ package binnie.genetics.machine; import forestry.api.genetics.ISpeciesRoot; import binnie.Binnie; -import net.minecraft.nbt.NBTBase; import net.minecraft.entity.player.EntityPlayer; import org.lwjgl.opengl.GL11; import net.minecraft.client.renderer.entity.RenderItem; @@ -42,7 +41,7 @@ import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.genetics.core.GeneticsGUI; import binnie.core.machines.Machine; import binnie.genetics.core.GeneticsTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagCompound; import forestry.api.genetics.IAllele; diff --git a/src/main/java/binnie/genetics/machine/Isolator.java b/src/main/java/binnie/genetics/machine/Isolator.java index 1e9ec7df..82f344ac 100644 --- a/src/main/java/binnie/genetics/machine/Isolator.java +++ b/src/main/java/binnie/genetics/machine/Isolator.java @@ -40,7 +40,7 @@ import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.genetics.core.GeneticsGUI; import binnie.core.machines.Machine; import binnie.genetics.core.GeneticsTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; public class Isolator { diff --git a/src/main/java/binnie/genetics/machine/Polymeriser.java b/src/main/java/binnie/genetics/machine/Polymeriser.java index 88772e1a..55f37193 100644 --- a/src/main/java/binnie/genetics/machine/Polymeriser.java +++ b/src/main/java/binnie/genetics/machine/Polymeriser.java @@ -35,7 +35,7 @@ import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.genetics.core.GeneticsGUI; import binnie.core.machines.Machine; import binnie.genetics.core.GeneticsTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; public class Polymeriser { diff --git a/src/main/java/binnie/genetics/machine/Sequencer.java b/src/main/java/binnie/genetics/machine/Sequencer.java index 81c7d318..c36d9e74 100644 --- a/src/main/java/binnie/genetics/machine/Sequencer.java +++ b/src/main/java/binnie/genetics/machine/Sequencer.java @@ -33,7 +33,7 @@ import binnie.core.machines.Machine; import binnie.genetics.Genetics; import binnie.Binnie; import binnie.genetics.core.GeneticsTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import binnie.core.resource.BinnieIcon; public class Sequencer diff --git a/src/main/java/binnie/genetics/machine/Splicer.java b/src/main/java/binnie/genetics/machine/Splicer.java index 08043962..a2977a09 100644 --- a/src/main/java/binnie/genetics/machine/Splicer.java +++ b/src/main/java/binnie/genetics/machine/Splicer.java @@ -6,7 +6,6 @@ package binnie.genetics.machine; import forestry.api.genetics.ISpeciesRoot; import binnie.Binnie; -import net.minecraft.nbt.NBTBase; import net.minecraft.entity.player.EntityPlayer; import org.lwjgl.opengl.GL11; import net.minecraft.client.renderer.entity.RenderItem; @@ -38,7 +37,7 @@ import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.genetics.core.GeneticsGUI; import binnie.core.machines.Machine; import binnie.genetics.core.GeneticsTexture; -import binnie.craftgui.minecraft.IMachineInformation; +import binnie.core.craftgui.minecraft.IMachineInformation; import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagCompound; import forestry.api.genetics.IAllele;