diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-02-19 17:38:35 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-02-19 17:38:35 +1000 |
commit | 7011e367ac5ccc34473283d6245bc2cec93b835e (patch) | |
tree | cc5675471f1101631bec2cde9713cb9c0004cc8f /src/Java/binnie/craftgui/binniecore | |
parent | c68c67d74f39c3eb075ac29e88936a1976ef089b (diff) | |
download | GT5-Unofficial-7011e367ac5ccc34473283d6245bc2cec93b835e.tar.gz GT5-Unofficial-7011e367ac5ccc34473283d6245bc2cec93b835e.tar.bz2 GT5-Unofficial-7011e367ac5ccc34473283d6245bc2cec93b835e.zip |
Removed Hard dependency on gregtech as another Project and added dev versions of all requires libs.
Also started work on GT-EU EnderIO conduits, adding @Optional annotations where possible and a few other nice things.
Diffstat (limited to 'src/Java/binnie/craftgui/binniecore')
-rw-r--r-- | src/Java/binnie/craftgui/binniecore/WindowFieldKit.java | 334 | ||||
-rw-r--r-- | src/Java/binnie/craftgui/binniecore/WindowGenesis.java | 264 |
2 files changed, 0 insertions, 598 deletions
diff --git a/src/Java/binnie/craftgui/binniecore/WindowFieldKit.java b/src/Java/binnie/craftgui/binniecore/WindowFieldKit.java deleted file mode 100644 index d52a6cde31..0000000000 --- a/src/Java/binnie/craftgui/binniecore/WindowFieldKit.java +++ /dev/null @@ -1,334 +0,0 @@ -package binnie.craftgui.binniecore; - -import binnie.Binnie; -import binnie.core.AbstractMod; -import binnie.core.BinnieCore; -import binnie.core.genetics.BreedingSystem; -import binnie.core.genetics.ManagerGenetics; -import binnie.core.language.ManagerLanguage; -import binnie.core.machines.inventory.SlotValidator; -import binnie.core.machines.inventory.ValidatorIcon; -import binnie.craftgui.controls.ControlText; -import binnie.craftgui.controls.core.Control; -import binnie.craftgui.core.CraftGUI; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.geometry.IPoint; -import binnie.craftgui.core.geometry.TextJustification; -import binnie.craftgui.core.renderer.Renderer; -import binnie.craftgui.events.EventHandler.Origin; -import binnie.craftgui.events.EventValueChanged; -import binnie.craftgui.events.EventValueChanged.Handler; -import binnie.craftgui.minecraft.InventoryType; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.minecraft.WindowInventory; -import binnie.craftgui.minecraft.control.ControlImage; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.minecraft.control.ControlSlot; -import binnie.craftgui.resource.StyleSheet; -import binnie.craftgui.resource.minecraft.CraftGUITexture; -import binnie.craftgui.resource.minecraft.PaddedTexture; -import binnie.craftgui.resource.minecraft.StandardTexture; -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.IAlleleRegistry; -import forestry.api.genetics.IChromosomeType; -import forestry.api.genetics.IGenome; -import forestry.api.genetics.IIndividual; -import forestry.api.genetics.ISpeciesRoot; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Random; -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; - -public class WindowFieldKit - extends Window -{ - public WindowFieldKit(EntityPlayer player, IInventory inventory, Side side) - { - super(280.0F, 230.0F, player, inventory, side); - } - - protected AbstractMod getMod() - { - return BinnieCore.instance; - } - - protected String getName() - { - return "Field Kit"; - } - - private void setupValidators() - { - getWindowInventory().setValidator(0, new SlotValidator(null) - { - public boolean isValid(ItemStack object) - { - return (AlleleManager.alleleRegistry.isIndividual(object)) || (Binnie.Genetics.getConversion(object) != null); - } - - public String getTooltip() - { - return "Individual"; - } - }); - getWindowInventory().setValidator(1, new SlotValidator(null) - { - public boolean isValid(ItemStack object) - { - return object.getItem() == Items.paper; - } - - public String getTooltip() - { - return "Paper"; - } - }); - getWindowInventory().disableAutoDispense(1); - } - - 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); - 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"); - this.text.setColour(2236962); - - this.text = new ControlText(this, new IArea(0.0F, 120.0F, w(), 24.0F), "", TextJustification.MiddleCenter); - this.text.setColour(2236962); - - this.chromo = new ControlChromosome(this, 150.0F, 24.0F); - - addEventHandler(new EventValueChanged.Handler() - { - public void onEvent(EventValueChanged event) - { - IChromosomeType type = (IChromosomeType)event.getValue(); - if ((type != null) && (WindowFieldKit.this.info.containsKey(type))) - { - String t = (String)WindowFieldKit.this.info.get(type); - WindowFieldKit.this.text.setValue(t); - } - else - { - WindowFieldKit.this.text.setValue(""); - } - } - }.setOrigin(EventHandler.Origin.DirectChild, this.chromo)); - } - - public void initialiseServer() - { - ItemStack kit = getPlayer().getHeldItem(); - int sheets = 64 - kit.getItemDamage(); - if (sheets != 0) { - getWindowInventory().setInventorySlotContents(1, new ItemStack(Items.paper, sheets)); - } - setupValidators(); - } - - private float glassOffsetX = 0.0F; - private float glassOffsetY = 0.0F; - private float glassVX = 0.0F; - private float glassVY = 0.0F; - private Random glassRand = new Random(); - private Control GlassControl; - private ControlChromosome chromo; - private ControlText text; - private float analyseProgress = 1.0F; - private boolean isAnalysing = false; - - public void onUpdateClient() - { - super.onUpdateClient(); - if (this.isAnalysing) - { - this.analyseProgress += 0.01F; - if (this.analyseProgress >= 1.0F) - { - this.isAnalysing = false; - this.analyseProgress = 1.0F; - ItemStack stack = getWindowInventory().getStackInSlot(0); - if (stack != null) { - sendClientAction("analyse", new NBTTagCompound()); - } - 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 Map<IChromosomeType, String> info = new HashMap(); - - 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); - this.chromo.setRoot(root); - Random rand = new Random(); - this.info.clear(); - for (IChromosomeType type : root.getKaryotype()) { - if (!Binnie.Genetics.isInvalidChromosome(type)) - { - IAllele allele = ind.getGenome().getActiveAllele(type); - List<String> infos = new ArrayList(); - int i = 0; - String pref = root.getUID() + ".fieldkit." + type.getName().toLowerCase() + "."; - while (Binnie.Language.canLocalise(pref + i)) - { - infos.add(Binnie.Language.localise(pref + i)); - i++; - } - String text = Binnie.Genetics.getSystem(root).getAlleleName(type, allele); - if (!infos.isEmpty()) { - text = (String)infos.get(rand.nextInt(infos.size())); - } - this.info.put(type, text); - this.chromo.setRoot(root); - } - } - } - - private ItemStack prev = null; - - 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); - this.prev = item; - this.text.setValue(""); - if ((item != null) && (!Analyser.isAnalysed(item))) - { - if (getWindowInventory().getStackInSlot(1) == null) - { - this.text.setValue("No Paper!"); - this.isAnalysing = false; - this.analyseProgress = 1.0F; - } - else - { - startAnalysing(); - this.chromo.setRoot(null); - if (!damageKit()) {} - } - } - else if (item != null) - { - this.isAnalysing = false; - this.analyseProgress = 1.0F; - refreshSpecies(); - if (!damageKit()) {} - } - 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; - } - - public boolean showHelpButton() - { - return true; - } - - 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"; - } - - public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound action) - { - super.recieveGuiNBT(side, player, name, action); - 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() - { - 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/Java/binnie/craftgui/binniecore/WindowGenesis.java b/src/Java/binnie/craftgui/binniecore/WindowGenesis.java deleted file mode 100644 index 8295645f5a..0000000000 --- a/src/Java/binnie/craftgui/binniecore/WindowGenesis.java +++ /dev/null @@ -1,264 +0,0 @@ -package binnie.craftgui.binniecore; - -import binnie.Binnie; -import binnie.core.AbstractMod; -import binnie.core.BinnieCore; -import binnie.core.genetics.BreedingSystem; -import binnie.core.genetics.Gene; -import binnie.core.genetics.ManagerGenetics; -import binnie.craftgui.controls.listbox.ControlList; -import binnie.craftgui.controls.listbox.ControlListBox; -import binnie.craftgui.controls.listbox.ControlTextOption; -import binnie.craftgui.controls.tab.ControlTab; -import binnie.craftgui.controls.tab.ControlTabBar; -import binnie.craftgui.core.IWidget; -import binnie.craftgui.core.geometry.IArea; -import binnie.craftgui.core.geometry.Position; -import binnie.craftgui.events.EventHandler.Origin; -import binnie.craftgui.events.EventMouse.Down; -import binnie.craftgui.events.EventMouse.Down.Handler; -import binnie.craftgui.events.EventValueChanged; -import binnie.craftgui.events.EventValueChanged.Handler; -import binnie.craftgui.minecraft.MinecraftGUI.PanelType; -import binnie.craftgui.minecraft.Window; -import binnie.craftgui.minecraft.control.ControlItemDisplay; -import binnie.craftgui.minecraft.control.ControlPlayerInventory; -import binnie.craftgui.minecraft.control.ControlTabIcon; -import binnie.craftgui.window.Panel; -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 java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -public class WindowGenesis - extends Window -{ - private ISpeciesRoot root; - private IAllele[] template; - private ControlListBox<Gene> geneList; - private ControlListBox<Gene> geneOptions; - private Panel panelPickup; - - public WindowGenesis(EntityPlayer player, IInventory inventory, Side side) - { - super(342.0F, 228.0F, player, inventory, side); - } - - protected AbstractMod getMod() - { - return BinnieCore.instance; - } - - protected String getName() - { - return "Genesis"; - } - - public void initialiseClient() - { - new ControlPlayerInventory(this); - setTitle("Genesis"); - - ControlTabBar<BreedingSystem> tabSystems = new ControlTabBar(this, 8.0F, 28.0F, 23.0F, 100.0F, Position.Left) - { - public ControlTab<BreedingSystem> createTab(float x, float y, float w, float h, BreedingSystem value) - { - new ControlTabIcon(this, x, y, w, h, value) - { - public ItemStack getItemStack() - { - int type = ((BreedingSystem)this.value).getDefaultType(); - IIndividual ind = ((BreedingSystem)this.value).getDefaultIndividual(); - return ((BreedingSystem)this.value).getSpeciesRoot().getMemberStack(ind, type); - } - - public String getName() - { - return ((BreedingSystem)this.value).getName(); - } - - public int getOutlineColour() - { - return ((BreedingSystem)this.value).getColour(); - } - - public boolean hasOutline() - { - return true; - } - }; - } - }; - tabSystems.setValues(Binnie.Genetics.getActiveSystems()); - - this.root = ((BreedingSystem)Binnie.Genetics.getActiveSystems().iterator().next()).getSpeciesRoot(); - this.template = this.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); - - this.geneList = new ControlListBox(this, one.x(), one.y(), one.w(), one.h(), 10.0F) - { - public IWidget createOption(Gene value, int y) - { - return new ControlGenesisOption((ControlList)getContent(), value, y); - } - }; - this.geneOptions = new ControlListBox(this, two.x(), two.y(), two.w(), two.h(), 10.0F) - { - public IWidget createOption(Gene value, int y) - { - return new ControlTextOption((ControlList)getContent(), value, y); - } - }; - tabSystems.addEventHandler(new EventValueChanged.Handler() - { - public void onEvent(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() - { - public void onEvent(EventValueChanged event) - { - Map<IChromosomeType, List<IAllele>> map = Binnie.Genetics.getChromosomeMap(WindowGenesis.this.root); - List<Gene> opts = new ArrayList(); - IChromosomeType chromo = ((Gene)event.value).getChromosome(); - for (IAllele allele : (List)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() - { - public void onEvent(EventValueChanged event) - { - if (event.value == null) { - return; - } - 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); - - refreshTemplate(null); - } - - private void refreshTemplate(IChromosomeType selection) - { - List<Gene> genes = new ArrayList(); - IChromosomeType[] chromos = (IChromosomeType[])Binnie.Genetics.getChromosomeMap(this.root).keySet().toArray(new IChromosomeType[0]); - for (IChromosomeType type : chromos) - { - 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)); - } - Map<IChromosomeType, List<IAllele>> 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()); - } - refreshPickup(); - } - - private void refreshPickup() - { - this.panelPickup.deleteAllChildren(); - int i = 0; - for (int type : Binnie.Genetics.getSystem(this.root).getActiveTypes()) - { - IIndividual ind = this.root.templateAsIndividual(this.template); - ind.analyze(); - final ItemStack stack = this.root.getMemberStack(ind, type); - 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() - { - 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++; - } - } - - public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound action) - { - super.recieveGuiNBT(side, player, name, action); - if ((side == Side.SERVER) && (name.equals("genesis"))) - { - ItemStack stack = ItemStack.loadItemStackFromNBT(action); - 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 rec = stack; - rec.stackSize += playerInv.getItemStack().stackSize; - playerInv.setItemStack(rec); - } - } - player.openContainer.detectAndSendChanges(); - if ((player instanceof EntityPlayerMP)) { - ((EntityPlayerMP)player).updateHeldItem(); - } - } - } -} |