diff --git a/src/main/java/binnie/botany/Botany.java b/src/main/java/binnie/botany/Botany.java index 5923fd78..220492a1 100644 --- a/src/main/java/binnie/botany/Botany.java +++ b/src/main/java/binnie/botany/Botany.java @@ -1,73 +1,74 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany; -import cpw.mods.fml.common.event.FMLInterModComms; -import cpw.mods.fml.common.eventhandler.Event; -import net.minecraftforge.event.entity.player.BonemealEvent; -import net.minecraft.world.IBlockAccess; -import binnie.core.BinnieCore; -import net.minecraft.world.World; -import net.minecraftforge.event.world.BlockEvent; -import net.minecraft.block.Block; import binnie.botany.api.EnumAcidity; import binnie.botany.api.EnumSoilType; -import binnie.botany.api.gardening.IBlockSoil; -import binnie.botany.gardening.Gardening; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import net.minecraft.item.ItemStack; import binnie.botany.api.IFlower; -import net.minecraft.tileentity.TileEntity; -import forestry.api.genetics.IIndividual; -import binnie.botany.core.BotanyCore; -import net.minecraft.entity.EntityLivingBase; -import binnie.botany.flower.TileEntityFlower; -import net.minecraft.init.Items; -import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import binnie.core.network.BinniePacketHandler; -import binnie.core.proxy.IProxyCore; -import binnie.botany.network.PacketID; -import binnie.core.network.IPacketID; -import binnie.botany.core.BotanyGUI; -import binnie.core.gui.IBinnieGUID; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import binnie.botany.gardening.ModuleGardening; -import binnie.botany.genetics.ModuleGenetics; -import binnie.botany.core.ModuleCore; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import binnie.botany.ceramic.BlockCeramicBrick; -import binnie.botany.ceramic.BlockStained; -import binnie.botany.ceramic.BlockCeramicPatterned; +import binnie.botany.api.gardening.IBlockSoil; import binnie.botany.ceramic.BlockCeramic; +import binnie.botany.ceramic.BlockCeramicBrick; +import binnie.botany.ceramic.BlockCeramicPatterned; +import binnie.botany.ceramic.BlockStained; +import binnie.botany.core.BotanyCore; +import binnie.botany.core.BotanyGUI; +import binnie.botany.core.ModuleCore; +import binnie.botany.flower.BlockFlower; +import binnie.botany.flower.ItemFlower; +import binnie.botany.flower.ItemInsulatedTube; +import binnie.botany.flower.TileEntityFlower; +import binnie.botany.gardening.BlockPlant; +import binnie.botany.gardening.BlockSoil; +import binnie.botany.gardening.Gardening; +import binnie.botany.gardening.ItemSoilMeter; +import binnie.botany.gardening.ItemTrowel; +import binnie.botany.gardening.ModuleGardening; +import binnie.botany.genetics.ItemDictionary; +import binnie.botany.genetics.ItemEncyclopedia; +import binnie.botany.genetics.ModuleGenetics; import binnie.botany.items.ItemClay; import binnie.botany.items.ItemPigment; -import binnie.botany.flower.ItemFlower; -import binnie.botany.genetics.ItemEncyclopedia; -import binnie.core.item.ItemMisc; -import binnie.botany.gardening.ItemSoilMeter; -import binnie.botany.flower.ItemInsulatedTube; -import binnie.botany.gardening.BlockSoil; -import binnie.botany.gardening.ItemTrowel; -import binnie.botany.gardening.BlockPlant; -import binnie.botany.genetics.ItemDictionary; -import net.minecraft.item.Item; -import binnie.botany.flower.BlockFlower; -import cpw.mods.fml.common.SidedProxy; +import binnie.botany.network.PacketID; import binnie.botany.proxy.Proxy; -import cpw.mods.fml.common.Mod; import binnie.core.AbstractMod; +import binnie.core.BinnieCore; +import binnie.core.gui.IBinnieGUID; +import binnie.core.item.ItemMisc; +import binnie.core.network.BinniePacketHandler; +import binnie.core.network.IPacketID; +import binnie.core.proxy.IProxyCore; +import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.SidedProxy; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLInterModComms; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.eventhandler.Event; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraft.block.Block; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.event.entity.player.BonemealEvent; +import net.minecraftforge.event.entity.player.PlayerInteractEvent; +import net.minecraftforge.event.world.BlockEvent; -@Mod(modid = "Botany", name = "Botany", useMetadata = true, dependencies = "after:BinnieCore") -public class Botany extends AbstractMod -{ - public static final float AGE_CHANCE = 0.2f; +@Mod( + modid = "Botany", + name = "Botany", + useMetadata = true, + dependencies = "after:BinnieCore" +) +public class Botany extends AbstractMod { @Mod.Instance("Botany") public static Botany instance; - @SidedProxy(clientSide = "binnie.botany.proxy.ProxyClient", serverSide = "binnie.botany.proxy.ProxyServer") + + @SidedProxy( + clientSide = "binnie.botany.proxy.ProxyClient", + serverSide = "binnie.botany.proxy.ProxyServer" + ) public static Proxy proxy; + public static BlockFlower flower; public static Item seed; public static Item pollen; @@ -97,28 +98,28 @@ public class Botany extends AbstractMod public static BlockStained stained; public static BlockCeramicBrick ceramicBrick; - @Mod.EventHandler - public void preInit(final FMLPreInitializationEvent evt) { - this.addModule(new ModuleCore()); - this.addModule(new ModuleGenetics()); - this.addModule(new ModuleGardening()); - this.preInit(); - } - - @Mod.EventHandler - public void init(final FMLInitializationEvent evt) { - this.init(); - } - - @Mod.EventHandler - public void postInit(final FMLPostInitializationEvent evt) { - this.postInit(); - } - public Botany() { Botany.instance = this; } + @Mod.EventHandler + public void preInit(FMLPreInitializationEvent event) { + addModule(new ModuleCore()); + addModule(new ModuleGenetics()); + addModule(new ModuleGardening()); + preInit(); + } + + @Mod.EventHandler + public void init(FMLInitializationEvent event) { + init(); + } + + @Mod.EventHandler + public void postInit(FMLPostInitializationEvent event) { + postInit(); + } + @Override public IBinnieGUID[] getGUIDs() { return BotanyGUI.values(); @@ -155,28 +156,30 @@ public class Botany extends AbstractMod } @SubscribeEvent - public void onShearFlower(final PlayerInteractEvent event) { + public void onShearFlower(PlayerInteractEvent event) { if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) { return; } + if (event.entityPlayer != null && event.entityPlayer.getHeldItem() != null && event.entityPlayer.getHeldItem().getItem() == Items.shears) { - final TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); + TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); if (tile instanceof TileEntityFlower) { - final TileEntityFlower flower = (TileEntityFlower) tile; + TileEntityFlower flower = (TileEntityFlower) tile; flower.onShear(); event.entityPlayer.getHeldItem().damageItem(1, event.entityPlayer); } } + if (event.entityPlayer != null && event.entityPlayer.getHeldItem() != null && event.entityPlayer.getHeldItem().getItem() == Botany.pollen) { - final TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); + TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); if (tile instanceof TileEntityFlower) { - final TileEntityFlower flower = (TileEntityFlower) tile; - final IFlower pollen = BotanyCore.getFlowerRoot().getMember(event.entityPlayer.getHeldItem()); + TileEntityFlower flower = (TileEntityFlower) tile; + IFlower pollen = BotanyCore.getFlowerRoot().getMember(event.entityPlayer.getHeldItem()); if (pollen != null && flower.canMateWith(pollen)) { flower.mateWith(pollen); if (!event.entityPlayer.capabilities.isCreativeMode) { - final ItemStack heldItem = event.entityPlayer.getHeldItem(); - --heldItem.stackSize; + ItemStack heldItem = event.entityPlayer.getHeldItem(); + heldItem.stackSize--; } } } @@ -184,13 +187,11 @@ public class Botany extends AbstractMod } @SubscribeEvent - public void onFertiliseSoil(final PlayerInteractEvent event) { - if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) { - return; - } - if (event.world == null) { + public void onFertiliseSoil(PlayerInteractEvent event) { + if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK || event.world == null) { return; } + if (event.entityPlayer != null && event.entityPlayer.getHeldItem() != null) { int y = event.y; Block block = event.world.getBlock(event.x, y, event.z); @@ -200,37 +201,41 @@ public class Botany extends AbstractMod if (block == null) { return; } + if (Gardening.isSoil(block)) { - final IBlockSoil soil = (IBlockSoil) block; + IBlockSoil soil = (IBlockSoil) block; if (Gardening.isNutrientFertiliser(event.entityPlayer.getHeldItem()) && soil.getType(event.world, event.x, y, event.z) != EnumSoilType.FLOWERBED) { - final EnumSoilType type = soil.getType(event.world, event.x, y, event.z); - final int next = Math.min(type.ordinal() + Gardening.getFertiliserStrength(event.entityPlayer.getHeldItem()), 2); + EnumSoilType type = soil.getType(event.world, event.x, y, event.z); + int next = Math.min(type.ordinal() + Gardening.getFertiliserStrength(event.entityPlayer.getHeldItem()), 2); if (soil.fertilise(event.world, event.x, y, event.z, EnumSoilType.values()[next]) && !event.entityPlayer.capabilities.isCreativeMode) { - final ItemStack heldItem = event.entityPlayer.getHeldItem(); - --heldItem.stackSize; + ItemStack heldItem = event.entityPlayer.getHeldItem(); + heldItem.stackSize--; return; } } + if (Gardening.isAcidFertiliser(event.entityPlayer.getHeldItem()) && soil.getPH(event.world, event.x, y, event.z) != EnumAcidity.Acid) { - final EnumAcidity pH = soil.getPH(event.world, event.x, y, event.z); - final int next = Math.max(pH.ordinal() - Gardening.getFertiliserStrength(event.entityPlayer.getHeldItem()), 0); + EnumAcidity pH = soil.getPH(event.world, event.x, y, event.z); + int next = Math.max(pH.ordinal() - Gardening.getFertiliserStrength(event.entityPlayer.getHeldItem()), 0); if (soil.setPH(event.world, event.x, y, event.z, EnumAcidity.values()[next]) && !event.entityPlayer.capabilities.isCreativeMode) { - final ItemStack heldItem2 = event.entityPlayer.getHeldItem(); - --heldItem2.stackSize; + ItemStack heldItem2 = event.entityPlayer.getHeldItem(); + heldItem2.stackSize--; return; } } + if (Gardening.isAlkalineFertiliser(event.entityPlayer.getHeldItem()) && soil.getPH(event.world, event.x, y, event.z) != EnumAcidity.Alkaline) { - final EnumAcidity pH = soil.getPH(event.world, event.x, y, event.z); - final int next = Math.min(pH.ordinal() + Gardening.getFertiliserStrength(event.entityPlayer.getHeldItem()), 2); + EnumAcidity pH = soil.getPH(event.world, event.x, y, event.z); + int next = Math.min(pH.ordinal() + Gardening.getFertiliserStrength(event.entityPlayer.getHeldItem()), 2); if (soil.setPH(event.world, event.x, y, event.z, EnumAcidity.values()[next]) && !event.entityPlayer.capabilities.isCreativeMode) { - final ItemStack heldItem3 = event.entityPlayer.getHeldItem(); - --heldItem3.stackSize; + ItemStack heldItem3 = event.entityPlayer.getHeldItem(); + heldItem3.stackSize--; return; } } + if (Gardening.isWeedkiller(event.entityPlayer.getHeldItem()) && Gardening.addWeedKiller(event.world, event.x, y, event.z) && !event.entityPlayer.capabilities.isCreativeMode) { - final ItemStack heldItem4 = event.entityPlayer.getHeldItem(); + ItemStack heldItem4 = event.entityPlayer.getHeldItem(); --heldItem4.stackSize; } } @@ -238,59 +243,61 @@ public class Botany extends AbstractMod } @SubscribeEvent - public void plantVanilla(final BlockEvent.PlaceEvent event) { - final World world = event.world; - final int x = event.x; - final int y = event.y; - final int z = event.z; - final Block block = world.getBlock(x, y - 1, z); + public void plantVanilla(BlockEvent.PlaceEvent event) { + World world = event.world; + int x = event.x; + int y = event.y; + int z = event.z; + Block block = world.getBlock(x, y - 1, z); if (!(block instanceof IBlockSoil)) { return; } - final IFlower flower = BotanyCore.getFlowerRoot().getConversion(event.itemInHand); + + IFlower flower = BotanyCore.getFlowerRoot().getConversion(event.itemInHand); if (flower != null) { Gardening.plant(world, x, y, z, flower, event.player.getGameProfile()); } } @Deprecated - public void onPlantVanilla(final PlayerInteractEvent event) { - if (!BinnieCore.proxy.isSimulating(event.world)) { + public void onPlantVanilla(PlayerInteractEvent event) { + if (!BinnieCore.proxy.isSimulating(event.world) || event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) { return; } - if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) { + if (event.entityPlayer == null || event.entityPlayer.getHeldItem() == null) { return; } - if (event.entityPlayer != null && event.entityPlayer.getHeldItem() != null) { - final World world = event.world; - final int x = event.x; - final int y = event.y; - final int z = event.z; - final Block block = world.getBlock(x, y, z); - int py = -1; - if (block instanceof IBlockSoil && (world.isAirBlock(x, y + 1, z) || world.getBlock(x, y, z).isReplaceable(world, x, y, z))) { - py = 1; - } - if (py >= 0) { - final IFlower flower = BotanyCore.getFlowerRoot().getConversion(event.entityPlayer.getHeldItem()); - if (flower != null && Gardening.plant(world, x, y + py, z, flower, event.entityPlayer.getGameProfile()) && !event.entityPlayer.capabilities.isCreativeMode) { - final ItemStack heldItem = event.entityPlayer.getHeldItem(); - --heldItem.stackSize; - } + + World world = event.world; + int x = event.x; + int y = event.y; + int z = event.z; + Block block = world.getBlock(x, y, z); + int py = -1; + if (block instanceof IBlockSoil && (world.isAirBlock(x, y + 1, z) || world.getBlock(x, y, z).isReplaceable(world, x, y, z))) { + py = 1; + } + + if (py >= 0) { + IFlower flower = BotanyCore.getFlowerRoot().getConversion(event.entityPlayer.getHeldItem()); + if (flower != null && Gardening.plant(world, x, y + py, z, flower, event.entityPlayer.getGameProfile()) && !event.entityPlayer.capabilities.isCreativeMode) { + ItemStack heldItem = event.entityPlayer.getHeldItem(); + --heldItem.stackSize; } } } @SubscribeEvent - public void onBonemeal(final BonemealEvent event) { - final Block block = event.world.getBlock(event.x, event.y, event.z); + public void onBonemeal(BonemealEvent event) { + Block block = event.world.getBlock(event.x, event.y, event.z); if (Gardening.isSoil(block)) { - final IBlockSoil soil = (IBlockSoil) block; + IBlockSoil soil = (IBlockSoil) block; if (soil.fertilise(event.world, event.x, event.y, event.z, EnumSoilType.LOAM)) { event.setResult(Event.Result.ALLOW); } } - final TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); + + TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); if (tile instanceof TileEntityFlower && ((TileEntityFlower) tile).onBonemeal()) { event.setResult(Event.Result.ALLOW); } @@ -302,8 +309,8 @@ public class Botany extends AbstractMod } @Mod.EventHandler - public void onIMC(final FMLInterModComms.IMCEvent event) { - for (final FMLInterModComms.IMCMessage message : event.getMessages()) { + public void onIMC(FMLInterModComms.IMCEvent event) { + for (FMLInterModComms.IMCMessage message : event.getMessages()) { if (message.key.equals("add-nutrient-fertiliser-1")) { ModuleGardening.queuedNutrientFertilisers.put(message.getItemStackValue(), 1); } @@ -325,8 +332,7 @@ public class Botany extends AbstractMod } } - public static class PacketHandler extends BinniePacketHandler - { + public static class PacketHandler extends BinniePacketHandler { public PacketHandler() { super(Botany.instance); } diff --git a/src/main/java/binnie/botany/CreativeTabBotany.java b/src/main/java/binnie/botany/CreativeTabBotany.java index ad860e38..ea7c4aaa 100644 --- a/src/main/java/binnie/botany/CreativeTabBotany.java +++ b/src/main/java/binnie/botany/CreativeTabBotany.java @@ -1,33 +1,27 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany; -import net.minecraft.item.Item; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; -public class CreativeTabBotany extends CreativeTabs -{ - public static CreativeTabs instance; - - @Override - public ItemStack getIconItemStack() { - return new ItemStack(Blocks.red_flower, 1, 5); - } +public class CreativeTabBotany extends CreativeTabs { + public static CreativeTabs instance = new CreativeTabBotany(); public CreativeTabBotany() { super("Botany"); } + @Override + public ItemStack getIconItemStack() { + return new ItemStack(Blocks.red_flower, 1, 5); + } + @Override public String getTranslatedTabLabel() { - return this.getTabLabel(); + return getTabLabel(); } @Override @@ -41,8 +35,4 @@ public class CreativeTabBotany extends CreativeTabs public Item getTabIconItem() { return Item.getItemFromBlock(Blocks.yellow_flower); } - - static { - CreativeTabBotany.instance = new CreativeTabBotany(); - } } diff --git a/src/main/java/binnie/botany/api/EnumAcidity.java b/src/main/java/binnie/botany/api/EnumAcidity.java index bab260b8..02b419ef 100644 --- a/src/main/java/binnie/botany/api/EnumAcidity.java +++ b/src/main/java/binnie/botany/api/EnumAcidity.java @@ -1,16 +1,11 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; -public enum EnumAcidity -{ +public enum EnumAcidity { Acid, Neutral, Alkaline; public String getID() { - return this.name().toLowerCase(); + return name().toLowerCase(); } } diff --git a/src/main/java/binnie/botany/api/EnumFlowerChromosome.java b/src/main/java/binnie/botany/api/EnumFlowerChromosome.java index 08321a5d..9a7a50ce 100644 --- a/src/main/java/binnie/botany/api/EnumFlowerChromosome.java +++ b/src/main/java/binnie/botany/api/EnumFlowerChromosome.java @@ -1,20 +1,15 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; -import forestry.api.genetics.IAlleleFloat; -import forestry.api.genetics.IAlleleTolerance; -import forestry.api.genetics.IAlleleArea; -import forestry.api.genetics.IAlleleInteger; import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.ISpeciesRoot; import forestry.api.genetics.IAllele; +import forestry.api.genetics.IAlleleArea; +import forestry.api.genetics.IAlleleFloat; +import forestry.api.genetics.IAlleleInteger; +import forestry.api.genetics.IAlleleTolerance; import forestry.api.genetics.IChromosomeType; +import forestry.api.genetics.ISpeciesRoot; -public enum EnumFlowerChromosome implements IChromosomeType -{ +public enum EnumFlowerChromosome implements IChromosomeType { SPECIES(IAlleleFlowerSpecies.class), PRIMARY(IAlleleInteger.class), SECONDARY(IAlleleInteger.class), @@ -30,18 +25,18 @@ public enum EnumFlowerChromosome implements IChromosomeType private Class cls; - private EnumFlowerChromosome(final Class cls) { + EnumFlowerChromosome(Class cls) { this.cls = cls; } @Override public Class getAlleleClass() { - return this.cls; + return cls; } @Override public String getName() { - return this.toString().toLowerCase(); + return toString().toLowerCase(); } @Override diff --git a/src/main/java/binnie/botany/api/EnumFlowerStage.java b/src/main/java/binnie/botany/api/EnumFlowerStage.java index f8410d37..621e19d2 100644 --- a/src/main/java/binnie/botany/api/EnumFlowerStage.java +++ b/src/main/java/binnie/botany/api/EnumFlowerStage.java @@ -1,28 +1,18 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; -public enum EnumFlowerStage -{ +public enum EnumFlowerStage { FLOWER("Flower"), SEED("Seed"), POLLEN("Pollen"), NONE("NONE"); - public static final EnumFlowerStage[] VALUES; - String name; + protected String name; - private EnumFlowerStage(final String name) { + EnumFlowerStage(String name) { this.name = name; } public String getName() { - return this.name; - } - - static { - VALUES = values(); + return name; } } diff --git a/src/main/java/binnie/botany/api/EnumMoisture.java b/src/main/java/binnie/botany/api/EnumMoisture.java index 8b75d10c..04bea46d 100644 --- a/src/main/java/binnie/botany/api/EnumMoisture.java +++ b/src/main/java/binnie/botany/api/EnumMoisture.java @@ -1,16 +1,11 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; -public enum EnumMoisture -{ +public enum EnumMoisture { Dry, Normal, Damp; public String getID() { - return this.name().toLowerCase(); + return name().toLowerCase(); } } diff --git a/src/main/java/binnie/botany/api/EnumSoilType.java b/src/main/java/binnie/botany/api/EnumSoilType.java index 3ef11b6e..b92e945b 100644 --- a/src/main/java/binnie/botany/api/EnumSoilType.java +++ b/src/main/java/binnie/botany/api/EnumSoilType.java @@ -1,16 +1,11 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; -public enum EnumSoilType -{ +public enum EnumSoilType { SOIL, LOAM, FLOWERBED; public String getID() { - return this.name().toLowerCase(); + return name().toLowerCase(); } } diff --git a/src/main/java/binnie/botany/api/IAlleleFlowerEffect.java b/src/main/java/binnie/botany/api/IAlleleFlowerEffect.java index 901510a5..7136a5ad 100644 --- a/src/main/java/binnie/botany/api/IAlleleFlowerEffect.java +++ b/src/main/java/binnie/botany/api/IAlleleFlowerEffect.java @@ -1,14 +1,9 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; -import net.minecraft.world.World; -import forestry.api.genetics.IEffectData; import forestry.api.genetics.IAlleleEffect; +import forestry.api.genetics.IEffectData; +import net.minecraft.world.World; -public interface IAlleleFlowerEffect extends IAlleleEffect -{ - IEffectData doEffect(final IFlowerGenome p0, final IEffectData p1, final World p2, final int p3, final int p4, final int p5); +public interface IAlleleFlowerEffect extends IAlleleEffect { + IEffectData doEffect(IFlowerGenome genome, IEffectData storedData, World world, int x, int y, int z); } diff --git a/src/main/java/binnie/botany/api/IAlleleFlowerSpecies.java b/src/main/java/binnie/botany/api/IAlleleFlowerSpecies.java index c147eb4f..b372c5a4 100644 --- a/src/main/java/binnie/botany/api/IAlleleFlowerSpecies.java +++ b/src/main/java/binnie/botany/api/IAlleleFlowerSpecies.java @@ -1,13 +1,8 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; import forestry.api.genetics.IAlleleSpecies; -public interface IAlleleFlowerSpecies extends IAlleleSpecies -{ +public interface IAlleleFlowerSpecies extends IAlleleSpecies { IFlowerType getType(); EnumAcidity getPH(); diff --git a/src/main/java/binnie/botany/api/IBotanistTracker.java b/src/main/java/binnie/botany/api/IBotanistTracker.java index 48a0a6bc..af68545b 100644 --- a/src/main/java/binnie/botany/api/IBotanistTracker.java +++ b/src/main/java/binnie/botany/api/IBotanistTracker.java @@ -1,11 +1,6 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; import forestry.api.genetics.IBreedingTracker; -public interface IBotanistTracker extends IBreedingTracker -{ +public interface IBotanistTracker extends IBreedingTracker { } diff --git a/src/main/java/binnie/botany/api/IColourMix.java b/src/main/java/binnie/botany/api/IColourMix.java index 6a0c3366..8a2498f8 100644 --- a/src/main/java/binnie/botany/api/IColourMix.java +++ b/src/main/java/binnie/botany/api/IColourMix.java @@ -1,18 +1,13 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; -public interface IColourMix -{ - IFlowerColour getColour1(); +public interface IColourMix { + IFlowerColor getColor1(); - IFlowerColour getColour2(); + IFlowerColor getColor2(); - boolean isMutation(final IFlowerColour p0, final IFlowerColour p1); + boolean isMutation(IFlowerColor color1, IFlowerColor color2); int getChance(); - IFlowerColour getResult(); + IFlowerColor getResult(); } diff --git a/src/main/java/binnie/botany/api/IFlower.java b/src/main/java/binnie/botany/api/IFlower.java index dd8eee6f..30069af3 100644 --- a/src/main/java/binnie/botany/api/IFlower.java +++ b/src/main/java/binnie/botany/api/IFlower.java @@ -1,38 +1,33 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; -import net.minecraft.world.World; import forestry.api.genetics.IIndividual; +import net.minecraft.world.World; -public interface IFlower extends IIndividual -{ +public interface IFlower extends IIndividual { @Override IFlowerGenome getGenome(); IFlowerGenome getMate(); - void mate(final IFlower p0); + void mate(IFlower other); int getAge(); + void setAge(int age); + void age(); - void setAge(final int p0); - - IFlower getOffspring(final World p0); + IFlower getOffspring(World world); int getMaxAge(); boolean isWilted(); - void setWilted(final boolean p0); + void setWilted(boolean value); boolean hasFlowered(); - void setFlowered(final boolean p0); + void setFlowered(boolean value); void removeMate(); } diff --git a/src/main/java/binnie/botany/api/IFlowerColour.java b/src/main/java/binnie/botany/api/IFlowerColor.java similarity index 56% rename from src/main/java/binnie/botany/api/IFlowerColour.java rename to src/main/java/binnie/botany/api/IFlowerColor.java index f8e9331f..bf3e4ddc 100644 --- a/src/main/java/binnie/botany/api/IFlowerColour.java +++ b/src/main/java/binnie/botany/api/IFlowerColor.java @@ -1,14 +1,9 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; import forestry.api.genetics.IAlleleInteger; -public interface IFlowerColour -{ - int getColor(final boolean p0); +public interface IFlowerColor { + int getColor(boolean dis); IAlleleInteger getAllele(); diff --git a/src/main/java/binnie/botany/api/IFlowerGenome.java b/src/main/java/binnie/botany/api/IFlowerGenome.java index b28e6d5f..139bf783 100644 --- a/src/main/java/binnie/botany/api/IFlowerGenome.java +++ b/src/main/java/binnie/botany/api/IFlowerGenome.java @@ -1,26 +1,21 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; import forestry.api.core.EnumTemperature; import forestry.api.genetics.EnumTolerance; import forestry.api.genetics.IGenome; -public interface IFlowerGenome extends IGenome -{ +public interface IFlowerGenome extends IGenome { @Override IAlleleFlowerSpecies getPrimary(); @Override IAlleleFlowerSpecies getSecondary(); - IFlowerColour getPrimaryColor(); + IFlowerColor getPrimaryColor(); - IFlowerColour getSecondaryColor(); + IFlowerColor getSecondaryColor(); - IFlowerColour getStemColor(); + IFlowerColor getStemColor(); int getFertility(); @@ -38,9 +33,9 @@ public interface IFlowerGenome extends IGenome float getSappiness(); - boolean canTolerate(final EnumAcidity p0); + boolean canTolerate(EnumAcidity pH); - boolean canTolerate(final EnumMoisture p0); + boolean canTolerate(EnumMoisture moisture); - boolean canTolerate(final EnumTemperature p0); + boolean canTolerate(EnumTemperature temp); } diff --git a/src/main/java/binnie/botany/api/IFlowerMutation.java b/src/main/java/binnie/botany/api/IFlowerMutation.java index bfe48b34..daf64082 100644 --- a/src/main/java/binnie/botany/api/IFlowerMutation.java +++ b/src/main/java/binnie/botany/api/IFlowerMutation.java @@ -1,14 +1,9 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; -import forestry.api.genetics.IGenome; import forestry.api.genetics.IAllele; +import forestry.api.genetics.IGenome; import forestry.api.genetics.IMutation; -public interface IFlowerMutation extends IMutation -{ - float getChance(final IAllele p0, final IAllele p1, final IGenome p2, final IGenome p3); +public interface IFlowerMutation extends IMutation { + float getChance(IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1); } diff --git a/src/main/java/binnie/botany/api/IFlowerRoot.java b/src/main/java/binnie/botany/api/IFlowerRoot.java index d2d8eca2..af09876e 100644 --- a/src/main/java/binnie/botany/api/IFlowerRoot.java +++ b/src/main/java/binnie/botany/api/IFlowerRoot.java @@ -1,48 +1,44 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; -import java.util.Collection; import com.mojang.authlib.GameProfile; -import net.minecraft.world.World; import forestry.api.genetics.IAllele; -import net.minecraft.item.ItemStack; import forestry.api.genetics.ISpeciesRoot; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; -public interface IFlowerRoot extends ISpeciesRoot -{ +import java.util.Collection; + +public interface IFlowerRoot extends ISpeciesRoot { @Override - IFlower getMember(final ItemStack p0); + IFlower getMember(ItemStack stack); @Override - IFlower templateAsIndividual(final IAllele[] p0); + IFlower templateAsIndividual(IAllele[] template); @Override - IFlower templateAsIndividual(final IAllele[] p0, final IAllele[] p1); + IFlower templateAsIndividual(IAllele[] templateActive, IAllele[] templateInactive); @Override - IFlowerGenome templateAsGenome(final IAllele[] p0); + IFlowerGenome templateAsGenome(IAllele[] template); @Override - IFlowerGenome templateAsGenome(final IAllele[] p0, final IAllele[] p1); + IFlowerGenome templateAsGenome(IAllele[] templateActive, IAllele[] templateInactive); @Override - IBotanistTracker getBreedingTracker(final World p0, final GameProfile p1); + IBotanistTracker getBreedingTracker(World world, GameProfile player); @Override - Collection getMutations(final boolean p0); + Collection getMutations(boolean shuffle); - EnumFlowerStage getStageType(final ItemStack p0); + EnumFlowerStage getStageType(ItemStack stack); - IFlower getFlower(final World p0, final IFlowerGenome p1); + IFlower getFlower(World world, IFlowerGenome genome); - void addConversion(final ItemStack p0, final IAllele[] p1); + void addConversion(ItemStack stack, IAllele[] template); - IFlower getConversion(final ItemStack p0); + IFlower getConversion(ItemStack stack); - Collection getColourMixes(final boolean p0); + Collection getColourMixes(boolean shuffle); - void registerColourMix(final IColourMix p0); + void registerColourMix(IColourMix colorMix); } diff --git a/src/main/java/binnie/botany/api/IFlowerType.java b/src/main/java/binnie/botany/api/IFlowerType.java index 1e34993b..2d11858d 100644 --- a/src/main/java/binnie/botany/api/IFlowerType.java +++ b/src/main/java/binnie/botany/api/IFlowerType.java @@ -1,18 +1,13 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api; import net.minecraft.util.IIcon; -public interface IFlowerType -{ - IIcon getStem(final EnumFlowerStage p0, final boolean p1, final int p2); +public interface IFlowerType { + IIcon getStem(EnumFlowerStage stage, boolean flowered, int section); - IIcon getPetalIcon(final EnumFlowerStage p0, final boolean p1, final int p2); + IIcon getPetalIcon(EnumFlowerStage stage, boolean flowered, int section); - IIcon getVariantIcon(final EnumFlowerStage p0, final boolean p1, final int p2); + IIcon getVariantIcon(EnumFlowerStage stage, boolean flowered, int section); int getID(); diff --git a/src/main/java/binnie/botany/api/gardening/IBlockSoil.java b/src/main/java/binnie/botany/api/gardening/IBlockSoil.java index 93368d7e..a5bbe59a 100644 --- a/src/main/java/binnie/botany/api/gardening/IBlockSoil.java +++ b/src/main/java/binnie/botany/api/gardening/IBlockSoil.java @@ -1,29 +1,24 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.api.gardening; -import binnie.botany.api.EnumSoilType; -import binnie.botany.api.EnumMoisture; import binnie.botany.api.EnumAcidity; +import binnie.botany.api.EnumMoisture; +import binnie.botany.api.EnumSoilType; import net.minecraft.world.World; -public interface IBlockSoil -{ - EnumAcidity getPH(final World p0, final int p1, final int p2, final int p3); +public interface IBlockSoil { + EnumAcidity getPH(World world, int x, int y, int z); - EnumMoisture getMoisture(final World p0, final int p1, final int p2, final int p3); + EnumMoisture getMoisture(World world, int x, int y, int z); - EnumSoilType getType(final World p0, final int p1, final int p2, final int p3); + EnumSoilType getType(World world, int x, int y, int z); - boolean fertilise(final World p0, final int p1, final int p2, final int p3, final EnumSoilType p4); + boolean fertilise(World world, int x, int y, int z, EnumSoilType maxLevel); - boolean degrade(final World p0, final int p1, final int p2, final int p3, final EnumSoilType p4); + boolean degrade(World world, int x, int y, int z, EnumSoilType minLevel); - boolean setPH(final World p0, final int p1, final int p2, final int p3, final EnumAcidity p4); + boolean setPH(World world, int x, int y, int z, EnumAcidity pH); - boolean setMoisture(final World p0, final int p1, final int p2, final int p3, final EnumMoisture p4); + boolean setMoisture(World world, int x, int y, int z, EnumMoisture p4); - boolean resistsWeeds(final World p0, final int p1, final int p2, final int p3); + boolean resistsWeeds(World world, int x, int y, int z); } diff --git a/src/main/java/binnie/botany/ceramic/BlockCeramic.java b/src/main/java/binnie/botany/ceramic/BlockCeramic.java index 37659e10..542c4bf4 100644 --- a/src/main/java/binnie/botany/ceramic/BlockCeramic.java +++ b/src/main/java/binnie/botany/ceramic/BlockCeramic.java @@ -1,7 +1,3 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.ceramic; import binnie.botany.Botany; @@ -29,120 +25,122 @@ import net.minecraftforge.common.util.ForgeDirection; import java.util.ArrayList; import java.util.List; -public class BlockCeramic extends Block implements IBlockMetadata -{ +public class BlockCeramic extends Block implements IBlockMetadata { public BlockCeramic() { super(Material.rock); - this.setHardness(1.0f); - this.setResistance(5.0f); - this.setBlockName("ceramic"); - this.setCreativeTab(CreativeTabBotany.instance); + setHardness(1.0f); + setResistance(5.0f); + setBlockName("ceramic"); + setCreativeTab(CreativeTabBotany.instance); } @Override - public ArrayList getDrops(final World world, final int x, final int y, final int z, final int blockMeta, final int fortune) { + public ArrayList getDrops(World world, int x, int y, int z, int blockMeta, int fortune) { return BlockMetadata.getBlockDropped(this, world, x, y, z, blockMeta); } + // TODO replace deprecated @Override - public boolean removedByPlayer(final World world, final EntityPlayer player, final int x, final int y, final int z) { + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z) { return BlockMetadata.breakBlock(this, player, world, x, y, z); } @Override - public TileEntity createNewTileEntity(final World var1, final int i) { + public TileEntity createNewTileEntity(World var1, int i) { return new TileEntityMetadata(); } @Override - public boolean hasTileEntity(final int meta) { + public boolean hasTileEntity(int meta) { return true; } @Override - public boolean onBlockEventReceived(final World par1World, final int par2, final int par3, final int par4, final int par5, final int par6) { - super.onBlockEventReceived(par1World, par2, par3, par4, par5, par6); - final TileEntity tileentity = par1World.getTileEntity(par2, par3, par4); - return tileentity != null && tileentity.receiveClientEvent(par5, par6); + public boolean onBlockEventReceived(World world, int x, int y, int z, int eventId, int eventType) { + super.onBlockEventReceived(world, x, y, z, eventId, eventType); + TileEntity tileentity = world.getTileEntity(x, y, z); + return tileentity != null && tileentity.receiveClientEvent(eventId, eventType); } @Override - public int getPlacedMeta(final ItemStack itemStack, final World world, final int x, final int y, final int z, final ForgeDirection direction) { + public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { return TileEntityMetadata.getItemDamage(itemStack); } @Override - public int getDroppedMeta(final int blockMeta, final int tileMeta) { + public int getDroppedMeta(int blockMeta, int tileMeta) { return tileMeta; } @Override - public String getBlockName(final ItemStack itemStack) { - final int meta = TileEntityMetadata.getItemDamage(itemStack); + public String getBlockName(ItemStack itemStack) { + int meta = TileEntityMetadata.getItemDamage(itemStack); return EnumFlowerColor.get(meta).getName() + " Ceramic Block"; } @Override - public void getBlockTooltip(final ItemStack itemStack, final List tooltip) { + public void getBlockTooltip(ItemStack itemStack, List tooltip) { + // ignored } @Override - public void dropAsStack(final World world, final int x, final int y, final int z, final ItemStack itemStack) { - this.dropBlockAsItem(world, x, y, z, itemStack); + public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { + dropBlockAsItem(world, x, y, z, itemStack); } @Override - public void getSubBlocks(final Item par1, final CreativeTabs par2CreativeTabs, final List itemList) { - for (final EnumFlowerColor c : EnumFlowerColor.values()) { + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List itemList) { + for (EnumFlowerColor c : EnumFlowerColor.values()) { itemList.add(TileEntityMetadata.getItemStack(this, c.ordinal())); } } @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(final IBlockAccess world, final int x, final int y, final int z, final int side) { - final TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); if (tile != null) { - return this.getIcon(side, tile.getTileMetadata()); + return getIcon(side, tile.getTileMetadata()); } return super.getIcon(world, x, y, z, side); } @Override - public IIcon getIcon(final int side, final int meta) { - return this.blockIcon; + public IIcon getIcon(int side, int meta) { + return blockIcon; } @Override @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister register) { - this.blockIcon = Botany.proxy.getIcon(register, "ceramic"); + public void registerBlockIcons(IIconRegister register) { + blockIcon = Botany.proxy.getIcon(register, "ceramic"); } @Override @SideOnly(Side.CLIENT) - public int colorMultiplier(final IBlockAccess world, final int x, final int y, final int z) { - final TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); if (tile != null) { - return this.getRenderColor(tile.getTileMetadata()); + return getRenderColor(tile.getTileMetadata()); } - return 16777215; + return 0xffffff; } @Override - public void breakBlock(final World par1World, final int par2, final int par3, final int par4, final Block par5, final int par6) { + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { super.breakBlock(par1World, par2, par3, par4, par5, par6); par1World.removeTileEntity(par2, par3, par4); } + // TODO remove deprecated @Override - public ItemStack getPickBlock(final MovingObjectPosition target, final World world, final int x, final int y, final int z) { + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { return BlockMetadata.getPickBlock(world, x, y, z); } @Override @SideOnly(Side.CLIENT) - public int getRenderColor(final int meta) { + public int getRenderColor(int meta) { return EnumFlowerColor.get(meta).getColor(false); } } diff --git a/src/main/java/binnie/botany/ceramic/BlockCeramicBrick.java b/src/main/java/binnie/botany/ceramic/BlockCeramicBrick.java index ccb9e59e..d188699d 100644 --- a/src/main/java/binnie/botany/ceramic/BlockCeramicBrick.java +++ b/src/main/java/binnie/botany/ceramic/BlockCeramicBrick.java @@ -1,114 +1,113 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.ceramic; +import binnie.botany.Botany; +import binnie.botany.CreativeTabBotany; +import binnie.botany.genetics.EnumFlowerColor; import binnie.botany.items.BotanyItems; import binnie.core.BinnieCore; -import net.minecraft.util.MovingObjectPosition; -import binnie.botany.Botany; -import net.minecraft.client.renderer.texture.IIconRegister; +import binnie.core.block.BlockMetadata; +import binnie.core.block.IBlockMetadata; +import binnie.core.block.IMultipassBlock; import binnie.core.block.MultipassBlockRenderer; +import binnie.core.block.TileEntityMetadata; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import binnie.botany.genetics.EnumFlowerColor; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import java.util.List; -import net.minecraftforge.common.util.ForgeDirection; -import binnie.core.block.TileEntityMetadata; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.entity.player.EntityPlayer; -import binnie.core.block.BlockMetadata; -import net.minecraft.item.ItemStack; -import java.util.ArrayList; -import net.minecraft.world.World; -import binnie.botany.CreativeTabBotany; -import net.minecraft.block.material.Material; -import binnie.core.block.IMultipassBlock; -import binnie.core.block.IBlockMetadata; import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; -public class BlockCeramicBrick extends Block implements IBlockMetadata, IMultipassBlock -{ +import java.util.ArrayList; +import java.util.List; + +public class BlockCeramicBrick extends Block implements IBlockMetadata, IMultipassBlock { public BlockCeramicBrick() { super(Material.rock); - this.setHardness(1.0f); - this.setResistance(5.0f); - this.setBlockName("ceramicBrick"); - this.setCreativeTab(CreativeTabBotany.instance); + setHardness(1.0f); + setResistance(5.0f); + setBlockName("ceramicBrick"); + setCreativeTab(CreativeTabBotany.instance); } - private static BlockType getType(final int meta) { + private static BlockType getType(int meta) { return new BlockType(meta); } @Override - public ArrayList getDrops(final World world, final int x, final int y, final int z, final int blockMeta, final int fortune) { + public ArrayList getDrops(World world, int x, int y, int z, int blockMeta, int fortune) { return BlockMetadata.getBlockDropped(this, world, x, y, z, blockMeta); } @Override - public boolean removedByPlayer(final World world, final EntityPlayer player, final int x, final int y, final int z) { + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z) { return BlockMetadata.breakBlock(this, player, world, x, y, z); } @Override - public TileEntity createNewTileEntity(final World var1, final int i) { + public TileEntity createNewTileEntity(World var1, int i) { return new TileEntityMetadata(); } @Override - public boolean hasTileEntity(final int meta) { + public boolean hasTileEntity(int meta) { return true; } @Override - public boolean onBlockEventReceived(final World par1World, final int par2, final int par3, final int par4, final int par5, final int par6) { - super.onBlockEventReceived(par1World, par2, par3, par4, par5, par6); - final TileEntity tileentity = par1World.getTileEntity(par2, par3, par4); - return tileentity != null && tileentity.receiveClientEvent(par5, par6); + public boolean onBlockEventReceived(World world, int x, int y, int z, int eventId, int eventType) { + super.onBlockEventReceived(world, x, y, z, eventId, eventType); + TileEntity tileentity = world.getTileEntity(x, y, z); + return tileentity != null && tileentity.receiveClientEvent(eventId, eventType); } @Override - public int getPlacedMeta(final ItemStack itemStack, final World world, final int x, final int y, final int z, final ForgeDirection direction) { + public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { return TileEntityMetadata.getItemDamage(itemStack); } @Override - public int getDroppedMeta(final int blockMeta, final int tileMeta) { + public int getDroppedMeta(int blockMeta, int tileMeta) { return tileMeta; } @Override - public String getBlockName(final ItemStack itemStack) { - final int meta = TileEntityMetadata.getItemDamage(itemStack); + public String getBlockName(ItemStack itemStack) { + int meta = TileEntityMetadata.getItemDamage(itemStack); return getType(meta).getName(); } @Override - public void getBlockTooltip(final ItemStack itemStack, final List tooltip) { + public void getBlockTooltip(ItemStack itemStack, List tooltip) { + // ignored } @Override - public void dropAsStack(final World world, final int x, final int y, final int z, final ItemStack itemStack) { - this.dropBlockAsItem(world, x, y, z, itemStack); + public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { + dropBlockAsItem(world, x, y, z, itemStack); } @Override - public void getSubBlocks(final Item par1, final CreativeTabs par2CreativeTabs, final List itemList) { - for (final EnumFlowerColor c : EnumFlowerColor.values()) { - final BlockType type = new BlockType(c, c, TileType.Tile); + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List itemList) { + for (EnumFlowerColor c : EnumFlowerColor.values()) { + BlockType type = new BlockType(c, c, TileType.Tile); itemList.add(TileEntityMetadata.getItemStack(this, type.ordinal())); } - for (final TileType type2 : TileType.values()) { + + for (TileType type2 : TileType.values()) { if (type2.canDouble()) { itemList.add(new BlockType(EnumFlowerColor.Brown, EnumFlowerColor.Gold, type2).getStack(1)); } } + itemList.add(new BlockType(EnumFlowerColor.Gold, EnumFlowerColor.Gold, TileType.Split).getStack(1)); itemList.add(new BlockType(EnumFlowerColor.Brown, EnumFlowerColor.Brown, TileType.Chequered).getStack(1)); itemList.add(new BlockType(EnumFlowerColor.Gold, EnumFlowerColor.Brown, TileType.LargeBrick).getStack(1)); @@ -116,23 +115,23 @@ public class BlockCeramicBrick extends Block implements IBlockMetadata, IMultipa @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(final IBlockAccess world, final int x, final int y, final int z, final int side) { - final TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); if (tile != null) { - return this.getIcon(side, tile.getTileMetadata()); + return getIcon(side, tile.getTileMetadata()); } return super.getIcon(world, x, y, z, side); } @Override - public IIcon getIcon(final int side, final int meta) { + public IIcon getIcon(int side, int meta) { return getType(meta).getIcon(MultipassBlockRenderer.getLayer()); } @Override @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister register) { - for (final TileType type : TileType.values()) { + public void registerBlockIcons(IIconRegister register) { + for (TileType type : TileType.values()) { for (int i = 0; i < 3; ++i) { type.icons[i] = Botany.proxy.getIcon(register, "ceramic." + type.id + "." + i); } @@ -141,29 +140,29 @@ public class BlockCeramicBrick extends Block implements IBlockMetadata, IMultipa @Override @SideOnly(Side.CLIENT) - public int colorMultiplier(final IBlockAccess world, final int x, final int y, final int z) { - final TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); if (tile != null) { - return this.getRenderColor(tile.getTileMetadata()); + return getRenderColor(tile.getTileMetadata()); } return 16777215; } @Override - public void breakBlock(final World par1World, final int par2, final int par3, final int par4, final Block par5, final int par6) { - super.breakBlock(par1World, par2, par3, par4, par5, par6); - par1World.removeTileEntity(par2, par3, par4); + public void breakBlock(World world, int x, int y, int z, Block block, int side) { + super.breakBlock(world, x, y, z, block, side); + world.removeTileEntity(x, y, z); } @Override - public ItemStack getPickBlock(final MovingObjectPosition target, final World world, final int x, final int y, final int z) { + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { return BlockMetadata.getPickBlock(world, x, y, z); } @Override @SideOnly(Side.CLIENT) - public int getRenderColor(final int meta) { - return this.colorMultiplier(meta); + public int getRenderColor(int meta) { + return colorMultiplier(meta); } @Override @@ -172,10 +171,10 @@ public class BlockCeramicBrick extends Block implements IBlockMetadata, IMultipa } @Override - public int colorMultiplier(final int meta) { - final BlockType type = getType(meta); + public int colorMultiplier(int meta) { + BlockType type = getType(meta); if (MultipassBlockRenderer.getLayer() == 0) { - return 16777215; + return 0xffffff; } if (MultipassBlockRenderer.getLayer() == 1) { return type.color1.getColor(false); @@ -188,8 +187,7 @@ public class BlockCeramicBrick extends Block implements IBlockMetadata, IMultipa return BinnieCore.multipassRenderID; } - public enum TileType - { + public enum TileType { Tile("tile", "Ceramic Tile"), Brick("brick", "Ceramic Bricks"), StripeBrick("brickstripe", "Striped Ceramic Bricks"), @@ -201,17 +199,17 @@ public class BlockCeramicBrick extends Block implements IBlockMetadata, IMultipa VerticalStripeBrick("verticalbrickstripe", "Vertical Striped Ceramic Bricks"), VerticalLargeBrick("verticalbricklarge", "Large Vertical Ceramic Bricks"); - String id; - String name; - IIcon[] icons; + protected String id; + protected String name; + protected IIcon[] icons; - private TileType(final String id, final String name) { - this.icons = new IIcon[3]; + TileType(String id, String name) { + icons = new IIcon[3]; this.id = id; this.name = name; } - public static TileType get(final int id) { + public static TileType get(int id) { return values()[id % values().length]; } @@ -219,311 +217,330 @@ public class BlockCeramicBrick extends Block implements IBlockMetadata, IMultipa return this != TileType.Tile; } - public ItemStack getRecipe(final List stacks) { + public ItemStack getRecipe(List stacks) { switch (this) { - case Tile: { - if (stacks.size() != 4) { - return null; - } - int mortars = 0; - int blocks = 0; - int blockColor = -1; - for (final ItemStack stack : stacks) { - if (this.isMortar(stack)) { - ++mortars; - } - else { - if (stack.getItem() != Item.getItemFromBlock(Botany.ceramic)) { - return null; - } - ++blocks; - final int color = TileEntityMetadata.getItemDamage(stack); - if (blockColor == -1) { - blockColor = color; - } - else { - if (blockColor != color) { - return null; - } - continue; - } - } - } - if (mortars != 1) { - return null; - } - final EnumFlowerColor c = EnumFlowerColor.get(blockColor); - return new BlockType(c, c, TileType.Tile).getStack(3); - } - case Split: { - if (stacks.size() != 4) { - return null; - } - final int[] colors = { -1, -1 }; - int altCounter = 0; - for (final ItemStack stack2 : stacks) { - final int alt = (altCounter != 0 && altCounter != 3) ? 1 : 0; - if (stack2.getItem() != Item.getItemFromBlock(Botany.ceramicBrick)) { - return null; - } - final BlockType type = new BlockType(stack2); - if (type.type != TileType.Tile) { - return null; - } - final int color2 = type.color1.ordinal(); - if (colors[alt] == -1) { - colors[alt] = color2; - } - else if (colors[alt] != color2) { - return null; - } - ++altCounter; - } - return new BlockType(EnumFlowerColor.get(colors[0]), EnumFlowerColor.get(colors[1]), TileType.Split).getStack(4); - } - case Chequered: { - if (stacks.size() != 4) { - return null; - } - final int[] colors = { -1, -1 }; - for (final ItemStack stack2 : stacks) { - if (stack2.getItem() != Item.getItemFromBlock(Botany.ceramicBrick)) { - return null; - } - final BlockType type2 = new BlockType(stack2); - if (type2.type != TileType.Split) { - return null; - } - final int color3 = type2.color1.ordinal(); - final int color4 = type2.color2.ordinal(); - if (colors[0] == -1) { - colors[0] = color3; - colors[1] = color4; - } - else { - if (colors[0] != color3 || colors[1] != color4) { - return null; - } - continue; - } - } - return new BlockType(EnumFlowerColor.get(colors[0]), EnumFlowerColor.get(colors[1]), TileType.Chequered).getStack(4); - } - case Mixed: { - if (stacks.size() != 4) { - return null; - } - final int[] colors = { -1, -1 }; - for (int index = 0; index < stacks.size(); ++index) { - final ItemStack stack2 = stacks.get(index); - if (stack2.getItem() != Item.getItemFromBlock(Botany.ceramicBrick)) { - return null; - } - final BlockType type2 = new BlockType(stack2); - if (type2.isTwoColors()) { - return null; - } - final int color3 = type2.color1.ordinal(); - if (type2.type == TileType.Split) { - if (colors[1] != -1) { - return null; - } - colors[1] = color3; - } - else { - if (type2.type != TileType.Chequered) { - return null; - } - if (colors[0] == -1) { - colors[0] = color3; - } - else if (colors[0] != color3) { - return null; - } - } - final int color4 = type2.color2.ordinal(); - } - if (colors[0] == -1 || colors[1] == -1) { - return null; - } - return new BlockType(EnumFlowerColor.get(colors[0]), EnumFlowerColor.get(colors[1]), TileType.Mixed).getStack(4); - } - case LargeBrick: { - if (stacks.size() == 1) { - final ItemStack stack3 = stacks.get(0); - final BlockType type3 = new BlockType(stack3); - if (type3.type == TileType.VerticalLargeBrick) { - type3.type = this; - return type3.getStack(1); - } - return null; - } - else { - if (stacks.size() != 3) { - return null; - } - final int[] colors = { -1, -1 }; - int a = 0; - int b = 0; - for (int index2 = 0; index2 < stacks.size(); ++index2) { - final ItemStack stack4 = stacks.get(index2); - if (stack4.getItem() != Item.getItemFromBlock(Botany.ceramicBrick)) { - return null; - } - final BlockType type4 = new BlockType(stack4); - if (type4.type != TileType.Tile) { - return null; - } - final int color5 = type4.color1.ordinal(); - if (colors[0] == -1) { - colors[0] = color5; - ++a; - } - else if (colors[0] == color5) { - ++a; - } - else if (colors[1] == -1) { - colors[1] = color5; - ++b; - } - else { - if (colors[1] != color5) { - return null; - } - ++b; - } - } - if (colors[1] == -1) { - colors[1] = colors[0]; - } - return new BlockType(EnumFlowerColor.get(colors[0]), EnumFlowerColor.get(colors[1]), TileType.LargeBrick).getStack(3); - } - } - case Brick: - case StripeBrick: { - if (stacks.size() == 1) { - final ItemStack stack5 = stacks.get(0); - final BlockType type = new BlockType(stack5); - if (type.type == TileType.VerticalBrick) { - type.type = this; - return type.getStack(1); - } - if (type.type == TileType.StripeBrick) { - type.type = this; - return type.getStack(1); - } - return null; - } - else { - if (stacks.size() != 4) { - return null; - } - final int[] colors = { -1, -1 }; - for (int index2 = 0; index2 < stacks.size(); ++index2) { - final ItemStack stack4 = stacks.get(index2); - if (stack4.getItem() != Item.getItemFromBlock(Botany.ceramicBrick)) { - return null; - } - final BlockType type4 = new BlockType(stack4); - if (type4.type != TileType.LargeBrick) { - return null; - } - final int color5 = type4.color1.ordinal(); - final int color6 = type4.color2.ordinal(); - int alt2 = (index2 != 0 && index2 != 3) ? 1 : 0; - if (this == TileType.StripeBrick) { - alt2 = 0; - } - if (colors[alt2] == -1) { - colors[alt2] = color5; - colors[1 - alt2] = color6; - } - else if (colors[alt2] != color5 || colors[1 - alt2] != color6) { - return null; - } - } - return new BlockType(EnumFlowerColor.get(colors[0]), EnumFlowerColor.get(colors[1]), this).getStack(4); - } - } - case VerticalLargeBrick: - case VerticalBrick: - case VerticalStripeBrick: { - if (stacks.size() != 1) { - return null; - } - final ItemStack stack5 = stacks.get(0); - final BlockType type = new BlockType(stack5); - if (type.type == TileType.LargeBrick) { - type.type = TileType.VerticalLargeBrick; - return type.getStack(1); - } - if (type.type == TileType.Brick) { - type.type = TileType.VerticalBrick; - return type.getStack(1); - } - if (type.type == TileType.StripeBrick) { - type.type = TileType.VerticalStripeBrick; - return type.getStack(1); - } - return null; - } - default: { - return null; - } + case Tile: + return getTileRecipe(stacks); + + case Split: + return getSplitRecipe(stacks); + + case Chequered: + return getChequeredRecipe(stacks); + + case Mixed: + return getMixedRecipe(stacks); + + case LargeBrick: + return getLargeBrickRecipe(stacks); + + case Brick: + case StripeBrick: + return getBrickRecipe(stacks); + + case VerticalLargeBrick: + case VerticalBrick: + case VerticalStripeBrick: + return getVerticalBrickRecipe(stacks); } + return null; } - private boolean isMortar(final ItemStack stack) { - return stack.getItem() == Botany.misc && stack.getItemDamage() == BotanyItems.Mortar.ordinal(); + private ItemStack getTileRecipe(List stacks) { + if (stacks.size() != 4) { + return null; + } + + int mortars = 0; + int blockColor = -1; + for (ItemStack stack : stacks) { + if (isMortar(stack)) { + mortars++; + } else { + if (stack.getItem() != Item.getItemFromBlock(Botany.ceramic)) { + return null; + } + + int color = TileEntityMetadata.getItemDamage(stack); + if (blockColor == -1) { + blockColor = color; + } else if (blockColor != color) { + return null; + } + } + } + + if (mortars != 1) { + return null; + } + EnumFlowerColor c = EnumFlowerColor.get(blockColor); + return new BlockType(c, c, TileType.Tile).getStack(3); + } + + private ItemStack getSplitRecipe(List stacks) { + if (stacks.size() != 4) { + return null; + } + + int[] colors = {-1, -1}; + int altCounter = 0; + for (ItemStack stack : stacks) { + int alt = (altCounter != 0 && altCounter != 3) ? 1 : 0; + if (stack.getItem() != Item.getItemFromBlock(Botany.ceramicBrick)) { + return null; + } + + BlockType type = new BlockType(stack); + if (type.type != TileType.Tile) { + return null; + } + + int color2 = type.color1.ordinal(); + if (colors[alt] == -1) { + colors[alt] = color2; + } else if (colors[alt] != color2) { + return null; + } + altCounter++; + } + return new BlockType(EnumFlowerColor.get(colors[0]), EnumFlowerColor.get(colors[1]), TileType.Split).getStack(4); + } + + private ItemStack getChequeredRecipe(List stacks) { + if (stacks.size() != 4) { + return null; + } + + int[] colors = {-1, -1}; + for (ItemStack stack : stacks) { + if (stack.getItem() != Item.getItemFromBlock(Botany.ceramicBrick)) { + return null; + } + + BlockType type2 = new BlockType(stack); + if (type2.type != TileType.Split) { + return null; + } + + int color1 = type2.color1.ordinal(); + int color2 = type2.color2.ordinal(); + if (colors[0] == -1) { + colors[0] = color1; + colors[1] = color2; + } else if (colors[0] != color1 || colors[1] != color2) { + return null; + } + } + return new BlockType(EnumFlowerColor.get(colors[0]), EnumFlowerColor.get(colors[1]), TileType.Chequered).getStack(4); + } + + private ItemStack getMixedRecipe(List stacks) { + if (stacks.size() != 4) { + return null; + } + + int[] colors = {-1, -1}; + for (ItemStack stack : stacks) { + if (stack.getItem() != Item.getItemFromBlock(Botany.ceramicBrick)) { + return null; + } + + BlockType type2 = new BlockType(stack); + if (type2.isTwoColors()) { + return null; + } + + int color3 = type2.color1.ordinal(); + if (type2.type == TileType.Split) { + if (colors[1] != -1) { + return null; + } + colors[1] = color3; + } else { + if (type2.type != TileType.Chequered) { + return null; + } + + if (colors[0] == -1) { + colors[0] = color3; + } else if (colors[0] != color3) { + return null; + } + } + } + + if (colors[0] == -1 || colors[1] == -1) { + return null; + } + return new BlockType(EnumFlowerColor.get(colors[0]), EnumFlowerColor.get(colors[1]), TileType.Mixed).getStack(4); + } + + private ItemStack getLargeBrickRecipe(List stacks) { + if (stacks.size() == 1) { + ItemStack stack3 = stacks.get(0); + BlockType type3 = new BlockType(stack3); + if (type3.type == TileType.VerticalLargeBrick) { + type3.type = this; + return type3.getStack(1); + } + return null; + } + + if (stacks.size() != 3) { + return null; + } + + int[] colors = {-1, -1}; + for (ItemStack stack4 : stacks) { + if (stack4.getItem() != Item.getItemFromBlock(Botany.ceramicBrick)) { + return null; + } + + BlockType type4 = new BlockType(stack4); + if (type4.type != TileType.Tile) { + return null; + } + + int color5 = type4.color1.ordinal(); + if (colors[0] == -1) { + colors[0] = color5; + } else if (colors[1] == -1) { + colors[1] = color5; + } else if (colors[1] != color5) { + return null; + } + } + + if (colors[1] == -1) { + colors[1] = colors[0]; + } + return new BlockType(EnumFlowerColor.get(colors[0]), EnumFlowerColor.get(colors[1]), TileType.LargeBrick).getStack(3); + } + + private ItemStack getBrickRecipe(List stacks) { + if (stacks.size() == 1) { + ItemStack stack5 = stacks.get(0); + BlockType type = new BlockType(stack5); + if (type.type == TileType.VerticalBrick) { + type.type = this; + return type.getStack(1); + } + + if (type.type == TileType.StripeBrick) { + type.type = this; + return type.getStack(1); + } + return null; + } + + if (stacks.size() != 4) { + return null; + } + + int[] colors = {-1, -1}; + for (int index2 = 0; index2 < stacks.size(); ++index2) { + ItemStack stack4 = stacks.get(index2); + if (stack4.getItem() != Item.getItemFromBlock(Botany.ceramicBrick)) { + return null; + } + + BlockType type4 = new BlockType(stack4); + if (type4.type != TileType.LargeBrick) { + return null; + } + + int color5 = type4.color1.ordinal(); + int color6 = type4.color2.ordinal(); + int alt2 = (index2 != 0 && index2 != 3) ? 1 : 0; + if (this == TileType.StripeBrick) { + alt2 = 0; + } + + if (colors[alt2] == -1) { + colors[alt2] = color5; + colors[1 - alt2] = color6; + } else if (colors[alt2] != color5 || colors[1 - alt2] != color6) { + return null; + } + } + return new BlockType(EnumFlowerColor.get(colors[0]), EnumFlowerColor.get(colors[1]), this).getStack(4); + } + + private ItemStack getVerticalBrickRecipe(List stacks) { + if (stacks.size() != 1) { + return null; + } + + ItemStack stack5 = stacks.get(0); + BlockType type = new BlockType(stack5); + if (type.type == TileType.LargeBrick) { + type.type = TileType.VerticalLargeBrick; + return type.getStack(1); + } + + if (type.type == TileType.Brick) { + type.type = TileType.VerticalBrick; + return type.getStack(1); + } + + if (type.type == TileType.StripeBrick) { + type.type = TileType.VerticalStripeBrick; + return type.getStack(1); + } + return null; + } + + private boolean isMortar(ItemStack stack) { + return stack.getItem() == Botany.misc + && stack.getItemDamage() == BotanyItems.Mortar.ordinal(); } } - public static class BlockType - { - EnumFlowerColor color1; - EnumFlowerColor color2; - TileType type; + public static class BlockType { + protected EnumFlowerColor color1; + protected EnumFlowerColor color2; + protected TileType type; - private BlockType(final EnumFlowerColor color1, final EnumFlowerColor color2, final TileType type) { + private BlockType(EnumFlowerColor color1, EnumFlowerColor color2, TileType type) { this.color1 = color1; this.color2 = color2; this.type = type; } public boolean isTwoColors() { - return this.type.canDouble() && this.color2 != this.color1; + return type.canDouble() && color2 != color1; } - public BlockType(final ItemStack stack) { + public BlockType(ItemStack stack) { this(TileEntityMetadata.getItemDamage(stack)); } - public ItemStack getStack(final int i) { - final ItemStack s = TileEntityMetadata.getItemStack(Botany.ceramicBrick, this.ordinal()); - s.stackSize = i; - return s; + public ItemStack getStack(int stackSize) { + ItemStack stack = TileEntityMetadata.getItemStack(Botany.ceramicBrick, ordinal()); + stack.stackSize = stackSize; + return stack; } - public BlockType(final int id) { - this.color1 = EnumFlowerColor.get(id & 0xFF); - this.color2 = EnumFlowerColor.get(id >> 8 & 0xFF); - this.type = TileType.get(id >> 16 & 0xFF); + public BlockType(int id) { + color1 = EnumFlowerColor.get(id & 0xFF); + color2 = EnumFlowerColor.get(id >> 8 & 0xFF); + type = TileType.get(id >> 16 & 0xFF); } public String getName() { - String name = this.color1.getName(); - if (this.type.canDouble() && this.color2 != this.color1) { - name = name + " & " + this.color2.getName(); + String name = color1.getName(); + if (type.canDouble() && color2 != color1) { + name = name + " & " + color2.getName(); } - return name + " " + this.type.name; + return name + " " + type.name; } public int ordinal() { - return this.color1.ordinal() + this.color2.ordinal() * 256 + this.type.ordinal() * 256 * 256; + return color1.ordinal() + color2.ordinal() * 256 + type.ordinal() * 256 * 256; } - public IIcon getIcon(final int layer) { - return this.type.icons[layer]; + public IIcon getIcon(int layer) { + return type.icons[layer]; } } } diff --git a/src/main/java/binnie/botany/ceramic/BlockCeramicPatterned.java b/src/main/java/binnie/botany/ceramic/BlockCeramicPatterned.java index 15a9a548..2b036711 100644 --- a/src/main/java/binnie/botany/ceramic/BlockCeramicPatterned.java +++ b/src/main/java/binnie/botany/ceramic/BlockCeramicPatterned.java @@ -1,35 +1,30 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.ceramic; +import binnie.botany.CreativeTabBotany; +import binnie.botany.genetics.EnumFlowerColor; +import binnie.extratrees.api.IDesign; +import binnie.extratrees.carpentry.BlockDesign; import binnie.extratrees.carpentry.DesignBlock; import binnie.extratrees.carpentry.ModuleCarpentry; -import binnie.botany.genetics.EnumFlowerColor; -import net.minecraft.item.ItemStack; -import binnie.extratrees.api.IDesign; -import binnie.botany.CreativeTabBotany; import net.minecraft.block.material.Material; -import binnie.extratrees.carpentry.BlockDesign; +import net.minecraft.item.ItemStack; -public class BlockCeramicPatterned extends BlockDesign -{ +public class BlockCeramicPatterned extends BlockDesign { public BlockCeramicPatterned() { super(CeramicDesignSystem.instance, Material.rock); - this.setHardness(1.0f); - this.setResistance(5.0f); - this.setCreativeTab(CreativeTabBotany.instance); - this.setBlockName("ceramicPattern"); + setHardness(1.0f); + setResistance(5.0f); + setCreativeTab(CreativeTabBotany.instance); + setBlockName("ceramicPattern"); } @Override - public ItemStack getCreativeStack(final IDesign design) { + public ItemStack getCreativeStack(IDesign design) { return ModuleCarpentry.getItemStack(this, CeramicColor.get(EnumFlowerColor.White), CeramicColor.get(EnumFlowerColor.Black), design); } @Override - public String getBlockName(final DesignBlock design) { + public String getBlockName(DesignBlock design) { return design.getDesign().getName() + " Ceramic Block"; } } diff --git a/src/main/java/binnie/botany/ceramic/BlockStained.java b/src/main/java/binnie/botany/ceramic/BlockStained.java index 3b8302ba..87bd7c4d 100644 --- a/src/main/java/binnie/botany/ceramic/BlockStained.java +++ b/src/main/java/binnie/botany/ceramic/BlockStained.java @@ -1,7 +1,3 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.ceramic; import binnie.botany.Botany; @@ -21,7 +17,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.Facing; import net.minecraft.util.IIcon; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.IBlockAccess; @@ -32,16 +27,15 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; -public class BlockStained extends Block implements IBlockMetadata -{ +public class BlockStained extends Block implements IBlockMetadata { public BlockStained() { super(Material.glass); - this.setCreativeTab(CreativeTabBotany.instance); - this.setBlockName("stained"); + setCreativeTab(CreativeTabBotany.instance); + setBlockName("stained"); } @Override - public int quantityDropped(final Random p_149745_1_) { + public int quantityDropped(Random rand) { return 0; } @@ -63,136 +57,140 @@ public class BlockStained extends Block implements IBlockMetadata @Override @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(final IBlockAccess p_149646_1_, final int p_149646_2_, final int p_149646_3_, final int p_149646_4_, final int p_149646_5_) { - final Block block2 = p_149646_1_.getBlock(p_149646_2_ - Facing.offsetsXForSide[p_149646_5_], p_149646_3_ - Facing.offsetsYForSide[p_149646_5_], p_149646_4_ - Facing.offsetsZForSide[p_149646_5_]); - final Block block3 = p_149646_1_.getBlock(p_149646_2_, p_149646_3_, p_149646_4_); - return block3 != this && block3 != ExtraTrees.blockStained && super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_); + public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { +// Block block2 = world.getBlock(x - Facing.offsetsXForSide[side], y - Facing.offsetsYForSide[side], z - Facing.offsetsZForSide[side]); + Block block3 = world.getBlock(x, y, z); + return block3 != this + && block3 != ExtraTrees.blockStained + && super.shouldSideBeRendered(world, x, y, z, side); } @Override - public ArrayList getDrops(final World world, final int x, final int y, final int z, final int blockMeta, final int fortune) { + public ArrayList getDrops(World world, int x, int y, int z, int blockMeta, int fortune) { return BlockMetadata.getBlockDropped(this, world, x, y, z, blockMeta); } + // TODO remove deprecated @Override - public boolean removedByPlayer(final World world, final EntityPlayer player, final int x, final int y, final int z) { + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z) { return BlockMetadata.breakBlock(this, player, world, x, y, z); } @Override - public TileEntity createNewTileEntity(final World var1, final int i) { + public TileEntity createNewTileEntity(World var1, int i) { return new TileEntityMetadata(); } @Override - public boolean hasTileEntity(final int meta) { + public boolean hasTileEntity(int meta) { return true; } @Override - public boolean onBlockEventReceived(final World par1World, final int par2, final int par3, final int par4, final int par5, final int par6) { - super.onBlockEventReceived(par1World, par2, par3, par4, par5, par6); - final TileEntity tileentity = par1World.getTileEntity(par2, par3, par4); - return tileentity != null && tileentity.receiveClientEvent(par5, par6); + public boolean onBlockEventReceived(World world, int x, int y, int z, int eventId, int eventType) { + super.onBlockEventReceived(world, x, y, z, eventId, eventType); + TileEntity tileentity = world.getTileEntity(x, y, z); + return tileentity != null && tileentity.receiveClientEvent(eventId, eventType); } @Override - public int getPlacedMeta(final ItemStack itemStack, final World world, final int x, final int y, final int z, final ForgeDirection direction) { + public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { return TileEntityMetadata.getItemDamage(itemStack); } @Override - public int getDroppedMeta(final int blockMeta, final int tileMeta) { + public int getDroppedMeta(int blockMeta, int tileMeta) { return tileMeta; } @Override - public String getBlockName(final ItemStack itemStack) { - final int meta = TileEntityMetadata.getItemDamage(itemStack); + public String getBlockName(ItemStack itemStack) { + int meta = TileEntityMetadata.getItemDamage(itemStack); return EnumFlowerColor.get(meta).getName() + " Pigmented Glass"; } @Override - public void getBlockTooltip(final ItemStack itemStack, final List tooltip) { + public void getBlockTooltip(ItemStack itemStack, List tooltip) { + // ignored } @Override - public void dropAsStack(final World world, final int x, final int y, final int z, final ItemStack itemStack) { - this.dropBlockAsItem(world, x, y, z, itemStack); + public void dropAsStack(World world, int x, int y, int z, ItemStack stack) { + dropBlockAsItem(world, x, y, z, stack); } @Override - public void getSubBlocks(final Item par1, final CreativeTabs par2CreativeTabs, final List itemList) { - for (final EnumFlowerColor c : EnumFlowerColor.values()) { + public void getSubBlocks(Item item, CreativeTabs tab, List itemList) { + for (EnumFlowerColor c : EnumFlowerColor.values()) { itemList.add(TileEntityMetadata.getItemStack(this, c.ordinal())); } } @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(final IBlockAccess world, final int x, final int y, final int z, final int side) { - final TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); if (tile != null) { - return this.getIcon(side, tile.getTileMetadata()); + return getIcon(side, tile.getTileMetadata()); } return super.getIcon(world, x, y, z, side); } @Override - public IIcon getIcon(final int side, final int meta) { - return this.blockIcon; + public IIcon getIcon(int side, int meta) { + return blockIcon; } @Override @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister register) { - this.blockIcon = Botany.proxy.getIcon(register, "stained"); + public void registerBlockIcons(IIconRegister register) { + blockIcon = Botany.proxy.getIcon(register, "stained"); } @Override @SideOnly(Side.CLIENT) - public int colorMultiplier(final IBlockAccess world, final int x, final int y, final int z) { - final TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); if (tile != null) { - return this.getRenderColor(tile.getTileMetadata()); + return getRenderColor(tile.getTileMetadata()); } return 16777215; } @Override - public void breakBlock(final World par1World, final int par2, final int par3, final int par4, final Block par5, final int par6) { - super.breakBlock(par1World, par2, par3, par4, par5, par6); - par1World.removeTileEntity(par2, par3, par4); + public void breakBlock(World world, int x, int y, int z, Block block, int side) { + super.breakBlock(world, x, y, z, block, side); + world.removeTileEntity(x, y, z); } @Override - public boolean isWood(final IBlockAccess world, final int x, final int y, final int z) { + public boolean isWood(IBlockAccess world, int x, int y, int z) { return true; } @Override - public int getFlammability(final IBlockAccess world, final int x, final int y, final int z, final ForgeDirection face) { + public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { return 20; } @Override - public boolean isFlammable(final IBlockAccess world, final int x, final int y, final int z, final ForgeDirection face) { + public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { return true; } @Override - public int getFireSpreadSpeed(final IBlockAccess world, final int x, final int y, final int z, final ForgeDirection face) { + public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { return 5; } @Override - public ItemStack getPickBlock(final MovingObjectPosition target, final World world, final int x, final int y, final int z) { + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { return BlockMetadata.getPickBlock(world, x, y, z); } @Override @SideOnly(Side.CLIENT) - public int getRenderColor(final int meta) { + public int getRenderColor(int meta) { return EnumFlowerColor.get(meta).getColor(false); } } diff --git a/src/main/java/binnie/botany/ceramic/CeramicColor.java b/src/main/java/binnie/botany/ceramic/CeramicColor.java index 26cb9b07..b875b7a2 100644 --- a/src/main/java/binnie/botany/ceramic/CeramicColor.java +++ b/src/main/java/binnie/botany/ceramic/CeramicColor.java @@ -1,49 +1,46 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.ceramic; -import java.util.LinkedHashMap; -import binnie.core.block.TileEntityMetadata; import binnie.botany.Botany; -import net.minecraft.item.ItemStack; -import java.util.Map; import binnie.botany.genetics.EnumFlowerColor; +import binnie.core.block.TileEntityMetadata; import binnie.extratrees.api.IDesignMaterial; +import net.minecraft.item.ItemStack; -public class CeramicColor implements IDesignMaterial -{ - EnumFlowerColor color; +import java.util.LinkedHashMap; +import java.util.Map; + +public class CeramicColor implements IDesignMaterial { static Map map; - CeramicColor(final EnumFlowerColor color) { + static { + CeramicColor.map = new LinkedHashMap<>(); + for (EnumFlowerColor c : EnumFlowerColor.values()) { + CeramicColor.map.put(c, new CeramicColor(c)); + } + } + + protected EnumFlowerColor color; + + CeramicColor(EnumFlowerColor color) { this.color = color; } - public static CeramicColor get(final EnumFlowerColor c) { + public static CeramicColor get(EnumFlowerColor c) { return CeramicColor.map.get(c); } @Override public ItemStack getStack() { - return TileEntityMetadata.getItemStack(Botany.ceramic, this.color.ordinal()); + return TileEntityMetadata.getItemStack(Botany.ceramic, color.ordinal()); } @Override public String getName() { - return this.color.getName(); + return color.getName(); } @Override public int getColour() { - return this.color.getColor(false); - } - - static { - CeramicColor.map = new LinkedHashMap(); - for (final EnumFlowerColor c : EnumFlowerColor.values()) { - CeramicColor.map.put(c, new CeramicColor(c)); - } + return color.getColor(false); } } diff --git a/src/main/java/binnie/botany/ceramic/CeramicDesignSystem.java b/src/main/java/binnie/botany/ceramic/CeramicDesignSystem.java index aacd27c0..9a224663 100644 --- a/src/main/java/binnie/botany/ceramic/CeramicDesignSystem.java +++ b/src/main/java/binnie/botany/ceramic/CeramicDesignSystem.java @@ -1,36 +1,32 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.ceramic; -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import binnie.botany.items.BotanyItems; -import net.minecraft.item.ItemStack; import binnie.botany.Botany; +import binnie.botany.genetics.EnumFlowerColor; +import binnie.botany.items.BotanyItems; import binnie.core.AbstractMod; import binnie.core.BinnieCore; -import net.minecraft.client.renderer.texture.IIconRegister; -import binnie.extratrees.carpentry.EnumPattern; -import binnie.extratrees.api.IPattern; -import binnie.botany.genetics.EnumFlowerColor; import binnie.extratrees.api.IDesignMaterial; -import binnie.extratrees.carpentry.DesignerManager; -import java.util.HashMap; -import net.minecraft.util.IIcon; -import java.util.Map; import binnie.extratrees.api.IDesignSystem; +import binnie.extratrees.api.IPattern; +import binnie.extratrees.carpentry.DesignerManager; +import binnie.extratrees.carpentry.EnumPattern; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; -public class CeramicDesignSystem implements IDesignSystem -{ - public static CeramicDesignSystem instance; - Map primary; - Map secondary; +import java.util.HashMap; +import java.util.Map; + +public class CeramicDesignSystem implements IDesignSystem { + public static CeramicDesignSystem instance = new CeramicDesignSystem(); + + protected Map primary; + protected Map secondary; CeramicDesignSystem() { - this.primary = new HashMap(); - this.secondary = new HashMap(); + primary = new HashMap<>(); + secondary = new HashMap<>(); DesignerManager.instance.registerDesignSystem(this); } @@ -45,12 +41,12 @@ public class CeramicDesignSystem implements IDesignSystem } @Override - public IDesignMaterial getMaterial(final int id) { + public IDesignMaterial getMaterial(int id) { return CeramicColor.get(EnumFlowerColor.get(id)); } @Override - public int getMaterialIndex(final IDesignMaterial id) { + public int getMaterialIndex(IDesignMaterial id) { return ((CeramicColor) id).color.ordinal(); } @@ -59,26 +55,26 @@ public class CeramicDesignSystem implements IDesignSystem } @Override - public IIcon getPrimaryIcon(final IPattern pattern) { + public IIcon getPrimaryIcon(IPattern pattern) { if (pattern instanceof EnumPattern) { - return this.primary.get(((EnumPattern) pattern).ordinal()); + return primary.get(((EnumPattern) pattern).ordinal()); } return null; } @Override - public IIcon getSecondaryIcon(final IPattern pattern) { + public IIcon getSecondaryIcon(IPattern pattern) { if (pattern instanceof EnumPattern) { - return this.secondary.get(((EnumPattern) pattern).ordinal()); + return secondary.get(((EnumPattern) pattern).ordinal()); } return null; } @Override - public void registerIcons(final IIconRegister register) { - for (final EnumPattern pattern : EnumPattern.values()) { - this.primary.put(pattern.ordinal(), BinnieCore.proxy.getIcon(register, this.getMod().getModID(), this.getTexturePath() + "/" + pattern.toString().toLowerCase() + ".0")); - this.secondary.put(pattern.ordinal(), BinnieCore.proxy.getIcon(register, this.getMod().getModID(), this.getTexturePath() + "/" + pattern.toString().toLowerCase() + ".1")); + public void registerIcons(IIconRegister register) { + for (EnumPattern pattern : EnumPattern.values()) { + primary.put(pattern.ordinal(), BinnieCore.proxy.getIcon(register, getMod().getModID(), getTexturePath() + "/" + pattern.toString().toLowerCase() + ".0")); + secondary.put(pattern.ordinal(), BinnieCore.proxy.getIcon(register, getMod().getModID(), getTexturePath() + "/" + pattern.toString().toLowerCase() + ".1")); } } @@ -92,11 +88,7 @@ public class CeramicDesignSystem implements IDesignSystem } @Override - public IDesignMaterial getMaterial(final ItemStack itemStack) { - return (itemStack.getItem() == Item.getItemFromBlock(Botany.ceramic)) ? this.getMaterial(itemStack.getItemDamage()) : null; - } - - static { - CeramicDesignSystem.instance = new CeramicDesignSystem(); + public IDesignMaterial getMaterial(ItemStack stack) { + return (stack.getItem() == Item.getItemFromBlock(Botany.ceramic)) ? getMaterial(stack.getItemDamage()) : null; } } diff --git a/src/main/java/binnie/botany/ceramic/CeramicTileRecipe.java b/src/main/java/binnie/botany/ceramic/CeramicTileRecipe.java index d77dcfe8..5425441b 100644 --- a/src/main/java/binnie/botany/ceramic/CeramicTileRecipe.java +++ b/src/main/java/binnie/botany/ceramic/CeramicTileRecipe.java @@ -1,43 +1,39 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.ceramic; -import java.util.List; -import java.util.ArrayList; -import net.minecraft.block.Block; -import net.minecraft.item.Item; import binnie.botany.Botany; -import net.minecraft.world.World; import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; +import net.minecraft.world.World; -public class CeramicTileRecipe implements IRecipe -{ - ItemStack cached; +import java.util.ArrayList; +import java.util.List; + +public class CeramicTileRecipe implements IRecipe { + protected ItemStack cached; @Override - public boolean matches(final InventoryCrafting inv, final World world) { - this.cached = this.getCraftingResult(inv); - return this.cached != null; + public boolean matches(InventoryCrafting crafting, World world) { + cached = getCraftingResult(crafting); + return cached != null; } @Override - public ItemStack getCraftingResult(final InventoryCrafting inv) { - final Item ceramicBlock = Item.getItemFromBlock(Botany.ceramic); - final Item ceramicTile = Item.getItemFromBlock(Botany.ceramicTile); - final Item ceramicBrick = Item.getItemFromBlock(Botany.ceramicBrick); - final Item mortar = Botany.misc; - final List stacks = new ArrayList(); + public ItemStack getCraftingResult(InventoryCrafting inv) { + Item ceramicBlock = Item.getItemFromBlock(Botany.ceramic); + Item ceramicTile = Item.getItemFromBlock(Botany.ceramicTile); + Item ceramicBrick = Item.getItemFromBlock(Botany.ceramicBrick); + Item mortar = Botany.misc; + List stacks = new ArrayList<>(); int ix = -1; int iy = -1; + for (int i = 0; i < inv.getSizeInventory(); ++i) { - final ItemStack stack = inv.getStackInSlot(i); + ItemStack stack = inv.getStackInSlot(i); if (stack != null) { - final int x = i / 3; - final int y = i % 3; + int x = i / 3; + int y = i % 3; if (ix == -1) { ix = x; iy = y; @@ -45,14 +41,17 @@ public class CeramicTileRecipe implements IRecipe if (x - ix >= 2 || y - iy >= 2 || y < iy || x < ix) { return null; } - if (stack.getItem() != ceramicBlock && stack.getItem() != ceramicTile && stack.getItem() != ceramicBrick && stack.getItem() != mortar) { + + Item item = stack.getItem(); + if (item != ceramicBlock && item != ceramicTile && item != ceramicBrick && item != mortar) { return null; } stacks.add(stack); } } - for (final BlockCeramicBrick.TileType type : BlockCeramicBrick.TileType.values()) { - final ItemStack stack2 = type.getRecipe(stacks); + + for (BlockCeramicBrick.TileType type : BlockCeramicBrick.TileType.values()) { + ItemStack stack2 = type.getRecipe(stacks); if (stack2 != null) { return stack2; } @@ -67,6 +66,6 @@ public class CeramicTileRecipe implements IRecipe @Override public ItemStack getRecipeOutput() { - return this.cached; + return cached; } } diff --git a/src/main/java/binnie/botany/ceramic/ItemCeramic.java b/src/main/java/binnie/botany/ceramic/ItemCeramic.java index 39c26448..86007faf 100644 --- a/src/main/java/binnie/botany/ceramic/ItemCeramic.java +++ b/src/main/java/binnie/botany/ceramic/ItemCeramic.java @@ -1,24 +1,20 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.ceramic; +import binnie.core.block.ItemMetadata; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.item.ItemStack; import net.minecraft.block.Block; -import binnie.core.block.ItemMetadata; +import net.minecraft.item.ItemStack; -public class ItemCeramic extends ItemMetadata -{ - public ItemCeramic(final Block block) { +// TODO unused class? +public class ItemCeramic extends ItemMetadata { + public ItemCeramic(Block block) { super(block); } @Override @SideOnly(Side.CLIENT) - public int getColorFromItemStack(final ItemStack stack, final int p_82790_2_) { - return 16711935; + public int getColorFromItemStack(ItemStack stack, int renderPass) { + return 0xff00ff; } } diff --git a/src/main/java/binnie/botany/ceramic/PigmentRecipe.java b/src/main/java/binnie/botany/ceramic/PigmentRecipe.java index ff330f2f..0b936172 100644 --- a/src/main/java/binnie/botany/ceramic/PigmentRecipe.java +++ b/src/main/java/binnie/botany/ceramic/PigmentRecipe.java @@ -1,42 +1,36 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.ceramic; -import binnie.botany.api.IFlower; -import net.minecraft.item.Item; -import binnie.botany.Botany; import binnie.Binnie; -import net.minecraft.world.World; +import binnie.botany.Botany; +import binnie.botany.api.IFlower; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; +import net.minecraft.world.World; -public class PigmentRecipe implements IRecipe -{ - private final ItemStack unknown; +public class PigmentRecipe implements IRecipe { + private ItemStack unknown; ItemStack cached; public PigmentRecipe() { - this.unknown = null; + unknown = null; } @Override - public boolean matches(final InventoryCrafting crafting, final World world) { - return this.getCraftingResult(crafting) != null; + public boolean matches(InventoryCrafting crafting, World world) { + return getCraftingResult(crafting) != null; } @Override public ItemStack getRecipeOutput() { - if (this.cached != null) { - return this.cached; + if (cached != null) { + return cached; } - return this.unknown; + return unknown; } @Override - public ItemStack getCraftingResult(final InventoryCrafting crafting) { + public ItemStack getCraftingResult(InventoryCrafting crafting) { int n = 0; ItemStack stack = null; for (int i = 0; i < crafting.getSizeInventory(); ++i) { @@ -44,11 +38,13 @@ public class PigmentRecipe implements IRecipe if (++n > 1) { return null; } - if (Binnie.Genetics.getFlowerRoot().isMember(crafting.getStackInSlot(i))) { - final IFlower flower = Binnie.Genetics.getFlowerRoot().getMember(crafting.getStackInSlot(i)); - if (flower.getAge() >= 1) { - stack = new ItemStack(Botany.pigment, 1, flower.getGenome().getPrimaryColor().getID()); - } + if (!Binnie.Genetics.getFlowerRoot().isMember(crafting.getStackInSlot(i))) { + continue; + } + + IFlower flower = Binnie.Genetics.getFlowerRoot().getMember(crafting.getStackInSlot(i)); + if (flower.getAge() >= 1) { + stack = new ItemStack(Botany.pigment, 1, flower.getGenome().getPrimaryColor().getID()); } } } diff --git a/src/main/java/binnie/botany/core/BotanyCore.java b/src/main/java/binnie/botany/core/BotanyCore.java index 92a32b6b..15d7a560 100644 --- a/src/main/java/binnie/botany/core/BotanyCore.java +++ b/src/main/java/binnie/botany/core/BotanyCore.java @@ -1,22 +1,12 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.core; -import binnie.botany.genetics.FlowerHelper; import binnie.botany.api.IFlowerRoot; +import binnie.botany.genetics.FlowerHelper; -public class BotanyCore -{ - public static final int CHANCE_INTERPOLLINATION = 20; - public static IFlowerRoot speciesRoot; +public class BotanyCore { + public static IFlowerRoot speciesRoot = new FlowerHelper(); public static IFlowerRoot getFlowerRoot() { return BotanyCore.speciesRoot; } - - static { - BotanyCore.speciesRoot = new FlowerHelper(); - } } diff --git a/src/main/java/binnie/botany/core/BotanyGUI.java b/src/main/java/binnie/botany/core/BotanyGUI.java index cb87ead3..b14b9189 100644 --- a/src/main/java/binnie/botany/core/BotanyGUI.java +++ b/src/main/java/binnie/botany/core/BotanyGUI.java @@ -1,37 +1,27 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.core; -import net.minecraft.tileentity.TileEntity; import binnie.botany.craftgui.WindowBotanistDatabase; -import net.minecraft.inventory.IInventory; import binnie.core.craftgui.minecraft.Window; -import cpw.mods.fml.relauncher.Side; -import net.minecraft.world.World; -import net.minecraft.entity.player.EntityPlayer; import binnie.core.gui.IBinnieGUID; +import cpw.mods.fml.relauncher.Side; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; -public enum BotanyGUI implements IBinnieGUID -{ +public enum BotanyGUI implements IBinnieGUID { Database, DatabaseNEI; @Override - public Window getWindow(final EntityPlayer player, final World world, final int x, final int y, final int z, final Side side) { + public Window getWindow(EntityPlayer player, World world, int x, int y, int z, Side side) { Window window = null; - final TileEntity tileEntity = world.getTileEntity(x, y, z); - IInventory object = null; - if (tileEntity instanceof IInventory) { - object = (IInventory) tileEntity; - } switch (this) { - case Database: - case DatabaseNEI: { - window = WindowBotanistDatabase.create(player, side, this != BotanyGUI.Database); - break; - } + case Database: + case DatabaseNEI: { + window = WindowBotanistDatabase.create(player, side, this != BotanyGUI.Database); + break; + } } return window; } diff --git a/src/main/java/binnie/botany/core/BotanyTexture.java b/src/main/java/binnie/botany/core/BotanyTexture.java index 15bbb3de..354dbf14 100644 --- a/src/main/java/binnie/botany/core/BotanyTexture.java +++ b/src/main/java/binnie/botany/core/BotanyTexture.java @@ -1,28 +1,25 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.core; -import binnie.extrabees.ExtraBees; import binnie.Binnie; import binnie.core.resource.BinnieResource; -import binnie.core.resource.ResourceType; import binnie.core.resource.IBinnieTexture; +import binnie.core.resource.ResourceType; +import binnie.extrabees.ExtraBees; -public enum BotanyTexture implements IBinnieTexture -{ +// TODO unused class? +public enum BotanyTexture implements IBinnieTexture { ; - String texture; - ResourceType type; - private BotanyTexture(final ResourceType base, final String texture) { + protected String texture; + protected ResourceType type; + + BotanyTexture(ResourceType base, String texture) { this.texture = texture; - this.type = base; + type = base; } @Override public BinnieResource getTexture() { - return Binnie.Resource.getPNG(ExtraBees.instance, this.type, this.texture); + return Binnie.Resource.getPNG(ExtraBees.instance, type, texture); } } diff --git a/src/main/java/binnie/botany/core/ModuleCore.java b/src/main/java/binnie/botany/core/ModuleCore.java index 3a0e8fb1..c08ac83a 100644 --- a/src/main/java/binnie/botany/core/ModuleCore.java +++ b/src/main/java/binnie/botany/core/ModuleCore.java @@ -1,36 +1,33 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.core; -import binnie.botany.api.EnumSoilType; -import binnie.botany.api.EnumMoisture; -import binnie.botany.Botany; import binnie.Binnie; +import binnie.botany.Botany; import binnie.botany.api.EnumAcidity; +import binnie.botany.api.EnumMoisture; +import binnie.botany.api.EnumSoilType; import binnie.core.IInitializable; -public class ModuleCore implements IInitializable -{ +public class ModuleCore implements IInitializable { @Override public void preInit() { - for (final EnumAcidity pH : EnumAcidity.values()) { + for (EnumAcidity pH : EnumAcidity.values()) { Binnie.Language.addObjectName(pH, Binnie.Language.unlocalised(Botany.instance, "ph." + pH.getID())); } - for (final EnumMoisture pH2 : EnumMoisture.values()) { + for (EnumMoisture pH2 : EnumMoisture.values()) { Binnie.Language.addObjectName(pH2, Binnie.Language.unlocalised(Botany.instance, "moisture." + pH2.getID())); } - for (final EnumSoilType pH3 : EnumSoilType.values()) { + for (EnumSoilType pH3 : EnumSoilType.values()) { Binnie.Language.addObjectName(pH3, Binnie.Language.unlocalised(Botany.instance, "soil." + pH3.getID())); } } @Override public void init() { + // ignored } @Override public void postInit() { + // ignored } } diff --git a/src/main/java/binnie/botany/craftgui/ControlColorDisplay.java b/src/main/java/binnie/botany/craftgui/ControlColorDisplay.java new file mode 100644 index 00000000..e6f8b4c5 --- /dev/null +++ b/src/main/java/binnie/botany/craftgui/ControlColorDisplay.java @@ -0,0 +1,41 @@ +package binnie.botany.craftgui; + +import binnie.botany.api.IFlowerColor; +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.controls.core.IControlValue; + +public class ControlColorDisplay extends Control implements IControlValue, ITooltip { + IFlowerColor value; + + public ControlColorDisplay(IWidget parent, float x, float y) { + super(parent, x, y, 16.0f, 16.0f); + addAttribute(WidgetAttribute.MouseOver); + } + + @Override + public IFlowerColor getValue() { + return value; + } + + @Override + public void setValue(IFlowerColor value) { + this.value = value; + } + + @Override + public void onRenderBackground() { + CraftGUI.Render.solid(getArea(), -1); + CraftGUI.Render.solid(getArea().inset(1), 0xff000000 + getValue().getColor(false)); + } + + @Override + public void getTooltip(Tooltip tooltip) { + super.getTooltip(tooltip); + tooltip.add(value.getName()); + } +} diff --git a/src/main/java/binnie/botany/craftgui/ControlColorMixBox.java b/src/main/java/binnie/botany/craftgui/ControlColorMixBox.java new file mode 100644 index 00000000..d5c29cfc --- /dev/null +++ b/src/main/java/binnie/botany/craftgui/ControlColorMixBox.java @@ -0,0 +1,25 @@ +package binnie.botany.craftgui; + +import binnie.botany.api.IColourMix; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.listbox.ControlListBox; + +public class ControlColorMixBox extends ControlListBox { + private int index; + private Type type; + + public ControlColorMixBox(IWidget parent, int x, int y, int width, int height, Type type) { + super(parent, x, y, width, height, 12.0f); + this.type = type; + } + + @Override + public IWidget createOption(IColourMix value, int y) { + return new ControlColorMixItem(this.getContent(), value, y); + } + + enum Type { + Resultant, + Further + } +} diff --git a/src/main/java/binnie/botany/craftgui/ControlColorMixItem.java b/src/main/java/binnie/botany/craftgui/ControlColorMixItem.java new file mode 100644 index 00000000..67e49549 --- /dev/null +++ b/src/main/java/binnie/botany/craftgui/ControlColorMixItem.java @@ -0,0 +1,32 @@ +package binnie.botany.craftgui; + +import binnie.botany.api.IColourMix; +import binnie.core.craftgui.controls.listbox.ControlList; +import binnie.core.craftgui.controls.listbox.ControlOption; +import binnie.core.craftgui.database.WindowAbstractDatabase; +import binnie.core.genetics.BreedingSystem; + +public class ControlColorMixItem extends ControlOption { + ControlColorDisplay itemWidget1; + ControlColorDisplay itemWidget2; + ControlColorDisplay itemWidget3; + ControlColourMixSymbol addSymbol; + ControlColourMixSymbol arrowSymbol; + + public ControlColorMixItem(ControlList controlList, IColourMix option, int y) { + super(controlList, option, y); + itemWidget1 = new ControlColorDisplay(this, 4.0f, 4.0f); + itemWidget2 = new ControlColorDisplay(this, 44.0f, 4.0f); + itemWidget3 = new ControlColorDisplay(this, 104.0f, 4.0f); + addSymbol = new ControlColourMixSymbol(this, 24, 4, 0); + arrowSymbol = new ControlColourMixSymbol(this, 64, 4, 1); + BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); + if (getValue() != null) { + itemWidget1.setValue(getValue().getColor1()); + itemWidget2.setValue(getValue().getColor2()); + itemWidget3.setValue(getValue().getResult()); + addSymbol.setValue(getValue()); + arrowSymbol.setValue(getValue()); + } + } +} diff --git a/src/main/java/binnie/botany/craftgui/ControlColorOption.java b/src/main/java/binnie/botany/craftgui/ControlColorOption.java new file mode 100644 index 00000000..843285ee --- /dev/null +++ b/src/main/java/binnie/botany/craftgui/ControlColorOption.java @@ -0,0 +1,28 @@ +package binnie.botany.craftgui; + +import binnie.botany.api.IFlowerColor; +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; + +public class ControlColorOption extends ControlTextOption { + ControlColorDisplay controlBee; + IPoint boxPosition; + + public ControlColorOption(ControlList controlList, IFlowerColor option, int y) { + super(controlList, option, option.getName(), y); + setSize(new IPoint(getSize().x(), 20.0f)); + (controlBee = new ControlColorDisplay(this, 2.0f, 2.0f)).setValue(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)); + boxPosition = new IPoint(2.0f, (height - 18) / 2); + } +} diff --git a/src/main/java/binnie/botany/craftgui/ControlColourDisplay.java b/src/main/java/binnie/botany/craftgui/ControlColourDisplay.java deleted file mode 100644 index 7dfefd24..00000000 --- a/src/main/java/binnie/botany/craftgui/ControlColourDisplay.java +++ /dev/null @@ -1,46 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.botany.craftgui; - -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.core.craftgui.controls.core.IControlValue; -import binnie.core.craftgui.controls.core.Control; - -public class ControlColourDisplay extends Control implements IControlValue, ITooltip -{ - IFlowerColour value; - - public ControlColourDisplay(final IWidget parent, final float x, final float y) { - super(parent, x, y, 16.0f, 16.0f); - this.addAttribute(WidgetAttribute.MouseOver); - } - - @Override - public IFlowerColour getValue() { - return this.value; - } - - @Override - public void setValue(final IFlowerColour value) { - this.value = value; - } - - @Override - public void onRenderBackground() { - CraftGUI.Render.solid(this.getArea(), -1); - CraftGUI.Render.solid(this.getArea().inset(1), -16777216 + this.getValue().getColor(false)); - } - - @Override - public void getTooltip(final Tooltip tooltip) { - super.getTooltip(tooltip); - tooltip.add(this.value.getName()); - } -} diff --git a/src/main/java/binnie/botany/craftgui/ControlColourMixBox.java b/src/main/java/binnie/botany/craftgui/ControlColourMixBox.java deleted file mode 100644 index 07149ea2..00000000 --- a/src/main/java/binnie/botany/craftgui/ControlColourMixBox.java +++ /dev/null @@ -1,33 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.botany.craftgui; - -import binnie.core.craftgui.controls.scroll.ControlScrollableContent; -import binnie.core.craftgui.controls.listbox.ControlList; -import binnie.core.craftgui.IWidget; -import binnie.botany.api.IColourMix; -import binnie.core.craftgui.controls.listbox.ControlListBox; - -public class ControlColourMixBox extends ControlListBox -{ - private int index; - private Type type; - - @Override - public IWidget createOption(final IColourMix value, final int y) { - return new ControlColourMixItem(((ControlScrollableContent>) this).getContent(), value, y); - } - - public ControlColourMixBox(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.type = type; - } - - enum Type - { - Resultant, - Further; - } -} diff --git a/src/main/java/binnie/botany/craftgui/ControlColourMixItem.java b/src/main/java/binnie/botany/craftgui/ControlColourMixItem.java deleted file mode 100644 index 64f0b798..00000000 --- a/src/main/java/binnie/botany/craftgui/ControlColourMixItem.java +++ /dev/null @@ -1,37 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.botany.craftgui; - -import binnie.core.genetics.BreedingSystem; -import binnie.core.craftgui.database.WindowAbstractDatabase; -import binnie.core.craftgui.controls.listbox.ControlList; -import binnie.botany.api.IColourMix; -import binnie.core.craftgui.controls.listbox.ControlOption; - -public class ControlColourMixItem extends ControlOption -{ - ControlColourDisplay itemWidget1; - ControlColourDisplay itemWidget2; - ControlColourDisplay itemWidget3; - ControlColourMixSymbol addSymbol; - ControlColourMixSymbol arrowSymbol; - - public ControlColourMixItem(final ControlList controlList, final IColourMix option, final int y) { - super(controlList, option, y); - this.itemWidget1 = new ControlColourDisplay(this, 4.0f, 4.0f); - this.itemWidget2 = new ControlColourDisplay(this, 44.0f, 4.0f); - this.itemWidget3 = new ControlColourDisplay(this, 104.0f, 4.0f); - this.addSymbol = new ControlColourMixSymbol(this, 24, 4, 0); - this.arrowSymbol = new ControlColourMixSymbol(this, 64, 4, 1); - final BreedingSystem system = ((WindowAbstractDatabase) this.getSuperParent()).getBreedingSystem(); - if (this.getValue() != null) { - this.itemWidget1.setValue(this.getValue().getColour1()); - this.itemWidget2.setValue(this.getValue().getColour2()); - this.itemWidget3.setValue(this.getValue().getResult()); - this.addSymbol.setValue(this.getValue()); - this.arrowSymbol.setValue(this.getValue()); - } - } -} diff --git a/src/main/java/binnie/botany/craftgui/ControlColourMixSymbol.java b/src/main/java/binnie/botany/craftgui/ControlColourMixSymbol.java index 5cd57cf4..d366ab1a 100644 --- a/src/main/java/binnie/botany/craftgui/ControlColourMixSymbol.java +++ b/src/main/java/binnie/botany/craftgui/ControlColourMixSymbol.java @@ -1,61 +1,56 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.craftgui; -import binnie.core.craftgui.resource.minecraft.StandardTexture; -import binnie.core.craftgui.resource.minecraft.CraftGUITextureSheet; +import binnie.botany.api.IColourMix; +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.IWidget; -import binnie.core.craftgui.geometry.IPoint; -import binnie.core.craftgui.CraftGUI; -import binnie.botany.api.IColourMix; -import binnie.core.craftgui.resource.Texture; -import binnie.core.craftgui.ITooltip; import binnie.core.craftgui.controls.core.Control; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.resource.Texture; +import binnie.core.craftgui.resource.minecraft.CraftGUITextureSheet; +import binnie.core.craftgui.resource.minecraft.StandardTexture; -public class ControlColourMixSymbol extends Control implements ITooltip -{ +public class ControlColourMixSymbol extends Control implements ITooltip { static Texture MutationPlus; static Texture MutationArrow; - IColourMix value; - int type; - - @Override - public void onRenderBackground() { - super.onRenderBackground(); - if (this.type == 0) { - CraftGUI.Render.texture(ControlColourMixSymbol.MutationPlus, IPoint.ZERO); - } - else { - CraftGUI.Render.texture(ControlColourMixSymbol.MutationArrow, IPoint.ZERO); - } - } - - protected ControlColourMixSymbol(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(WidgetAttribute.MouseOver); - } - - public void setValue(final IColourMix value) { - this.value = value; - this.setColor(16777215); - } - - @Override - public void getTooltip(final Tooltip tooltip) { - if (this.type == 1) { - final float chance = this.value.getChance(); - tooltip.add("Current Chance - " + chance + "%"); - } - } static { ControlColourMixSymbol.MutationPlus = new StandardTexture(2, 94, 16, 16, CraftGUITextureSheet.Controls2); ControlColourMixSymbol.MutationArrow = new StandardTexture(20, 94, 32, 16, CraftGUITextureSheet.Controls2); } + + IColourMix value; + int type; + + protected ControlColourMixSymbol(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); + } + + @Override + public void onRenderBackground() { + super.onRenderBackground(); + if (type == 0) { + CraftGUI.Render.texture(ControlColourMixSymbol.MutationPlus, IPoint.ZERO); + } else { + CraftGUI.Render.texture(ControlColourMixSymbol.MutationArrow, IPoint.ZERO); + } + } + + public void setValue(IColourMix value) { + this.value = value; + setColor(16777215); + } + + @Override + public void getTooltip(Tooltip tooltip) { + if (type == 1) { + float chance = value.getChance(); + tooltip.add("Current Chance - " + chance + "%"); + } + } } diff --git a/src/main/java/binnie/botany/craftgui/ControlColourOption.java b/src/main/java/binnie/botany/craftgui/ControlColourOption.java deleted file mode 100644 index c7ada06a..00000000 --- a/src/main/java/binnie/botany/craftgui/ControlColourOption.java +++ /dev/null @@ -1,33 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.botany.craftgui; - -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.core.craftgui.controls.listbox.ControlTextOption; - -public class ControlColourOption extends ControlTextOption -{ - ControlColourDisplay controlBee; - IPoint boxPosition; - - public ControlColourOption(final ControlList controlList, final IFlowerColour option, final int y) { - 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(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()); - 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.boxPosition = new IPoint(2.0f, (height - 18) / 2); - } -} diff --git a/src/main/java/binnie/botany/craftgui/PageColorMixResultant.java b/src/main/java/binnie/botany/craftgui/PageColorMixResultant.java new file mode 100644 index 00000000..875f4066 --- /dev/null +++ b/src/main/java/binnie/botany/craftgui/PageColorMixResultant.java @@ -0,0 +1,35 @@ +package binnie.botany.craftgui; + +import binnie.botany.api.IColourMix; +import binnie.botany.api.IFlowerColor; +import binnie.botany.core.BotanyCore; +import binnie.core.craftgui.IWidget; +import binnie.core.craftgui.controls.ControlText; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.database.DatabaseTab; +import binnie.core.craftgui.database.PageAbstract; + +import java.util.ArrayList; +import java.util.List; + +public class PageColorMixResultant extends PageAbstract { + protected ControlText pageSpeciesFurtherTitle; + protected ControlColorMixBox pageSpeciesFurtherList; + + public PageColorMixResultant(IWidget parent, DatabaseTab tab) { + super(parent, tab); + pageSpeciesFurtherTitle = new ControlTextCentered(this, 8.0f, "Resultant Mixes"); + pageSpeciesFurtherList = new ControlColorMixBox(this, 4, 20, 136, 152, ControlColorMixBox.Type.Resultant); + } + + @Override + public void onValueChanged(IFlowerColor color) { + List mixes = new ArrayList<>(); + for (IColourMix mix : BotanyCore.getFlowerRoot().getColourMixes(false)) { + if (mix.getResult() == color) { + mixes.add(mix); + } + } + pageSpeciesFurtherList.setOptions(mixes); + } +} diff --git a/src/main/java/binnie/botany/craftgui/PageColourMix.java b/src/main/java/binnie/botany/craftgui/PageColourMix.java index 32aff27c..65ebb852 100644 --- a/src/main/java/binnie/botany/craftgui/PageColourMix.java +++ b/src/main/java/binnie/botany/craftgui/PageColourMix.java @@ -1,39 +1,35 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.craftgui; -import java.util.List; -import binnie.botany.core.BotanyCore; import binnie.botany.api.IColourMix; -import java.util.ArrayList; -import binnie.core.craftgui.controls.ControlTextCentered; -import binnie.core.craftgui.database.DatabaseTab; +import binnie.botany.api.IFlowerColor; +import binnie.botany.core.BotanyCore; import binnie.core.craftgui.IWidget; import binnie.core.craftgui.controls.ControlText; -import binnie.botany.api.IFlowerColour; +import binnie.core.craftgui.controls.ControlTextCentered; +import binnie.core.craftgui.database.DatabaseTab; import binnie.core.craftgui.database.PageAbstract; -public class PageColourMix extends PageAbstract -{ - ControlText pageSpeciesFurther_Title; - ControlColourMixBox pageSpeciesFurther_List; +import java.util.ArrayList; +import java.util.List; - public PageColourMix(final IWidget parent, final DatabaseTab tab) { +public class PageColourMix extends PageAbstract { + ControlText pageSpeciesFurther_Title; + ControlColorMixBox pageSpeciesFurther_List; + + public PageColourMix(IWidget parent, DatabaseTab tab) { super(parent, tab); - this.pageSpeciesFurther_Title = new ControlTextCentered(this, 8.0f, "Further Mixes"); - this.pageSpeciesFurther_List = new ControlColourMixBox(this, 4, 20, 136, 152, ControlColourMixBox.Type.Further); + pageSpeciesFurther_Title = new ControlTextCentered(this, 8.0f, "Further Mixes"); + pageSpeciesFurther_List = new ControlColorMixBox(this, 4, 20, 136, 152, ControlColorMixBox.Type.Further); } @Override - public void onValueChanged(final IFlowerColour colour) { - final List mixes = new ArrayList(); - for (final IColourMix mix : BotanyCore.getFlowerRoot().getColourMixes(false)) { - if (mix.getColour1() == colour || mix.getColour2() == colour) { + public void onValueChanged(IFlowerColor colour) { + List mixes = new ArrayList(); + for (IColourMix mix : BotanyCore.getFlowerRoot().getColourMixes(false)) { + if (mix.getColor1() == colour || mix.getColor2() == colour) { mixes.add(mix); } } - this.pageSpeciesFurther_List.setOptions(mixes); + pageSpeciesFurther_List.setOptions(mixes); } } diff --git a/src/main/java/binnie/botany/craftgui/PageColourMixResultant.java b/src/main/java/binnie/botany/craftgui/PageColourMixResultant.java deleted file mode 100644 index 747f3414..00000000 --- a/src/main/java/binnie/botany/craftgui/PageColourMixResultant.java +++ /dev/null @@ -1,39 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.botany.craftgui; - -import java.util.List; -import binnie.botany.core.BotanyCore; -import binnie.botany.api.IColourMix; -import java.util.ArrayList; -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.core.craftgui.database.PageAbstract; - -public class PageColourMixResultant extends PageAbstract -{ - ControlText pageSpeciesFurther_Title; - ControlColourMixBox pageSpeciesFurther_List; - - public PageColourMixResultant(final IWidget parent, final DatabaseTab tab) { - super(parent, tab); - this.pageSpeciesFurther_Title = new ControlTextCentered(this, 8.0f, "Resultant Mixes"); - this.pageSpeciesFurther_List = new ControlColourMixBox(this, 4, 20, 136, 152, ControlColourMixBox.Type.Resultant); - } - - @Override - public void onValueChanged(final IFlowerColour colour) { - final List mixes = new ArrayList(); - for (final IColourMix mix : BotanyCore.getFlowerRoot().getColourMixes(false)) { - if (mix.getResult() == colour) { - mixes.add(mix); - } - } - this.pageSpeciesFurther_List.setOptions(mixes); - } -} diff --git a/src/main/java/binnie/botany/craftgui/PageSpeciesFlowerGenome.java b/src/main/java/binnie/botany/craftgui/PageSpeciesFlowerGenome.java index f3f5b051..09648ecb 100644 --- a/src/main/java/binnie/botany/craftgui/PageSpeciesFlowerGenome.java +++ b/src/main/java/binnie/botany/craftgui/PageSpeciesFlowerGenome.java @@ -1,61 +1,63 @@ -// -// Decompiled by Procyon v0.5.30 -// - 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.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 binnie.Binnie; import binnie.botany.api.EnumFlowerChromosome; +import binnie.botany.api.EnumFlowerStage; +import binnie.botany.api.IAlleleFlowerSpecies; +import binnie.botany.api.IFlower; +import binnie.botany.api.IFlowerGenome; +import binnie.botany.core.BotanyCore; +import binnie.core.craftgui.IWidget; +import binnie.core.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.core.craftgui.database.DatabaseTab; -import binnie.core.craftgui.IWidget; import binnie.core.craftgui.database.PageSpecies; +import binnie.core.craftgui.geometry.IArea; +import binnie.core.craftgui.geometry.IPoint; +import binnie.core.craftgui.geometry.TextJustification; +import binnie.core.craftgui.minecraft.control.ControlItemDisplay; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IAlleleSpecies; +import forestry.api.genetics.IIndividual; +import net.minecraft.item.ItemStack; -public class PageSpeciesFlowerGenome extends PageSpecies -{ - public PageSpeciesFlowerGenome(final IWidget parent, final DatabaseTab tab) { +public class PageSpeciesFlowerGenome extends PageSpecies { + public PageSpeciesFlowerGenome(IWidget parent, DatabaseTab tab) { super(parent, tab); } + public static String tolerated(boolean t) { + if (t) { + return "Tolerated"; + } + return "Not Tolerated"; + } + @Override - public void onValueChanged(final IAlleleSpecies species) { - this.deleteAllChildren(); - final IAllele[] template = Binnie.Genetics.getFlowerRoot().getTemplate(species.getUID()); + public void onValueChanged(IAlleleSpecies species) { + deleteAllChildren(); + IAllele[] template = Binnie.Genetics.getFlowerRoot().getTemplate(species.getUID()); if (template == null) { return; } - final IFlower tree = Binnie.Genetics.getFlowerRoot().templateAsIndividual(template); + IFlower tree = Binnie.Genetics.getFlowerRoot().templateAsIndividual(template); if (tree == null) { return; } - final IFlowerGenome genome = tree.getGenome(); - final IAlleleFlowerSpecies treeSpecies = genome.getPrimary(); - final int w = 144; - final int h = 176; + IFlowerGenome genome = tree.getGenome(); + IAlleleFlowerSpecies treeSpecies = genome.getPrimary(); + int w = 144; + int h = 176; new ControlText(this, new IArea(0.0f, 4.0f, w, 16.0f), "Genome", TextJustification.MiddleCenter); - final ControlScrollableContent scrollable = new ControlScrollableContent(this, 4.0f, 20.0f, w - 8, h - 8 - 16, 12.0f); - final Control contents = new Control(scrollable, 0.0f, 0.0f, w - 8 - 12, h - 8 - 16); - final int tw = w - 8 - 12; - final int w2 = 55; - final int w3 = tw - 50; + ControlScrollableContent scrollable = new ControlScrollableContent(this, 4.0f, 20.0f, w - 8, h - 8 - 16, 12.0f); + Control contents = new Control(scrollable, 0.0f, 0.0f, w - 8 - 12, h - 8 - 16); + int tw = w - 8 - 12; + int w2 = 55; + int w3 = tw - 50; int y = 0; - final int th = 14; - final int th2 = 18; + int th = 14; + int th2 = 18; new ControlText(contents, new IArea(0.0f, y, w2, th), "Temp. : ", TextJustification.MiddleRight); new ControlText(contents, new IArea(w2, y, w3, th), treeSpecies.getTemperature().getName(), TextJustification.MiddleLeft); y += th; @@ -68,7 +70,7 @@ public class PageSpeciesFlowerGenome extends PageSpecies new ControlText(contents, new IArea(0.0f, y, w2, th), "Fertility : ", TextJustification.MiddleRight); new ControlText(contents, new IArea(w2, y, w3, th), genome.getFertility() + "x", TextJustification.MiddleLeft); y += th; - final float lifespan = genome.getLifespan() * 68.27f / genome.getAgeChance() / 24000.0f; + float lifespan = genome.getLifespan() * 68.27f / genome.getAgeChance() / 24000.0f; new ControlText(contents, new IArea(0.0f, y, w2, th), "Lifespan : ", TextJustification.MiddleRight); new ControlText(contents, new IArea(w2, y, w3, th), "" + String.format("%.2f", lifespan) + " days", TextJustification.MiddleLeft); y += th; @@ -77,30 +79,23 @@ public class PageSpeciesFlowerGenome extends PageSpecies y += th; int x = w2; int tot = 0; - for (final IIndividual vid : BotanyCore.getFlowerRoot().getIndividualTemplates()) { + for (IIndividual vid : BotanyCore.getFlowerRoot().getIndividualTemplates()) { if (vid.getGenome().getPrimary() == treeSpecies) { if (tot > 0 && tot % 3 == 0) { x -= 54; y += 18; } - final ItemStack stack = BotanyCore.getFlowerRoot().getMemberStack(vid, EnumFlowerStage.FLOWER.ordinal()); - final ControlItemDisplay display = new ControlItemDisplay(contents, x, y); + ItemStack stack = BotanyCore.getFlowerRoot().getMemberStack(vid, EnumFlowerStage.FLOWER.ordinal()); + ControlItemDisplay display = new ControlItemDisplay(contents, x, y); display.setItemStack(stack); ++tot; x += 18; } } - final int numOfLines = 1 + (tot - 1) / 3; + int numOfLines = 1 + (tot - 1) / 3; new ControlText(contents, new IArea(0.0f, y - (numOfLines - 1) * 18, w2, 4 + 18 * numOfLines), "Varieties : ", TextJustification.MiddleRight); y += th; contents.setSize(new IPoint(contents.size().x(), y)); scrollable.setScrollableContent(contents); } - - public static String tolerated(final boolean t) { - if (t) { - return "Tolerated"; - } - return "Not Tolerated"; - } } diff --git a/src/main/java/binnie/botany/craftgui/WindowBotanistDatabase.java b/src/main/java/binnie/botany/craftgui/WindowBotanistDatabase.java index 12bb6acc..dcd464f9 100644 --- a/src/main/java/binnie/botany/craftgui/WindowBotanistDatabase.java +++ b/src/main/java/binnie/botany/craftgui/WindowBotanistDatabase.java @@ -1,18 +1,12 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.craftgui; import binnie.Binnie; import binnie.botany.Botany; -import binnie.botany.api.IFlowerColour; +import binnie.botany.api.IFlowerColor; 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; @@ -31,46 +25,45 @@ import net.minecraft.entity.player.EntityPlayer; import java.util.ArrayList; import java.util.List; -public class WindowBotanistDatabase extends WindowAbstractDatabase -{ - ControlListBox selectionBoxColors; +public class WindowBotanistDatabase extends WindowAbstractDatabase { + protected ControlListBox selectionBoxColors; - public WindowBotanistDatabase(final EntityPlayer player, final Side side, final boolean nei) { + public WindowBotanistDatabase(EntityPlayer player, Side side, boolean nei) { super(player, side, nei, Binnie.Genetics.flowerBreedingSystem, 130.0f); } - public static Window create(final EntityPlayer player, final Side side, final boolean nei) { + public static Window create(EntityPlayer player, Side side, boolean nei) { return new WindowBotanistDatabase(player, side, nei); } @Override protected void addTabs() { - new PageSpeciesOverview(this.getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.overview", 0)); - new PageSpeciesFlowerGenome(this.getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.genome", 0)); - new PageSpeciesClassification(this.getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.classification", 0)); - new PageSpeciesResultant(this.getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.resultant", 0)); - new PageSpeciesMutations(this.getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.further", 0)); - new PageBranchOverview(this.getInfoPages(Mode.Branches), new DatabaseTab(Botany.instance, "branches.overview", 0)); - new PageBranchSpecies(this.getInfoPages(Mode.Branches), new DatabaseTab(Botany.instance, "branches.species", 0)); - this.createMode(FlowerMode.Colour, new ModeWidgets(FlowerMode.Colour, this) { + new PageSpeciesOverview(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.overview", 0)); + new PageSpeciesFlowerGenome(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.genome", 0)); + new PageSpeciesClassification(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.classification", 0)); + new PageSpeciesResultant(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.resultant", 0)); + new PageSpeciesMutations(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.further", 0)); + new PageBranchOverview(getInfoPages(Mode.Branches), new DatabaseTab(Botany.instance, "branches.overview", 0)); + new PageBranchSpecies(getInfoPages(Mode.Branches), new DatabaseTab(Botany.instance, "branches.species", 0)); + createMode(FlowerMode.Colour, new ModeWidgets(FlowerMode.Colour, this) { @Override - public void createListBox(final IArea area) { - this.listBox = new ControlListBox(this.modePage, area.x(), area.y(), area.w(), area.h(), 12.0f) { + public void createListBox(IArea area) { + listBox = new ControlListBox(modePage, area.x(), area.y(), area.w(), area.h(), 12.0f) { @Override - public IWidget createOption(final IFlowerColour value, final int y) { - return new ControlColourOption(((ControlScrollableContent>) this).getContent(), value, y); + public IWidget createOption(IFlowerColor value, int y) { + return new ControlColorOption(getContent(), value, y); } }; - final List colors = new ArrayList(); - for (final IFlowerColour c : EnumFlowerColor.values()) { + List colors = new ArrayList(); + for (IFlowerColor c : EnumFlowerColor.values()) { colors.add(c); } - this.listBox.setOptions(colors); + listBox.setOptions(colors); } }); - new PageColourMixResultant(this.getInfoPages(FlowerMode.Colour), new DatabaseTab(Botany.instance, "colour.resultant", 0)); - new PageColourMix(this.getInfoPages(FlowerMode.Colour), new DatabaseTab(Botany.instance, "colour.further", 0)); - new PageBreeder(this.getInfoPages(Mode.Breeder), this.getUsername(), new DatabaseTab(Botany.instance, "breeder", 0)); + new PageColorMixResultant(getInfoPages(FlowerMode.Colour), new DatabaseTab(Botany.instance, "colour.resultant", 0)); + new PageColourMix(getInfoPages(FlowerMode.Colour), new DatabaseTab(Botany.instance, "colour.further", 0)); + new PageBreeder(getInfoPages(Mode.Breeder), getUsername(), new DatabaseTab(Botany.instance, "breeder", 0)); } @Override @@ -83,13 +76,12 @@ public class WindowBotanistDatabase extends WindowAbstractDatabase return "FlowerDatabase"; } - enum FlowerMode implements IDatabaseMode - { + enum FlowerMode implements IDatabaseMode { Colour; @Override public String getName() { - return Botany.proxy.localise("gui.database.mode." + this.name().toLowerCase()); + return Botany.proxy.localise("gui.database.mode." + name().toLowerCase()); } } } diff --git a/src/main/java/binnie/botany/farm/CircuitGarden.java b/src/main/java/binnie/botany/farm/CircuitGarden.java index 0617a6d5..4c2a79e8 100644 --- a/src/main/java/binnie/botany/farm/CircuitGarden.java +++ b/src/main/java/binnie/botany/farm/CircuitGarden.java @@ -1,7 +1,3 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.farm; import binnie.Binnie; @@ -14,8 +10,7 @@ import forestry.api.farming.IFarmHousing; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -public class CircuitGarden extends BinnieCircuit -{ +public class CircuitGarden extends BinnieCircuit { private Class logicClass; private boolean isManual; private boolean isFertilised; @@ -23,44 +18,48 @@ public class CircuitGarden extends BinnieCircuit private EnumMoisture moisture; private EnumAcidity acidity; - public CircuitGarden(final EnumMoisture moisture, final EnumAcidity ph, final boolean manual, final boolean fertilised, final ItemStack recipe, final ItemStack icon) { + public CircuitGarden(EnumMoisture moisture, EnumAcidity ph, boolean manual, boolean fertilised, ItemStack recipe, ItemStack icon) { super("garden." + moisture.getID() + ((ph != null) ? ("." + ph.getID()) : "") + (manual ? ".manual" : "") + (fertilised ? ".fert" : ""), 4, manual ? ChipsetManager.circuitRegistry.getLayout("forestry.farms.manual") : ChipsetManager.circuitRegistry.getLayout("forestry.farms.managed"), recipe); - this.isManual = false; - this.isFertilised = false; - this.isManual = manual; - this.isFertilised = fertilised; this.moisture = moisture; - this.acidity = ph; this.icon = icon; + isManual = manual; + isFertilised = fertilised; + acidity = ph; String info = ""; + if (moisture == EnumMoisture.Dry) { info += EnumChatFormatting.YELLOW + "Dry" + EnumChatFormatting.RESET; } + if (moisture == EnumMoisture.Damp) { info += EnumChatFormatting.YELLOW + "Damp" + EnumChatFormatting.RESET; } - if (this.acidity == EnumAcidity.Acid) { + + if (acidity == EnumAcidity.Acid) { if (info.length() > 0) { info += ", "; } info += EnumChatFormatting.RED + "Acidic" + EnumChatFormatting.RESET; } - if (this.acidity == EnumAcidity.Neutral) { + + if (acidity == EnumAcidity.Neutral) { if (info.length() > 0) { info += ", "; } info += EnumChatFormatting.GREEN + "Neutral" + EnumChatFormatting.RESET; } - if (this.acidity == EnumAcidity.Alkaline) { + + if (acidity == EnumAcidity.Alkaline) { if (info.length() > 0) { info += ", "; } info += EnumChatFormatting.AQUA + "Alkaline" + EnumChatFormatting.RESET; } + if (info.length() > 0) { info = " (" + info + EnumChatFormatting.RESET + ")"; } - this.addTooltipString("Flowers" + info); + addTooltipString("Flowers" + info); } @Override @@ -70,22 +69,22 @@ public class CircuitGarden extends BinnieCircuit @Override public void onInsertion(int slot, Object tile) { - if (!this.isCircuitable(tile)) { + if (!isCircuitable(tile)) { return; } - final GardenLogic logic = new GardenLogic((IFarmHousing) tile); - logic.setData(this.moisture, this.acidity, this.isManual, this.isFertilised, this.icon, Binnie.Language.localise(this.getName())); + GardenLogic logic = new GardenLogic((IFarmHousing) tile); + logic.setData(moisture, acidity, isManual, isFertilised, icon, Binnie.Language.localise(getName())); ((IFarmHousing) tile).setFarmLogic(FarmDirection.values()[slot], logic); } @Override public void onLoad(int slot, Object tile) { - this.onInsertion(slot, tile); + onInsertion(slot, tile); } @Override public void onRemoval(int slot, Object tile) { - if (!this.isCircuitable(tile)) { + if (!isCircuitable(tile)) { return; } ((IFarmHousing) tile).resetFarmLogic(FarmDirection.values()[slot]); diff --git a/src/main/java/binnie/botany/farm/FarmLogic.java b/src/main/java/binnie/botany/farm/FarmLogic.java index 24e188d7..6aec89dc 100644 --- a/src/main/java/binnie/botany/farm/FarmLogic.java +++ b/src/main/java/binnie/botany/farm/FarmLogic.java @@ -1,61 +1,57 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.farm; -import net.minecraft.item.ItemStack; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; - import forestry.api.farming.FarmDirection; import forestry.api.farming.IFarmHousing; - +import forestry.api.farming.IFarmLogic; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import forestry.api.farming.IFarmLogic; +public abstract class FarmLogic implements IFarmLogic { + protected World world; + protected IFarmHousing housing; + protected boolean isManual; -public abstract class FarmLogic implements IFarmLogic -{ - World world; - IFarmHousing housing; - boolean isManual; - - public FarmLogic(final IFarmHousing housing) { + public FarmLogic(IFarmHousing housing) { this.housing = housing; } @Override - public IFarmLogic setManual(final boolean flag) { - this.isManual = flag; + public IFarmLogic setManual(boolean flag) { + isManual = flag; return this; } - protected final boolean isAirBlock(final Vect position) { - return this.world.isAirBlock(position.x, position.y, position.z); + protected boolean isAirBlock(Vect position) { + return world.isAirBlock(position.x, position.y, position.z); } - protected final boolean isWaterBlock(final Vect position) { - return this.world.getBlock(position.x, position.y, position.z) == Blocks.water; + protected boolean isWaterBlock(Vect position) { + return world.getBlock(position.x, position.y, position.z) == Blocks.water; } - protected final Block getBlock(final Vect position) { - return this.world.getBlock(position.x, position.y, position.z); + protected Block getBlock(Vect position) { + return world.getBlock(position.x, position.y, position.z); } - protected final int getBlockMeta(final Vect position) { - return this.world.getBlockMetadata(position.x, position.y, position.z); + protected int getBlockMeta(Vect position) { + return world.getBlockMetadata(position.x, position.y, position.z); } - protected final ItemStack getAsItemStack(final Vect position) { - return new ItemStack(this.getBlock(position), 1, this.getBlockMeta(position)); + protected ItemStack getAsItemStack(Vect position) { + return new ItemStack(getBlock(position), 1, getBlockMeta(position)); } - protected final Vect translateWithOffset(final int x, final int y, final int z, final FarmDirection direction, final int step) { - return new Vect(x + direction.getForgeDirection().offsetX * step, y + direction.getForgeDirection().offsetY * step, z + direction.getForgeDirection().offsetZ * step); + protected Vect translateWithOffset(int x, int y, int z, FarmDirection direction, int step) { + return new Vect( + x + direction.getForgeDirection().offsetX * step, + y + direction.getForgeDirection().offsetY * step, + z + direction.getForgeDirection().offsetZ * step + ); } - protected final void setBlock(final Vect position, final Block block, final int meta) { - this.world.setBlock(position.x, position.y, position.z, block, meta, 2); + protected void setBlock(Vect position, Block block, int meta) { + world.setBlock(position.x, position.y, position.z, block, meta, 2); } } diff --git a/src/main/java/binnie/botany/farm/FarmableFlower.java b/src/main/java/binnie/botany/farm/FarmableFlower.java index cfdb2d08..0bd36d2a 100644 --- a/src/main/java/binnie/botany/farm/FarmableFlower.java +++ b/src/main/java/binnie/botany/farm/FarmableFlower.java @@ -1,46 +1,41 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.farm; -import binnie.botany.api.IFlower; -import binnie.botany.gardening.Gardening; -import net.minecraft.entity.player.EntityPlayer; -import binnie.botany.api.EnumFlowerStage; -import binnie.botany.core.BotanyCore; -import net.minecraft.item.ItemStack; -import forestry.api.farming.ICrop; import binnie.botany.Botany; -import net.minecraft.world.World; +import binnie.botany.api.EnumFlowerStage; +import binnie.botany.api.IFlower; +import binnie.botany.core.BotanyCore; +import binnie.botany.gardening.Gardening; +import forestry.api.farming.ICrop; import forestry.api.farming.IFarmable; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; -public class FarmableFlower implements IFarmable -{ +public class FarmableFlower implements IFarmable { @Override - public boolean isSaplingAt(final World world, final int x, final int y, final int z) { + public boolean isSaplingAt(World world, int x, int y, int z) { return world.getBlock(x, y, z) == Botany.flower; } @Override - public ICrop getCropAt(final World world, final int x, final int y, final int z) { + public ICrop getCropAt(World world, int x, int y, int z) { return null; } @Override - public boolean isGermling(final ItemStack itemstack) { - final EnumFlowerStage stage = BotanyCore.speciesRoot.getStageType(itemstack); + public boolean isGermling(ItemStack itemstack) { + EnumFlowerStage stage = BotanyCore.speciesRoot.getStageType(itemstack); return stage == EnumFlowerStage.FLOWER || stage == EnumFlowerStage.SEED; } @Override - public boolean isWindfall(final ItemStack itemstack) { + public boolean isWindfall(ItemStack itemstack) { return false; } @Override - public boolean plantSaplingAt(final EntityPlayer player, final ItemStack germling, final World world, final int x, final int y, final int z) { - final IFlower flower = BotanyCore.getFlowerRoot().getMember(germling); + public boolean plantSaplingAt(EntityPlayer player, ItemStack germling, World world, int x, int y, int z) { + IFlower flower = BotanyCore.getFlowerRoot().getMember(germling); Gardening.plant(world, x, y, z, flower, player.getGameProfile()); return true; } diff --git a/src/main/java/binnie/botany/farm/FarmableVanillaFlower.java b/src/main/java/binnie/botany/farm/FarmableVanillaFlower.java index 350c7222..b72f3ef5 100644 --- a/src/main/java/binnie/botany/farm/FarmableVanillaFlower.java +++ b/src/main/java/binnie/botany/farm/FarmableVanillaFlower.java @@ -1,26 +1,21 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.farm; import binnie.botany.api.IFlower; -import binnie.botany.gardening.Gardening; -import net.minecraft.world.World; -import net.minecraft.entity.player.EntityPlayer; import binnie.botany.core.BotanyCore; +import binnie.botany.gardening.Gardening; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.world.World; -public class FarmableVanillaFlower extends FarmableFlower -{ +public class FarmableVanillaFlower extends FarmableFlower { @Override - public boolean isGermling(final ItemStack itemstack) { + public boolean isGermling(ItemStack itemstack) { return BotanyCore.getFlowerRoot().getConversion(itemstack) != null; } @Override - public boolean plantSaplingAt(final EntityPlayer player, final ItemStack germling, final World world, final int x, final int y, final int z) { - final IFlower flower = BotanyCore.getFlowerRoot().getConversion(germling); + public boolean plantSaplingAt(EntityPlayer player, ItemStack germling, World world, int x, int y, int z) { + IFlower flower = BotanyCore.getFlowerRoot().getConversion(germling); return Gardening.plant(world, x, y, z, flower, player.getGameProfile()); } } diff --git a/src/main/java/binnie/botany/farm/GardenLogic.java b/src/main/java/binnie/botany/farm/GardenLogic.java index ba205233..63042744 100644 --- a/src/main/java/binnie/botany/farm/GardenLogic.java +++ b/src/main/java/binnie/botany/farm/GardenLogic.java @@ -1,166 +1,151 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.farm; -import net.minecraft.tileentity.TileEntity; - -import com.mojang.authlib.GameProfile; - -import binnie.core.Mods; -import binnie.botany.flower.TileEntityFlower; -import forestry.core.access.IOwnable; - -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.util.ResourceLocation; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -import net.minecraft.util.IIcon; - -import forestry.api.farming.ICrop; - -import net.minecraftforge.fluids.FluidStack; - import binnie.Binnie; - -import net.minecraft.item.ItemBlock; -import net.minecraft.world.IBlockAccess; - import binnie.botany.Botany; -import binnie.botany.api.EnumSoilType; -import binnie.botany.api.gardening.IBlockSoil; - -import java.util.Collection; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.init.Blocks; - -import binnie.botany.gardening.Gardening; -import forestry.api.farming.FarmDirection; -import forestry.api.farming.IFarmHousing; -import forestry.api.farming.IFarmable; - -import java.util.List; - -import net.minecraft.item.ItemStack; - -import java.util.ArrayList; - import binnie.botany.api.EnumAcidity; import binnie.botany.api.EnumMoisture; +import binnie.botany.api.EnumSoilType; +import binnie.botany.api.gardening.IBlockSoil; +import binnie.botany.flower.TileEntityFlower; +import binnie.botany.gardening.Gardening; +import binnie.core.Mods; +import com.mojang.authlib.GameProfile; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import forestry.api.farming.FarmDirection; +import forestry.api.farming.ICrop; +import forestry.api.farming.IFarmHousing; +import forestry.api.farming.IFarmable; +import forestry.core.access.IOwnable; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.fluids.FluidStack; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +public class GardenLogic extends FarmLogic { + protected EnumMoisture moisture; + protected EnumAcidity acidity; + protected boolean fertilised; + protected String name; + protected ArrayList produce; + protected List farmables; -public class GardenLogic extends FarmLogic -{ - EnumMoisture moisture; - EnumAcidity acidity; - boolean fertilised; - String name; - ArrayList produce; private ItemStack icon; - List farmables; - public GardenLogic(final IFarmHousing housing) { + public GardenLogic(IFarmHousing housing) { super(housing); - this.produce = new ArrayList(); - (this.farmables = new ArrayList()).add(new FarmableFlower()); - this.farmables.add(new FarmableVanillaFlower()); + produce = new ArrayList<>(); + (farmables = new ArrayList<>()).add(new FarmableFlower()); + farmables.add(new FarmableVanillaFlower()); } @Override public int getFertilizerConsumption() { - return this.fertilised ? 8 : 2; + return fertilised ? 8 : 2; } @Override - public int getWaterConsumption(final float hydrationModifier) { - return (int) (this.moisture.ordinal() * 40 * hydrationModifier); + public int getWaterConsumption(float hydrationModifier) { + return (int) (moisture.ordinal() * 40 * hydrationModifier); } @Override - public boolean isAcceptedResource(final ItemStack itemstack) { - return Gardening.isSoil(itemstack.getItem()) || itemstack.getItem() == Item.getItemFromBlock(Blocks.sand) || itemstack.getItem() == Item.getItemFromBlock(Blocks.dirt) || Gardening.isAcidFertiliser(itemstack) || Gardening.isAlkalineFertiliser(itemstack); + public boolean isAcceptedResource(ItemStack stack) { + Item item = stack.getItem(); + return Gardening.isSoil(item) + || item == Item.getItemFromBlock(Blocks.sand) + || item == Item.getItemFromBlock(Blocks.dirt) + || Gardening.isAcidFertiliser(stack) + || Gardening.isAlkalineFertiliser(stack); } @Override public Collection collect() { - final Collection products = this.produce; - this.produce = new ArrayList(); + Collection products = produce; + produce = new ArrayList<>(); return products; } @Override - public boolean cultivate(final int x, final int y, final int z, final FarmDirection direction, final int extent) { - this.world = this.housing.getWorld(); - return this.maintainSoil(x, y, z, direction, extent) || (!this.isManual && this.maintainWater(x, y, z, direction, extent)) || this.maintainCrops(x, y + 1, z, direction, extent); + public boolean cultivate(int x, int y, int z, FarmDirection direction, int extent) { + world = housing.getWorld(); + return maintainSoil(x, y, z, direction, extent) + || (!isManual && maintainWater(x, y, z, direction, extent)) + || maintainCrops(x, y + 1, z, direction, extent); } - private boolean isWaste(final ItemStack stack) { + private boolean isWaste(ItemStack stack) { return stack.getItem() == Item.getItemFromBlock(Blocks.dirt); } - private boolean maintainSoil(final int x2, final int y2, final int z2, final FarmDirection direction, final int extent) { + private boolean maintainSoil(int x2, int y2, int z2, FarmDirection direction, int extent) { for (int i = 0; i < extent; ++i) { - final Vect position = this.translateWithOffset(x2, y2, z2, direction, i); - if (this.fertilised && Gardening.isSoil(this.world.getBlock(position.x, position.y, position.z))) { - final IBlockSoil soil = (IBlockSoil) this.world.getBlock(position.x, position.y, position.z); - if (soil.fertilise(this.world, position.x, position.y, position.z, EnumSoilType.FLOWERBED)) { + Vect position = translateWithOffset(x2, y2, z2, direction, i); + if (fertilised && Gardening.isSoil(world.getBlock(position.x, position.y, position.z))) { + IBlockSoil soil = (IBlockSoil) world.getBlock(position.x, position.y, position.z); + if (soil.fertilise(world, position.x, position.y, position.z, EnumSoilType.FLOWERBED)) { continue; } } - if (this.world.getBlock(position.x, position.y + 1, position.z) == Botany.plant) { - this.world.setBlockToAir(position.x, position.y + 1, position.z); - } - else { - if (this.acidity != null && Gardening.isSoil(this.world.getBlock(position.x, position.y, position.z))) { - final IBlockSoil soil = (IBlockSoil) this.world.getBlock(position.x, position.y, position.z); - final EnumAcidity pH = soil.getPH(this.world, position.x, position.y, position.z); - if (pH.ordinal() < this.acidity.ordinal()) { - final ItemStack stack = this.getAvailableAlkaline(); - if (stack != null && soil.setPH(this.world, position.x, position.y, position.z, EnumAcidity.values()[pH.ordinal() + 1])) { - this.housing.getFarmInventory().removeResources(new ItemStack[] { stack }); + + if (world.getBlock(position.x, position.y + 1, position.z) == Botany.plant) { + world.setBlockToAir(position.x, position.y + 1, position.z); + } else { + if (acidity != null && Gardening.isSoil(world.getBlock(position.x, position.y, position.z))) { + IBlockSoil soil = (IBlockSoil) world.getBlock(position.x, position.y, position.z); + EnumAcidity pH = soil.getPH(world, position.x, position.y, position.z); + if (pH.ordinal() < acidity.ordinal()) { + ItemStack stack = getAvailableAlkaline(); + if (stack != null && soil.setPH(world, position.x, position.y, position.z, EnumAcidity.values()[pH.ordinal() + 1])) { + housing.getFarmInventory().removeResources(new ItemStack[]{stack}); continue; } } - if (pH.ordinal() > this.acidity.ordinal()) { - final ItemStack stack = this.getAvailableAcid(); - if (stack != null && soil.setPH(this.world, position.x, position.y, position.z, EnumAcidity.values()[pH.ordinal() - 1])) { - this.housing.getFarmInventory().removeResources(new ItemStack[] { stack }); + + if (pH.ordinal() > acidity.ordinal()) { + ItemStack stack = getAvailableAcid(); + if (stack != null && soil.setPH(world, position.x, position.y, position.z, EnumAcidity.values()[pH.ordinal() - 1])) { + housing.getFarmInventory().removeResources(new ItemStack[]{stack}); continue; } } } - if (!this.isAirBlock(position) && !this.world.getBlock(position.x, position.y, position.z).isReplaceable(this.world, position.x, position.y, position.z)) { - final ItemStack block = this.getAsItemStack(position); - final ItemStack loam = this.getAvailableLoam(); - if (this.isWaste(block) && loam != null) { - this.produce.addAll(Blocks.dirt.getDrops(this.world, position.x, position.y, position.z, block.getItemDamage(), 0)); - this.setBlock(position, Blocks.air, 0); - return this.trySetSoil(position, loam); + + if (!isAirBlock(position) && !world.getBlock(position.x, position.y, position.z).isReplaceable(world, position.x, position.y, position.z)) { + ItemStack block = getAsItemStack(position); + ItemStack loam = getAvailableLoam(); + if (isWaste(block) && loam != null) { + produce.addAll(Blocks.dirt.getDrops(world, position.x, position.y, position.z, block.getItemDamage(), 0)); + setBlock(position, Blocks.air, 0); + return trySetSoil(position, loam); } - } - else if (!this.isManual) { - if (!this.isWaterBlock(position)) { + } else if (!isManual) { + if (!isWaterBlock(position)) { if (i % 2 == 0) { - return this.trySetSoil(position); + return trySetSoil(position); } FarmDirection cclock = FarmDirection.EAST; if (direction == FarmDirection.EAST) { cclock = FarmDirection.SOUTH; - } - else if (direction == FarmDirection.SOUTH) { + } else if (direction == FarmDirection.SOUTH) { cclock = FarmDirection.EAST; - } - else if (direction == FarmDirection.WEST) { + } else if (direction == FarmDirection.WEST) { cclock = FarmDirection.SOUTH; } - final Vect previous = this.translateWithOffset(position.x, position.y, position.z, cclock, 1); - final ItemStack soil2 = this.getAsItemStack(previous); + Vect previous = translateWithOffset(position.x, position.y, position.z, cclock, 1); + ItemStack soil2 = getAsItemStack(previous); if (!Gardening.isSoil(soil2.getItem())) { - this.trySetSoil(position); + trySetSoil(position); } } } @@ -169,28 +154,28 @@ public class GardenLogic extends FarmLogic return false; } - private boolean maintainWater(final int x, final int y, final int z, final FarmDirection direction, final int extent) { + private boolean maintainWater(int x, int y, int z, FarmDirection direction, int extent) { for (int i = 0; i < extent; ++i) { - final Vect position = this.translateWithOffset(x, y, z, direction, i); - if (this.isAirBlock(position) || this.world.getBlock(x, y, z).isReplaceable(this.world, position.x, position.y, position.z)) { - if (!this.isWaterBlock(position)) { - boolean isEnclosed = true; - if (this.world.isAirBlock(position.x + 1, position.y, position.z)) { - isEnclosed = false; - } - else if (this.world.isAirBlock(position.x - 1, position.y, position.z)) { - isEnclosed = false; - } - else if (this.world.isAirBlock(position.x, position.y, position.z + 1)) { - isEnclosed = false; - } - else if (this.world.isAirBlock(position.x, position.y, position.z - 1)) { - isEnclosed = false; - } - isEnclosed = (isEnclosed || this.moisture != EnumMoisture.Damp); - if (isEnclosed) { - return this.trySetWater(position); - } + Vect position = translateWithOffset(x, y, z, direction, i); + if (isAirBlock(position) || world.getBlock(x, y, z).isReplaceable(world, position.x, position.y, position.z)) { + if (isWaterBlock(position)) { + continue; + } + + boolean isEnclosed = true; + if (world.isAirBlock(position.x + 1, position.y, position.z)) { + isEnclosed = false; + } else if (world.isAirBlock(position.x - 1, position.y, position.z)) { + isEnclosed = false; + } else if (world.isAirBlock(position.x, position.y, position.z + 1)) { + isEnclosed = false; + } else if (world.isAirBlock(position.x, position.y, position.z - 1)) { + isEnclosed = false; + } + + isEnclosed = (isEnclosed || moisture != EnumMoisture.Damp); + if (isEnclosed) { + return trySetWater(position); } } } @@ -199,81 +184,78 @@ public class GardenLogic extends FarmLogic private ItemStack getAvailableLoam() { EnumMoisture[] moistures; - if (this.moisture == EnumMoisture.Damp) { - moistures = new EnumMoisture[] { EnumMoisture.Damp, EnumMoisture.Normal, EnumMoisture.Dry }; + if (moisture == EnumMoisture.Damp) { + moistures = new EnumMoisture[]{EnumMoisture.Damp, EnumMoisture.Normal, EnumMoisture.Dry}; + } else if (moisture == EnumMoisture.Dry) { + moistures = new EnumMoisture[]{EnumMoisture.Dry, EnumMoisture.Damp, EnumMoisture.Dry}; + } else { + moistures = new EnumMoisture[]{EnumMoisture.Dry, EnumMoisture.Normal, EnumMoisture.Damp}; } - else if (this.moisture == EnumMoisture.Damp) { - moistures = new EnumMoisture[] { EnumMoisture.Dry, EnumMoisture.Damp, EnumMoisture.Dry }; - } - else { - moistures = new EnumMoisture[] { EnumMoisture.Dry, EnumMoisture.Normal, EnumMoisture.Damp }; - } - final EnumAcidity[] acidities = { EnumAcidity.Neutral, EnumAcidity.Acid, EnumAcidity.Alkaline }; - for (final EnumMoisture moist : moistures) { - for (final EnumAcidity acid : acidities) { - for (final Block type : new Block[] { Botany.flowerbed, Botany.loam, Botany.soil }) { - final int meta = acid.ordinal() * 3 + moist.ordinal(); - final ItemStack[] resource = { new ItemStack(type, 1, meta) }; - if (this.housing.getFarmInventory().hasResources(resource)) { + + EnumAcidity[] acidities = {EnumAcidity.Neutral, EnumAcidity.Acid, EnumAcidity.Alkaline}; + for (EnumMoisture moist : moistures) { + for (EnumAcidity acid : acidities) { + for (Block type : new Block[]{Botany.flowerbed, Botany.loam, Botany.soil}) { + int meta = acid.ordinal() * 3 + moist.ordinal(); + ItemStack[] resource = {new ItemStack(type, 1, meta)}; + if (housing.getFarmInventory().hasResources(resource)) { return resource[0]; } } } } - if (this.housing.getFarmInventory().hasResources(new ItemStack[] { new ItemStack(Blocks.dirt) })) { + if (housing.getFarmInventory().hasResources(new ItemStack[]{new ItemStack(Blocks.dirt)})) { return new ItemStack(Blocks.dirt); } return null; } - private boolean trySetSoil(final Vect position) { - return this.trySetSoil(position, this.getAvailableLoam()); + private boolean trySetSoil(Vect position) { + return trySetSoil(position, getAvailableLoam()); } - private boolean trySetSoil(final Vect position, ItemStack loam) { + private boolean trySetSoil(Vect position, ItemStack loam) { ItemStack copy = loam; if (loam != null) { if (loam.getItem() == Item.getItemFromBlock(Blocks.dirt)) { loam = new ItemStack(Botany.soil, 0, 4); } - this.setBlock(position, ((ItemBlock) loam.getItem()).field_150939_a, loam.getItemDamage()); - this.housing.getFarmInventory().removeResources(new ItemStack[] { copy }); + setBlock(position, ((ItemBlock) loam.getItem()).field_150939_a, loam.getItemDamage()); + housing.getFarmInventory().removeResources(new ItemStack[]{copy}); return true; } return false; } - private boolean trySetWater(final Vect position) { - final FluidStack water = Binnie.Liquid.getLiquidStack("water", 1000); - if (this.moisture == EnumMoisture.Damp) { - if (!this.housing.hasLiquid(water)) { + private boolean trySetWater(Vect position) { + FluidStack water = Binnie.Liquid.getLiquidStack("water", 1000); + if (moisture == EnumMoisture.Damp) { + if (!housing.hasLiquid(water)) { return false; } - this.setBlock(position, Blocks.water, 0); - this.housing.removeLiquid(water); - return true; - } - else { - if (this.moisture != EnumMoisture.Dry) { - return this.trySetSoil(position); - } - final ItemStack[] sand = { new ItemStack(Blocks.sand, 1) }; - if (!this.housing.getFarmInventory().hasResources(sand)) { - return false; - } - this.setBlock(position, Blocks.sand, 0); - this.housing.getFarmInventory().removeResources(sand); - return true; - } - } - public void setIcon(final ItemStack icon) { - this.icon = icon; + setBlock(position, Blocks.water, 0); + housing.removeLiquid(water); + return true; + } + + if (moisture != EnumMoisture.Dry) { + return trySetSoil(position); + } + + ItemStack[] sand = {new ItemStack(Blocks.sand, 1)}; + if (!housing.getFarmInventory().hasResources(sand)) { + return false; + } + + setBlock(position, Blocks.sand, 0); + housing.getFarmInventory().removeResources(sand); + return true; } @Override - public boolean isAcceptedGermling(final ItemStack itemstack) { - for (final IFarmable farmable : this.farmables) { + public boolean isAcceptedGermling(ItemStack itemstack) { + for (IFarmable farmable : farmables) { if (farmable.isGermling(itemstack)) { return true; } @@ -282,14 +264,18 @@ public class GardenLogic extends FarmLogic } @Override - public Collection harvest(final int x, final int y, final int z, final FarmDirection direction, final int extent) { + public Collection harvest(int x, int y, int z, FarmDirection direction, int extent) { return null; } @Override @SideOnly(Side.CLIENT) public IIcon getIcon() { - return this.icon.getIconIndex(); + return icon.getIconIndex(); + } + + public void setIcon(ItemStack icon) { + this.icon = icon; } @Override @@ -299,50 +285,54 @@ public class GardenLogic extends FarmLogic @Override public String getName() { - return this.name; + return name; } - protected boolean maintainCrops(final int x, final int y, final int z, final FarmDirection direction, final int extent) { + protected boolean maintainCrops(int x, int y, int z, FarmDirection direction, int extent) { for (int i = 0; i < extent; ++i) { - final Vect position = this.translateWithOffset(x, y, z, direction, i); - if (this.isAirBlock(position) || this.world.getBlock(x, y, z).isReplaceable(this.world, position.x, position.y, position.z)) { - final ItemStack below = this.getAsItemStack(position.add(new Vect(0, -1, 0))); + Vect position = translateWithOffset(x, y, z, direction, i); + if (isAirBlock(position) || world.getBlock(x, y, z).isReplaceable(world, position.x, position.y, position.z)) { + ItemStack below = getAsItemStack(position.add(new Vect(0, -1, 0))); if (Gardening.isSoil(below.getItem())) { - return this.trySetCrop(position); + return trySetCrop(position); } } } return false; } - private boolean trySetCrop(final Vect position) { - for (final IFarmable farmable : this.farmables) { - final boolean success = this.housing.plantGermling(farmable, this.world, position.x, position.y, position.z); - if (success && this.housing instanceof IOwnable) { - final TileEntity tile = this.housing.getWorld().getTileEntity(position.x, position.y, position.z); - if (tile instanceof TileEntityFlower) { - try { - final IOwnable housing2 = (IOwnable) this.housing; - GameProfile prof = null; - if (Mods.Forestry.dev()) { - prof = (GameProfile) IOwnable.class.getMethod("getOwner", new Class[0]).invoke(housing2, new Object[0]); - } - else { - prof = (GameProfile) IOwnable.class.getMethod("getOwnerProfile", new Class[0]).invoke(housing2, new Object[0]); - } - ((TileEntityFlower) tile).setOwner(prof); - } catch (Exception ex) { - } - } + private boolean trySetCrop(Vect position) { + for (IFarmable farmable : farmables) { + boolean success = housing.plantGermling(farmable, world, position.x, position.y, position.z); + if (!success || !(housing instanceof IOwnable)) { + continue; + } + + TileEntity tile = housing.getWorld().getTileEntity(position.x, position.y, position.z); + if (!(tile instanceof TileEntityFlower)) { return true; } + + try { + IOwnable housing2 = (IOwnable) housing; + GameProfile prof; + if (Mods.Forestry.dev()) { + prof = (GameProfile) IOwnable.class.getMethod("getOwner", new Class[0]).invoke(housing2); + } else { + prof = (GameProfile) IOwnable.class.getMethod("getOwnerProfile", new Class[0]).invoke(housing2); + } + ((TileEntityFlower) tile).setOwner(prof); + } catch (Exception ex) { + // ignored + } + return true; } return false; } public ItemStack getAvailableAcid() { - for (final ItemStack stack : Gardening.getAcidFertilisers()) { - if (stack != null && stack.getItem() != null && this.housing.getFarmInventory().hasResources(new ItemStack[] { stack })) { + for (ItemStack stack : Gardening.getAcidFertilisers()) { + if (stack != null && stack.getItem() != null && housing.getFarmInventory().hasResources(new ItemStack[]{stack})) { return stack; } } @@ -350,21 +340,21 @@ public class GardenLogic extends FarmLogic } public ItemStack getAvailableAlkaline() { - for (final ItemStack stack : Gardening.getAlkalineFertilisers()) { - if (stack != null && stack.getItem() != null && this.housing.getFarmInventory().hasResources(new ItemStack[] { stack })) { + for (ItemStack stack : Gardening.getAlkalineFertilisers()) { + if (stack != null && stack.getItem() != null && housing.getFarmInventory().hasResources(new ItemStack[]{stack})) { return stack; } } return null; } - public void setData(final EnumMoisture moisture2, final EnumAcidity acidity2, final boolean isManual, final boolean isFertilised, final ItemStack icon2, final String name2) { - this.moisture = moisture2; - this.acidity = acidity2; + public void setData(EnumMoisture moisture2, EnumAcidity acidity2, boolean isManual, boolean isFertilised, ItemStack icon2, String name2) { + moisture = moisture2; + acidity = acidity2; this.isManual = isManual; - this.fertilised = isFertilised; - this.icon = icon2; - this.name = name2; + fertilised = isFertilised; + icon = icon2; + name = name2; } } diff --git a/src/main/java/binnie/botany/farm/Vect.java b/src/main/java/binnie/botany/farm/Vect.java index 1313abeb..60f4809f 100644 --- a/src/main/java/binnie/botany/farm/Vect.java +++ b/src/main/java/binnie/botany/farm/Vect.java @@ -1,79 +1,76 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.farm; -public class Vect -{ +public class Vect { public int x; public int y; public int z; - public Vect(final int[] dim) { + public Vect(int[] dim) { if (dim.length != 3) { throw new RuntimeException("Cannot instantiate a vector with less or more than 3 points."); } - this.x = dim[0]; - this.y = dim[1]; - this.z = dim[2]; + x = dim[0]; + y = dim[1]; + z = dim[2]; } - public Vect(final int x, final int y, final int z) { + public Vect(int x, int y, int z) { this.x = x; this.y = y; this.z = z; } - public Vect add(final Vect other) { - final Vect vect; - final Vect result = vect = new Vect(this.x, this.y, this.z); + public Vect add(Vect other) { + Vect vect; + Vect result = vect = new Vect(x, y, z); vect.x += other.x; - final Vect vect2 = result; + Vect vect2 = result; vect2.y += other.y; - final Vect vect3 = result; + Vect vect3 = result; vect3.z += other.z; return result; } - public Vect multiply(final float factor) { - final Vect vect; - final Vect result = vect = new Vect(this.x, this.y, this.z); + public Vect multiply(float factor) { + Vect vect; + Vect result = vect = new Vect(x, y, z); vect.x *= (int) factor; - final Vect vect2 = result; + Vect vect2 = result; vect2.y *= (int) factor; - final Vect vect3 = result; + Vect vect3 = result; vect3.z *= (int) factor; return result; } @Override public String toString() { - return String.format("%sx%sx%s;", this.x, this.y, this.z); + return String.format("%sx%sx%s;", x, y, z); } @Override public int hashCode() { - final int prime = 31; + int prime = 31; int result = 1; - result = 31 * result + this.x; - result = 31 * result + this.y; - result = 31 * result + this.z; + result = prime * result + x; + result = prime * result + y; + result = prime * result + z; return result; } @Override - public boolean equals(final Object obj) { + public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } - if (this.getClass() != obj.getClass()) { + if (getClass() != obj.getClass()) { return false; } - final Vect other = (Vect) obj; - return this.x == other.x && this.y == other.y && this.z == other.z; + Vect other = (Vect) obj; + return x == other.x + && y == other.y + && z == other.z; } } diff --git a/src/main/java/binnie/botany/flower/BlockFlower.java b/src/main/java/binnie/botany/flower/BlockFlower.java index 2c37b399..8bbf920c 100644 --- a/src/main/java/binnie/botany/flower/BlockFlower.java +++ b/src/main/java/binnie/botany/flower/BlockFlower.java @@ -1,39 +1,43 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.flower; -import java.util.List; -import java.util.ArrayList; -import java.util.Random; import binnie.botany.Botany; -import net.minecraft.init.Blocks; -import net.minecraft.block.Block; -import binnie.botany.api.IFlowerType; import binnie.botany.api.EnumFlowerStage; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import com.mojang.authlib.GameProfile; import binnie.botany.api.IFlower; -import binnie.botany.gardening.Gardening; -import net.minecraft.entity.player.EntityPlayer; +import binnie.botany.api.IFlowerType; import binnie.botany.core.BotanyCore; +import binnie.botany.gardening.Gardening; +import binnie.botany.genetics.EnumFlowerType; import binnie.core.BinnieCore; -import net.minecraft.item.ItemStack; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraft.block.material.Material; +import com.mojang.authlib.GameProfile; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import binnie.botany.genetics.EnumFlowerType; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +public class BlockFlower extends BlockContainer { + public BlockFlower() { + super(Material.plants); + float f = 0.2f; + setBlockBounds(0.5f - f, 0.0f, 0.5f - f, 0.5f + f, f * 3.0f, 0.5f + f); + setTickRandomly(true); + setBlockName("flower"); + } -public class BlockFlower extends BlockContainer -{ @Override public int getRenderType() { return RendererBotany.renderID; @@ -41,27 +45,19 @@ public class BlockFlower extends BlockContainer @Override @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister par1IconRegister) { - for (final EnumFlowerType type : EnumFlowerType.values()) { - type.registerIcons(par1IconRegister); + public void registerBlockIcons(IIconRegister register) { + for (EnumFlowerType type : EnumFlowerType.values()) { + type.registerIcons(register); } } - public BlockFlower() { - super(Material.plants); - final float f = 0.2f; - this.setBlockBounds(0.5f - f, 0.0f, 0.5f - f, 0.5f + f, f * 3.0f, 0.5f + f); - this.setTickRandomly(true); - this.setBlockName("flower"); - } - @Override - public TileEntity createNewTileEntity(final World var1, final int i) { + public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityFlower(); } @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(final World par1World, final int par2, final int par3, final int par4) { + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { return null; } @@ -76,23 +72,23 @@ public class BlockFlower extends BlockContainer } @Override - public void onBlockPlacedBy(final World world, final int x, final int y, final int z, final EntityLivingBase living, final ItemStack stack) { - super.onBlockPlacedBy(world, x, y, z, living, stack); - final TileEntity flower = world.getTileEntity(x, y, z); + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack stack) { + super.onBlockPlacedBy(world, x, y, z, entity, stack); + TileEntity flower = world.getTileEntity(x, y, z); if (!BinnieCore.proxy.isSimulating(world)) { if (flower != null && flower instanceof TileEntityFlower) { - final IFlower f = BotanyCore.getFlowerRoot().getMember(stack); + IFlower f = BotanyCore.getFlowerRoot().getMember(stack); ((TileEntityFlower) flower).setRender(new TileEntityFlower.RenderInfo(f, (TileEntityFlower) flower)); } return; } - final TileEntity below = world.getTileEntity(x, y - 1, z); + + TileEntity below = world.getTileEntity(x, y - 1, z); if (flower != null && flower instanceof TileEntityFlower) { if (below instanceof TileEntityFlower) { ((TileEntityFlower) flower).setSection(((TileEntityFlower) below).getSection()); - } - else { - final GameProfile owner = (living instanceof EntityPlayer) ? ((EntityPlayer) living).getGameProfile() : null; + } else { + GameProfile owner = (entity instanceof EntityPlayer) ? ((EntityPlayer) entity).getGameProfile() : null; ((TileEntityFlower) flower).create(stack, owner); } } @@ -101,86 +97,101 @@ public class BlockFlower extends BlockContainer @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(final IBlockAccess world, final int x, final int y, final int z, final int side) { - final TileEntity tile = world.getTileEntity(x, y, z); + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + TileEntity tile = world.getTileEntity(x, y, z); if (tile instanceof TileEntityFlower) { - final TileEntityFlower f = (TileEntityFlower) tile; - final EnumFlowerStage stage = (f.getAge() == 0) ? EnumFlowerStage.SEED : EnumFlowerStage.FLOWER; - final IFlowerType flower = f.getType(); - final int section = f.getRenderSection(); - final boolean flowered = f.isFlowered(); - return (RendererBotany.pass == 0) ? flower.getStem(stage, flowered, section) : ((RendererBotany.pass == 1) ? flower.getPetalIcon(stage, flowered, section) : flower.getVariantIcon(stage, flowered, section)); + TileEntityFlower f = (TileEntityFlower) tile; + EnumFlowerStage stage = (f.getAge() == 0) ? EnumFlowerStage.SEED : EnumFlowerStage.FLOWER; + IFlowerType flower = f.getType(); + int section = f.getRenderSection(); + boolean flowered = f.isFlowered(); + if (RendererBotany.pass == 0) { + return flower.getStem(stage, flowered, section); + } + return (RendererBotany.pass == 1) ? + flower.getPetalIcon(stage, flowered, section) : + flower.getVariantIcon(stage, flowered, section); } return super.getIcon(world, x, y, z, side); } @Override @SideOnly(Side.CLIENT) - public int colorMultiplier(final IBlockAccess world, final int x, final int y, final int z) { - final TileEntity tile = world.getTileEntity(x, y, z); + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + TileEntity tile = world.getTileEntity(x, y, z); if (tile instanceof TileEntityFlower) { - final TileEntityFlower f = (TileEntityFlower) tile; - return (RendererBotany.pass == 0) ? f.getStemColour() : ((RendererBotany.pass == 1) ? f.getPrimaryColour() : f.getSecondaryColour()); - } - return 16777215; - } - - @Override - public boolean canPlaceBlockAt(final World world, final int x, final int y, final int z) { - return super.canPlaceBlockAt(world, x, y, z) && this.canBlockStay(world, x, y, z); - } - - protected boolean canPlaceBlockOn(final Block block) { - return block == Blocks.grass || block == Blocks.dirt || block == Blocks.farmland || Gardening.isSoil(block); - } - - @Override - public void onNeighborBlockChange(final World world, final int x, final int y, final int z, final Block block) { - super.onNeighborBlockChange(world, x, y, z, block); - this.checkAndDropBlock(world, x, y, z); - final TileEntity tile = world.getTileEntity(x, y, z); - if (tile instanceof TileEntityFlower) { - final TileEntityFlower flower = (TileEntityFlower) tile; - if (flower.getSection() == 0 && flower.getFlower() != null && flower.getFlower().getAge() > 0 && flower.getFlower().getGenome().getPrimary().getType().getSections() > 1 && world.getBlock(x, y + 1, z) != Botany.flower) { - this.dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x, y, z), 0); - world.setBlockToAir(x, y, z); + TileEntityFlower f = (TileEntityFlower) tile; + if (RendererBotany.pass == 0) { + return f.getStemColour(); } + return (RendererBotany.pass == 1) ? + f.getPrimaryColor() : + f.getSecondaryColor(); } + return 0xffffff; } @Override - public void updateTick(final World world, final int x, final int y, final int z, final Random rand) { - final TileEntity tile = world.getTileEntity(x, y, z); - if (tile instanceof TileEntityFlower) { - ((TileEntityFlower) tile).randomUpdate(rand); - this.checkAndDropBlock(world, x, y, z); + public boolean canPlaceBlockAt(World world, int x, int y, int z) { + return super.canPlaceBlockAt(world, x, y, z) && canBlockStay(world, x, y, z); + } + + protected boolean canPlaceBlockOn(Block block) { + return block == Blocks.grass + || block == Blocks.dirt + || block == Blocks.farmland + || Gardening.isSoil(block); + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + super.onNeighborBlockChange(world, x, y, z, block); + checkAndDropBlock(world, x, y, z); + TileEntity tile = world.getTileEntity(x, y, z); + if (!(tile instanceof TileEntityFlower)) { return; } - world.setBlockToAir(x, y, z); - } - protected void checkAndDropBlock(final World world, final int x, final int y, final int z) { - if (!this.canBlockStay(world, x, y, z)) { - this.dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x, y, z), 0); + TileEntityFlower flower = (TileEntityFlower) tile; + if (flower.getSection() == 0 && flower.getFlower() != null && flower.getFlower().getAge() > 0 && flower.getFlower().getGenome().getPrimary().getType().getSections() > 1 && world.getBlock(x, y + 1, z) != Botany.flower) { + dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x, y, z), 0); world.setBlockToAir(x, y, z); } } @Override - public boolean canBlockStay(final World world, final int x, final int y, final int z) { - final TileEntity tile = world.getTileEntity(x, y, z); - if (tile instanceof TileEntityFlower && ((TileEntityFlower) tile).getSection() > 0) { - return world.getBlock(x, y - 1, z) == Botany.flower; + public void updateTick(World world, int x, int y, int z, Random rand) { + TileEntity tile = world.getTileEntity(x, y, z); + if (tile instanceof TileEntityFlower) { + ((TileEntityFlower) tile).randomUpdate(rand); + checkAndDropBlock(world, x, y, z); + return; + } + world.setBlockToAir(x, y, z); + } + + protected void checkAndDropBlock(World world, int x, int y, int z) { + if (!canBlockStay(world, x, y, z)) { + dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x, y, z), 0); + world.setBlockToAir(x, y, z); } - return this.canPlaceBlockOn(world.getBlock(x, y - 1, z)); } @Override - public ArrayList getDrops(final World world, final int x, final int y, final int z, final int blockMeta, final int fortune) { - final ArrayList drops = new ArrayList(); - final TileEntity tile = world.getTileEntity(x, y, z); + public boolean canBlockStay(World world, int x, int y, int z) { + TileEntity tile = world.getTileEntity(x, y, z); + if (tile instanceof TileEntityFlower && ((TileEntityFlower) tile).getSection() > 0) { + return world.getBlock(x, y - 1, z) == Botany.flower; + } + return canPlaceBlockOn(world.getBlock(x, y - 1, z)); + } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int blockMeta, int fortune) { + ArrayList drops = new ArrayList(); + TileEntity tile = world.getTileEntity(x, y, z); if (tile instanceof TileEntityFlower && ((TileEntityFlower) tile).getSection() == 0) { - final ItemStack flower = ((TileEntityFlower) tile).getItemStack(); + ItemStack flower = ((TileEntityFlower) tile).getItemStack(); if (flower != null) { drops.add(flower); } @@ -188,13 +199,14 @@ public class BlockFlower extends BlockContainer return drops; } + // TODO remove deprecated @Override - public boolean removedByPlayer(final World world, final EntityPlayer player, final int x, final int y, final int z) { - final List drops = this.getDrops(world, x, y, z, world.getBlockMetadata(x, y, z), 0); - final boolean hasBeenBroken = world.setBlockToAir(x, y, z); + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z) { + List drops = getDrops(world, x, y, z, world.getBlockMetadata(x, y, z), 0); + boolean hasBeenBroken = world.setBlockToAir(x, y, z); if (hasBeenBroken && BinnieCore.proxy.isSimulating(world) && drops.size() > 0 && (player == null || !player.capabilities.isCreativeMode)) { - for (final ItemStack drop : drops) { - this.dropBlockAsItem(world, x, y, z, drop); + for (ItemStack drop : drops) { + dropBlockAsItem(world, x, y, z, drop); } } return hasBeenBroken; diff --git a/src/main/java/binnie/botany/flower/ItemBotany.java b/src/main/java/binnie/botany/flower/ItemBotany.java index a5399a86..bf4978ed 100644 --- a/src/main/java/binnie/botany/flower/ItemBotany.java +++ b/src/main/java/binnie/botany/flower/ItemBotany.java @@ -1,7 +1,3 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.flower; import binnie.Binnie; @@ -24,7 +20,6 @@ import forestry.core.config.Config; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; @@ -36,20 +31,19 @@ import net.minecraft.world.World; import java.util.List; -public abstract class ItemBotany extends Item -{ +public abstract class ItemBotany extends Item { + public ItemBotany(String name) { + setCreativeTab(CreativeTabBotany.instance); + setUnlocalizedName(name); + hasSubtypes = true; + } + @Override @SideOnly(Side.CLIENT) public int getSpriteNumber() { return 0; } - public ItemBotany(final String name) { - this.setCreativeTab(CreativeTabBotany.instance); - this.setUnlocalizedName(name); - this.hasSubtypes = true; - } - @Override public boolean isDamageable() { return false; @@ -65,21 +59,25 @@ public abstract class ItemBotany extends Item return true; } + // TODO remove deprecated @Override - public boolean hasEffect(final ItemStack itemstack) { + public boolean hasEffect(ItemStack itemstack) { if (!itemstack.hasTagCompound()) { return false; } - final IIndividual individual = this.getIndividual(itemstack); - return individual != null && individual.getGenome() != null && individual.hasEffect(); + + IIndividual individual = getIndividual(itemstack); + return individual != null + && individual.getGenome() != null + && individual.hasEffect(); } @Override - public void addInformation(final ItemStack itemstack, final EntityPlayer player, final List list, final boolean flag) { + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean flag) { if (!itemstack.hasTagCompound()) { return; } - final IFlower individual = (IFlower) this.getIndividual(itemstack); + IFlower individual = (IFlower) getIndividual(itemstack); if (individual == null) { list.add("This item is bugged. Destroy it!"); return; @@ -89,28 +87,26 @@ public abstract class ItemBotany extends Item if (individual.isAnalyzed()) { if (BinnieCore.proxy.isShiftDown()) { individual.addTooltip(list); - } - else { + } else { // TODO remove hardcode strings and localize list.add(EnumChatFormatting.GRAY + ""); } - } - else { + } else { list.add(""); } } @Override @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister par1IconRegister) { + public void registerIcons(IIconRegister par1IconRegister) { } - protected IIndividual getIndividual(final ItemStack itemstack) { + protected IIndividual getIndividual(ItemStack itemstack) { return new Flower(itemstack.getTagCompound()); } - private IAlleleFlowerSpecies getPrimarySpecies(final ItemStack itemstack) { - final IFlower tree = BotanyCore.speciesRoot.getMember(itemstack); + private IAlleleFlowerSpecies getPrimarySpecies(ItemStack itemstack) { + IFlower tree = BotanyCore.speciesRoot.getMember(itemstack); if (tree == null) { return (IAlleleFlowerSpecies) BotanyCore.speciesRoot.getDefaultTemplate()[EnumFlowerChromosome.SPECIES.ordinal()]; } @@ -118,35 +114,43 @@ public abstract class ItemBotany extends Item } @Override - public String getItemStackDisplayName(final ItemStack itemstack) { + public String getItemStackDisplayName(ItemStack itemstack) { if (!itemstack.hasTagCompound()) { return "Unknown"; } - final IIndividual individual = this.getIndividual(itemstack); - return (individual != null && individual.getGenome() != null) ? (individual.getDisplayName() + this.getTag()) : "Corrupted Flower"; + IIndividual individual = getIndividual(itemstack); + return (individual != null && individual.getGenome() != null) ? + (individual.getDisplayName() + getTag()) : + "Corrupted Flower"; } @Override - public void getSubItems(final Item item, final CreativeTabs par2CreativeTabs, final List itemList) { - this.addCreativeItems(itemList, true); + public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { + addCreativeItems(itemList, true); } - public void addCreativeItems(final List itemList, final boolean hideSecrets) { - for (final IIndividual individual : BotanyCore.speciesRoot.getIndividualTemplates()) { + public void addCreativeItems(List itemList, boolean hideSecrets) { + for (IIndividual individual : BotanyCore.speciesRoot.getIndividualTemplates()) { if (hideSecrets && individual.isSecret() && !Config.isDebug) { continue; } - itemList.add(BotanyCore.speciesRoot.getMemberStack(individual.copy(), this.getStage().ordinal())); + itemList.add(BotanyCore.speciesRoot.getMemberStack(individual.copy(), getStage().ordinal())); } } @Override - public int getColorFromItemStack(final ItemStack itemstack, final int renderPass) { - final IFlower flower = BotanyCore.speciesRoot.getMember(itemstack); + public int getColorFromItemStack(ItemStack itemstack, int renderPass) { + IFlower flower = BotanyCore.speciesRoot.getMember(itemstack); if (flower == null || flower.getGenome() == null) { - return 16777215; + return 0xffffff; } - return (renderPass == 0) ? flower.getGenome().getStemColor().getColor(flower.isWilted()) : ((renderPass == 1) ? flower.getGenome().getPrimaryColor().getColor(flower.isWilted()) : flower.getGenome().getSecondaryColor().getColor(flower.isWilted())); + + if (renderPass == 0) { + return flower.getGenome().getStemColor().getColor(flower.isWilted()); + } + return (renderPass == 1) ? + flower.getGenome().getPrimaryColor().getColor(flower.isWilted()) : + flower.getGenome().getSecondaryColor().getColor(flower.isWilted()); } @Override @@ -155,36 +159,37 @@ public abstract class ItemBotany extends Item } @Override - public int getRenderPasses(final int metadata) { + public int getRenderPasses(int metadata) { return 3; } @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(final ItemStack itemstack, final int renderPass) { - final IFlower flower = BotanyCore.speciesRoot.getMember(itemstack); + public IIcon getIcon(ItemStack itemstack, int renderPass) { + IFlower flower = BotanyCore.speciesRoot.getMember(itemstack); if (flower == null || flower.getGenome() == null || flower.getGenome().getPrimary() == null) { return EnumFlowerType.Allium.getBlank(); } - final IFlowerType type = flower.getGenome().getPrimary().getType(); + + IFlowerType type = flower.getGenome().getPrimary().getType(); if (renderPass == 0) { - return type.getStem(this.getStage(), flower.hasFlowered(), type.getSections() - 1); + return type.getStem(getStage(), flower.hasFlowered(), type.getSections() - 1); } if (renderPass == 1) { - return type.getPetalIcon(this.getStage(), flower.hasFlowered(), type.getSections() - 1); + return type.getPetalIcon(getStage(), flower.hasFlowered(), type.getSections() - 1); } - return type.getVariantIcon(this.getStage(), flower.hasFlowered(), type.getSections() - 1); + return type.getVariantIcon(getStage(), flower.hasFlowered(), type.getSections() - 1); } @Override - public boolean onItemUse(final ItemStack itemstack, final EntityPlayer player, final World world, int x, int y, int z, int side, final float px, final float py, final float pz) { - if (this.getStage() == EnumFlowerStage.POLLEN) { - final IFlower flower = Binnie.Genetics.getFlowerRoot().getMember(itemstack); - final TileEntity target = world.getTileEntity(x, y, z); + public boolean onItemUse(ItemStack itemstack, EntityPlayer player, World world, int x, int y, int z, int side, float px, float py, float pz) { + if (getStage() == EnumFlowerStage.POLLEN) { + IFlower flower = Binnie.Genetics.getFlowerRoot().getMember(itemstack); + TileEntity target = world.getTileEntity(x, y, z); if (!(target instanceof IPollinatable)) { return false; } - final IPollinatable pollinatable = (IPollinatable) target; + IPollinatable pollinatable = (IPollinatable) target; if (!pollinatable.canMateWith(flower)) { return false; } @@ -194,89 +199,76 @@ public abstract class ItemBotany extends Item } return true; } - else { - final Block blockFlower = Botany.flower; - final Block blockAlreadyThere = world.getBlock(x, y, z); - if (blockAlreadyThere == Blocks.snow_layer && (world.getBlockMetadata(x, y, z) & 0x7) < 1) { - side = 1; - } - else if (blockAlreadyThere != Blocks.vine && blockAlreadyThere != Blocks.tallgrass && blockAlreadyThere != Blocks.deadbush && !blockAlreadyThere.isReplaceable(world, x, y, z)) { - if (side == 0) { - --y; - } - if (side == 1) { - ++y; - } - if (side == 2) { - --z; - } - if (side == 3) { - ++z; - } - if (side == 4) { - --x; - } - if (side == 5) { - ++x; - } - } - if (itemstack.stackSize == 0) { - return false; - } - if (!player.canPlayerEdit(x, y, z, side, itemstack)) { - return false; - } - if (y == 255 && blockFlower.getMaterial().isSolid()) { - return false; - } - if (world.canPlaceEntityOnSide(blockFlower, x, y, z, false, side, player, itemstack)) { - final int i1 = this.getMetadata(itemstack.getItemDamage()); - final int j1 = blockFlower.onBlockPlaced(world, x, y, z, side, px, py, pz, i1); - if (this.placeBlockAt(itemstack, player, world, x, y, z, side, px, py, pz, j1)) { - world.playSoundEffect(x + 0.5f, y + 0.5f, z + 0.5f, blockFlower.stepSound.func_150496_b(), (blockFlower.stepSound.getVolume() + 1.0f) / 2.0f, blockFlower.stepSound.getPitch() * 0.8f); - --itemstack.stackSize; - } - return true; + + Block blockFlower = Botany.flower; + Block blockAlreadyThere = world.getBlock(x, y, z); + if (blockAlreadyThere == Blocks.snow_layer && (world.getBlockMetadata(x, y, z) & 0x7) < 1) { + side = 1; + } else if (blockAlreadyThere != Blocks.vine && blockAlreadyThere != Blocks.tallgrass && blockAlreadyThere != Blocks.deadbush && !blockAlreadyThere.isReplaceable(world, x, y, z)) { + if (side == 0) { + y--; + } else if (side == 1) { + y++; + } else if (side == 2) { + z--; + } else if (side == 3) { + z++; + } else if (side == 4) { + x--; + } else if (side == 5) { + x++; } + } + + if (itemstack.stackSize == 0 || !player.canPlayerEdit(x, y, z, side, itemstack)) { return false; } + if (y == 255 && blockFlower.getMaterial().isSolid()) { + return false; + } + + if (world.canPlaceEntityOnSide(blockFlower, x, y, z, false, side, player, itemstack)) { + int i1 = getMetadata(itemstack.getItemDamage()); + int j1 = blockFlower.onBlockPlaced(world, x, y, z, side, px, py, pz, i1); + if (placeBlockAt(itemstack, player, world, x, y, z, side, px, py, pz, j1)) { + world.playSoundEffect(x + 0.5f, y + 0.5f, z + 0.5f, blockFlower.stepSound.func_150496_b(), (blockFlower.stepSound.getVolume() + 1.0f) / 2.0f, blockFlower.stepSound.getPitch() * 0.8f); + itemstack.stackSize--; + } + return true; + } + return false; } @SideOnly(Side.CLIENT) - public boolean func_150936_a(final World p_150936_1_, int p_150936_2_, int p_150936_3_, int p_150936_4_, int p_150936_5_, final EntityPlayer p_150936_6_, final ItemStack p_150936_7_) { - final Block field_150939_a = Botany.flower; - final Block block = p_150936_1_.getBlock(p_150936_2_, p_150936_3_, p_150936_4_); + public boolean func_150936_a(World world, int x, int y, int z, int side, EntityPlayer player, ItemStack stack) { + Block field_150939_a = Botany.flower; + Block block = world.getBlock(x, y, z); if (block == Blocks.snow_layer) { - p_150936_5_ = 1; - } - else if (block != Blocks.vine && block != Blocks.tallgrass && block != Blocks.deadbush && !block.isReplaceable(p_150936_1_, p_150936_2_, p_150936_3_, p_150936_4_)) { - if (p_150936_5_ == 0) { - --p_150936_3_; - } - if (p_150936_5_ == 1) { - ++p_150936_3_; - } - if (p_150936_5_ == 2) { - --p_150936_4_; - } - if (p_150936_5_ == 3) { - ++p_150936_4_; - } - if (p_150936_5_ == 4) { - --p_150936_2_; - } - if (p_150936_5_ == 5) { - ++p_150936_2_; + side = 1; + } else if (block != Blocks.vine && block != Blocks.tallgrass && block != Blocks.deadbush && !block.isReplaceable(world, x, y, z)) { + if (side == 0) { + y--; + } else if (side == 1) { + y++; + } else if (side == 2) { + z--; + } else if (side == 3) { + z++; + } else if (side == 4) { + x--; + } else if (side == 5) { + x++; } } - return p_150936_1_.canPlaceEntityOnSide(field_150939_a, p_150936_2_, p_150936_3_, p_150936_4_, false, p_150936_5_, (Entity) null, p_150936_7_); + return world.canPlaceEntityOnSide(field_150939_a, x, y, z, false, side, null, stack); } - public boolean placeBlockAt(final ItemStack stack, final EntityPlayer player, final World world, final int x, final int y, final int z, final int side, final float hitX, final float hitY, final float hitZ, final int metadata) { - final Block field_150939_a = Botany.flower; + public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int metadata) { + Block field_150939_a = Botany.flower; if (!world.setBlock(x, y, z, field_150939_a, metadata, 3)) { return false; } + if (world.getBlock(x, y, z) == field_150939_a) { field_150939_a.onBlockPlacedBy(world, x, y, z, player, stack); field_150939_a.onPostBlockPlaced(world, x, y, z, metadata); diff --git a/src/main/java/binnie/botany/flower/ItemFlower.java b/src/main/java/binnie/botany/flower/ItemFlower.java index b4d62346..a475990a 100644 --- a/src/main/java/binnie/botany/flower/ItemFlower.java +++ b/src/main/java/binnie/botany/flower/ItemFlower.java @@ -1,13 +1,8 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.flower; import binnie.botany.api.EnumFlowerStage; -public class ItemFlower extends ItemBotany -{ +public class ItemFlower extends ItemBotany { public ItemFlower() { super("itemFlower"); } diff --git a/src/main/java/binnie/botany/flower/ItemInsulatedTube.java b/src/main/java/binnie/botany/flower/ItemInsulatedTube.java index 73ea95a6..e7369c2f 100644 --- a/src/main/java/binnie/botany/flower/ItemInsulatedTube.java +++ b/src/main/java/binnie/botany/flower/ItemInsulatedTube.java @@ -1,32 +1,41 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.flower; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import binnie.botany.CreativeTabBotany; -import net.minecraft.entity.player.EntityPlayer; import binnie.botany.Botany; -import net.minecraft.client.renderer.texture.IIconRegister; +import binnie.botany.CreativeTabBotany; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.item.ItemStack; -import java.util.List; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.util.IIcon; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; -public class ItemInsulatedTube extends Item -{ +import java.util.List; + +public class ItemInsulatedTube extends Item { IIcon[] icons; + public ItemInsulatedTube() { + icons = new IIcon[3]; + setUnlocalizedName("insulatedTube"); + setCreativeTab(CreativeTabBotany.instance); + } + + public static String getInsulate(ItemStack stack) { + return Insulate.get(stack.getItemDamage()).getName(); + } + + public static ItemStack getInsulateStack(ItemStack stack) { + return Insulate.get(stack.getItemDamage()).getStack(); + } + @Override @SideOnly(Side.CLIENT) - public void getSubItems(final Item p_150895_1_, final CreativeTabs p_150895_2_, final List p_150895_3_) { - for (final Material mat : Material.values()) { - for (final Insulate ins : Insulate.values()) { + public void getSubItems(Item p_150895_1_, CreativeTabs p_150895_2_, List p_150895_3_) { + for (Material mat : Material.values()) { + for (Insulate ins : Insulate.values()) { p_150895_3_.add(new ItemStack(this, 1, mat.ordinal() + ins.ordinal() * 128)); } } @@ -34,38 +43,38 @@ public class ItemInsulatedTube extends Item @Override @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister p_94581_1_) { + public void registerIcons(IIconRegister p_94581_1_) { for (int i = 0; i < 3; ++i) { - this.icons[i] = Botany.proxy.getIcon(p_94581_1_, "insulatedTube." + i); + icons[i] = Botany.proxy.getIcon(p_94581_1_, "insulatedTube." + i); } } @Override @SideOnly(Side.CLIENT) - public int getColorFromItemStack(final ItemStack stack, final int pass) { + public int getColorFromItemStack(ItemStack stack, int pass) { return (pass == 0) ? 16777215 : ((pass == 1) ? Material.get(stack.getItemDamage()).getColor() : Insulate.get(stack.getItemDamage()).getColor()); } @Override @SideOnly(Side.CLIENT) - public void addInformation(final ItemStack p_77624_1_, final EntityPlayer p_77624_2_, final List p_77624_3_, final boolean p_77624_4_) { - super.addInformation(p_77624_1_, p_77624_2_, p_77624_3_, p_77624_4_); - p_77624_3_.add(Insulate.get(p_77624_1_.getItemDamage()).getName()); + public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { + super.addInformation(stack, player, tooltip, advanced); + tooltip.add(Insulate.get(stack.getItemDamage()).getName()); } @Override - public String getItemStackDisplayName(final ItemStack p_77653_1_) { - return Material.get(p_77653_1_.getItemDamage()).getName() + " Insulated Tube"; + public String getItemStackDisplayName(ItemStack stack) { + return Material.get(stack.getItemDamage()).getName() + " Insulated Tube"; } @Override - public int getRenderPasses(final int metadata) { + public int getRenderPasses(int metadata) { return 3; } @Override - public IIcon getIcon(final ItemStack stack, final int pass) { - return this.icons[pass % 3]; + public IIcon getIcon(ItemStack stack, int pass) { + return icons[pass % 3]; } @Override @@ -73,101 +82,82 @@ public class ItemInsulatedTube extends Item return true; } - public ItemInsulatedTube() { - this.icons = new IIcon[3]; - this.setUnlocalizedName("insulatedTube"); - this.setCreativeTab(CreativeTabBotany.instance); - } + enum Material { + Copper(0xe3b78e, "Copper"), + Tin(0xe1eef4, "Tin"), + Bronze(0xddc276, "Bronze"), + Iron(0xd8d8d8, "Iron"); - public static String getInsulate(final ItemStack stack) { - return Insulate.get(stack.getItemDamage()).getName(); - } + protected int color; + protected String name; - public static ItemStack getInsulateStack(final ItemStack stack) { - return Insulate.get(stack.getItemDamage()).getStack(); - } - - enum Material - { - Copper(14923662, "Copper"), - Tin(14806772, "Tin"), - Bronze(14533238, "Bronze"), - Iron(14211288, "Iron"); - - int color; - String name; - - public int getColor() { - return this.color; - } - - public String getName() { - return this.name; - } - - private Material(final int color, final String name) { + Material(int color, String name) { this.color = color; this.name = name; } - public static Material get(final int i) { + public static Material get(int i) { return values()[i % values().length]; } - } - - enum Insulate - { - Clay(10595020, "Clay"), - Cobble(8092539, "Cobblestone"), - Sand(15723189, "Sand"), - HardenedClay(9657411, "Hardened Clay"), - Stone(7171437, "Smooth Stone"), - Sandstone(12695945, "Sandstone"); - - int color; - String name; public int getColor() { - return this.color; + return color; } public String getName() { - return this.name; + return name; } + } - private Insulate(final int color, final String name) { + enum Insulate { + Clay(0xa1aacc, "Clay"), + Cobble(0x7b7b7b, "Cobblestone"), + Sand(0xefeab5, "Sand"), + HardenedClay(0x935c43, "Hardened Clay"), + Stone(0x6d6d6d, "Smooth Stone"), + Sandstone(0xc1b989, "Sandstone"); + + protected int color; + protected String name; + + Insulate(int color, String name) { this.color = color; this.name = name; } - public static Insulate get(final int i) { + public static Insulate get(int i) { return values()[i / 128 % values().length]; } + public int getColor() { + return color; + } + + public String getName() { + return name; + } + public ItemStack getStack() { switch (this) { - case Clay: { - return new ItemStack(Blocks.clay); - } - case Cobble: { - return new ItemStack(Blocks.cobblestone); - } - case HardenedClay: { - return new ItemStack(Blocks.hardened_clay); - } - case Sand: { - return new ItemStack(Blocks.sand); - } - case Sandstone: { - return new ItemStack(Blocks.sandstone); - } - case Stone: { - return new ItemStack(Blocks.stone); - } - default: { - return null; - } + case Clay: + return new ItemStack(Blocks.clay); + + case Cobble: + return new ItemStack(Blocks.cobblestone); + + case HardenedClay: + return new ItemStack(Blocks.hardened_clay); + + case Sand: + return new ItemStack(Blocks.sand); + + case Sandstone: + return new ItemStack(Blocks.sandstone); + + case Stone: + return new ItemStack(Blocks.stone); } + return null; } } } diff --git a/src/main/java/binnie/botany/flower/ItemPollen.java b/src/main/java/binnie/botany/flower/ItemPollen.java index af6cacf0..dcd4ad83 100644 --- a/src/main/java/binnie/botany/flower/ItemPollen.java +++ b/src/main/java/binnie/botany/flower/ItemPollen.java @@ -1,13 +1,8 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.flower; import binnie.botany.api.EnumFlowerStage; -public class ItemPollen extends ItemBotany -{ +public class ItemPollen extends ItemBotany { public ItemPollen() { super("pollen"); } diff --git a/src/main/java/binnie/botany/flower/ItemSeed.java b/src/main/java/binnie/botany/flower/ItemSeed.java index f2a4b485..c0c5d7ce 100644 --- a/src/main/java/binnie/botany/flower/ItemSeed.java +++ b/src/main/java/binnie/botany/flower/ItemSeed.java @@ -1,13 +1,8 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.flower; import binnie.botany.api.EnumFlowerStage; -public class ItemSeed extends ItemBotany -{ +public class ItemSeed extends ItemBotany { public ItemSeed() { super("seed"); } diff --git a/src/main/java/binnie/botany/flower/RendererBotany.java b/src/main/java/binnie/botany/flower/RendererBotany.java index 2bee2efa..fd901071 100644 --- a/src/main/java/binnie/botany/flower/RendererBotany.java +++ b/src/main/java/binnie/botany/flower/RendererBotany.java @@ -1,61 +1,55 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.flower; -import net.minecraft.util.IIcon; -import net.minecraft.client.renderer.EntityRenderer; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.world.IBlockAccess; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.block.Block; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.EntityRenderer; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; -public class RendererBotany implements ISimpleBlockRenderingHandler -{ +public class RendererBotany implements ISimpleBlockRenderingHandler { public static int renderID; public static int pass; @Override - public void renderInventoryBlock(final Block block, final int metadata, final int modelID, final RenderBlocks renderer) { + public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { + // ignored } @Override - public boolean renderWorldBlock(final IBlockAccess world, final int x, final int y, final int z, final Block block, final int modelId, final RenderBlocks renderer) { - final Tessellator tessellator = Tessellator.instance; + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + Tessellator tessellator = Tessellator.instance; tessellator.setBrightness(block.getMixedBrightnessForBlock(renderer.blockAccess, x, y, z)); double d1 = x; - final double d2 = y; + double d2 = y; double d3 = z; long i1 = x * 3129871 ^ z * 116129781L; i1 = i1 * i1 * 42317861L + i1 * 11L; d1 += ((i1 >> 16 & 0xFL) / 15.0f - 0.5) * 0.3; d3 += ((i1 >> 24 & 0xFL) / 15.0f - 0.5) * 0.3; - final int rot = (int) (i1 % 4L); + for (int j = 0; j < 3; ++j) { RendererBotany.pass = j; - final int l = block.colorMultiplier(renderer.blockAccess, x, y, z); + int l = block.colorMultiplier(renderer.blockAccess, x, y, z); float f = (l >> 16 & 0xFF) / 255.0f; float f2 = (l >> 8 & 0xFF) / 255.0f; float f3 = (l & 0xFF) / 255.0f; + if (EntityRenderer.anaglyphEnable) { - final float f4 = (f * 30.0f + f2 * 59.0f + f3 * 11.0f) / 100.0f; - final float f5 = (f * 30.0f + f2 * 70.0f) / 100.0f; - final float f6 = (f * 30.0f + f3 * 70.0f) / 100.0f; - f = f4; - f2 = f5; - f3 = f6; + f = (f * 30.0f + f2 * 59.0f + f3 * 11.0f) / 100.0f; + f2 = (f * 30.0f + f2 * 70.0f) / 100.0f; + f3 = (f * 30.0f + f3 * 70.0f) / 100.0f; } tessellator.setColorOpaque_F(f, f2, f3); - final IIcon iicon = block.getIcon(world, x, y, z, 0); + IIcon iicon = block.getIcon(world, x, y, z, 0); renderer.drawCrossedSquares(iicon, d1, d2, d3, 1.0f); } return false; } @Override - public boolean shouldRender3DInInventory(final int i) { + public boolean shouldRender3DInInventory(int i) { return false; } diff --git a/src/main/java/binnie/botany/flower/TileEntityFlower.java b/src/main/java/binnie/botany/flower/TileEntityFlower.java index 57be5069..707498ac 100644 --- a/src/main/java/binnie/botany/flower/TileEntityFlower.java +++ b/src/main/java/binnie/botany/flower/TileEntityFlower.java @@ -1,141 +1,110 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.flower; -import binnie.botany.api.IFlowerColour; - -import java.util.HashSet; -import java.util.Set; - -import forestry.api.core.IErrorState; - -import net.minecraft.world.biome.BiomeGenBase; - -import binnie.botany.genetics.EnumFlowerType; +import binnie.Binnie; +import binnie.botany.Botany; +import binnie.botany.api.EnumFlowerStage; +import binnie.botany.api.EnumSoilType; +import binnie.botany.api.IAlleleFlowerSpecies; +import binnie.botany.api.IFlower; +import binnie.botany.api.IFlowerColor; +import binnie.botany.api.IFlowerGenome; import binnie.botany.api.IFlowerType; +import binnie.botany.core.BotanyCore; +import binnie.botany.gardening.BlockPlant; +import binnie.botany.gardening.Gardening; import binnie.botany.genetics.EnumFlowerColor; +import binnie.botany.genetics.EnumFlowerType; +import binnie.botany.genetics.Flower; +import binnie.botany.network.MessageFlowerUpdate; +import binnie.core.BinnieCore; +import com.mojang.authlib.GameProfile; import forestry.api.core.EnumHumidity; import forestry.api.core.EnumTemperature; - -import net.minecraft.world.World; - -import forestry.lepidopterology.entities.EntityButterfly; -import binnie.botany.gardening.BlockPlant; - -import net.minecraft.entity.item.EntityItem; - -import binnie.botany.api.EnumFlowerStage; - -import binnie.botany.network.MessageFlowerUpdate; - -import net.minecraft.network.Packet; - -import binnie.botany.api.IFlowerGenome; -import binnie.botany.api.EnumSoilType; - -import net.minecraft.init.Blocks; - -import binnie.botany.Botany; - -import java.util.Random; - -import net.minecraft.block.Block; - -import binnie.botany.gardening.Gardening; -import binnie.botany.api.IAlleleFlowerSpecies; import forestry.api.genetics.IIndividual; - +import forestry.api.genetics.IPollinatable; +import forestry.api.lepidopterology.IButterfly; +import forestry.api.lepidopterology.IButterflyNursery; +import forestry.lepidopterology.entities.EntityButterfly; +import net.minecraft.block.Block; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTUtil; +import net.minecraft.network.Packet; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.EnumPlantType; import java.util.EnumSet; +import java.util.Random; -import binnie.botany.core.BotanyCore; - -import net.minecraft.item.ItemStack; - -import binnie.Binnie; -import binnie.core.BinnieCore; - -import net.minecraft.nbt.NBTUtil; - -import binnie.botany.genetics.Flower; - -import net.minecraft.nbt.NBTTagCompound; - -import forestry.api.lepidopterology.IButterfly; - -import com.mojang.authlib.GameProfile; - -import binnie.botany.api.IFlower; -import forestry.api.lepidopterology.IButterflyNursery; -import forestry.api.genetics.IPollinatable; - -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChunkCoordinates; - -public class TileEntityFlower extends TileEntity implements IPollinatable, IButterflyNursery -{ - IFlower flower; - GameProfile owner; - int section; - RenderInfo renderInfo; - IButterfly caterpillar; - int matureTime; +public class TileEntityFlower extends TileEntity implements IPollinatable, IButterflyNursery { + protected IFlower flower; + protected GameProfile owner; + protected int section; + protected RenderInfo renderInfo; + protected IButterfly caterpillar; + protected int matureTime; public TileEntityFlower() { - this.flower = null; - this.section = 0; - this.renderInfo = null; - this.matureTime = 0; + flower = null; + section = 0; + renderInfo = null; + matureTime = 0; } @Override - public void readFromNBT(final NBTTagCompound nbttagcompound) { - this.flower = new Flower(nbttagcompound); - this.section = nbttagcompound.getByte("section"); - if (this.flower.getAge() == 0) { - this.flower.setFlowered(false); + public void readFromNBT(NBTTagCompound nbttagcompound) { + flower = new Flower(nbttagcompound); + section = nbttagcompound.getByte("section"); + if (flower.getAge() == 0) { + flower.setFlowered(false); } - this.owner = NBTUtil.func_152459_a(nbttagcompound.getCompoundTag("owner")); + + owner = NBTUtil.func_152459_a(nbttagcompound.getCompoundTag("owner")); if (nbttagcompound.hasKey("CATER") && BinnieCore.isLepidopteryActive()) { - this.matureTime = nbttagcompound.getInteger("caterTime"); - this.caterpillar = Binnie.Genetics.getButterflyRoot().getMember(nbttagcompound.getCompoundTag("cater")); + matureTime = nbttagcompound.getInteger("caterTime"); + caterpillar = Binnie.Genetics.getButterflyRoot().getMember(nbttagcompound.getCompoundTag("cater")); } super.readFromNBT(nbttagcompound); } @Override - public void writeToNBT(final NBTTagCompound nbttagcompound) { - if (this.flower != null) { - this.flower.writeToNBT(nbttagcompound); + public void writeToNBT(NBTTagCompound nbttagcompound) { + if (flower != null) { + flower.writeToNBT(nbttagcompound); } - if (this.owner != null) { - final NBTTagCompound nbt = new NBTTagCompound(); - NBTUtil.func_152460_a(nbt, this.owner); + + if (owner != null) { + NBTTagCompound nbt = new NBTTagCompound(); + NBTUtil.func_152460_a(nbt, owner); nbttagcompound.setTag("owner", nbt); } - if (this.caterpillar != null) { - nbttagcompound.setInteger("caterTime", this.matureTime); - final NBTTagCompound subcompound = new NBTTagCompound(); - this.caterpillar.writeToNBT(subcompound); + + if (caterpillar != null) { + nbttagcompound.setInteger("caterTime", matureTime); + NBTTagCompound subcompound = new NBTTagCompound(); + caterpillar.writeToNBT(subcompound); nbttagcompound.setTag("cater", subcompound); } - nbttagcompound.setByte("section", (byte) this.getSection()); + nbttagcompound.setByte("section", (byte) getSection()); super.writeToNBT(nbttagcompound); } - public void create(final ItemStack stack, final GameProfile owner) { - this.create(BotanyCore.getFlowerRoot().getMember(stack), owner); + public void create(ItemStack stack, GameProfile owner) { + create(BotanyCore.getFlowerRoot().getMember(stack), owner); } - public void create(final IFlower stack, final GameProfile owner) { - this.flower = stack; - if (this.flower.getAge() == 0) { - this.flower.setFlowered(false); + public void create(IFlower stack, GameProfile owner) { + flower = stack; + if (flower.getAge() == 0) { + flower.setFlowered(false); } - this.updateRender(true); + + updateRender(true); this.owner = owner; } @@ -146,32 +115,39 @@ public class TileEntityFlower extends TileEntity implements IPollinatable, IButt @Override public IIndividual getPollen() { - return this.getFlower(); + return getFlower(); } @Override - public boolean canMateWith(final IIndividual individual) { - return this.isBreeding() && individual instanceof IFlower && this.getFlower() != null && this.getFlower().getMate() == null && this.getFlower().hasFlowered() && !this.getFlower().isGeneticEqual(individual); + public boolean canMateWith(IIndividual individual) { + return isBreeding() + && individual instanceof IFlower + && getFlower() != null + && getFlower().getMate() == null + && getFlower().hasFlowered() + && !getFlower().isGeneticEqual(individual); } @Override - public void mateWith(final IIndividual individual) { - if (this.getFlower() == null || !(individual instanceof IFlower)) { + public void mateWith(IIndividual individual) { + if (getFlower() == null || !(individual instanceof IFlower)) { return; } - final IAlleleFlowerSpecies primary = (IAlleleFlowerSpecies) individual.getGenome().getPrimary(); - final IAlleleFlowerSpecies primary2 = this.getFlower().getGenome().getPrimary(); - if (primary == primary2 || this.worldObj.rand.nextInt(4) == 0) { - this.getFlower().mate((IFlower) individual); - this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord); + + IAlleleFlowerSpecies primary = (IAlleleFlowerSpecies) individual.getGenome().getPrimary(); + IAlleleFlowerSpecies primary2 = getFlower().getGenome().getPrimary(); + if (primary == primary2 || worldObj.rand.nextInt(4) == 0) { + getFlower().mate((IFlower) individual); + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); } } public IFlower getFlower() { - if (this.getSection() <= 0) { - return this.flower; + if (getSection() <= 0) { + return flower; } - final TileEntity tile = this.worldObj.getTileEntity(this.xCoord, this.yCoord - this.getSection(), this.zCoord); + + TileEntity tile = worldObj.getTileEntity(xCoord, yCoord - getSection(), zCoord); if (tile instanceof TileEntityFlower) { return ((TileEntityFlower) tile).getFlower(); } @@ -179,491 +155,434 @@ public class TileEntityFlower extends TileEntity implements IPollinatable, IButt } public boolean isBreeding() { - final Block roots = this.getWorldObj().getBlock(this.xCoord, this.yCoord - 1, this.zCoord); + Block roots = getWorldObj().getBlock(xCoord, yCoord - 1, zCoord); return Gardening.isSoil(roots); } - public void randomUpdate(final Random rand) { - if (this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord) != Botany.flower) { - this.invalidate(); + public void randomUpdate(Random rand) { + if (worldObj.getBlock(xCoord, yCoord, zCoord) != Botany.flower) { + invalidate(); return; } - if (this.getSection() > 0) { + if (getSection() > 0 || flower == null) { return; } - if (this.flower == null) { + + if (flower.getGenome() == null) { + invalidate(); return; } - if (this.flower.getGenome() == null) { - this.invalidate(); + if (!isBreeding()) { return; } - if (!this.isBreeding()) { - return; - } - float light = this.worldObj.getBlockLightValue(this.xCoord, this.yCoord, this.zCoord); + + float light = worldObj.getBlockLightValue(xCoord, yCoord, zCoord); if (light < 6.0f) { for (int dx = -2; dx <= 2; ++dx) { for (int dy = -2; dy <= 2; ++dy) { - light -= (this.worldObj.canBlockSeeTheSky(this.xCoord, this.yCoord, this.zCoord) ? 0.0f : 0.5f); + light -= (worldObj.canBlockSeeTheSky(xCoord, yCoord, zCoord) ? 0.0f : 0.5f); } } } - final boolean canTolerate = Gardening.canTolerate(this.getFlower(), this.worldObj, this.xCoord, this.yCoord, this.zCoord); - final EnumSoilType soil = Gardening.getSoilType(this.worldObj, this.xCoord, this.yCoord, this.zCoord); - if (rand.nextFloat() < this.getFlower().getGenome().getAgeChance()) { - if (this.flower.getAge() < 1) { + + boolean canTolerate = Gardening.canTolerate(getFlower(), worldObj, xCoord, yCoord, zCoord); + EnumSoilType soil = Gardening.getSoilType(worldObj, xCoord, yCoord, zCoord); + if (rand.nextFloat() < getFlower().getGenome().getAgeChance()) { + if (flower.getAge() < 1) { if (canTolerate && light > 6.0f) { - this.doFlowerAge(); + doFlowerAge(); } - } - else { - this.doFlowerAge(); + } else { + doFlowerAge(); } } - if (canTolerate && this.flower.getAge() > 1 && !this.flower.isWilted() && light > 6.0f) { - this.flower.setFlowered(true); + + if (canTolerate && flower.getAge() > 1 && !flower.isWilted() && light > 6.0f) { + flower.setFlowered(true); } - if (!canTolerate && this.flower.isWilted() && rand.nextInt(2 + Math.max(this.flower.getAge(), 2)) == 0) { - this.kill(); + if (!canTolerate && flower.isWilted() && rand.nextInt(2 + Math.max(flower.getAge(), 2)) == 0) { + kill(); return; } - if (light < 2.0f && this.flower.isWilted()) { - this.kill(); + + if (light < 2.0f && flower.isWilted()) { + kill(); return; } + if (!canTolerate || light < 1.0f) { - this.flower.setWilted(true); - } - else { - this.flower.setWilted(false); + flower.setWilted(true); + } else { + flower.setWilted(false); } + float CHANCE_DISPERSAL = 0.8f; - CHANCE_DISPERSAL += 0.2f * this.flower.getGenome().getFertility(); + CHANCE_DISPERSAL += 0.2f * flower.getGenome().getFertility(); CHANCE_DISPERSAL *= 1.0f + soil.ordinal() * 0.5f; float CHANCE_POLLINATE = 1.0f; - CHANCE_POLLINATE += 0.25f * this.flower.getGenome().getFertility(); + CHANCE_POLLINATE += 0.25f * flower.getGenome().getFertility(); CHANCE_POLLINATE *= 1.0f + soil.ordinal() * 0.5f; - final float CHANCE_SELFPOLLINATE = 0.2f * CHANCE_POLLINATE; - if (this.worldObj.rand.nextFloat() < CHANCE_DISPERSAL && this.flower.hasFlowered() && !this.flower.isWilted()) { - final IFlowerGenome mate = this.flower.getMate(); + float CHANCE_SELFPOLLINATE = 0.2f * CHANCE_POLLINATE; + + if (worldObj.rand.nextFloat() < CHANCE_DISPERSAL && flower.hasFlowered() && !flower.isWilted()) { + IFlowerGenome mate = flower.getMate(); if (mate != null) { boolean dispersed = false; for (int a = 0; a < 5 && !dispersed; ++a) { - int dx2; - int dz; - for (dx2 = 0, dz = 0; dx2 == 0 && dz == 0; dx2 = rand.nextInt(3) - 1, dz = rand.nextInt(3) - 1) { + int dx2 = 0; + int dz = 0; + while (dx2 == 0 && dz == 0) { + dx2 = rand.nextInt(3) - 1; + dz = rand.nextInt(3) - 1; } - final Block b = this.getWorldObj().getBlock(this.xCoord + dx2, this.yCoord, this.zCoord + dz); - final Block b2 = this.getWorldObj().getBlock(this.xCoord + dx2, this.yCoord - 1, this.zCoord + dz); + + Block b = getWorldObj().getBlock(xCoord + dx2, yCoord, zCoord + dz); + Block b2 = getWorldObj().getBlock(xCoord + dx2, yCoord - 1, zCoord + dz); if (b == Blocks.air && Gardening.isSoil(b2)) { - final IFlower offspring = this.flower.getOffspring(this.getWorldObj()); + IFlower offspring = flower.getOffspring(getWorldObj()); if (offspring != null) { - Gardening.plant(this.getWorldObj(), this.xCoord + dx2, this.yCoord, this.zCoord + dz, offspring, this.getOwner()); - this.flower.removeMate(); + Gardening.plant(getWorldObj(), xCoord + dx2, yCoord, zCoord + dz, offspring, getOwner()); + flower.removeMate(); dispersed = true; } } } } } - if (this.worldObj.rand.nextFloat() < CHANCE_POLLINATE && this.flower.hasFlowered() && !this.flower.isWilted()) { + + if (worldObj.rand.nextFloat() < CHANCE_POLLINATE && flower.hasFlowered() && !flower.isWilted()) { for (int a2 = 0; a2 < 4; ++a2) { - int dx3; - int dz2; - for (dx3 = 0, dz2 = 0; dx3 == 0 && dz2 == 0; dx3 = rand.nextInt(5) - 2, dz2 = rand.nextInt(5) - 2) { + int dx3 = 0; + int dz2 = 0; + while (dx3 == 0 && dz2 == 0) { + dx3 = rand.nextInt(5) - 2; + dz2 = rand.nextInt(5) - 2; } - final TileEntity tile = this.getWorldObj().getTileEntity(this.xCoord + dx3, this.yCoord, this.zCoord + dz2); - if (tile instanceof IPollinatable && ((IPollinatable) tile).canMateWith(this.getFlower())) { - ((IPollinatable) tile).mateWith(this.getFlower()); + + TileEntity tile = getWorldObj().getTileEntity(xCoord + dx3, yCoord, zCoord + dz2); + if (tile instanceof IPollinatable && ((IPollinatable) tile).canMateWith(getFlower())) { + ((IPollinatable) tile).mateWith(getFlower()); } } } - if (this.worldObj.rand.nextFloat() < CHANCE_SELFPOLLINATE && this.flower.hasFlowered() && this.flower.getMate() == null) { - this.mateWith(this.getFlower()); + + if (worldObj.rand.nextFloat() < CHANCE_SELFPOLLINATE && flower.hasFlowered() && flower.getMate() == null) { + mateWith(getFlower()); } - this.spawnButterflies(); - this.matureCaterpillar(); - this.checkIfDead(false); - this.updateRender(true); + spawnButterflies(); + matureCaterpillar(); + checkIfDead(false); + updateRender(true); } private void doFlowerAge() { - this.getFlower().age(); - if (this.getFlower().getAge() == 1) { - Gardening.onGrowFromSeed(this.worldObj, this.xCoord, this.yCoord, this.zCoord); - if (this.getOwner() != null && this.getFlower() != null) { - BotanyCore.getFlowerRoot().getBreedingTracker(this.getWorldObj(), this.getOwner()).registerBirth(this.getFlower()); - } + getFlower().age(); + if (getFlower().getAge() != 1) { + return; + } + + Gardening.onGrowFromSeed(worldObj, xCoord, yCoord, zCoord); + if (getOwner() != null && getFlower() != null) { + BotanyCore.getFlowerRoot().getBreedingTracker(getWorldObj(), getOwner()).registerBirth(getFlower()); } } @Override public Packet getDescriptionPacket() { - if (this.renderInfo == null && this.getFlower() != null && this.getFlower().getGenome() != null) { - this.renderInfo = new RenderInfo(this.getFlower(), this); + if (renderInfo == null && getFlower() != null && getFlower().getGenome() != null) { + renderInfo = new RenderInfo(getFlower(), this); } - return (this.renderInfo != null) ? Botany.instance.getNetworkWrapper().getPacketFrom(new MessageFlowerUpdate(this.xCoord, this.yCoord, this.zCoord, this.renderInfo).getMessage()) : null; + return (renderInfo != null) ? + Botany.instance.getNetworkWrapper().getPacketFrom(new MessageFlowerUpdate(xCoord, yCoord, zCoord, renderInfo).getMessage()) : + null; } - public void updateRender(final boolean update) { - if (update && this.getFlower() != null && this.getFlower().getGenome() != null) { - final RenderInfo newInfo = new RenderInfo(this.getFlower(), this); - if (this.renderInfo == null || !newInfo.equals(this.renderInfo)) { - this.setRender(newInfo); + public void updateRender(boolean update) { + if (update && getFlower() != null && getFlower().getGenome() != null) { + RenderInfo newInfo = new RenderInfo(getFlower(), this); + if (renderInfo == null || !newInfo.equals(renderInfo)) { + setRender(newInfo); } } - final TileEntity above = this.worldObj.getTileEntity(this.xCoord, this.yCoord + 1, this.zCoord); + + TileEntity above = worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); if (above instanceof TileEntityFlower) { ((TileEntityFlower) above).updateRender(true); } } public int getSection() { - return this.section; + return section; } - public void setSection(final int i) { - this.section = i; - if (BinnieCore.proxy.isSimulating(this.worldObj)) { - this.updateRender(true); + public void setSection(int i) { + section = i; + if (BinnieCore.proxy.isSimulating(worldObj)) { + updateRender(true); } } public ItemStack getItemStack() { - if (this.flower == null) { + if (flower == null) { return null; } - return Binnie.Genetics.getFlowerRoot().getMemberStack(this.getFlower(), (this.flower.getAge() == 0) ? EnumFlowerStage.SEED.ordinal() : EnumFlowerStage.FLOWER.ordinal()); + + int stage = (flower.getAge() == 0) ? EnumFlowerStage.SEED.ordinal() : EnumFlowerStage.FLOWER.ordinal(); + return Binnie.Genetics.getFlowerRoot().getMemberStack(getFlower(), stage); } private TileEntityFlower getRoot() { - if (this.getSection() == 0) { + if (getSection() == 0) { return null; } - final TileEntity tile = this.worldObj.getTileEntity(this.xCoord, this.yCoord - this.getSection(), this.zCoord); + + TileEntity tile = worldObj.getTileEntity(xCoord, yCoord - getSection(), zCoord); return (tile instanceof TileEntityFlower) ? ((TileEntityFlower) tile) : null; } public void onShear() { - if (this.getRoot() != null) { - this.getRoot().onShear(); + if (getRoot() != null) { + getRoot().onShear(); } - if (this.getFlower() != null && this.getFlower().getAge() > 1) { - final Random rand = new Random(); - final IFlower cutting = (IFlower) this.getFlower().copy(); - cutting.setAge(0); - final ItemStack cuttingStack = BotanyCore.getFlowerRoot().getMemberStack(cutting, EnumFlowerStage.SEED.ordinal()); - final float f = 0.7f; - final double d = rand.nextFloat() * f + (1.0f - f) * 0.5; - final double d2 = rand.nextFloat() * f + (1.0f - f) * 0.5; - final double d3 = rand.nextFloat() * f + (1.0f - f) * 0.5; - final EntityItem entityitem = new EntityItem(this.worldObj, this.xCoord + d, this.yCoord + d2, this.zCoord + d3, cuttingStack); - entityitem.delayBeforeCanPickup = 10; - this.worldObj.spawnEntityInWorld(entityitem); - for (int maxAge = this.getFlower().getMaxAge(), i = 0; i < maxAge; ++i) { - if (rand.nextBoolean()) { - this.getFlower().age(); - if (this.checkIfDead(true)) { - return; - } + + if (getFlower() == null || getFlower().getAge() <= 1) { + return; + } + + Random rand = new Random(); + IFlower cutting = (IFlower) getFlower().copy(); + cutting.setAge(0); + ItemStack cuttingStack = BotanyCore.getFlowerRoot().getMemberStack(cutting, EnumFlowerStage.SEED.ordinal()); + float f = 0.7f; + double d = rand.nextFloat() * f + (1.0f - f) * 0.5; + double d2 = rand.nextFloat() * f + (1.0f - f) * 0.5; + double d3 = rand.nextFloat() * f + (1.0f - f) * 0.5; + EntityItem entityitem = new EntityItem(worldObj, xCoord + d, yCoord + d2, zCoord + d3, cuttingStack); + entityitem.delayBeforeCanPickup = 10; + worldObj.spawnEntityInWorld(entityitem); + + for (int maxAge = getFlower().getMaxAge(), i = 0; i < maxAge; ++i) { + if (rand.nextBoolean()) { + getFlower().age(); + if (checkIfDead(true)) { + return; } } } } - public boolean checkIfDead(final boolean wasCut) { - if (this.getSection() != 0) { - return this.getRoot().checkIfDead(wasCut); + public boolean checkIfDead(boolean wasCut) { + if (getSection() != 0) { + return getRoot().checkIfDead(wasCut); } - final EnumSoilType soil = Gardening.getSoilType(this.worldObj, this.xCoord, this.yCoord, this.zCoord); - final int maxAge = (int) (this.flower.getMaxAge() * (1.0f + soil.ordinal() * 0.25f)); - if (this.flower.getAge() > maxAge) { - if (!wasCut && this.flower.getMate() != null) { - this.worldObj.setBlockToAir(this.xCoord, this.yCoord, this.zCoord); - final IFlower offspring = this.flower.getOffspring(this.getWorldObj()); - final TileEntity above = this.worldObj.getTileEntity(this.xCoord, this.yCoord + 1, this.zCoord); - if (above instanceof TileEntityFlower) { - this.worldObj.setBlockToAir(this.xCoord, this.yCoord + 1, this.zCoord); - } - Gardening.plant(this.worldObj, this.xCoord, this.yCoord, this.zCoord, offspring, this.getOwner()); - } - else { - this.kill(); - } - return true; + + EnumSoilType soil = Gardening.getSoilType(worldObj, xCoord, yCoord, zCoord); + int maxAge = (int) (flower.getMaxAge() * (1.0f + soil.ordinal() * 0.25f)); + if (flower.getAge() <= maxAge) { + return false; } - return false; + + if (!wasCut && flower.getMate() != null) { + worldObj.setBlockToAir(xCoord, yCoord, zCoord); + IFlower offspring = flower.getOffspring(getWorldObj()); + TileEntity above = worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if (above instanceof TileEntityFlower) { + worldObj.setBlockToAir(xCoord, yCoord + 1, zCoord); + } + Gardening.plant(worldObj, xCoord, yCoord, zCoord, offspring, getOwner()); + } else { + kill(); + } + return true; } public void kill() { - if (this.flower.getAge() > 0) { - this.worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, Botany.plant, BlockPlant.Type.DeadFlower.ordinal(), 2); + if (flower.getAge() > 0) { + worldObj.setBlock(xCoord, yCoord, zCoord, Botany.plant, BlockPlant.Type.DeadFlower.ordinal(), 2); + } else { + worldObj.setBlockToAir(xCoord, yCoord, zCoord); } - else { - this.worldObj.setBlockToAir(this.xCoord, this.yCoord, this.zCoord); - } - for (int i = 1; this.worldObj.getTileEntity(this.xCoord, this.yCoord + i, this.zCoord) instanceof TileEntityFlower; ++i) { - this.worldObj.setBlockToAir(this.xCoord, this.yCoord + i, this.zCoord); + + for (int i = 1; worldObj.getTileEntity(xCoord, yCoord + i, zCoord) instanceof TileEntityFlower; ++i) { + worldObj.setBlockToAir(xCoord, yCoord + i, zCoord); } } public boolean onBonemeal() { - if (this.getFlower() == null) { + if (getFlower() == null || !isBreeding() || getFlower().isWilted()) { return false; } - if (!this.isBreeding()) { - return false; + + doFlowerAge(); + if (getFlower().getAge() > 1 && !getFlower().hasFlowered()) { + getFlower().setFlowered(true); } - if (this.getFlower().isWilted()) { - return false; - } - this.doFlowerAge(); - if (this.getFlower().getAge() > 1 && !this.getFlower().hasFlowered()) { - this.getFlower().setFlowered(true); - } - this.checkIfDead(false); - this.updateRender(true); + + checkIfDead(false); + updateRender(true); return true; } public GameProfile getOwner() { - return this.owner; + return owner; } - public void setOwner(final GameProfile ownerName) { - this.owner = ownerName; + public void setOwner(GameProfile ownerName) { + owner = ownerName; } public void spawnButterflies() { if (!BinnieCore.isLepidopteryActive()) { return; } - final int x = this.xCoord; - final int y = this.yCoord; - final int z = this.zCoord; - final World world = this.worldObj; - if (this.getCaterpillar() != null) { + + int x = xCoord; + int y = yCoord; + int z = zCoord; + World world = worldObj; + if (getCaterpillar() != null) { return; } - if (world.rand.nextFloat() >= this.getFlower().getGenome().getSappiness()) { + if (world.rand.nextFloat() >= getFlower().getGenome().getSappiness()) { return; } - if (this.worldObj.rand.nextFloat() >= 0.2f) { + if (worldObj.rand.nextFloat() >= 0.2f) { return; } - final IButterfly spawn = Binnie.Genetics.getButterflyRoot().getIndividualTemplates().get(this.worldObj.rand.nextInt(Binnie.Genetics.getButterflyRoot().getIndividualTemplates().size())); - if (this.worldObj.rand.nextFloat() >= spawn.getGenome().getPrimary().getRarity() * 0.5f) { + + IButterfly spawn = Binnie.Genetics.getButterflyRoot().getIndividualTemplates().get(worldObj.rand.nextInt(Binnie.Genetics.getButterflyRoot().getIndividualTemplates().size())); + if (worldObj.rand.nextFloat() >= spawn.getGenome().getPrimary().getRarity() * 0.5f) { return; } - if (this.worldObj.countEntities(EntityButterfly.class) > 100) { + if (worldObj.countEntities(EntityButterfly.class) > 100) { return; } - if (!spawn.canSpawn(this.worldObj, x, y, z)) { + if (!spawn.canSpawn(worldObj, x, y, z)) { return; } + if (world.isAirBlock(x, y + 1, z)) { - this.attemptButterflySpawn(world, spawn, x, y + 1, z); - } - else if (world.isAirBlock(x - 1, y, z)) { - this.attemptButterflySpawn(world, spawn, x - 1, y, z); - } - else if (world.isAirBlock(x + 1, y, z)) { - this.attemptButterflySpawn(world, spawn, x + 1, y, z); - } - else if (world.isAirBlock(x, y, z - 1)) { - this.attemptButterflySpawn(world, spawn, x, y, z - 1); - } - else if (world.isAirBlock(x, y, z + 1)) { - this.attemptButterflySpawn(world, spawn, x, y, z + 1); + attemptButterflySpawn(world, spawn, x, y + 1, z); + } else if (world.isAirBlock(x - 1, y, z)) { + attemptButterflySpawn(world, spawn, x - 1, y, z); + } else if (world.isAirBlock(x + 1, y, z)) { + attemptButterflySpawn(world, spawn, x + 1, y, z); + } else if (world.isAirBlock(x, y, z - 1)) { + attemptButterflySpawn(world, spawn, x, y, z - 1); + } else if (world.isAirBlock(x, y, z + 1)) { + attemptButterflySpawn(world, spawn, x, y, z + 1); } } - private void attemptButterflySpawn(final World world, final IButterfly butterfly, final double x, final double y, final double z) { + private void attemptButterflySpawn(World world, IButterfly butterfly, double x, double y, double z) { if (BinnieCore.isLepidopteryActive()) { Binnie.Genetics.getButterflyRoot().spawnButterflyInWorld(world, butterfly.copy(), x, y + 0.10000000149011612, z); } } - public GameProfile getOwnerName() { - return this.getOwner(); - } - public World getWorld() { - return this.getWorldObj(); - } - - public int getXCoord() { - return this.xCoord; - } - - public int getYCoord() { - return this.yCoord; - } - - public int getZCoord() { - return this.zCoord; - } - - public int getBiomeId() { - return this.worldObj.getBiomeGenForCoords(this.xCoord, this.zCoord).biomeID; + return getWorldObj(); } public EnumTemperature getTemperature() { - return EnumTemperature.getFromValue(this.worldObj.getBiomeGenForCoords(this.xCoord, this.zCoord).temperature); + return EnumTemperature.getFromValue(worldObj.getBiomeGenForCoords(xCoord, zCoord).temperature); } public EnumHumidity getHumidity() { - return EnumHumidity.getFromValue(this.worldObj.getBiomeGenForCoords(this.xCoord, this.zCoord).rainfall); - } - - public void setErrorState(final int state) { - } - - public int getErrorOrdinal() { - return 0; - } - - public boolean addProduct(final ItemStack product, final boolean all) { - return false; + return EnumHumidity.getFromValue(worldObj.getBiomeGenForCoords(xCoord, zCoord).rainfall); } @Override public IButterfly getCaterpillar() { - return this.caterpillar; + return caterpillar; + } + + @Override + public void setCaterpillar(IButterfly butterfly) { + caterpillar = butterfly; + matureTime = 0; } @Override public IIndividual getNanny() { - return this.getFlower(); + return getFlower(); } @Override - public void setCaterpillar(final IButterfly butterfly) { - this.caterpillar = butterfly; - this.matureTime = 0; - } - - @Override - public boolean canNurse(final IButterfly butterfly) { - return this.getFlower() != null && !this.getFlower().isWilted() && this.getFlower().getAge() > 1; + public boolean canNurse(IButterfly butterfly) { + return getFlower() != null && !getFlower().isWilted() && getFlower().getAge() > 1; } private void matureCaterpillar() { - if (this.getCaterpillar() == null) { + if (getCaterpillar() == null) { return; } - ++this.matureTime; - if (this.matureTime >= this.caterpillar.getGenome().getLifespan() / (this.caterpillar.getGenome().getFertility() * 2) && this.caterpillar.canTakeFlight(this.worldObj, this.xCoord, this.yCoord, this.zCoord)) { - if (this.worldObj.isAirBlock(this.xCoord, this.yCoord + 1, this.zCoord)) { - this.attemptButterflySpawn(this.worldObj, this.caterpillar, this.xCoord, this.yCoord + 1, this.zCoord); + + matureTime++; + if (matureTime >= caterpillar.getGenome().getLifespan() / (caterpillar.getGenome().getFertility() * 2) && caterpillar.canTakeFlight(worldObj, xCoord, yCoord, zCoord)) { + if (worldObj.isAirBlock(xCoord, yCoord + 1, zCoord)) { + attemptButterflySpawn(worldObj, caterpillar, xCoord, yCoord + 1, zCoord); + } else if (worldObj.isAirBlock(xCoord - 1, yCoord, zCoord)) { + attemptButterflySpawn(worldObj, caterpillar, xCoord - 1, yCoord, zCoord); + } else if (worldObj.isAirBlock(xCoord + 1, yCoord, zCoord)) { + attemptButterflySpawn(worldObj, caterpillar, xCoord + 1, yCoord, zCoord); + } else if (worldObj.isAirBlock(xCoord, yCoord, zCoord - 1)) { + attemptButterflySpawn(worldObj, caterpillar, xCoord, yCoord, zCoord - 1); + } else if (worldObj.isAirBlock(xCoord, yCoord, zCoord + 1)) { + attemptButterflySpawn(worldObj, caterpillar, xCoord, yCoord, zCoord + 1); } - else if (this.worldObj.isAirBlock(this.xCoord - 1, this.yCoord, this.zCoord)) { - this.attemptButterflySpawn(this.worldObj, this.caterpillar, this.xCoord - 1, this.yCoord, this.zCoord); - } - else if (this.worldObj.isAirBlock(this.xCoord + 1, this.yCoord, this.zCoord)) { - this.attemptButterflySpawn(this.worldObj, this.caterpillar, this.xCoord + 1, this.yCoord, this.zCoord); - } - else if (this.worldObj.isAirBlock(this.xCoord, this.yCoord, this.zCoord - 1)) { - this.attemptButterflySpawn(this.worldObj, this.caterpillar, this.xCoord, this.yCoord, this.zCoord - 1); - } - else if (this.worldObj.isAirBlock(this.xCoord, this.yCoord, this.zCoord + 1)) { - this.attemptButterflySpawn(this.worldObj, this.caterpillar, this.xCoord, this.yCoord, this.zCoord + 1); - } - this.setCaterpillar(null); + setCaterpillar(null); } } - public void setRender(final RenderInfo render) { - this.renderInfo = render; - this.section = this.renderInfo.section; - this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord); + public void setRender(RenderInfo render) { + renderInfo = render; + section = renderInfo.section; + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); } public int getAge() { - return (this.renderInfo == null) ? 1 : this.renderInfo.age; + return (renderInfo == null) ? 1 : renderInfo.age; } public int getRenderSection() { - return (this.renderInfo == null) ? 1 : this.renderInfo.section; + return (renderInfo == null) ? 1 : renderInfo.section; } public boolean isWilted() { - return this.renderInfo != null && this.renderInfo.wilted; + return renderInfo != null && renderInfo.wilted; } public boolean isFlowered() { - return this.renderInfo == null || this.renderInfo.flowered; + return renderInfo == null || renderInfo.flowered; } - public int getPrimaryColour() { - return (this.renderInfo == null) ? EnumFlowerColor.Red.getColor(false) : this.renderInfo.primary.getColor(this.isWilted()); + public int getPrimaryColor() { + return (renderInfo == null) ? + EnumFlowerColor.Red.getColor(false) : + renderInfo.primary.getColor(isWilted()); } - public int getSecondaryColour() { - return (this.renderInfo == null) ? EnumFlowerColor.Red.getColor(false) : this.renderInfo.secondary.getColor(this.isWilted()); + public int getSecondaryColor() { + return (renderInfo == null) ? + EnumFlowerColor.Red.getColor(false) : + renderInfo.secondary.getColor(isWilted()); } public int getStemColour() { - return (this.renderInfo == null) ? EnumFlowerColor.Green.getColor(false) : this.renderInfo.stem.getColor(this.isWilted()); + return (renderInfo == null) ? + EnumFlowerColor.Green.getColor(false) : + renderInfo.stem.getColor(isWilted()); } public IFlowerType getType() { - return (this.renderInfo == null) ? EnumFlowerType.Poppy : this.renderInfo.type; + return (renderInfo == null) ? + EnumFlowerType.Poppy : + renderInfo.type; } public BiomeGenBase getBiome() { - return this.getWorld().getBiomeGenForCoords(this.xCoord, this.zCoord); - } - - public void setErrorState(final IErrorState state) { - } - - public IErrorState getErrorState() { - return null; - } - - public boolean setErrorCondition(final boolean condition, final IErrorState errorState) { - return false; - } - - public Set getErrorStates() { - return new HashSet(); - } - - public static class RenderInfo - { - public IFlowerColour primary; - public IFlowerColour secondary; - public IFlowerColour stem; - public IFlowerType type; - public byte age; - public boolean wilted; - public boolean flowered; - public byte section; - - @Override - public boolean equals(final Object obj) { - if (obj instanceof RenderInfo) { - final RenderInfo o = (RenderInfo) obj; - return o.age == this.age && o.wilted == this.wilted && o.flowered == this.flowered && o.primary == this.primary && o.secondary == this.secondary && o.stem == this.stem && o.type == this.type; - } - return super.equals(obj); - } - - public RenderInfo() { - } - - public RenderInfo(final IFlower flower, final TileEntityFlower tile) { - this.section = (byte) tile.getSection(); - this.primary = flower.getGenome().getPrimaryColor(); - this.secondary = flower.getGenome().getSecondaryColor(); - this.stem = flower.getGenome().getStemColor(); - this.age = (byte) flower.getAge(); - this.wilted = flower.isWilted(); - this.flowered = flower.hasFlowered(); - this.type = flower.getGenome().getType(); - } + return getWorld().getBiomeGenForCoords(xCoord, zCoord); } @Override @@ -677,4 +596,44 @@ public class TileEntityFlower extends TileEntity implements IPollinatable, IButt return isBreeding(); } + public static class RenderInfo { + public IFlowerColor primary; + public IFlowerColor secondary; + public IFlowerColor stem; + public IFlowerType type; + public byte age; + public boolean wilted; + public boolean flowered; + public byte section; + + public RenderInfo() { + } + + public RenderInfo(IFlower flower, TileEntityFlower tile) { + section = (byte) tile.getSection(); + primary = flower.getGenome().getPrimaryColor(); + secondary = flower.getGenome().getSecondaryColor(); + stem = flower.getGenome().getStemColor(); + age = (byte) flower.getAge(); + wilted = flower.isWilted(); + flowered = flower.hasFlowered(); + type = flower.getGenome().getType(); + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof RenderInfo) { + RenderInfo o = (RenderInfo) obj; + return o.age == age + && o.wilted == wilted + && o.flowered == flowered + && o.primary == primary + && o.secondary == secondary + && o.stem == stem + && o.type == type; + } + return super.equals(obj); + } + } + } diff --git a/src/main/java/binnie/botany/gardening/BlockPlant.java b/src/main/java/binnie/botany/gardening/BlockPlant.java index d220ee7b..872b1c1a 100644 --- a/src/main/java/binnie/botany/gardening/BlockPlant.java +++ b/src/main/java/binnie/botany/gardening/BlockPlant.java @@ -1,133 +1,131 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.gardening; -import net.minecraft.world.IBlockAccess; +import binnie.botany.Botany; +import binnie.botany.CreativeTabBotany; import binnie.botany.api.EnumSoilType; import binnie.botany.api.gardening.IBlockSoil; -import java.util.Random; -import java.util.List; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.util.IIcon; -import net.minecraft.block.Block; -import binnie.botany.CreativeTabBotany; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import binnie.botany.Botany; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.ItemStack; -import java.util.ArrayList; -import net.minecraft.world.World; +import net.minecraft.block.Block; import net.minecraft.block.BlockBush; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +public class BlockPlant extends BlockBush { + public BlockPlant() { + setBlockName("plant"); + setCreativeTab(CreativeTabBotany.instance); + setTickRandomly(true); + } + + public static boolean isWeed(IBlockAccess world, int x, int y, int z) { + if (!(world.getBlock(x, y, z) instanceof BlockPlant)) { + return false; + } + + Type type = Type.get(world.getBlockMetadata(x, y, z)); + return type == Type.Weeds + || type == Type.WeedsLong + || type == Type.WeedsVeryLong; + } -public class BlockPlant extends BlockBush -{ @Override - public ArrayList getDrops(final World world, final int x, final int y, final int z, final int metadata, final int fortune) { - return new ArrayList(); + public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { + return new ArrayList<>(); } @Override @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister p_149651_1_) { - for (final Type t : Type.values()) { - t.icon = Botany.proxy.getIcon(p_149651_1_, t.name().toLowerCase()); + public void registerBlockIcons(IIconRegister register) { + for (Type t : Type.values()) { + t.icon = Botany.proxy.getIcon(register, t.name().toLowerCase()); } } - public BlockPlant() { - this.setBlockName("plant"); - this.setCreativeTab(CreativeTabBotany.instance); - this.setTickRandomly(true); - } - @Override - protected boolean canPlaceBlockOn(final Block p_149854_1_) { - return super.canPlaceBlockOn(p_149854_1_) || Gardening.isSoil(p_149854_1_); + protected boolean canPlaceBlockOn(Block block) { + return super.canPlaceBlockOn(block) || Gardening.isSoil(block); } @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(final int side, final int meta) { + public IIcon getIcon(int side, int meta) { return Type.values()[meta % Type.values().length].icon; } @Override - public int damageDropped(final int p_149692_1_) { - return p_149692_1_; + public int damageDropped(int damage) { + return damage; } @Override @SideOnly(Side.CLIENT) - public void getSubBlocks(final Item p_149666_1_, final CreativeTabs p_149666_2_, final List p_149666_3_) { - for (final Type type : Type.values()) { - p_149666_3_.add(type.get()); + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (Type type : Type.values()) { + list.add(type.get()); } } @Override - public void updateTick(final World world, final int x, final int y, final int z, final Random random) { - final Type type = Type.get(world.getBlockMetadata(x, y, z)); + public void updateTick(World world, int x, int y, int z, Random random) { + Type type = Type.get(world.getBlockMetadata(x, y, z)); if (random.nextInt(4) == 0) { if (type == Type.Weeds) { world.setBlockMetadataWithNotify(x, y, z, Type.WeedsLong.ordinal(), 2); - } - else if (type == Type.WeedsLong) { + } else if (type == Type.WeedsLong) { world.setBlockMetadataWithNotify(x, y, z, Type.WeedsVeryLong.ordinal(), 2); - } - else if (type == Type.DeadFlower) { + } else if (type == Type.DeadFlower) { world.setBlockMetadataWithNotify(x, y, z, Type.DecayingFlower.ordinal(), 2); - } - else if (type == Type.DecayingFlower) { + } else if (type == Type.DecayingFlower) { world.setBlockToAir(x, y, z); return; } } + if (random.nextInt(6) == 0) { if (type == Type.Weeds) { world.setBlockToAir(x, y, z); - } - else if (type == Type.WeedsLong) { + } else if (type == Type.WeedsLong) { world.setBlockMetadataWithNotify(x, y, z, Type.Weeds.ordinal(), 2); - } - else if (type == Type.WeedsVeryLong) { + } else if (type == Type.WeedsVeryLong) { world.setBlockMetadataWithNotify(x, y, z, Type.WeedsLong.ordinal(), 2); } } - final Block below = world.getBlock(x, y - 1, z); - if (Gardening.isSoil(below)) { - final IBlockSoil soil = (IBlockSoil) below; - if (random.nextInt(3) == 0) { - if (type == Type.Weeds || type == Type.WeedsLong || type == Type.WeedsVeryLong) { - if (!soil.degrade(world, x, y - 1, z, EnumSoilType.LOAM)) { - soil.degrade(world, x, y - 1, z, EnumSoilType.SOIL); - } - } - else if (type == Type.DecayingFlower && !soil.fertilise(world, x, y - 1, z, EnumSoilType.LOAM)) { - soil.fertilise(world, x, y - 1, z, EnumSoilType.FLOWERBED); - } + + Block below = world.getBlock(x, y - 1, z); + if (!Gardening.isSoil(below)) { + return; + } + + IBlockSoil soil = (IBlockSoil) below; + if (random.nextInt(3) != 0) { + return; + } + + if (type == Type.Weeds || type == Type.WeedsLong || type == Type.WeedsVeryLong) { + if (!soil.degrade(world, x, y - 1, z, EnumSoilType.LOAM)) { + soil.degrade(world, x, y - 1, z, EnumSoilType.SOIL); } + } else if (type == Type.DecayingFlower && !soil.fertilise(world, x, y - 1, z, EnumSoilType.LOAM)) { + soil.fertilise(world, x, y - 1, z, EnumSoilType.FLOWERBED); } } @Override - public boolean isReplaceable(final IBlockAccess world, final int x, final int y, final int z) { + public boolean isReplaceable(IBlockAccess world, int x, int y, int z) { return true; } - public static boolean isWeed(final IBlockAccess world, final int x, final int y, final int z) { - if (!(world.getBlock(x, y, z) instanceof BlockPlant)) { - return false; - } - final Type type = Type.get(world.getBlockMetadata(x, y, z)); - return type == Type.Weeds || type == Type.WeedsLong || type == Type.WeedsVeryLong; - } - - public enum Type - { + public enum Type { Weeds("Weeds"), WeedsLong("Long Weeds"), WeedsVeryLong("Very Long Weeds"), @@ -135,22 +133,23 @@ public class BlockPlant extends BlockBush DecayingFlower("Decaying Flower"); public IIcon icon; - String name; - private Type(final String name) { + protected String name; + + Type(String name) { this.name = name; } - public ItemStack get() { - return new ItemStack(Botany.plant, 1, this.ordinal()); - } - - public static Type get(final int id) { + public static Type get(int id) { return values()[id % values().length]; } + public ItemStack get() { + return new ItemStack(Botany.plant, 1, ordinal()); + } + public String getName() { - return this.name; + return name; } } } diff --git a/src/main/java/binnie/botany/gardening/BlockSoil.java b/src/main/java/binnie/botany/gardening/BlockSoil.java index b461ca5e..cbd3e950 100644 --- a/src/main/java/binnie/botany/gardening/BlockSoil.java +++ b/src/main/java/binnie/botany/gardening/BlockSoil.java @@ -1,45 +1,69 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.gardening; -import net.minecraftforge.common.IPlantable; import binnie.Binnie; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraft.util.AxisAlignedBB; -import java.util.Random; -import net.minecraft.world.World; -import binnie.botany.CreativeTabBotany; -import net.minecraft.block.material.Material; import binnie.botany.Botany; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.init.Blocks; +import binnie.botany.CreativeTabBotany; import binnie.botany.api.EnumAcidity; import binnie.botany.api.EnumMoisture; -import net.minecraft.world.IBlockAccess; +import binnie.botany.api.EnumSoilType; +import binnie.botany.api.gardening.IBlockSoil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.item.ItemStack; -import java.util.List; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import binnie.botany.api.EnumSoilType; -import net.minecraft.util.IIcon; -import binnie.botany.api.gardening.IBlockSoil; import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; -public class BlockSoil extends Block implements IBlockSoil -{ - boolean weedKilled; - IIcon[] iconsTop; - IIcon[] iconsSide; - IIcon[] iconsNoWeed; - EnumSoilType type; +import java.util.List; +import java.util.Random; + +public class BlockSoil extends Block implements IBlockSoil { + protected boolean weedKilled; + protected IIcon[] iconsTop; + protected IIcon[] iconsSide; + protected IIcon[] iconsNoWeed; + protected EnumSoilType type; + + public BlockSoil(EnumSoilType type, String blockName, boolean weedKilled) { + super(Material.ground); + this.type = type; + this.weedKilled = weedKilled; + iconsTop = new IIcon[9]; + iconsSide = new IIcon[9]; + iconsNoWeed = new IIcon[9]; + setCreativeTab(CreativeTabBotany.instance); + setBlockName(blockName); + setTickRandomly(true); + setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 0.9375f, 1.0f); + setLightOpacity(255); + setHardness(0.5f); + setStepSound(Block.soundTypeGravel); + } + + public static int getMeta(EnumAcidity acid, EnumMoisture moisture) { + return acid.ordinal() * 3 + moisture.ordinal(); + } + + public static String getPH(ItemStack stack) { + return Binnie.Language.localise(EnumAcidity.values()[stack.getItemDamage() / 3]); + } + + public static String getMoisture(ItemStack stack) { + return Binnie.Language.localise(EnumMoisture.values()[stack.getItemDamage() % 3]); + } @Override @SideOnly(Side.CLIENT) - public void getSubBlocks(final Item par1, final CreativeTabs par2CreativeTabs, final List par3List) { + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { for (int i = 0; i < 9; ++i) { par3List.add(new ItemStack(this, 1, i)); } @@ -47,81 +71,67 @@ public class BlockSoil extends Block implements IBlockSoil @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(final IBlockAccess world, final int x, final int y, final int z, final int side) { - return this.getIcon(side, world.getBlockMetadata(x, y, z)); + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + return getIcon(side, world.getBlockMetadata(x, y, z)); } @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(final int side, int meta) { + public IIcon getIcon(int side, int meta) { meta = ((meta >= 9) ? 8 : meta); - final EnumMoisture moisture = EnumMoisture.values()[meta % 3]; - final EnumAcidity acidity = EnumAcidity.values()[meta / 3]; - return (side == 1) ? (this.weedKilled ? this.iconsNoWeed[meta] : this.iconsTop[meta]) : ((side == 0) ? Blocks.dirt.getIcon(side, 0) : this.iconsSide[meta]); + if (side == 1) { + return weedKilled ? iconsNoWeed[meta] : iconsTop[meta]; + } + return (side == 0) ? Blocks.dirt.getIcon(side, 0) : iconsSide[meta]; } @Override @SideOnly(Side.CLIENT) - public void registerBlockIcons(final IIconRegister register) { - for (final EnumMoisture moisture : EnumMoisture.values()) { - for (final EnumAcidity pH : EnumAcidity.values()) { - this.iconsTop[moisture.ordinal() + pH.ordinal() * 3] = Botany.proxy.getIcon(register, "soil/" + this.getType().getID() + "." + pH.getID() + "." + moisture.getID() + ".0"); - this.iconsSide[moisture.ordinal() + pH.ordinal() * 3] = Botany.proxy.getIcon(register, "soil/" + this.getType().getID() + "." + pH.getID() + "." + moisture.getID() + ".1"); - this.iconsNoWeed[moisture.ordinal() + pH.ordinal() * 3] = Botany.proxy.getIcon(register, "soil/" + this.getType().getID() + "." + pH.getID() + "." + moisture.getID() + ".2"); + public void registerBlockIcons(IIconRegister register) { + for (EnumMoisture moisture : EnumMoisture.values()) { + for (EnumAcidity pH : EnumAcidity.values()) { + int index = moisture.ordinal() + pH.ordinal() * 3; + String id = "soil/" + getType().getID() + "." + pH.getID() + "." + moisture.getID(); + iconsTop[index] = Botany.proxy.getIcon(register, id + ".0"); + iconsSide[index] = Botany.proxy.getIcon(register, id + ".1"); + iconsNoWeed[index] = Botany.proxy.getIcon(register, id + ".2"); } } } public EnumSoilType getType() { - return this.type; - } - - public BlockSoil(final EnumSoilType type, final String blockName, final boolean weedKilled) { - super(Material.ground); - this.weedKilled = false; - this.iconsTop = new IIcon[9]; - this.iconsSide = new IIcon[9]; - this.iconsNoWeed = new IIcon[9]; - this.weedKilled = weedKilled; - this.setCreativeTab(CreativeTabBotany.instance); - this.setBlockName(blockName); - this.setTickRandomly(true); - this.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 0.9375f, 1.0f); - this.setLightOpacity(255); - this.setHardness(0.5f); - this.setStepSound(Block.soundTypeGravel); - this.type = type; + return type; } @Override - public int damageDropped(final int p_149692_1_) { - return p_149692_1_; + public int damageDropped(int damage) { + return damage; } @Override - public void updateTick(final World world, final int x, final int y, final int z, final Random random) { - final int meta = world.getBlockMetadata(x, y, z); + public void updateTick(World world, int x, int y, int z, Random random) { + int meta = world.getBlockMetadata(x, y, z); EnumMoisture moisture = EnumMoisture.values()[meta % 3]; - final EnumAcidity acidity = EnumAcidity.values()[meta / 3]; - final EnumMoisture desiredMoisture = Gardening.getNaturalMoisture(world, x, y, z); + EnumAcidity acidity = EnumAcidity.values()[meta / 3]; + EnumMoisture desiredMoisture = Gardening.getNaturalMoisture(world, x, y, z); if (desiredMoisture.ordinal() > moisture.ordinal()) { moisture = ((moisture == EnumMoisture.Dry) ? EnumMoisture.Normal : EnumMoisture.Damp); } if (desiredMoisture.ordinal() < moisture.ordinal()) { moisture = ((moisture == EnumMoisture.Damp) ? EnumMoisture.Normal : EnumMoisture.Dry); } - final int meta2 = getMeta(acidity, moisture); + int meta2 = getMeta(acidity, moisture); if (meta != meta2) { world.setBlockMetadataWithNotify(x, y, z, meta2, 2); } - if (!this.weedKilled && random.nextInt(5 - this.getType(world, x, y, z).ordinal()) == 0 && world.getBlock(x, y + 1, z) == Blocks.air) { + if (!weedKilled && random.nextInt(5 - getType(world, x, y, z).ordinal()) == 0 && world.getBlock(x, y + 1, z) == Blocks.air) { world.setBlock(x, y + 1, z, Botany.plant, BlockPlant.Type.Weeds.ordinal(), 2); } } @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(final World p_149668_1_, final int p_149668_2_, final int p_149668_3_, final int p_149668_4_) { - return AxisAlignedBB.getBoundingBox(p_149668_2_ + 0, p_149668_3_ + 0, p_149668_4_ + 0, p_149668_2_ + 1, p_149668_3_ + 1, p_149668_4_ + 1); + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + return AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1); } @Override @@ -135,86 +145,78 @@ public class BlockSoil extends Block implements IBlockSoil } @Override - public EnumAcidity getPH(final World world, final int x, final int y, final int z) { + public EnumAcidity getPH(World world, int x, int y, int z) { return EnumAcidity.values()[world.getBlockMetadata(x, y, z) / 3]; } @Override - public EnumMoisture getMoisture(final World world, final int x, final int y, final int z) { + public EnumMoisture getMoisture(World world, int x, int y, int z) { return EnumMoisture.values()[world.getBlockMetadata(x, y, z) % 3]; } @Override - public EnumSoilType getType(final World world, final int x, final int y, final int z) { - return this.type; + public EnumSoilType getType(World world, int x, int y, int z) { + return type; } @Override - public boolean fertilise(final World world, final int x, final int y, final int z, final EnumSoilType maxLevel) { - final EnumSoilType type = this.getType(world, x, y, z); + public boolean fertilise(World world, int x, int y, int z, EnumSoilType maxLevel) { + EnumSoilType type = getType(world, x, y, z); if (type.ordinal() >= maxLevel.ordinal()) { return false; } - final int meta = world.getBlockMetadata(x, y, z); - return world.setBlock(x, y, z, Gardening.getSoilBlock(maxLevel, this.weedKilled), meta, 2); + + int meta = world.getBlockMetadata(x, y, z); + return world.setBlock(x, y, z, Gardening.getSoilBlock(maxLevel, weedKilled), meta, 2); } @Override - public boolean degrade(final World world, final int x, final int y, final int z, final EnumSoilType minLevel) { - final EnumSoilType type = this.getType(world, x, y, z); + public boolean degrade(World world, int x, int y, int z, EnumSoilType minLevel) { + EnumSoilType type = getType(world, x, y, z); if (type.ordinal() <= minLevel.ordinal()) { return false; } - final int meta = world.getBlockMetadata(x, y, z); - return world.setBlock(x, y, z, Gardening.getSoilBlock(minLevel, this.weedKilled), meta, 2); + + int meta = world.getBlockMetadata(x, y, z); + return world.setBlock(x, y, z, Gardening.getSoilBlock(minLevel, weedKilled), meta, 2); } @Override - public boolean setPH(final World world, final int x, final int y, final int z, final EnumAcidity pH) { - final int meta = getMeta(pH, this.getMoisture(world, x, y, z)); + public boolean setPH(World world, int x, int y, int z, EnumAcidity pH) { + int meta = getMeta(pH, getMoisture(world, x, y, z)); return world.setBlockMetadataWithNotify(x, y, z, meta, 2); } @Override - public boolean setMoisture(final World world, final int x, final int y, final int z, final EnumMoisture moisture) { - final int meta = getMeta(this.getPH(world, x, y, z), moisture); + public boolean setMoisture(World world, int x, int y, int z, EnumMoisture moisture) { + int meta = getMeta(getPH(world, x, y, z), moisture); return world.setBlockMetadataWithNotify(x, y, z, meta, 2); } - public static int getMeta(final EnumAcidity acid, final EnumMoisture moisture) { - return acid.ordinal() * 3 + moisture.ordinal(); - } - @Override - public void onNeighborBlockChange(final World world, final int x, final int y, final int z, final Block p_149695_5_) { - super.onNeighborBlockChange(world, x, y, z, p_149695_5_); + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + super.onNeighborBlockChange(world, x, y, z, block); if (world.isSideSolid(x, y + 1, z, ForgeDirection.DOWN, false)) { world.setBlock(x, y, z, Blocks.dirt, 0, 2); } } - public static String getPH(final ItemStack stack) { - return Binnie.Language.localise(EnumAcidity.values()[stack.getItemDamage() / 3]); - } - - public static String getMoisture(final ItemStack stack) { - return Binnie.Language.localise(EnumMoisture.values()[stack.getItemDamage() % 3]); - } - @Override - public boolean canSustainPlant(final IBlockAccess world, final int x, final int y, final int z, final ForgeDirection direction, final IPlantable plantable) { - final Block plant = plantable.getPlant(world, x, y + 1, z); + public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plantable) { + Block plant = plantable.getPlant(world, x, y + 1, z); if (plant == Botany.flower) { return true; } + if (plant == Botany.plant) { - return !this.weedKilled || !BlockPlant.isWeed(world, x, y, z); + return !weedKilled || !BlockPlant.isWeed(world, x, y, z); } - return world instanceof World && Blocks.dirt.canSustainPlant(world, x, y, z, direction, plantable); + return world instanceof World + && Blocks.dirt.canSustainPlant(world, x, y, z, direction, plantable); } @Override - public boolean resistsWeeds(final World world, final int x, final int y, final int z) { - return this.weedKilled; + public boolean resistsWeeds(World world, int x, int y, int z) { + return weedKilled; } } diff --git a/src/main/java/binnie/botany/gardening/Gardening.java b/src/main/java/binnie/botany/gardening/Gardening.java index 8fa58a84..b2b4fdc5 100644 --- a/src/main/java/binnie/botany/gardening/Gardening.java +++ b/src/main/java/binnie/botany/gardening/Gardening.java @@ -1,68 +1,64 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.gardening; -import java.util.LinkedHashMap; -import net.minecraft.world.IBlockAccess; -import binnie.botany.items.BotanyItems; -import forestry.api.core.EnumTemperature; -import java.util.Collection; -import binnie.core.BinnieCore; -import net.minecraft.tileentity.TileEntity; -import binnie.botany.flower.TileEntityFlower; import binnie.botany.Botany; -import com.mojang.authlib.GameProfile; -import binnie.botany.api.IFlower; -import binnie.botany.api.EnumSoilType; -import net.minecraft.world.biome.BiomeGenBase; import binnie.botany.api.EnumAcidity; -import net.minecraft.init.Blocks; import binnie.botany.api.EnumMoisture; -import net.minecraft.world.World; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.Item; +import binnie.botany.api.EnumSoilType; +import binnie.botany.api.IFlower; import binnie.botany.api.gardening.IBlockSoil; +import binnie.botany.flower.TileEntityFlower; +import binnie.botany.items.BotanyItems; +import binnie.core.BinnieCore; +import com.mojang.authlib.GameProfile; +import forestry.api.core.EnumTemperature; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; + +import java.util.Collection; +import java.util.LinkedHashMap; import java.util.Map; -public class Gardening -{ - public static Map fertiliserAcid; - public static Map fertiliserAlkaline; - public static Map fertiliserNutrient; +public class Gardening { + public static Map fertiliserAcid = new LinkedHashMap<>(); + public static Map fertiliserAlkaline = new LinkedHashMap<>(); + public static Map fertiliserNutrient = new LinkedHashMap<>(); - public static boolean isSoil(final Block block) { + public static boolean isSoil(Block block) { return block instanceof IBlockSoil; } - public static boolean isSoil(final Item item) { + public static boolean isSoil(Item item) { return item instanceof ItemBlock && isSoil(((ItemBlock) item).field_150939_a); } - public static boolean isSoil(final ItemStack item) { + public static boolean isSoil(ItemStack item) { return isSoil(item.getItem()); } - public static EnumMoisture getNaturalMoisture(final World world, final int x, final int y, final int z) { + public static EnumMoisture getNaturalMoisture(World world, int x, int y, int z) { float bias = getBiomeMoisture(world.getBiomeGenForCoords(x, z), y); for (int dx = -1; dx < 2; ++dx) { for (int dz = -1; dz < 2; ++dz) { if (dx != 0 || dz != 0) { if (world.getBlock(x + dx, y, z + dz) == Blocks.sand) { bias -= 1.5; - } - else if (world.getBlock(x + dx, y, z + dz) == Blocks.water) { + } else if (world.getBlock(x + dx, y, z + dz) == Blocks.water) { bias += 1.5; } } } } + if (world.isRaining() && world.canBlockSeeTheSky(x, y + 1, z) && world.getPrecipitationHeight(x, z) <= y + 1) { bias += 1.5; } + for (int dx = -1; dx < 2; ++dx) { for (int dz = -1; dz < 2; ++dz) { if (dx != 0 || dz != 0) { @@ -72,70 +68,89 @@ public class Gardening } } } - return (bias <= -1.0f) ? EnumMoisture.Dry : ((bias >= 1.0f) ? EnumMoisture.Damp : EnumMoisture.Normal); + + if (bias <= -1.0f) { + return EnumMoisture.Dry; + } + return (bias >= 1.0f) ? EnumMoisture.Damp : EnumMoisture.Normal; } - public static EnumAcidity getNaturalPH(final World world, final int x, final int y, final int z) { - final float bias = getBiomePH(world.getBiomeGenForCoords(x, z), y); - return (bias <= -1.0f) ? EnumAcidity.Acid : ((bias >= 1.0f) ? EnumAcidity.Alkaline : EnumAcidity.Neutral); + public static EnumAcidity getNaturalPH(World world, int x, int y, int z) { + float bias = getBiomePH(world.getBiomeGenForCoords(x, z), y); + if (bias <= -1.0f) { + return EnumAcidity.Acid; + } + return (bias >= 1.0f) ? EnumAcidity.Alkaline : EnumAcidity.Neutral; } - public static float getBiomeMoisture(final BiomeGenBase biome, final int H) { - final double R = biome.rainfall; - final double T = biome.temperature; - final double m = 3.2 * (R - 0.5) - 0.4 * (1.0 + T + 0.5 * T * T) + 1.1 - 1.6 * (T - 0.9) * (T - 0.9) - 0.002 * (H - 64); - return (float) ((m == 0.0) ? m : ((m < 0.0) ? (-Math.sqrt(m * m)) : Math.sqrt(m * m))); + public static float getBiomeMoisture(BiomeGenBase biome, int H) { + double R = biome.rainfall; + double T = biome.temperature; + double m = 3.2 * (R - 0.5) - 0.4 * (1.0 + T + 0.5 * T * T) + 1.1 - 1.6 * (T - 0.9) * (T - 0.9) - 0.002 * (H - 64); + if (m == 0.0) { + return (float) m; + } + if (m < 0.0){ + return (float) -Math.sqrt(m * m); + } + return (float) Math.sqrt(m * m); } - public static float getBiomePH(final BiomeGenBase biome, final int H) { - final double R = biome.rainfall; - final double T = biome.temperature; + public static float getBiomePH(BiomeGenBase biome, int H) { + double R = biome.rainfall; + double T = biome.temperature; return (float) (-3.0 * (R - 0.5) + 0.5 * (T - 0.699999988079071) * (T - 0.699999988079071) + 0.02f * (H - 64) - 0.15000000596046448); } - public static void createSoil(final World world, final int x, final int y, final int z, final EnumSoilType soil, final EnumMoisture moisture, final EnumAcidity acidity) { - final int meta = moisture.ordinal() + acidity.ordinal() * 3; + public static void createSoil(World world, int x, int y, int z, EnumSoilType soil, EnumMoisture moisture, EnumAcidity acidity) { + int meta = moisture.ordinal() + acidity.ordinal() * 3; world.setBlock(x, y, z, getSoilBlock(soil), meta, 2); } - public static boolean plant(final World world, final int x, final int y, final int z, final IFlower flower, final GameProfile owner) { - final boolean set = world.setBlock(x, y, z, Botany.flower, 0, 2); + public static boolean plant(World world, int x, int y, int z, IFlower flower, GameProfile owner) { + boolean set = world.setBlock(x, y, z, Botany.flower, 0, 2); if (!set) { return false; } - final TileEntity tileFlower = world.getTileEntity(x, y, z); - final TileEntity below = world.getTileEntity(x, y - 1, z); + + TileEntity tileFlower = world.getTileEntity(x, y, z); + TileEntity below = world.getTileEntity(x, y - 1, z); if (tileFlower != null && tileFlower instanceof TileEntityFlower) { if (below instanceof TileEntityFlower) { ((TileEntityFlower) tileFlower).setSection(((TileEntityFlower) below).getSection()); - } - else { + } else { ((TileEntityFlower) tileFlower).create(flower, owner); } } + tryGrowSection(world, x, y, z); return true; } - public static void tryGrowSection(final World world, final int x, final int y, final int z) { + public static void tryGrowSection(World world, int x, int y, int z) { if (!BinnieCore.proxy.isSimulating(world)) { return; } - final TileEntity flower = world.getTileEntity(x, y, z); - if (flower != null && flower instanceof TileEntityFlower) { - final IFlower iflower = ((TileEntityFlower) flower).getFlower(); - final int section = ((TileEntityFlower) flower).getSection(); - if (iflower != null && section < iflower.getGenome().getPrimary().getType().getSections() - 1 && iflower.getAge() > 0) { - world.setBlock(x, y + 1, z, Botany.flower, 0, 2); - final TileEntity tileFlower = world.getTileEntity(x, y + 1, z); - if (tileFlower != null && tileFlower instanceof TileEntityFlower) { - ((TileEntityFlower) tileFlower).setSection(section + 1); - } - } + + TileEntity flower = world.getTileEntity(x, y, z); + if (flower == null || !(flower instanceof TileEntityFlower)) { + return; + } + + IFlower iflower = ((TileEntityFlower) flower).getFlower(); + int section = ((TileEntityFlower) flower).getSection(); + if (iflower == null || section >= iflower.getGenome().getPrimary().getType().getSections() - 1 || iflower.getAge() <= 0) { + return; + } + + world.setBlock(x, y + 1, z, Botany.flower, 0, 2); + TileEntity tileFlower = world.getTileEntity(x, y + 1, z); + if (tileFlower != null && tileFlower instanceof TileEntityFlower) { + ((TileEntityFlower) tileFlower).setSection(section + 1); } } - public static void onGrowFromSeed(final World world, final int x, final int y, final int z) { + public static void onGrowFromSeed(World world, int x, int y, int z) { tryGrowSection(world, x, y, z); } @@ -151,8 +166,8 @@ public class Gardening return Gardening.fertiliserNutrient.keySet(); } - public static boolean isAcidFertiliser(final ItemStack itemstack) { - for (final ItemStack stack : getAcidFertilisers()) { + public static boolean isAcidFertiliser(ItemStack itemstack) { + for (ItemStack stack : getAcidFertilisers()) { if (stack != null && stack.isItemEqual(itemstack)) { return true; } @@ -160,8 +175,8 @@ public class Gardening return false; } - public static boolean isAlkalineFertiliser(final ItemStack itemstack) { - for (final ItemStack stack : getAlkalineFertilisers()) { + public static boolean isAlkalineFertiliser(ItemStack itemstack) { + for (ItemStack stack : getAlkalineFertilisers()) { if (stack != null && stack.isItemEqual(itemstack)) { return true; } @@ -169,8 +184,8 @@ public class Gardening return false; } - public static boolean isNutrientFertiliser(final ItemStack itemstack) { - for (final ItemStack stack : getNutrientFertilisers()) { + public static boolean isNutrientFertiliser(ItemStack itemstack) { + for (ItemStack stack : getNutrientFertilisers()) { if (stack != null && stack.isItemEqual(itemstack)) { return true; } @@ -178,21 +193,24 @@ public class Gardening return false; } - public static int getFertiliserStrength(final ItemStack stack) { + public static int getFertiliserStrength(ItemStack stack) { if (stack == null) { return 1; } - for (final Map.Entry entry : Gardening.fertiliserAcid.entrySet()) { + + for (Map.Entry entry : Gardening.fertiliserAcid.entrySet()) { if (entry.getKey().isItemEqual(stack)) { return entry.getValue(); } } - for (final Map.Entry entry : Gardening.fertiliserAlkaline.entrySet()) { + + for (Map.Entry entry : Gardening.fertiliserAlkaline.entrySet()) { if (entry.getKey().isItemEqual(stack)) { return entry.getValue(); } } - for (final Map.Entry entry : Gardening.fertiliserNutrient.entrySet()) { + + for (Map.Entry entry : Gardening.fertiliserNutrient.entrySet()) { if (entry.getKey().isItemEqual(stack)) { return entry.getValue(); } @@ -200,65 +218,60 @@ public class Gardening return 1; } - public static boolean canTolerate(final IFlower flower, final World world, final int x, final int y, final int z) { + public static boolean canTolerate(IFlower flower, World world, int x, int y, int z) { if (flower == null || flower.getGenome() == null) { return false; } - final Block soil = world.getBlock(x, y - 1, z); - final int soilMeta = world.getBlockMetadata(x, y - 1, z); - final BiomeGenBase biome = world.getBiomeGenForCoords(x, z); + + int soilMeta = world.getBlockMetadata(x, y - 1, z); + BiomeGenBase biome = world.getBiomeGenForCoords(x, z); return canTolerate(flower, EnumAcidity.values()[soilMeta / 3 % 3], EnumMoisture.values()[soilMeta % 3], EnumTemperature.getFromValue(biome.temperature)); } - public static EnumSoilType getSoilType(final World world, final int x, final int y, final int z) { + public static EnumSoilType getSoilType(World world, int x, int y, int z) { if (world.getBlock(x, y, z) instanceof IBlockSoil) { return ((IBlockSoil) world.getBlock(x, y, z)).getType(world, x, y, z); } return EnumSoilType.SOIL; } - public static Block getSoilBlock(final EnumSoilType type) { + public static Block getSoilBlock(EnumSoilType type) { return getSoilBlock(type, false); } - public static Block getSoilBlock(final EnumSoilType type, final boolean weedkill) { + public static Block getSoilBlock(EnumSoilType type, boolean weedkill) { switch (type) { - case FLOWERBED: { - return weedkill ? Botany.flowerbedNoWeed : Botany.flowerbed; - } - case LOAM: { - return weedkill ? Botany.loamNoWeed : Botany.loam; - } - default: { - return weedkill ? Botany.soilNoWeed : Botany.soil; - } + case FLOWERBED: + return weedkill ? Botany.flowerbedNoWeed : Botany.flowerbed; + + case LOAM: + return weedkill ? Botany.loamNoWeed : Botany.loam; } + return weedkill ? Botany.soilNoWeed : Botany.soil; } - public static boolean canTolerate(final IFlower flower, final EnumAcidity ePH, final EnumMoisture eMoisture, final EnumTemperature eTemp) { - return flower.getGenome().canTolerate(ePH) && flower.getGenome().canTolerate(eMoisture) && flower.getGenome().canTolerate(eTemp); + public static boolean canTolerate(IFlower flower, EnumAcidity ePH, EnumMoisture eMoisture, EnumTemperature eTemp) { + return flower.getGenome().canTolerate(ePH) + && flower.getGenome().canTolerate(eMoisture) + && flower.getGenome().canTolerate(eTemp); } - public static boolean isWeedkiller(final ItemStack heldItem) { - return heldItem != null && heldItem.isItemEqual(BotanyItems.Weedkiller.get(1)); + public static boolean isWeedkiller(ItemStack heldItem) { + return heldItem != null + && heldItem.isItemEqual(BotanyItems.Weedkiller.get(1)); } - public static boolean addWeedKiller(final World world, final int x, final int y, final int z) { + public static boolean addWeedKiller(World world, int x, int y, int z) { if (!(world.getBlock(x, y, z) instanceof IBlockSoil)) { return false; } - final EnumSoilType type = getSoilType(world, x, y, z); - final Block block = getSoilBlock(type, true); - final boolean done = world.setBlock(x, y, z, block, world.getBlockMetadata(x, y, z), 2); + + EnumSoilType type = getSoilType(world, x, y, z); + Block block = getSoilBlock(type, true); + boolean done = world.setBlock(x, y, z, block, world.getBlockMetadata(x, y, z), 2); if (done && BlockPlant.isWeed(world, x, y + 1, z)) { world.setBlockToAir(x, y + 1, z); } return done; } - - static { - Gardening.fertiliserAcid = new LinkedHashMap(); - Gardening.fertiliserAlkaline = new LinkedHashMap(); - Gardening.fertiliserNutrient = new LinkedHashMap(); - } } diff --git a/src/main/java/binnie/botany/gardening/ItemSoil.java b/src/main/java/binnie/botany/gardening/ItemSoil.java index b546f538..1af53fd8 100644 --- a/src/main/java/binnie/botany/gardening/ItemSoil.java +++ b/src/main/java/binnie/botany/gardening/ItemSoil.java @@ -1,7 +1,3 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.gardening; import binnie.botany.api.EnumAcidity; @@ -17,58 +13,62 @@ import net.minecraft.util.EnumChatFormatting; import java.util.List; -public class ItemSoil extends ItemBlock -{ +public class ItemSoil extends ItemBlock { EnumSoilType type; private boolean noWeed; + public ItemSoil(Block block) { + super(block); + type = ((BlockSoil) field_150939_a).getType(); + noWeed = ((BlockSoil) field_150939_a).weedKilled; + hasSubtypes = true; + } + @Override @SideOnly(Side.CLIENT) - public void addInformation(final ItemStack stack, final EntityPlayer p_77624_2_, final List p_77624_3_, final boolean p_77624_4_) { - super.addInformation(stack, p_77624_2_, p_77624_3_, p_77624_4_); - final EnumMoisture moisture = EnumMoisture.values()[stack.getItemDamage() % 3]; - final EnumAcidity acidity = EnumAcidity.values()[stack.getItemDamage() / 3]; + public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { + super.addInformation(stack, player, tooltip, advanced); + EnumMoisture moisture = EnumMoisture.values()[stack.getItemDamage() % 3]; + EnumAcidity acidity = EnumAcidity.values()[stack.getItemDamage() / 3]; String info = ""; + if (moisture == EnumMoisture.Dry) { info += EnumChatFormatting.YELLOW + "Dry" + EnumChatFormatting.RESET; } if (moisture == EnumMoisture.Damp) { info += EnumChatFormatting.YELLOW + "Damp" + EnumChatFormatting.RESET; } + if (acidity == EnumAcidity.Acid) { if (info.length() > 0) { info += ", "; } info += EnumChatFormatting.RED + "Acidic" + EnumChatFormatting.RESET; } + if (acidity == EnumAcidity.Alkaline) { if (info.length() > 0) { info += ", "; } info += EnumChatFormatting.AQUA + "Alkaline" + EnumChatFormatting.RESET; } + if (info.length() > 0) { - p_77624_3_.add(info); + tooltip.add(info); } - if (this.noWeed) { - p_77624_3_.add("Weedkiller"); + + if (noWeed) { + tooltip.add("Weedkiller"); } } - public ItemSoil(final Block p_i45328_1_) { - super(p_i45328_1_); - this.type = ((BlockSoil) this.field_150939_a).getType(); - this.noWeed = ((BlockSoil) this.field_150939_a).weedKilled; - this.hasSubtypes = true; + @Override + public String getItemStackDisplayName(ItemStack stack) { + return type.name().substring(0, 1) + type.name().toLowerCase().substring(1); } @Override - public String getItemStackDisplayName(final ItemStack stack) { - return this.type.name().substring(0, 1) + this.type.name().toLowerCase().substring(1); - } - - @Override - public int getMetadata(final int p_77647_1_) { - return p_77647_1_; + public int getMetadata(int meta) { + return meta; } } diff --git a/src/main/java/binnie/botany/gardening/ItemSoilMeter.java b/src/main/java/binnie/botany/gardening/ItemSoilMeter.java index 75ccd459..4f979e78 100644 --- a/src/main/java/binnie/botany/gardening/ItemSoilMeter.java +++ b/src/main/java/binnie/botany/gardening/ItemSoilMeter.java @@ -1,46 +1,48 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.gardening; -import binnie.botany.CreativeTabBotany; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import binnie.Binnie; import binnie.botany.Botany; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; +import binnie.botany.CreativeTabBotany; import binnie.botany.api.EnumAcidity; import binnie.botany.api.EnumMoisture; import binnie.botany.api.EnumSoilType; -import net.minecraft.block.Block; -import net.minecraft.util.ChatComponentText; -import binnie.Binnie; import binnie.botany.api.gardening.IBlockSoil; import binnie.core.BinnieCore; -import net.minecraft.world.World; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IChatComponent; +import net.minecraft.world.World; + +public class ItemSoilMeter extends Item { + public ItemSoilMeter() { + setCreativeTab(CreativeTabBotany.instance); + setUnlocalizedName("soilMeter"); + setMaxStackSize(1); + } -public class ItemSoilMeter extends Item -{ @Override - public boolean onItemUse(final ItemStack stack, final EntityPlayer player, final World world, final int x, int y, final int z, final int p_77648_7_, final float p_77648_8_, final float p_77648_9_, final float p_77648_10_) { + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float blockX, float blockY, float blockZ) { Block block = world.getBlock(x, y, z); if (!Gardening.isSoil(block)) { - --y; + y--; block = world.getBlock(x, y, z); } + if (Gardening.isSoil(block) && !BinnieCore.proxy.isSimulating(world)) { - final IBlockSoil soil = (IBlockSoil) block; - final EnumSoilType type = soil.getType(world, x, y, z); - final EnumMoisture moisture = soil.getMoisture(world, x, y, z); - final EnumAcidity pH = soil.getPH(world, x, y, z); + IBlockSoil soil = (IBlockSoil) block; + EnumSoilType type = soil.getType(world, x, y, z); + EnumMoisture moisture = soil.getMoisture(world, x, y, z); + EnumAcidity pH = soil.getPH(world, x, y, z); // TODO remove hardcode strings ans localize - EnumChatFormatting[] colors = new EnumChatFormatting[] { + EnumChatFormatting[] colors = new EnumChatFormatting[]{ EnumChatFormatting.DARK_GRAY, EnumChatFormatting.GOLD, EnumChatFormatting.LIGHT_PURPLE, @@ -48,7 +50,7 @@ public class ItemSoilMeter extends Item String info = "Type: "; info += colors[type.ordinal()] + Binnie.Language.localise(type) + EnumChatFormatting.RESET; - colors = new EnumChatFormatting[] { + colors = new EnumChatFormatting[]{ EnumChatFormatting.YELLOW, EnumChatFormatting.GRAY, EnumChatFormatting.BLUE, @@ -56,33 +58,27 @@ public class ItemSoilMeter extends Item info += ", Moisture: "; info += colors[moisture.ordinal()] + Binnie.Language.localise(moisture) + EnumChatFormatting.RESET; - colors = new EnumChatFormatting[] { + colors = new EnumChatFormatting[]{ EnumChatFormatting.RED, EnumChatFormatting.GREEN, EnumChatFormatting.AQUA, }; info += ", pH: "; info += colors[pH.ordinal()] + Binnie.Language.localise(pH) + EnumChatFormatting.RESET; - final IChatComponent chat = new ChatComponentText(info); + IChatComponent chat = new ChatComponentText(info); player.addChatMessage(chat); } - return super.onItemUse(stack, player, world, x, y, z, p_77648_7_, p_77648_8_, p_77648_9_, p_77648_10_); + return super.onItemUse(stack, player, world, x, y, z, side, blockX, blockY, blockZ); } @Override @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister register) { - this.itemIcon = Botany.proxy.getIcon(register, "soilMeter"); - } - - public ItemSoilMeter() { - this.setCreativeTab(CreativeTabBotany.instance); - this.setUnlocalizedName("soilMeter"); - this.setMaxStackSize(1); + public void registerIcons(IIconRegister register) { + itemIcon = Botany.proxy.getIcon(register, "soilMeter"); } @Override - public String getItemStackDisplayName(final ItemStack i) { + public String getItemStackDisplayName(ItemStack i) { return "Soil Meter"; } } diff --git a/src/main/java/binnie/botany/gardening/ItemTrowel.java b/src/main/java/binnie/botany/gardening/ItemTrowel.java index 708bde74..2cd86b68 100644 --- a/src/main/java/binnie/botany/gardening/ItemTrowel.java +++ b/src/main/java/binnie/botany/gardening/ItemTrowel.java @@ -1,62 +1,59 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.gardening; +import binnie.botany.Botany; +import binnie.botany.CreativeTabBotany; import binnie.botany.api.EnumAcidity; import binnie.botany.api.EnumMoisture; -import net.minecraft.block.Block; -import net.minecraft.entity.EntityLivingBase; import binnie.botany.api.EnumSoilType; -import net.minecraft.init.Blocks; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import binnie.botany.Botany; +import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; -import binnie.botany.CreativeTabBotany; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; -public class ItemTrowel extends Item -{ +public class ItemTrowel extends Item { protected Item.ToolMaterial theToolMaterial; String locName; - public ItemTrowel(final Item.ToolMaterial p_i45343_1_, final String material) { - this.theToolMaterial = p_i45343_1_; - this.maxStackSize = 1; - this.setMaxDamage(p_i45343_1_.getMaxUses()); - this.setCreativeTab(CreativeTabBotany.instance); - this.setUnlocalizedName("trowel" + material); - this.locName = "trowel" + material; + public ItemTrowel(Item.ToolMaterial toolMaterial, String material) { + theToolMaterial = toolMaterial; + maxStackSize = 1; + setMaxDamage(toolMaterial.getMaxUses()); + setCreativeTab(CreativeTabBotany.instance); + setUnlocalizedName("trowel" + material); + locName = "trowel" + material; } @Override @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister p_94581_1_) { - this.itemIcon = Botany.proxy.getIcon(p_94581_1_, "tools/" + this.locName); + public void registerIcons(IIconRegister p_94581_1_) { + itemIcon = Botany.proxy.getIcon(p_94581_1_, "tools/" + locName); } @Override - public boolean onItemUse(final ItemStack stack, final EntityPlayer player, final World world, final int x, final int y, final int z, final int p_77648_7_, final float p_77648_8_, final float p_77648_9_, final float p_77648_10_) { - if (!player.canPlayerEdit(x, y, z, p_77648_7_, stack)) { + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float blockX, float blockY, float blockZ) { + if (!player.canPlayerEdit(x, y, z, side, stack)) { return false; } - final Block block = world.getBlock(x, y, z); - if (p_77648_7_ == 0 || (!world.getBlock(x, y + 1, z).isAir(world, x, y + 1, z) && world.getBlock(x, y + 1, z) != Botany.flower) || (block != Blocks.grass && block != Blocks.dirt)) { + Block block = world.getBlock(x, y, z); + if (side == 0 || + (!world.getBlock(x, y + 1, z).isAir(world, x, y + 1, z) && world.getBlock(x, y + 1, z) != Botany.flower) || + (block != Blocks.grass && block != Blocks.dirt)) { return false; } - final Block block2 = Botany.soil; + + Block block2 = Botany.soil; world.playSoundEffect(x + 0.5f, y + 0.5f, z + 0.5f, block2.stepSound.getStepResourcePath(), (block2.stepSound.getVolume() + 1.0f) / 2.0f, block2.stepSound.getPitch() * 0.8f); if (world.isRemote) { return true; } - final EnumMoisture moisture = Gardening.getNaturalMoisture(world, x, y, z); - final EnumAcidity acidity = Gardening.getNaturalPH(world, x, y, z); + + EnumMoisture moisture = Gardening.getNaturalMoisture(world, x, y, z); + EnumAcidity acidity = Gardening.getNaturalPH(world, x, y, z); Gardening.createSoil(world, x, y, z, EnumSoilType.SOIL, moisture, acidity); stack.damageItem(1, player); return true; @@ -69,6 +66,6 @@ public class ItemTrowel extends Item } public String getToolMaterialName() { - return this.theToolMaterial.toString(); + return theToolMaterial.toString(); } } diff --git a/src/main/java/binnie/botany/gardening/ItemWeed.java b/src/main/java/binnie/botany/gardening/ItemWeed.java index 11dfe439..f0eaaac5 100644 --- a/src/main/java/binnie/botany/gardening/ItemWeed.java +++ b/src/main/java/binnie/botany/gardening/ItemWeed.java @@ -1,37 +1,32 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.gardening; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.util.IIcon; -import net.minecraft.item.ItemStack; import net.minecraft.block.Block; import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; -public class ItemWeed extends ItemBlock -{ - public ItemWeed(final Block p_i45328_1_) { - super(p_i45328_1_); - this.setHasSubtypes(true); - this.hasSubtypes = true; +public class ItemWeed extends ItemBlock { + public ItemWeed(Block block) { + super(block); + setHasSubtypes(true); + hasSubtypes = true; } @Override - public String getItemStackDisplayName(final ItemStack stack) { + public String getItemStackDisplayName(ItemStack stack) { return BlockPlant.Type.values()[stack.getItemDamage()].getName(); } @Override - public int getMetadata(final int p_77647_1_) { - return p_77647_1_; + public int getMetadata(int meta) { + return meta; } @Override @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(final int p_77617_1_) { - return this.field_150939_a.getIcon(2, p_77617_1_); + public IIcon getIconFromDamage(int damage) { + return field_150939_a.getIcon(2, damage); } } diff --git a/src/main/java/binnie/botany/gardening/ModuleGardening.java b/src/main/java/binnie/botany/gardening/ModuleGardening.java index 399b220b..73548944 100644 --- a/src/main/java/binnie/botany/gardening/ModuleGardening.java +++ b/src/main/java/binnie/botany/gardening/ModuleGardening.java @@ -1,70 +1,77 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.gardening; -import binnie.core.block.TileEntityMetadata; -import java.util.Map; -import binnie.botany.genetics.EnumFlowerColor; -import net.minecraftforge.oredict.ShapelessOreRecipe; -import net.minecraft.init.Items; -import net.minecraftforge.oredict.ShapedOreRecipe; -import binnie.core.Mods; -import net.minecraft.item.crafting.IRecipe; +import binnie.Binnie; +import binnie.botany.Botany; +import binnie.botany.CreativeTabBotany; import binnie.botany.api.EnumAcidity; -import binnie.botany.farm.CircuitGarden; import binnie.botany.api.EnumMoisture; -import net.minecraft.init.Blocks; -import binnie.botany.ceramic.PigmentRecipe; -import net.minecraftforge.oredict.RecipeSorter; -import binnie.botany.ceramic.CeramicTileRecipe; -import binnie.core.block.MultipassItemRenderer; +import binnie.botany.api.EnumSoilType; +import binnie.botany.ceramic.BlockCeramic; import binnie.botany.ceramic.BlockCeramicBrick; import binnie.botany.ceramic.BlockCeramicPatterned; -import net.minecraftforge.client.IItemRenderer; -import binnie.core.block.ItemMetadataRenderer; -import binnie.core.BinnieCore; -import binnie.core.block.ItemMetadata; import binnie.botany.ceramic.BlockStained; -import binnie.botany.ceramic.BlockCeramic; -import net.minecraftforge.oredict.OreDictionary; +import binnie.botany.ceramic.CeramicTileRecipe; +import binnie.botany.ceramic.PigmentRecipe; +import binnie.botany.farm.CircuitGarden; +import binnie.botany.flower.ItemInsulatedTube; +import binnie.botany.genetics.EnumFlowerColor; +import binnie.botany.items.BotanyItems; import binnie.botany.items.ItemClay; import binnie.botany.items.ItemPigment; -import binnie.botany.CreativeTabBotany; -import binnie.botany.items.BotanyItems; -import binnie.Binnie; -import net.minecraft.item.Item; -import binnie.botany.flower.ItemInsulatedTube; -import net.minecraft.block.Block; -import cpw.mods.fml.common.registry.GameRegistry; -import binnie.botany.Botany; -import binnie.botany.api.EnumSoilType; -import net.minecraft.item.ItemStack; -import java.util.HashMap; +import binnie.core.BinnieCore; import binnie.core.IInitializable; +import binnie.core.Mods; +import binnie.core.block.ItemMetadata; +import binnie.core.block.ItemMetadataRenderer; +import binnie.core.block.MultipassItemRenderer; +import binnie.core.block.TileEntityMetadata; +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; +import net.minecraftforge.oredict.RecipeSorter; +import net.minecraftforge.oredict.ShapedOreRecipe; +import net.minecraftforge.oredict.ShapelessOreRecipe; -public class ModuleGardening implements IInitializable -{ +import java.util.HashMap; +import java.util.Map; + +public class ModuleGardening implements IInitializable { public static HashMap queuedAcidFertilisers; public static HashMap queuedAlkalineFertilisers; public static HashMap queuedNutrientFertilisers; + static { + ModuleGardening.queuedAcidFertilisers = new HashMap<>(); + ModuleGardening.queuedAlkalineFertilisers = new HashMap<>(); + ModuleGardening.queuedNutrientFertilisers = new HashMap<>(); + } + @Override public void preInit() { + Botany.plant = new BlockPlant(); + GameRegistry.registerBlock(Botany.plant, ItemWeed.class, "plant"); + Botany.soil = new BlockSoil(EnumSoilType.SOIL, "soil", false); - Botany.loam = new BlockSoil(EnumSoilType.LOAM, "loam", false); - Botany.flowerbed = new BlockSoil(EnumSoilType.FLOWERBED, "flowerbed", false); - Botany.soilNoWeed = new BlockSoil(EnumSoilType.SOIL, "soilNoWeed", true); - Botany.loamNoWeed = new BlockSoil(EnumSoilType.LOAM, "loamNoWeed", true); - Botany.flowerbedNoWeed = new BlockSoil(EnumSoilType.FLOWERBED, "flowerbedNoWeed", true); - GameRegistry.registerBlock(Botany.plant = new BlockPlant(), ItemWeed.class, "plant"); GameRegistry.registerBlock(Botany.soil, ItemSoil.class, "soil"); + + Botany.loam = new BlockSoil(EnumSoilType.LOAM, "loam", false); GameRegistry.registerBlock(Botany.loam, ItemSoil.class, "loam"); + + Botany.flowerbed = new BlockSoil(EnumSoilType.FLOWERBED, "flowerbed", false); GameRegistry.registerBlock(Botany.flowerbed, ItemSoil.class, "flowerbed"); + + Botany.soilNoWeed = new BlockSoil(EnumSoilType.SOIL, "soilNoWeed", true); GameRegistry.registerBlock(Botany.soilNoWeed, ItemSoil.class, "soilNoWeed"); + + Botany.loamNoWeed = new BlockSoil(EnumSoilType.LOAM, "loamNoWeed", true); GameRegistry.registerBlock(Botany.loamNoWeed, ItemSoil.class, "loamNoWeed"); + + Botany.flowerbedNoWeed = new BlockSoil(EnumSoilType.FLOWERBED, "flowerbedNoWeed", true); GameRegistry.registerBlock(Botany.flowerbedNoWeed, ItemSoil.class, "flowerbedNoWeed"); + Botany.soilMeter = new ItemSoilMeter(); Botany.insulatedTube = new ItemInsulatedTube(); Botany.trowelWood = new ItemTrowel(Item.ToolMaterial.WOOD, "Wood"); @@ -75,17 +82,21 @@ public class ModuleGardening implements IInitializable Botany.misc = Binnie.Item.registerMiscItems(BotanyItems.values(), CreativeTabBotany.instance); Botany.pigment = new ItemPigment(); Botany.clay = new ItemClay(); + Botany.ceramic = new BlockCeramic(); - Botany.stained = new BlockStained(); GameRegistry.registerBlock(Botany.ceramic, ItemMetadata.class, "ceramic"); BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(Botany.ceramic), new ItemMetadataRenderer()); + + Botany.stained = new BlockStained(); GameRegistry.registerBlock(Botany.stained, ItemMetadata.class, "stained"); BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(Botany.stained), new ItemMetadataRenderer()); + Botany.ceramicTile = new BlockCeramicPatterned(); - Botany.ceramicBrick = new BlockCeramicBrick(); GameRegistry.registerBlock(Botany.ceramicTile, ItemMetadata.class, "ceramicPattern"); - GameRegistry.registerBlock(Botany.ceramicBrick, ItemMetadata.class, "ceramicBrick"); BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(Botany.ceramicTile), new MultipassItemRenderer()); + + Botany.ceramicBrick = new BlockCeramicBrick(); + GameRegistry.registerBlock(Botany.ceramicBrick, ItemMetadata.class, "ceramicBrick"); BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(Botany.ceramicBrick), new MultipassItemRenderer()); } @@ -94,13 +105,14 @@ public class ModuleGardening implements IInitializable OreDictionary.registerOre("pigment", Botany.pigment); RecipeSorter.register("botany:ceramictile", CeramicTileRecipe.class, RecipeSorter.Category.SHAPED, ""); RecipeSorter.register("botany:pigment", PigmentRecipe.class, RecipeSorter.Category.SHAPED, ""); - final ItemStack yellow = new ItemStack(Blocks.yellow_flower, 1); - final ItemStack red = new ItemStack(Blocks.red_flower, 1); - final ItemStack blue = new ItemStack(Blocks.red_flower, 1, 7); - for (final boolean manual : new boolean[] { true, false }) { - for (final boolean fertilised : new boolean[] { true, false }) { - for (final EnumMoisture moist : EnumMoisture.values()) { - final ItemStack icon = (moist == EnumMoisture.Dry) ? yellow : ((moist == EnumMoisture.Normal) ? red : blue); + ItemStack yellow = new ItemStack(Blocks.yellow_flower, 1); + ItemStack red = new ItemStack(Blocks.red_flower, 1); + ItemStack blue = new ItemStack(Blocks.red_flower, 1, 7); + + for (boolean manual : new boolean[]{true, false}) { + for (boolean fertilised : new boolean[]{true, false}) { + for (EnumMoisture moist : EnumMoisture.values()) { + ItemStack icon = (moist == EnumMoisture.Dry) ? yellow : ((moist == EnumMoisture.Normal) ? red : blue); int insulate = 2 - moist.ordinal(); if (fertilised) { insulate += 3; @@ -119,32 +131,99 @@ public class ModuleGardening implements IInitializable GameRegistry.addRecipe(new CeramicTileRecipe()); for (int mat = 0; mat < 4; ++mat) { for (int insulate = 0; insulate < 6; ++insulate) { - final ItemStack tubes = new ItemStack(Botany.insulatedTube, 2, mat + 128 * insulate); - final ItemStack insulateStack = ItemInsulatedTube.getInsulateStack(tubes); - final ItemStack forestryTube = new ItemStack(Mods.Forestry.item("thermionicTubes"), 1, mat); - GameRegistry.addShapelessRecipe(tubes, new Object[] { forestryTube, forestryTube, insulateStack }); + ItemStack tubes = new ItemStack(Botany.insulatedTube, 2, mat + 128 * insulate); + ItemStack insulateStack = ItemInsulatedTube.getInsulateStack(tubes); + ItemStack forestryTube = new ItemStack(Mods.Forestry.item("thermionicTubes"), 1, mat); + GameRegistry.addShapelessRecipe(tubes, forestryTube, forestryTube, insulateStack); } } - GameRegistry.addRecipe(new ShapedOreRecipe((Item) Botany.trowelWood, new Object[] { "d ", " x ", " s", 'd', Blocks.dirt, 's', "stickWood", 'x', "plankWood" })); - GameRegistry.addRecipe(new ShapedOreRecipe((Item) Botany.trowelStone, new Object[] { "d ", " x ", " s", 'd', Blocks.dirt, 's', "stickWood", 'x', "cobblestone" })); - GameRegistry.addRecipe(new ShapedOreRecipe((Item) Botany.trowelIron, new Object[] { "d ", " x ", " s", 'd', Blocks.dirt, 's', "stickWood", 'x', "ingotIron" })); - GameRegistry.addRecipe(new ShapedOreRecipe((Item) Botany.trowelGold, new Object[] { "d ", " x ", " s", 'd', Blocks.dirt, 's', "stickWood", 'x', "ingotGold" })); - GameRegistry.addRecipe(new ShapedOreRecipe((Item) Botany.trowelDiamond, new Object[] { "d ", " x ", " s", 'd', Blocks.dirt, 's', "stickWood", 'x', "gemDiamond" })); - GameRegistry.addRecipe(new ShapedOreRecipe((Item) Botany.soilMeter, new Object[] { " gg", " rg", "i ", 'g', "ingotGold", 'r', "dustRedstone", 'i', "ingotIron" })); - GameRegistry.addShapelessRecipe(BotanyItems.Weedkiller.get(4), new Object[] { new ItemStack(Items.spider_eye), new ItemStack(Items.wheat_seeds), new ItemStack(Items.wheat_seeds), new ItemStack(Items.wheat_seeds) }); - GameRegistry.addShapelessRecipe(BotanyItems.AshPowder.get(4), new Object[] { Mods.Forestry.stack("ash") }); - GameRegistry.addShapelessRecipe(BotanyItems.MulchPowder.get(4), new Object[] { Mods.Forestry.stack("mulch") }); - GameRegistry.addShapelessRecipe(BotanyItems.CompostPowder.get(4), new Object[] { Mods.Forestry.stack("fertilizerBio") }); - GameRegistry.addShapelessRecipe(BotanyItems.FertiliserPowder.get(4), new Object[] { Mods.Forestry.stack("fertilizerCompound") }); - GameRegistry.addShapelessRecipe(BotanyItems.PulpPowder.get(4), new Object[] { Mods.Forestry.stack("woodPulp") }); - GameRegistry.addRecipe(new ShapelessOreRecipe(BotanyItems.SulphurPowder.get(4), new Object[] { "dustSulphur" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Botany.pigment, 2, EnumFlowerColor.Black.ordinal()), new Object[] { "pigment", "pigment", "dyeBlack" })); + + GameRegistry.addRecipe(new ShapedOreRecipe( + Botany.trowelWood, + new Object[]{ + "d ", " x ", " s", + 'd', Blocks.dirt, + 's', "stickWood", + 'x', "plankWood" + } + )); + GameRegistry.addRecipe(new ShapedOreRecipe( + Botany.trowelStone, + new Object[]{ + "d ", " x ", " s", + 'd', Blocks.dirt, + 's', "stickWood", + 'x', "cobblestone" + } + )); + GameRegistry.addRecipe(new ShapedOreRecipe( + Botany.trowelIron, + new Object[]{ + "d ", " x ", " s", + 'd', Blocks.dirt, + 's', "stickWood", + 'x', "ingotIron" + } + )); + GameRegistry.addRecipe(new ShapedOreRecipe( + Botany.trowelGold, + new Object[]{ + "d ", " x ", " s", + 'd', Blocks.dirt, + 's', "stickWood", + 'x', "ingotGold" + } + )); + GameRegistry.addRecipe(new ShapedOreRecipe( + Botany.trowelDiamond, + new Object[]{ + "d ", " x ", " s", + 'd', Blocks.dirt, + 's', "stickWood", + 'x', "gemDiamond" + } + )); + GameRegistry.addRecipe(new ShapedOreRecipe( + Botany.soilMeter, + new Object[]{ + " gg", " rg", "i ", + 'g', "ingotGold", + 'r', "dustRedstone", + 'i', "ingotIron" + } + )); + GameRegistry.addShapelessRecipe( + BotanyItems.Weedkiller.get(4), + new ItemStack(Items.spider_eye), + new ItemStack(Items.wheat_seeds), + new ItemStack(Items.wheat_seeds), + new ItemStack(Items.wheat_seeds) + ); + GameRegistry.addShapelessRecipe(BotanyItems.AshPowder.get(4), Mods.Forestry.stack("ash")); + GameRegistry.addShapelessRecipe(BotanyItems.MulchPowder.get(4), Mods.Forestry.stack("mulch")); + GameRegistry.addShapelessRecipe(BotanyItems.CompostPowder.get(4), Mods.Forestry.stack("fertilizerBio")); + GameRegistry.addShapelessRecipe(BotanyItems.FertiliserPowder.get(4), Mods.Forestry.stack("fertilizerCompound")); + GameRegistry.addShapelessRecipe(BotanyItems.PulpPowder.get(4), Mods.Forestry.stack("woodPulp")); + GameRegistry.addRecipe(new ShapelessOreRecipe( + BotanyItems.SulphurPowder.get(4), + new Object[]{"dustSulphur"} + )); + GameRegistry.addRecipe(new ShapelessOreRecipe( + new ItemStack(Botany.pigment, 2, EnumFlowerColor.Black.ordinal()), + new Object[]{ + "pigment", + "pigment", + "dyeBlack" + } + )); ModuleGardening.queuedAcidFertilisers.put(BotanyItems.SulphurPowder.get(1), 1); ModuleGardening.queuedAcidFertilisers.put(BotanyItems.MulchPowder.get(1), 1); ModuleGardening.queuedAcidFertilisers.put(new ItemStack(GameRegistry.findItem("Forestry", "mulch")), 2); - for (final ItemStack stack : OreDictionary.getOres("dustSulfur")) { + + for (ItemStack stack : OreDictionary.getOres("dustSulfur")) { ModuleGardening.queuedAcidFertilisers.put(stack, 2); } + ModuleGardening.queuedAlkalineFertilisers.put(BotanyItems.AshPowder.get(1), 1); ModuleGardening.queuedAlkalineFertilisers.put(BotanyItems.PulpPowder.get(1), 1); ModuleGardening.queuedAlkalineFertilisers.put(new ItemStack(GameRegistry.findItem("Forestry", "ash")), 2); @@ -153,50 +232,60 @@ public class ModuleGardening implements IInitializable ModuleGardening.queuedNutrientFertilisers.put(BotanyItems.FertiliserPowder.get(1), 1); ModuleGardening.queuedNutrientFertilisers.put(new ItemStack(GameRegistry.findItem("Forestry", "fertilizerBio")), 2); ModuleGardening.queuedNutrientFertilisers.put(new ItemStack(GameRegistry.findItem("Forestry", "fertilizerCompound")), 2); - for (final Map.Entry entry : ModuleGardening.queuedAcidFertilisers.entrySet()) { - this.addAcidFertiliser(entry.getKey(), entry.getValue()); + + for (Map.Entry entry : ModuleGardening.queuedAcidFertilisers.entrySet()) { + addAcidFertiliser(entry.getKey(), entry.getValue()); } - for (final Map.Entry entry : ModuleGardening.queuedAlkalineFertilisers.entrySet()) { - this.addAlkalineFertiliser(entry.getKey(), entry.getValue()); + + for (Map.Entry entry : ModuleGardening.queuedAlkalineFertilisers.entrySet()) { + addAlkalineFertiliser(entry.getKey(), entry.getValue()); } - for (final Map.Entry entry : ModuleGardening.queuedNutrientFertilisers.entrySet()) { - this.addNutrientFertiliser(entry.getKey(), entry.getValue()); + + for (Map.Entry entry : ModuleGardening.queuedNutrientFertilisers.entrySet()) { + addNutrientFertiliser(entry.getKey(), entry.getValue()); } - GameRegistry.addRecipe(BotanyItems.Mortar.get(6), new Object[] { " c ", "cgc", " c ", 'c', Items.clay_ball, 'g', Blocks.gravel }); - for (final EnumFlowerColor c : EnumFlowerColor.values()) { - final ItemStack clay = new ItemStack(Botany.clay, 1, c.ordinal()); - final ItemStack pigment = new ItemStack(Botany.pigment, 1, c.ordinal()); - GameRegistry.addShapelessRecipe(clay, new Object[] { Items.clay_ball, Items.clay_ball, Items.clay_ball, pigment }); + + GameRegistry.addRecipe( + BotanyItems.Mortar.get(6), + " c ", "cgc", " c ", + 'c', Items.clay_ball, + 'g', Blocks.gravel + ); + for (EnumFlowerColor c : EnumFlowerColor.values()) { + ItemStack clay = new ItemStack(Botany.clay, 1, c.ordinal()); + ItemStack pigment = new ItemStack(Botany.pigment, 1, c.ordinal()); + GameRegistry.addShapelessRecipe(clay, Items.clay_ball, Items.clay_ball, Items.clay_ball, pigment); GameRegistry.addSmelting(clay, TileEntityMetadata.getItemStack(Botany.ceramic, c.ordinal()), 0.0f); - final ItemStack glass = TileEntityMetadata.getItemStack(Botany.stained, c.ordinal()); + ItemStack glass = TileEntityMetadata.getItemStack(Botany.stained, c.ordinal()); glass.stackSize = 4; - GameRegistry.addShapedRecipe(glass, new Object[] { " g ", "gpg", " g ", 'g', Blocks.glass, 'p', pigment }); + GameRegistry.addShapedRecipe(glass, " g ", "gpg", " g ", 'g', Blocks.glass, 'p', pigment); } GameRegistry.addRecipe(new PigmentRecipe()); } - private ItemStack getStack(final int type, final int pH, final int moisture) { + private ItemStack getStack(int type, int pH, int moisture) { if (type < 0 || type > 2 || pH < 0 || pH > 2 || moisture < 0 || moisture > 2) { return null; } return new ItemStack(Gardening.getSoilBlock(EnumSoilType.values()[type]), 1, BlockSoil.getMeta(EnumAcidity.values()[pH], EnumMoisture.values()[moisture])); } - private void addAcidFertiliser(final ItemStack stack, final int strengthMax) { + private void addAcidFertiliser(ItemStack stack, int strengthMax) { if (stack == null) { return; } + Gardening.fertiliserAcid.put(stack, strengthMax); for (int moisture = 0; moisture < 3; ++moisture) { for (int pH = 0; pH < 3; ++pH) { for (int type = 0; type < 3; ++type) { int numOfBlocks = strengthMax * strengthMax; for (int strength = 1; strength < strengthMax; ++strength) { - final ItemStack start = this.getStack(type, pH, moisture); - final ItemStack end = this.getStack(type, pH - strength, moisture); + ItemStack start = getStack(type, pH, moisture); + ItemStack end = getStack(type, pH - strength, moisture); if (end != null) { end.stackSize = numOfBlocks; - final Object[] stacks = new Object[numOfBlocks + 1]; + Object[] stacks = new Object[numOfBlocks + 1]; for (int i = 0; i < numOfBlocks; ++i) { stacks[i] = start; } @@ -210,21 +299,22 @@ public class ModuleGardening implements IInitializable } } - private void addAlkalineFertiliser(final ItemStack stack, final int strengthMax) { + private void addAlkalineFertiliser(ItemStack stack, int strengthMax) { if (stack == null) { return; } + Gardening.fertiliserAlkaline.put(stack, strengthMax); for (int moisture = 0; moisture < 3; ++moisture) { for (int pH = 0; pH < 3; ++pH) { for (int type = 0; type < 3; ++type) { int numOfBlocks = strengthMax * strengthMax; for (int strength = 1; strength < strengthMax; ++strength) { - final ItemStack start = this.getStack(type, pH, moisture); - final ItemStack end = this.getStack(type, pH + strength, moisture); + ItemStack start = getStack(type, pH, moisture); + ItemStack end = getStack(type, pH + strength, moisture); if (end != null) { end.stackSize = numOfBlocks; - final Object[] stacks = new Object[numOfBlocks + 1]; + Object[] stacks = new Object[numOfBlocks + 1]; for (int i = 0; i < numOfBlocks; ++i) { stacks[i] = start; } @@ -238,21 +328,22 @@ public class ModuleGardening implements IInitializable } } - private void addNutrientFertiliser(final ItemStack stack, final int strengthMax) { + private void addNutrientFertiliser(ItemStack stack, int strengthMax) { if (stack == null) { return; } + Gardening.fertiliserNutrient.put(stack, strengthMax); for (int moisture = 0; moisture < 3; ++moisture) { for (int pH = 0; pH < 3; ++pH) { for (int type = 0; type < 3; ++type) { int numOfBlocks = strengthMax * strengthMax; for (int strength = 1; strength < strengthMax; ++strength) { - final ItemStack start = this.getStack(type, pH, moisture); - final ItemStack end = this.getStack(type + strength, pH, moisture); + ItemStack start = getStack(type, pH, moisture); + ItemStack end = getStack(type + strength, pH, moisture); if (end != null) { end.stackSize = numOfBlocks; - final Object[] stacks = new Object[numOfBlocks + 1]; + Object[] stacks = new Object[numOfBlocks + 1]; for (int i = 0; i < numOfBlocks; ++i) { stacks[i] = start; } @@ -265,10 +356,4 @@ public class ModuleGardening implements IInitializable } } } - - static { - ModuleGardening.queuedAcidFertilisers = new HashMap(); - ModuleGardening.queuedAlkalineFertilisers = new HashMap(); - ModuleGardening.queuedNutrientFertilisers = new HashMap(); - } } diff --git a/src/main/java/binnie/botany/genetics/AlleleColor.java b/src/main/java/binnie/botany/genetics/AlleleColor.java index 8c92442e..769579f2 100644 --- a/src/main/java/binnie/botany/genetics/AlleleColor.java +++ b/src/main/java/binnie/botany/genetics/AlleleColor.java @@ -1,20 +1,15 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; import forestry.api.genetics.IAlleleInteger; -public class AlleleColor implements IAlleleInteger -{ - String uid; - boolean dominant; - String name; - int value; - EnumFlowerColor color; +public class AlleleColor implements IAlleleInteger { + protected String uid; + protected boolean dominant; + protected String name; + protected int value; + protected EnumFlowerColor color; - public AlleleColor(final EnumFlowerColor color, final String uid, final String name, final int value) { + public AlleleColor(EnumFlowerColor color, String uid, String name, int value) { this.color = color; this.uid = uid; this.name = name; @@ -23,7 +18,7 @@ public class AlleleColor implements IAlleleInteger @Override public String getUID() { - return this.uid; + return uid; } @Override @@ -33,20 +28,20 @@ public class AlleleColor implements IAlleleInteger @Override public String getName() { - return this.color.getName(); + return color.getName(); } @Override public int getValue() { - return this.value; + return value; } public EnumFlowerColor getColor() { - return this.color; + return color; } @Override public String getUnlocalizedName() { - return this.getUID(); + return getUID(); } } diff --git a/src/main/java/binnie/botany/genetics/AlleleEffectNone.java b/src/main/java/binnie/botany/genetics/AlleleEffectNone.java index 0ec0add8..51129acd 100644 --- a/src/main/java/binnie/botany/genetics/AlleleEffectNone.java +++ b/src/main/java/binnie/botany/genetics/AlleleEffectNone.java @@ -1,23 +1,18 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; -import net.minecraft.world.World; +import binnie.botany.api.IAlleleFlowerEffect; import binnie.botany.api.IFlowerGenome; import forestry.api.genetics.IEffectData; -import binnie.botany.api.IAlleleFlowerEffect; +import net.minecraft.world.World; -public class AlleleEffectNone implements IAlleleFlowerEffect -{ +public class AlleleEffectNone implements IAlleleFlowerEffect { @Override public boolean isCombinable() { return true; } @Override - public IEffectData validateStorage(final IEffectData storedData) { + public IEffectData validateStorage(IEffectData storedData) { return storedData; } @@ -37,12 +32,12 @@ public class AlleleEffectNone implements IAlleleFlowerEffect } @Override - public IEffectData doEffect(final IFlowerGenome genome, final IEffectData storedData, final World world, final int x, final int y, final int z) { + public IEffectData doEffect(IFlowerGenome genome, IEffectData storedData, World world, int x, int y, int z) { return storedData; } @Override public String getUnlocalizedName() { - return this.getUID(); + return getUID(); } } diff --git a/src/main/java/binnie/botany/genetics/BotanistTracker.java b/src/main/java/binnie/botany/genetics/BotanistTracker.java index c245651f..8820d62c 100644 --- a/src/main/java/binnie/botany/genetics/BotanistTracker.java +++ b/src/main/java/binnie/botany/genetics/BotanistTracker.java @@ -1,31 +1,25 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; import binnie.Binnie; -import forestry.api.genetics.IBreedingTracker; - -import net.minecraft.entity.player.EntityPlayer; -import forestry.api.genetics.IIndividual; - import binnie.botany.api.IBotanistTracker; +import forestry.api.genetics.IBreedingTracker; +import forestry.api.genetics.IIndividual; import forestry.core.genetics.BreedingTracker; +import net.minecraft.entity.player.EntityPlayer; -public class BotanistTracker extends BreedingTracker implements IBotanistTracker -{ - public BotanistTracker(final String s) { +public class BotanistTracker extends BreedingTracker implements IBotanistTracker { + public BotanistTracker(String s) { super(s); } @Override - public void registerPickup(final IIndividual individual) { + public void registerPickup(IIndividual individual) { } @Override - protected IBreedingTracker getBreedingTracker(final EntityPlayer player) { - return Binnie.Genetics.getFlowerRoot().getBreedingTracker(player.worldObj, player.getGameProfile()); + protected IBreedingTracker getBreedingTracker(EntityPlayer player) { + return Binnie.Genetics.getFlowerRoot() + .getBreedingTracker(player.worldObj, player.getGameProfile()); } @Override diff --git a/src/main/java/binnie/botany/genetics/ColorMix.java b/src/main/java/binnie/botany/genetics/ColorMix.java new file mode 100644 index 00000000..bcdfeb9a --- /dev/null +++ b/src/main/java/binnie/botany/genetics/ColorMix.java @@ -0,0 +1,44 @@ +package binnie.botany.genetics; + +import binnie.botany.api.IColourMix; +import binnie.botany.api.IFlowerColor; + +public class ColorMix implements IColourMix { + protected IFlowerColor color1; + protected IFlowerColor color2; + protected IFlowerColor result; + protected int chance; + + public ColorMix(IFlowerColor color1, IFlowerColor color2, IFlowerColor result, int chance) { + this.color1 = color1; + this.color2 = color2; + this.result = result; + this.chance = chance; + } + + @Override + public IFlowerColor getColor1() { + return color1; + } + + @Override + public IFlowerColor getColor2() { + return color2; + } + + @Override + public boolean isMutation(IFlowerColor color1, IFlowerColor color2) { + return (color1 == this.color1 && color2 == this.color2) + || (color1 == this.color2 && color2 == this.color1); + } + + @Override + public int getChance() { + return chance; + } + + @Override + public IFlowerColor getResult() { + return result; + } +} diff --git a/src/main/java/binnie/botany/genetics/ColourMix.java b/src/main/java/binnie/botany/genetics/ColourMix.java deleted file mode 100644 index 70a455d9..00000000 --- a/src/main/java/binnie/botany/genetics/ColourMix.java +++ /dev/null @@ -1,48 +0,0 @@ -// -// Decompiled by Procyon v0.5.30 -// - -package binnie.botany.genetics; - -import binnie.botany.api.IFlowerColour; -import binnie.botany.api.IColourMix; - -public class ColourMix implements IColourMix -{ - IFlowerColour colour1; - IFlowerColour colour2; - IFlowerColour result; - int chance; - - @Override - public IFlowerColour getColour1() { - return this.colour1; - } - - @Override - public IFlowerColour getColour2() { - return this.colour2; - } - - @Override - public boolean isMutation(final IFlowerColour a, final IFlowerColour b) { - return (a == this.colour1 && b == this.colour2) || (a == this.colour2 && b == this.colour1); - } - - @Override - public int getChance() { - return this.chance; - } - - @Override - public IFlowerColour getResult() { - return this.result; - } - - public ColourMix(final IFlowerColour colour1, final IFlowerColour colour2, final IFlowerColour result, final int chance) { - this.colour1 = colour1; - this.colour2 = colour2; - this.result = result; - this.chance = chance; - } -} diff --git a/src/main/java/binnie/botany/genetics/EnumFlowerColor.java b/src/main/java/binnie/botany/genetics/EnumFlowerColor.java index 54331889..aa5f34d2 100644 --- a/src/main/java/binnie/botany/genetics/EnumFlowerColor.java +++ b/src/main/java/binnie/botany/genetics/EnumFlowerColor.java @@ -1,16 +1,11 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; import binnie.botany.Botany; +import binnie.botany.api.IFlowerColor; import binnie.botany.core.BotanyCore; import forestry.api.genetics.IAlleleInteger; -import binnie.botany.api.IFlowerColour; -public enum EnumFlowerColor implements IFlowerColour -{ +public enum EnumFlowerColor implements IFlowerColor { Aquamarine("aquamarine", 8388564), Black("black", 2631720), Blue("blue", 255), @@ -97,39 +92,24 @@ public enum EnumFlowerColor implements IFlowerColour AlleleColor allele; String ident; - private EnumFlowerColor(final String ident, final int c) { + EnumFlowerColor(String ident, int c) { this(c); } - private EnumFlowerColor(final int c) { - this.color = c; - this.allele = new AlleleColor(this, "botany.color" + this.name(), this.toString(), this.color); - int r = this.color >> 16 & 0xFF; - int g = this.color >> 8 & 0xFF; - int b = this.color & 0xFF; + EnumFlowerColor(int c) { + color = c; + allele = new AlleleColor(this, "botany.color" + name(), toString(), color); + int r = color >> 16 & 0xFF; + int g = color >> 8 & 0xFF; + int b = color & 0xFF; r = (int) (0.45 * (r + 214)); g = (int) (0.45 * (r + 174)); b = (int) (0.45 * (r + 131)); - this.colorDis = (r << 16) + (g << 8) + b; + colorDis = (r << 16) + (g << 8) + b; } - @Override - public int getColor(final boolean dis) { - return dis ? this.colorDis : this.color; - } - - @Override - public IAlleleInteger getAllele() { - return this.allele; - } - - @Override - public int getID() { - return this.ordinal(); - } - - public static void addMix(final EnumFlowerColor start1, final EnumFlowerColor start2, final EnumFlowerColor result, final int chance) { - BotanyCore.getFlowerRoot().registerColourMix(new ColourMix(start1, start2, result, chance)); + public static void addMix(EnumFlowerColor start1, EnumFlowerColor start2, EnumFlowerColor result, int chance) { + BotanyCore.getFlowerRoot().registerColourMix(new ColorMix(start1, start2, result, chance)); } public static void setupMutations() { @@ -2950,16 +2930,31 @@ public enum EnumFlowerColor implements IFlowerColour addMix(EnumFlowerColor.YellowGreen, EnumFlowerColor.Yellow, EnumFlowerColor.Khaki, 110); } - @Override - public String getName() { - return Botany.proxy.localise("colour." + this.name().toLowerCase()); - } - - public static EnumFlowerColor get(final int i) { + public static EnumFlowerColor get(int i) { return values()[Math.max(0, i) % values().length]; } + @Override + public int getColor(boolean dis) { + return dis ? colorDis : color; + } + + @Override + public IAlleleInteger getAllele() { + return allele; + } + + @Override + public int getID() { + return ordinal(); + } + + @Override + public String getName() { + return Botany.proxy.localise("colour." + name().toLowerCase()); + } + public String getHTMLName() { - return this.name(); + return name(); } } diff --git a/src/main/java/binnie/botany/genetics/EnumFlowerType.java b/src/main/java/binnie/botany/genetics/EnumFlowerType.java index 5c9db86f..3549a54e 100644 --- a/src/main/java/binnie/botany/genetics/EnumFlowerType.java +++ b/src/main/java/binnie/botany/genetics/EnumFlowerType.java @@ -1,17 +1,12 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; import binnie.botany.Botany; -import net.minecraft.client.renderer.texture.IIconRegister; import binnie.botany.api.EnumFlowerStage; -import net.minecraft.util.IIcon; import binnie.botany.api.IFlowerType; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; -public enum EnumFlowerType implements IFlowerType -{ +public enum EnumFlowerType implements IFlowerType { Dandelion, Poppy, Orchid, @@ -60,76 +55,92 @@ public enum EnumFlowerType implements IFlowerType Delphinium(2), Hollyhock(2); - int sections; - IIcon[] stem; - IIcon[] petal; - IIcon[] variant; - IIcon[] unflowered; - IIcon seedStem; - IIcon seedPetal; - IIcon seedVariant; - IIcon pollenStem; - IIcon pollenPetal; - IIcon pollenVariant; - IIcon blank; + protected int sections; + protected IIcon[] stem; + protected IIcon[] petal; + protected IIcon[] variant; + protected IIcon[] unflowered; + protected IIcon seedStem; + protected IIcon seedPetal; + protected IIcon seedVariant; + protected IIcon pollenStem; + protected IIcon pollenPetal; + protected IIcon pollenVariant; + protected IIcon blank; - private EnumFlowerType() { + EnumFlowerType() { this(1); } - private EnumFlowerType(final int sections) { - this.sections = 1; + EnumFlowerType(int sections) { this.sections = sections; - this.stem = new IIcon[sections]; - this.petal = new IIcon[sections]; - this.variant = new IIcon[sections]; - this.unflowered = new IIcon[sections]; + stem = new IIcon[sections]; + petal = new IIcon[sections]; + variant = new IIcon[sections]; + unflowered = new IIcon[sections]; } @Override - public IIcon getStem(final EnumFlowerStage stage, final boolean flowered, final int section) { - return (stage == EnumFlowerStage.SEED) ? this.seedStem : ((stage == EnumFlowerStage.POLLEN) ? this.pollenStem : this.stem[section % this.sections]); - } - - @Override - public IIcon getPetalIcon(final EnumFlowerStage stage, final boolean flowered, final int section) { - return (stage == EnumFlowerStage.SEED) ? this.seedPetal : ((stage == EnumFlowerStage.POLLEN) ? this.pollenPetal : (flowered ? this.petal[section % this.sections] : this.unflowered[section % this.sections])); - } - - @Override - public IIcon getVariantIcon(final EnumFlowerStage stage, final boolean flowered, final int section) { - return (stage == EnumFlowerStage.SEED) ? this.seedVariant : ((stage == EnumFlowerStage.POLLEN) ? this.pollenVariant : (flowered ? this.variant[section % this.sections] : this.blank)); - } - - public void registerIcons(final IIconRegister register) { - for (int i = 0; i < this.sections; ++i) { - final String suf = (i == 0) ? "" : ("" + (i + 1)); - final String pre = (this.sections == 1) ? "" : "double/"; - this.stem[i] = Botany.proxy.getIcon(register, "flowers/" + pre + this.toString().toLowerCase() + suf + ".0"); - this.petal[i] = Botany.proxy.getIcon(register, "flowers/" + pre + this.toString().toLowerCase() + suf + ".1"); - this.variant[i] = Botany.proxy.getIcon(register, "flowers/" + pre + this.toString().toLowerCase() + suf + ".2"); - this.unflowered[i] = Botany.proxy.getIcon(register, "flowers/" + pre + this.toString().toLowerCase() + suf + ".3"); + public IIcon getStem(EnumFlowerStage stage, boolean flowered, int section) { + if (stage == EnumFlowerStage.SEED) { + return seedStem; } - this.blank = Botany.proxy.getIcon(register, "flowers/blank"); - this.seedStem = Botany.proxy.getIcon(register, "flowers/seed.0"); - this.seedPetal = Botany.proxy.getIcon(register, "flowers/seed.1"); - this.seedVariant = Botany.proxy.getIcon(register, "flowers/seed.2"); - this.pollenStem = Botany.proxy.getIcon(register, "flowers/pollen.0"); - this.pollenPetal = Botany.proxy.getIcon(register, "flowers/pollen.1"); - this.pollenVariant = Botany.proxy.getIcon(register, "flowers/pollen.2"); + if (stage == EnumFlowerStage.POLLEN) { + return pollenStem; + } + return stem[section % sections]; + } + + @Override + public IIcon getPetalIcon(EnumFlowerStage stage, boolean flowered, int section) { + if (stage == EnumFlowerStage.SEED) { + return seedPetal; + } + if (stage == EnumFlowerStage.POLLEN){ + return pollenPetal; + } + if (flowered) { + return petal[section % sections]; + } + return unflowered[section % sections]; + } + + @Override + public IIcon getVariantIcon(EnumFlowerStage stage, boolean flowered, int section) { + return (stage == EnumFlowerStage.SEED) ? seedVariant : ((stage == EnumFlowerStage.POLLEN) ? pollenVariant : (flowered ? variant[section % sections] : blank)); + } + + public void registerIcons(IIconRegister register) { + for (int i = 0; i < sections; ++i) { + String suf = (i == 0) ? "" : ("" + (i + 1)); + String pre = (sections == 1) ? "" : "double/"; + String id = pre + toString().toLowerCase() + suf; + stem[i] = Botany.proxy.getIcon(register, "flowers/" + id + ".0"); + petal[i] = Botany.proxy.getIcon(register, "flowers/" + id + ".1"); + variant[i] = Botany.proxy.getIcon(register, "flowers/" + id + ".2"); + unflowered[i] = Botany.proxy.getIcon(register, "flowers/" + id + ".3"); + } + + blank = Botany.proxy.getIcon(register, "flowers/blank"); + seedStem = Botany.proxy.getIcon(register, "flowers/seed.0"); + seedPetal = Botany.proxy.getIcon(register, "flowers/seed.1"); + seedVariant = Botany.proxy.getIcon(register, "flowers/seed.2"); + pollenStem = Botany.proxy.getIcon(register, "flowers/pollen.0"); + pollenPetal = Botany.proxy.getIcon(register, "flowers/pollen.1"); + pollenVariant = Botany.proxy.getIcon(register, "flowers/pollen.2"); } @Override public int getID() { - return this.ordinal(); + return ordinal(); } @Override public int getSections() { - return this.sections; + return sections; } public IIcon getBlank() { - return this.blank; + return blank; } } diff --git a/src/main/java/binnie/botany/genetics/Flower.java b/src/main/java/binnie/botany/genetics/Flower.java index 32109c98..d7f70b17 100644 --- a/src/main/java/binnie/botany/genetics/Flower.java +++ b/src/main/java/binnie/botany/genetics/Flower.java @@ -1,14 +1,10 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; import binnie.botany.api.EnumFlowerChromosome; import binnie.botany.api.IAlleleFlowerSpecies; import binnie.botany.api.IColourMix; import binnie.botany.api.IFlower; -import binnie.botany.api.IFlowerColour; +import binnie.botany.api.IFlowerColor; import binnie.botany.api.IFlowerGenome; import binnie.botany.api.IFlowerMutation; import binnie.botany.core.BotanyCore; @@ -24,41 +20,36 @@ import net.minecraft.world.World; import java.util.List; import java.util.Random; -public class Flower extends Individual implements IFlower -{ +public class Flower extends Individual implements IFlower { public IFlowerGenome genome; public IFlowerGenome mate; - int age; - boolean wilting; - boolean flowered; - public Flower(final NBTTagCompound nbttagcompound) { - this.age = 0; - this.wilting = false; - this.readFromNBT(nbttagcompound); + protected int age; + protected boolean wilting; + protected boolean flowered; + + public Flower(NBTTagCompound nbttagcompound) { + age = 0; + wilting = false; + readFromNBT(nbttagcompound); } - public Flower(final IFlowerGenome genome, final int age) { + public Flower(IFlowerGenome genome, int age) { this.age = 0; - this.wilting = false; + wilting = false; this.genome = genome; this.age = age; - if (age > 0) { - this.flowered = true; - } - else { - this.flowered = false; - } + flowered = age > 0; } @Override public String getDisplayName() { - final IAlleleFlowerSpecies species = this.getGenome().getPrimary(); + IAlleleFlowerSpecies species = getGenome().getPrimary(); String name = ""; if (species != null) { name += species.getName(); } - if (this.age == 0) { + if (age == 0) { name += ""; } return name; @@ -82,41 +73,44 @@ public class Flower extends Individual implements IFlower @Override public String getIdent() { - return this.getGenome().getPrimary().getUID(); + return getGenome().getPrimary().getUID(); } @Override - public void readFromNBT(final NBTTagCompound nbttagcompound) { + public void readFromNBT(NBTTagCompound nbttagcompound) { super.readFromNBT(nbttagcompound); if (nbttagcompound == null) { - this.genome = BotanyCore.getFlowerRoot().templateAsGenome(BotanyCore.getFlowerRoot().getDefaultTemplate()); + genome = BotanyCore.getFlowerRoot().templateAsGenome(BotanyCore.getFlowerRoot().getDefaultTemplate()); return; } - this.age = nbttagcompound.getInteger("Age"); - this.wilting = nbttagcompound.getBoolean("Wilt"); - this.flowered = nbttagcompound.getBoolean("Flowered"); + + age = nbttagcompound.getInteger("Age"); + wilting = nbttagcompound.getBoolean("Wilt"); + flowered = nbttagcompound.getBoolean("Flowered"); if (nbttagcompound.hasKey("Genome")) { - this.genome = new FlowerGenome(nbttagcompound.getCompoundTag("Genome")); + genome = new FlowerGenome(nbttagcompound.getCompoundTag("Genome")); } if (nbttagcompound.hasKey("Mate")) { - this.mate = new FlowerGenome(nbttagcompound.getCompoundTag("Mate")); + mate = new FlowerGenome(nbttagcompound.getCompoundTag("Mate")); } } @Override - public void writeToNBT(final NBTTagCompound nbttagcompound) { + public void writeToNBT(NBTTagCompound nbttagcompound) { super.writeToNBT(nbttagcompound); - nbttagcompound.setInteger("Age", this.age); - nbttagcompound.setBoolean("Wilt", this.wilting); - nbttagcompound.setBoolean("Flowered", this.flowered); - if (this.genome != null) { - final NBTTagCompound NBTmachine = new NBTTagCompound(); - this.genome.writeToNBT(NBTmachine); + nbttagcompound.setInteger("Age", age); + nbttagcompound.setBoolean("Wilt", wilting); + nbttagcompound.setBoolean("Flowered", flowered); + + if (genome != null) { + NBTTagCompound NBTmachine = new NBTTagCompound(); + genome.writeToNBT(NBTmachine); nbttagcompound.setTag("Genome", NBTmachine); } - if (this.mate != null) { - final NBTTagCompound NBTmachine = new NBTTagCompound(); - this.mate.writeToNBT(NBTmachine); + + if (mate != null) { + NBTTagCompound NBTmachine = new NBTTagCompound(); + mate.writeToNBT(NBTmachine); nbttagcompound.setTag("Mate", NBTmachine); } } @@ -127,24 +121,24 @@ public class Flower extends Individual implements IFlower @Override public IFlowerGenome getGenome() { - return this.genome; + return genome; } - private IChromosome inheritChromosome(final Random rand, final IChromosome parent1, final IChromosome parent2) { + private IChromosome inheritChromosome(Random rand, IChromosome parent1, IChromosome parent2) { IAllele choice1; if (rand.nextBoolean()) { choice1 = parent1.getPrimaryAllele(); - } - else { + } else { choice1 = parent1.getSecondaryAllele(); } + IAllele choice2; if (rand.nextBoolean()) { choice2 = parent2.getPrimaryAllele(); - } - else { + } else { choice2 = parent2.getSecondaryAllele(); } + if (rand.nextBoolean()) { return new Chromosome(choice1, choice2); } @@ -152,76 +146,74 @@ public class Flower extends Individual implements IFlower } @Override - public void mate(final IFlower other) { - this.mate = new FlowerGenome(other.getGenome().getChromosomes()); + public void mate(IFlower other) { + mate = new FlowerGenome(other.getGenome().getChromosomes()); } @Override public IFlowerGenome getMate() { - return this.mate; + return mate; } @Override public IFlower copy() { - final NBTTagCompound nbttagcompound = new NBTTagCompound(); - this.writeToNBT(nbttagcompound); + NBTTagCompound nbttagcompound = new NBTTagCompound(); + writeToNBT(nbttagcompound); return new Flower(nbttagcompound); } @Override public int getAge() { - return this.age; + return age; + } + + @Override + public void setAge(int age) { + this.age = age; } @Override public void age() { - if (this.age < 15) { - ++this.age; + if (age < 15) { + age++; } } - @Override - public void setAge(final int i) { - this.age = i; - } - @Override public int getMaxAge() { - return this.getGenome().getLifespan(); + return getGenome().getLifespan(); } @Override public boolean isWilted() { - return this.wilting; + return wilting; } @Override - public void setWilted(final boolean wilted) { - this.wilting = wilted; + public void setWilted(boolean value) { + wilting = value; } @Override public boolean hasFlowered() { - return this.flowered; + return flowered; } @Override - public void setFlowered(final boolean flowered) { - this.flowered = flowered; + public void setFlowered(boolean value) { + flowered = value; } @Override public void removeMate() { - this.mate = null; + mate = null; } @Override - public IFlower getOffspring(final World world) { - final IChromosome[] chromosomes = new IChromosome[this.genome.getChromosomes().length]; - IChromosome[] parent1 = this.genome.getChromosomes(); - IChromosome[] parent2 = this.mate.getChromosomes(); - parent1 = this.mutateSpecies(world, this.genome, this.mate); - parent2 = this.mutateSpecies(world, this.mate, this.genome); + public IFlower getOffspring(World world) { + IChromosome[] chromosomes = new IChromosome[genome.getChromosomes().length]; + IChromosome[] parent1 = mutateSpecies(world, genome, mate); + IChromosome[] parent2 = mutateSpecies(world, mate, genome); for (int i = 0; i < parent1.length; ++i) { if (parent1[i] != null && parent2[i] != null) { chromosomes[i] = Chromosome.inheritChromosome(world.rand, parent1[i], parent2[i]); @@ -230,59 +222,64 @@ public class Flower extends Individual implements IFlower return new Flower(new FlowerGenome(chromosomes), 0); } - private IChromosome[] mutateSpecies(final World world, final IFlowerGenome genomeOne, final IFlowerGenome genomeTwo) { + private IChromosome[] mutateSpecies(World world, IFlowerGenome genomeOne, IFlowerGenome genomeTwo) { IChromosome[] parent1 = genomeOne.getChromosomes(); - final IChromosome[] parent2 = genomeTwo.getChromosomes(); + IChromosome[] parent2 = genomeTwo.getChromosomes(); IAllele allele0; IAllele allele2; IFlowerGenome genome0; IFlowerGenome genome2; + if (world.rand.nextBoolean()) { allele0 = parent1[EnumTreeChromosome.SPECIES.ordinal()].getPrimaryAllele(); allele2 = parent2[EnumTreeChromosome.SPECIES.ordinal()].getSecondaryAllele(); genome0 = genomeOne; genome2 = genomeTwo; - } - else { + } else { allele0 = parent2[EnumTreeChromosome.SPECIES.ordinal()].getPrimaryAllele(); allele2 = parent1[EnumTreeChromosome.SPECIES.ordinal()].getSecondaryAllele(); genome0 = genomeTwo; genome2 = genomeOne; } - IFlowerColour colour1 = genome0.getPrimaryColor(); - IFlowerColour colour2 = genome2.getPrimaryColor(); + + IFlowerColor colour1 = genome0.getPrimaryColor(); + IFlowerColor colour2 = genome2.getPrimaryColor(); if (colour1 != colour2) { - for (final IColourMix mutation : BotanyCore.getFlowerRoot().getColourMixes(true)) { + for (IColourMix mutation : BotanyCore.getFlowerRoot().getColourMixes(true)) { if (mutation.isMutation(colour1, colour2) && world.rand.nextFloat() * 100.0f < mutation.getChance()) { parent1[EnumFlowerChromosome.PRIMARY.ordinal()] = new Chromosome(mutation.getResult().getAllele()); } } } + colour1 = genome0.getSecondaryColor(); colour2 = genome2.getSecondaryColor(); if (colour1 != colour2) { - for (final IColourMix mutation : BotanyCore.getFlowerRoot().getColourMixes(true)) { + for (IColourMix mutation : BotanyCore.getFlowerRoot().getColourMixes(true)) { if (mutation.isMutation(colour1, colour2) && world.rand.nextFloat() * 100.0f < mutation.getChance()) { parent1[EnumFlowerChromosome.SECONDARY.ordinal()] = new Chromosome(mutation.getResult().getAllele()); } } } + colour1 = genome0.getStemColor(); colour2 = genome2.getStemColor(); if (colour1 != colour2) { - for (final IColourMix mutation : BotanyCore.getFlowerRoot().getColourMixes(true)) { + for (IColourMix mutation : BotanyCore.getFlowerRoot().getColourMixes(true)) { if (mutation.isMutation(colour1, colour2) && world.rand.nextFloat() * 100.0f < mutation.getChance()) { parent1[EnumFlowerChromosome.STEM.ordinal()] = new Chromosome(mutation.getResult().getAllele()); } } } + IChromosome[] template = null; - for (final IFlowerMutation mutation2 : BotanyCore.getFlowerRoot().getMutations(true)) { - final float chance = mutation2.getChance(allele0, allele2, genome0, genome2); + for (IFlowerMutation mutation2 : BotanyCore.getFlowerRoot().getMutations(true)) { + float chance = mutation2.getChance(allele0, allele2, genome0, genome2); if (chance > 0.0f && world.rand.nextFloat() * 100.0f < chance && template == null) { template = BotanyCore.getFlowerRoot().templateAsChromosomes(mutation2.getTemplate()); } } + if (template != null) { parent1 = template; } diff --git a/src/main/java/binnie/botany/genetics/FlowerGenome.java b/src/main/java/binnie/botany/genetics/FlowerGenome.java index df388bb3..6ddc36ed 100644 --- a/src/main/java/binnie/botany/genetics/FlowerGenome.java +++ b/src/main/java/binnie/botany/genetics/FlowerGenome.java @@ -1,46 +1,40 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; -import forestry.api.core.EnumTemperature; -import binnie.botany.api.EnumMoisture; import binnie.Binnie; import binnie.botany.api.EnumAcidity; -import forestry.api.genetics.IAlleleFloat; -import forestry.api.genetics.IAlleleTolerance; -import forestry.api.genetics.EnumTolerance; -import binnie.botany.api.IFlowerType; -import forestry.api.genetics.IAlleleInteger; -import forestry.api.genetics.IChromosomeType; -import binnie.botany.core.BotanyCore; -import forestry.api.genetics.ISpeciesRoot; import binnie.botany.api.EnumFlowerChromosome; +import binnie.botany.api.EnumMoisture; import binnie.botany.api.IAlleleFlowerSpecies; -import forestry.api.genetics.IChromosome; -import net.minecraft.nbt.NBTTagCompound; import binnie.botany.api.IFlowerGenome; +import binnie.botany.api.IFlowerType; +import binnie.botany.core.BotanyCore; +import forestry.api.core.EnumTemperature; +import forestry.api.genetics.EnumTolerance; +import forestry.api.genetics.IAlleleFloat; +import forestry.api.genetics.IAlleleInteger; +import forestry.api.genetics.IAlleleTolerance; +import forestry.api.genetics.IChromosome; +import forestry.api.genetics.ISpeciesRoot; import forestry.core.genetics.Genome; +import net.minecraft.nbt.NBTTagCompound; -public class FlowerGenome extends Genome implements IFlowerGenome -{ - public FlowerGenome(final NBTTagCompound nbttagcompound) { +public class FlowerGenome extends Genome implements IFlowerGenome { + public FlowerGenome(NBTTagCompound nbttagcompound) { super(nbttagcompound); } - public FlowerGenome(final IChromosome[] chromosomes) { + public FlowerGenome(IChromosome[] chromosomes) { super(chromosomes); } @Override public IAlleleFlowerSpecies getPrimary() { - return (IAlleleFlowerSpecies) this.getChromosomes()[EnumFlowerChromosome.SPECIES.ordinal()].getPrimaryAllele(); + return (IAlleleFlowerSpecies) getChromosomes()[EnumFlowerChromosome.SPECIES.ordinal()].getPrimaryAllele(); } @Override public IAlleleFlowerSpecies getSecondary() { - return (IAlleleFlowerSpecies) this.getChromosomes()[EnumFlowerChromosome.SPECIES.ordinal()].getSecondaryAllele(); + return (IAlleleFlowerSpecies) getChromosomes()[EnumFlowerChromosome.SPECIES.ordinal()].getSecondaryAllele(); } @Override @@ -50,85 +44,87 @@ public class FlowerGenome extends Genome implements IFlowerGenome @Override public EnumFlowerColor getPrimaryColor() { - return ((AlleleColor) this.getActiveAllele(EnumFlowerChromosome.PRIMARY)).getColor(); + return ((AlleleColor) getActiveAllele(EnumFlowerChromosome.PRIMARY)).getColor(); } @Override public EnumFlowerColor getSecondaryColor() { - return ((AlleleColor) this.getActiveAllele(EnumFlowerChromosome.SECONDARY)).getColor(); + return ((AlleleColor) getActiveAllele(EnumFlowerChromosome.SECONDARY)).getColor(); } @Override public EnumFlowerColor getStemColor() { - return ((AlleleColor) this.getActiveAllele(EnumFlowerChromosome.STEM)).getColor(); + return ((AlleleColor) getActiveAllele(EnumFlowerChromosome.STEM)).getColor(); } @Override public int getFertility() { - return ((IAlleleInteger) this.getActiveAllele(EnumFlowerChromosome.FERTILITY)).getValue(); + return ((IAlleleInteger) getActiveAllele(EnumFlowerChromosome.FERTILITY)).getValue(); } @Override public int getLifespan() { - return ((IAlleleInteger) this.getActiveAllele(EnumFlowerChromosome.LIFESPAN)).getValue() / 5; + return ((IAlleleInteger) getActiveAllele(EnumFlowerChromosome.LIFESPAN)).getValue() / 5; } @Override public IFlowerType getType() { - return this.getPrimary().getType(); + return getPrimary().getType(); } @Override public EnumTolerance getToleranceTemperature() { - return ((IAlleleTolerance) this.getActiveAllele(EnumFlowerChromosome.TEMPERATURE_TOLERANCE)).getValue(); + return ((IAlleleTolerance) getActiveAllele(EnumFlowerChromosome.TEMPERATURE_TOLERANCE)).getValue(); } @Override public EnumTolerance getToleranceMoisture() { - return ((IAlleleTolerance) this.getActiveAllele(EnumFlowerChromosome.HUMIDITY_TOLERANCE)).getValue(); + return ((IAlleleTolerance) getActiveAllele(EnumFlowerChromosome.HUMIDITY_TOLERANCE)).getValue(); } @Override public EnumTolerance getTolerancePH() { - return ((IAlleleTolerance) this.getActiveAllele(EnumFlowerChromosome.PH_TOLERANCE)).getValue(); + return ((IAlleleTolerance) getActiveAllele(EnumFlowerChromosome.PH_TOLERANCE)).getValue(); } @Override - public void readFromNBT(final NBTTagCompound nbttagcompound) { + public void readFromNBT(NBTTagCompound nbttagcompound) { super.readFromNBT(nbttagcompound); } @Override public float getAgeChance() { - return 1.0f * (float) Math.sqrt(2.0f / this.getLifespan()); + return 1.0f * (float) Math.sqrt(2.0f / getLifespan()); } @Override public float getSappiness() { - return ((IAlleleFloat) this.getActiveAllele(EnumFlowerChromosome.SAPPINESS)).getValue(); + return ((IAlleleFloat) getActiveAllele(EnumFlowerChromosome.SAPPINESS)).getValue(); } @Override - public boolean canTolerate(final EnumAcidity ePH) { - final int pH = ePH.ordinal(); - final int[] pHTol = Binnie.Genetics.getTolerance(this.getTolerancePH()); - final int fPH = this.getPrimary().getPH().ordinal(); + public boolean canTolerate(EnumAcidity ePH) { + int pH = ePH.ordinal(); + int[] pHTol = Binnie.Genetics.getTolerance(getTolerancePH()); + int fPH = getPrimary().getPH().ordinal(); return pH >= fPH + pHTol[0] && pH <= fPH + pHTol[1]; } @Override - public boolean canTolerate(final EnumMoisture eMoisture) { - final int moisture = eMoisture.ordinal(); - final int[] moistTol = Binnie.Genetics.getTolerance(this.getToleranceMoisture()); - final int fMoisture = this.getPrimary().getMoisture().ordinal(); - return moisture >= fMoisture + moistTol[0] && moisture <= fMoisture + moistTol[1]; + public boolean canTolerate(EnumMoisture eMoisture) { + int moisture = eMoisture.ordinal(); + int[] moistTol = Binnie.Genetics.getTolerance(getToleranceMoisture()); + int fMoisture = getPrimary().getMoisture().ordinal(); + return moisture >= fMoisture + moistTol[0] + && moisture <= fMoisture + moistTol[1]; } @Override - public boolean canTolerate(final EnumTemperature eTemp) { - final int temp = eTemp.ordinal(); - final int[] tempTol = Binnie.Genetics.getTolerance(this.getToleranceTemperature()); - final int fTemp = this.getPrimary().getTemperature().ordinal(); - return temp >= fTemp + tempTol[0] && temp <= fTemp + tempTol[1]; + public boolean canTolerate(EnumTemperature eTemp) { + int temp = eTemp.ordinal(); + int[] tempTol = Binnie.Genetics.getTolerance(getToleranceTemperature()); + int fTemp = getPrimary().getTemperature().ordinal(); + return temp >= fTemp + tempTol[0] + && temp <= fTemp + tempTol[1]; } } diff --git a/src/main/java/binnie/botany/genetics/FlowerHelper.java b/src/main/java/binnie/botany/genetics/FlowerHelper.java index c42219b9..e180d394 100644 --- a/src/main/java/binnie/botany/genetics/FlowerHelper.java +++ b/src/main/java/binnie/botany/genetics/FlowerHelper.java @@ -1,80 +1,62 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; -import forestry.api.genetics.ISpeciesType; -import binnie.botany.api.EnumFlowerChromosome; -import forestry.api.genetics.IChromosomeType; - -import net.minecraft.world.WorldSavedData; - -import binnie.botany.api.IBotanistTracker; - -import com.mojang.authlib.GameProfile; - -import forestry.api.genetics.IMutation; - -import java.util.Collections; -import java.util.Collection; -import java.util.Random; - -import binnie.botany.api.IFlowerGenome; - -import net.minecraft.world.World; -import net.minecraft.item.Item; -import net.minecraft.nbt.NBTTagCompound; - import binnie.botany.Botany; -import forestry.api.genetics.IIndividual; +import binnie.botany.api.EnumFlowerChromosome; import binnie.botany.api.EnumFlowerStage; - import binnie.botany.api.IAlleleFlowerSpecies; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.AlleleManager; - -import java.util.HashMap; - +import binnie.botany.api.IBotanistTracker; import binnie.botany.api.IColourMix; - -import net.minecraft.item.ItemStack; - -import java.util.Map; - -import binnie.botany.api.IFlowerMutation; import binnie.botany.api.IFlower; +import binnie.botany.api.IFlowerGenome; +import binnie.botany.api.IFlowerMutation; +import binnie.botany.api.IFlowerRoot; +import com.mojang.authlib.GameProfile; +import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IChromosomeType; +import forestry.api.genetics.IIndividual; +import forestry.api.genetics.IMutation; +import forestry.api.genetics.ISpeciesType; +import forestry.core.genetics.SpeciesRoot; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Random; -import binnie.botany.api.IFlowerRoot; -import forestry.core.genetics.SpeciesRoot; +public class FlowerHelper extends SpeciesRoot implements IFlowerRoot { + public static int flowerSpeciesCount = -1; + public static ArrayList flowerTemplates = new ArrayList<>(); -public class FlowerHelper extends SpeciesRoot implements IFlowerRoot -{ - public static int flowerSpeciesCount; - static final String UID = "rootFlowers"; - public static ArrayList flowerTemplates; - private static ArrayList flowerMutations; - Map conversions; - private static ArrayList colourMixes; + protected static String UID = "rootFlowers"; + + private static ArrayList flowerMutations = new ArrayList<>(); + private static ArrayList colourMixes = new ArrayList<>(); + + protected Map conversions; public FlowerHelper() { - this.conversions = new HashMap(); + conversions = new HashMap<>(); } @Override public String getUID() { - return "rootFlowers"; + return UID; } @Override public int getSpeciesCount() { if (FlowerHelper.flowerSpeciesCount < 0) { FlowerHelper.flowerSpeciesCount = 0; - for (final Map.Entry entry : AlleleManager.alleleRegistry.getRegisteredAlleles().entrySet()) { + for (Map.Entry entry : AlleleManager.alleleRegistry.getRegisteredAlleles().entrySet()) { if (entry.getValue() instanceof IAlleleFlowerSpecies && ((IAlleleFlowerSpecies) entry.getValue()).isCounted()) { - ++FlowerHelper.flowerSpeciesCount; + FlowerHelper.flowerSpeciesCount++; } } } @@ -82,78 +64,95 @@ public class FlowerHelper extends SpeciesRoot implements IFlowerRoot } @Override - public boolean isMember(final ItemStack stack) { - return stack != null && this.getStageType(stack) != EnumFlowerStage.NONE; + public boolean isMember(ItemStack stack) { + return stack != null + && getStageType(stack) != EnumFlowerStage.NONE; } @Override - public boolean isMember(final ItemStack stack, final int type) { - return this.getStageType(stack).ordinal() == type; + public boolean isMember(ItemStack stack, int type) { + return getStageType(stack).ordinal() == type; } @Override - public boolean isMember(final IIndividual individual) { + public boolean isMember(IIndividual individual) { return individual instanceof IFlower; } @Override - public ItemStack getMemberStack(final IIndividual flower, final int type) { - if (!this.isMember(flower)) { + public ItemStack getMemberStack(IIndividual flower, int type) { + if (!isMember(flower)) { return null; } + Item flowerItem = Botany.flowerItem; if (type == EnumFlowerStage.SEED.ordinal()) { flowerItem = Botany.seed; } + if (type == EnumFlowerStage.POLLEN.ordinal()) { flowerItem = Botany.pollen; } + if (flowerItem != Botany.flowerItem) { ((IFlower) flower).setAge(0); } - final NBTTagCompound nbttagcompound = new NBTTagCompound(); + + NBTTagCompound nbttagcompound = new NBTTagCompound(); flower.writeToNBT(nbttagcompound); - final ItemStack flowerStack = new ItemStack(flowerItem); + ItemStack flowerStack = new ItemStack(flowerItem); flowerStack.setTagCompound(nbttagcompound); return flowerStack; } @Override - public EnumFlowerStage getStageType(final ItemStack stack) { - return (stack == null) ? EnumFlowerStage.NONE : ((stack.getItem() == Botany.flowerItem) ? EnumFlowerStage.FLOWER : ((stack.getItem() == Botany.pollen) ? EnumFlowerStage.POLLEN : ((stack.getItem() == Botany.seed) ? EnumFlowerStage.SEED : EnumFlowerStage.NONE))); + public EnumFlowerStage getStageType(ItemStack stack) { + if (stack == null) { + return EnumFlowerStage.NONE; + } + if (stack.getItem() == Botany.flowerItem) { + return EnumFlowerStage.FLOWER; + } + if (stack.getItem() == Botany.pollen) { + return EnumFlowerStage.POLLEN; + } + if (stack.getItem() == Botany.seed) { + return EnumFlowerStage.SEED; + } + return EnumFlowerStage.NONE; } @Override - public IFlower getMember(final ItemStack stack) { - if (!this.isMember(stack)) { + public IFlower getMember(ItemStack stack) { + if (!isMember(stack)) { return null; } return new Flower(stack.getTagCompound()); } @Override - public IFlower getFlower(final World world, final IFlowerGenome genome) { + public IFlower getFlower(World world, IFlowerGenome genome) { return new Flower(genome, 2); } @Override - public IFlowerGenome templateAsGenome(final IAllele[] template) { - return new FlowerGenome(this.templateAsChromosomes(template)); + public IFlowerGenome templateAsGenome(IAllele[] template) { + return new FlowerGenome(templateAsChromosomes(template)); } @Override - public IFlowerGenome templateAsGenome(final IAllele[] templateActive, final IAllele[] templateInactive) { - return new FlowerGenome(this.templateAsChromosomes(templateActive, templateInactive)); + public IFlowerGenome templateAsGenome(IAllele[] templateActive, IAllele[] templateInactive) { + return new FlowerGenome(templateAsChromosomes(templateActive, templateInactive)); } @Override - public IFlower templateAsIndividual(final IAllele[] template) { - return new Flower(this.templateAsGenome(template), 2); + public IFlower templateAsIndividual(IAllele[] template) { + return new Flower(templateAsGenome(template), 2); } @Override - public IFlower templateAsIndividual(final IAllele[] templateActive, final IAllele[] templateInactive) { - return new Flower(this.templateAsGenome(templateActive, templateInactive), 2); + public IFlower templateAsIndividual(IAllele[] templateActive, IAllele[] templateInactive) { + return new Flower(templateAsGenome(templateActive, templateInactive), 2); } @Override @@ -162,21 +161,21 @@ public class FlowerHelper extends SpeciesRoot implements IFlowerRoot } @Override - public void registerTemplate(final IAllele[] template) { - this.registerTemplate(template[0].getUID(), template); + public void registerTemplate(IAllele[] template) { + registerTemplate(template[0].getUID(), template); } @Override - public void registerTemplate(final String identifier, final IAllele[] template) { - FlowerHelper.flowerTemplates.add(new Flower(this.templateAsGenome(template), 2)); - if (!this.speciesTemplates.containsKey(identifier)) { - this.speciesTemplates.put(identifier, template); + public void registerTemplate(String identifier, IAllele[] template) { + FlowerHelper.flowerTemplates.add(new Flower(templateAsGenome(template), 2)); + if (!speciesTemplates.containsKey(identifier)) { + speciesTemplates.put(identifier, template); } } @Override - public IAllele[] getTemplate(final String identifier) { - return this.speciesTemplates.get(identifier); + public IAllele[] getTemplate(String identifier) { + return speciesTemplates.get(identifier); } @Override @@ -185,12 +184,12 @@ public class FlowerHelper extends SpeciesRoot implements IFlowerRoot } @Override - public IAllele[] getRandomTemplate(final Random rand) { - return this.speciesTemplates.values().toArray(new IAllele[0][])[rand.nextInt(this.speciesTemplates.values().size())]; + public IAllele[] getRandomTemplate(Random rand) { + return speciesTemplates.values().toArray(new IAllele[0][])[rand.nextInt(speciesTemplates.values().size())]; } @Override - public Collection getMutations(final boolean shuffle) { + public Collection getMutations(boolean shuffle) { if (shuffle) { Collections.shuffle(FlowerHelper.flowerMutations); } @@ -198,22 +197,18 @@ public class FlowerHelper extends SpeciesRoot implements IFlowerRoot } @Override - public void registerMutation(final IMutation mutation) { - if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getTemplate()[0].getUID())) { - return; - } - if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele0().getUID())) { - return; - } - if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele1().getUID())) { + public void registerMutation(IMutation mutation) { + if (AlleleManager.alleleRegistry.isBlacklisted(mutation.getTemplate()[0].getUID()) || + AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele0().getUID()) || + AlleleManager.alleleRegistry.isBlacklisted(mutation.getAllele1().getUID())) { return; } FlowerHelper.flowerMutations.add((IFlowerMutation) mutation); } @Override - public IBotanistTracker getBreedingTracker(final World world, final GameProfile player) { - final String filename = "BotanistTracker." + ((player == null) ? "common" : player.getId()); + public IBotanistTracker getBreedingTracker(World world, GameProfile player) { + String filename = "BotanistTracker." + ((player == null) ? "common" : player.getId()); BotanistTracker tracker = (BotanistTracker) world.loadItemData(BotanistTracker.class, filename); if (tracker == null) { tracker = new BotanistTracker(filename); @@ -223,7 +218,7 @@ public class FlowerHelper extends SpeciesRoot implements IFlowerRoot } @Override - public IIndividual getMember(final NBTTagCompound compound) { + public IIndividual getMember(NBTTagCompound compound) { return new Flower(compound); } @@ -243,15 +238,15 @@ public class FlowerHelper extends SpeciesRoot implements IFlowerRoot } @Override - public void addConversion(final ItemStack itemstack, final IAllele[] template) { - final IFlower flower = this.getFlower(null, this.templateAsGenome(template)); - this.conversions.put(itemstack, flower); + public void addConversion(ItemStack stack, IAllele[] template) { + IFlower flower = getFlower(null, templateAsGenome(template)); + conversions.put(stack, flower); } @Override - public IFlower getConversion(final ItemStack itemstack) { - for (final Map.Entry entry : this.conversions.entrySet()) { - if (entry.getKey().isItemEqual(itemstack)) { + public IFlower getConversion(ItemStack stack) { + for (Map.Entry entry : conversions.entrySet()) { + if (entry.getKey().isItemEqual(stack)) { return (IFlower) entry.getValue().copy(); } } @@ -259,28 +254,21 @@ public class FlowerHelper extends SpeciesRoot implements IFlowerRoot } @Override - public void registerColourMix(final IColourMix colourMix) { - FlowerHelper.colourMixes.add(colourMix); + public void registerColourMix(IColourMix colorMix) { + FlowerHelper.colourMixes.add(colorMix); } @Override - public Collection getColourMixes(final boolean shuffle) { + public Collection getColourMixes(boolean shuffle) { if (shuffle) { Collections.shuffle(FlowerHelper.colourMixes); } return FlowerHelper.colourMixes; } - static { - FlowerHelper.flowerSpeciesCount = -1; - FlowerHelper.flowerTemplates = new ArrayList(); - FlowerHelper.flowerMutations = new ArrayList(); - FlowerHelper.colourMixes = new ArrayList(); - } - // ?? @Override - public ISpeciesType getType(ItemStack itemstack) { + public ISpeciesType getType(ItemStack stack) { return null; } } diff --git a/src/main/java/binnie/botany/genetics/FlowerMutation.java b/src/main/java/binnie/botany/genetics/FlowerMutation.java index 203e5ad8..6cfbef27 100644 --- a/src/main/java/binnie/botany/genetics/FlowerMutation.java +++ b/src/main/java/binnie/botany/genetics/FlowerMutation.java @@ -1,27 +1,22 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; +import binnie.botany.api.IAlleleFlowerSpecies; +import binnie.botany.api.IFlowerMutation; +import binnie.botany.core.BotanyCore; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IGenome; +import forestry.api.genetics.ISpeciesRoot; + import java.util.ArrayList; import java.util.Collection; -import binnie.botany.core.BotanyCore; -import forestry.api.genetics.ISpeciesRoot; -import forestry.api.genetics.IGenome; -import forestry.api.genetics.IAllele; -import binnie.botany.api.IAlleleFlowerSpecies; -import binnie.botany.api.IFlowerMutation; +public class FlowerMutation implements IFlowerMutation { + protected IAlleleFlowerSpecies allele0; + protected IAlleleFlowerSpecies allele1; + protected IAllele[] template; + protected int chance; -public class FlowerMutation implements IFlowerMutation -{ - IAlleleFlowerSpecies allele0; - IAlleleFlowerSpecies allele1; - IAllele[] template; - int chance; - - FlowerMutation(final IAlleleFlowerSpecies allele0, final IAlleleFlowerSpecies allele1, final IAllele[] template, final int chance) { + FlowerMutation(IAlleleFlowerSpecies allele0, IAlleleFlowerSpecies allele1, IAllele[] template, int chance) { this.allele0 = allele0; this.allele1 = allele1; this.template = template; @@ -30,32 +25,33 @@ public class FlowerMutation implements IFlowerMutation @Override public IAlleleFlowerSpecies getAllele0() { - return this.allele0; + return allele0; } @Override public IAlleleFlowerSpecies getAllele1() { - return this.allele1; + return allele1; } @Override public IAllele[] getTemplate() { - return this.template; + return template; } @Override public float getBaseChance() { - return this.chance; + return chance; } @Override - public boolean isPartner(final IAllele allele) { - return allele.getUID().equals(this.allele0.getUID()) || allele.getUID().equals(this.allele1.getUID()); + public boolean isPartner(IAllele allele) { + return allele.getUID().equals(allele0.getUID()) + || allele.getUID().equals(allele1.getUID()); } @Override - public IAllele getPartner(final IAllele allele) { - return allele.getUID().equals(this.allele0.getUID()) ? this.allele1 : this.allele0; + public IAllele getPartner(IAllele allele) { + return allele.getUID().equals(allele0.getUID()) ? allele1 : allele0; } @Override @@ -64,15 +60,15 @@ public class FlowerMutation implements IFlowerMutation } @Override - public float getChance(final IAllele allele0, final IAllele allele1, final IGenome genome0, final IGenome genome1) { + public float getChance(IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) { if (allele0 == null || allele1 == null) { return 0.0f; } if (this.allele0.getUID().equals(allele0.getUID()) && this.allele1.getUID().equals(allele1.getUID())) { - return this.getBaseChance(); + return getBaseChance(); } if (this.allele1.getUID().equals(allele0.getUID()) && this.allele0.getUID().equals(allele1.getUID())) { - return this.getBaseChance(); + return getBaseChance(); } return 0.0f; } @@ -84,6 +80,6 @@ public class FlowerMutation implements IFlowerMutation @Override public Collection getSpecialConditions() { - return new ArrayList(); + return new ArrayList<>(); } } diff --git a/src/main/java/binnie/botany/genetics/FlowerSpecies.java b/src/main/java/binnie/botany/genetics/FlowerSpecies.java index 300f580c..eed82cb0 100644 --- a/src/main/java/binnie/botany/genetics/FlowerSpecies.java +++ b/src/main/java/binnie/botany/genetics/FlowerSpecies.java @@ -1,40 +1,33 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; -import forestry.api.genetics.IIndividual; +import binnie.Binnie; +import binnie.botany.api.EnumAcidity; +import binnie.botany.api.EnumFlowerChromosome; +import binnie.botany.api.EnumMoisture; +import binnie.botany.api.IAlleleFlowerSpecies; +import binnie.botany.api.IFlowerType; +import binnie.botany.core.BotanyCore; +import binnie.core.genetics.ForestryAllele; import com.mojang.authlib.GameProfile; -import net.minecraft.world.World; -import forestry.api.genetics.ISpeciesRoot; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import forestry.api.core.IIconProvider; -import binnie.Binnie; import forestry.api.core.EnumHumidity; -import binnie.botany.api.EnumFlowerChromosome; -import java.util.ArrayList; -import forestry.api.genetics.IMutation; -import forestry.api.genetics.IAlleleSpecies; -import forestry.api.genetics.AlleleManager; -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import net.minecraft.init.Blocks; -import binnie.botany.core.BotanyCore; -import forestry.api.genetics.IClassification; -import forestry.api.genetics.IAllele; -import java.util.List; -import forestry.api.genetics.EnumTolerance; -import binnie.botany.api.EnumMoisture; -import binnie.botany.api.EnumAcidity; import forestry.api.core.EnumTemperature; -import binnie.botany.api.IFlowerType; -import binnie.core.genetics.ForestryAllele; -import binnie.botany.api.IAlleleFlowerSpecies; +import forestry.api.core.IIconProvider; +import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.EnumTolerance; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IClassification; +import forestry.api.genetics.IIndividual; +import forestry.api.genetics.ISpeciesRoot; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; -public enum FlowerSpecies implements IAlleleFlowerSpecies -{ +import java.util.ArrayList; +import java.util.List; + +public enum FlowerSpecies implements IAlleleFlowerSpecies { Dandelion("Dandelion", "taraxacum", "officinale", EnumFlowerType.Dandelion, EnumFlowerColor.Yellow), Poppy("Poppy", "papaver", "rhoeas", EnumFlowerType.Poppy, EnumFlowerColor.Red), Orchid("Orchid", "vanda", "coerulea", EnumFlowerType.Orchid, EnumFlowerColor.DeepSkyBlue), @@ -83,24 +76,45 @@ public enum FlowerSpecies implements IAlleleFlowerSpecies Delphinium("Delphinium", "delphinium", "staphisagria", EnumFlowerType.Delphinium, EnumFlowerColor.DarkSlateBlue), Hollyhock("Hollyhock", "Alcea", "rosea", EnumFlowerType.Hollyhock, EnumFlowerColor.Black, EnumFlowerColor.Gold); - EnumFlowerColor stemColor; - ForestryAllele.Fertility fert; - ForestryAllele.Lifespan life; - ForestryAllele.Sappiness sap; - IFlowerType type; - String name; - String binomial; - String branchName; - EnumFlowerColor primaryColor; - EnumFlowerColor secondaryColor; - EnumTemperature temperature; - EnumAcidity pH; - EnumMoisture moisture; - EnumTolerance tempTolerance; - EnumTolerance pHTolerance; - EnumTolerance moistureTolerance; - List variantTemplates; - IClassification branch; + protected EnumFlowerColor stemColor; + protected ForestryAllele.Fertility fert; + protected ForestryAllele.Lifespan life; + protected ForestryAllele.Sappiness sap; + protected IFlowerType type; + protected String name; + protected String binomial; + protected String branchName; + protected EnumFlowerColor primaryColor; + protected EnumFlowerColor secondaryColor; + protected EnumTemperature temperature; + protected EnumAcidity pH; + protected EnumMoisture moisture; + protected EnumTolerance tempTolerance; + protected EnumTolerance pHTolerance; + protected EnumTolerance moistureTolerance; + protected List variantTemplates; + protected IClassification branch; + + FlowerSpecies(String name, String branch, String binomial, IFlowerType type, EnumFlowerColor colour) { + this(name, branch, binomial, type, colour, colour); + } + + FlowerSpecies(String name, String branch, String binomial, IFlowerType type, EnumFlowerColor primaryColor, EnumFlowerColor secondaryColor) { + stemColor = EnumFlowerColor.Green; + temperature = EnumTemperature.NORMAL; + pH = EnumAcidity.Neutral; + moisture = EnumMoisture.Normal; + tempTolerance = EnumTolerance.BOTH_1; + pHTolerance = EnumTolerance.NONE; + moistureTolerance = EnumTolerance.NONE; + variantTemplates = new ArrayList<>(); + this.name = name; + this.binomial = binomial; + branchName = branch; + this.type = type; + this.primaryColor = primaryColor; + this.secondaryColor = secondaryColor; + } public static void setupVariants() { FlowerSpecies.Dandelion.setTraits(ForestryAllele.Fertility.High, ForestryAllele.Lifespan.Shortened, ForestryAllele.Sappiness.Lower); @@ -343,86 +357,71 @@ public enum FlowerSpecies implements IAlleleFlowerSpecies BotanyCore.getFlowerRoot().addConversion(new ItemStack(Blocks.red_flower, 1, 6), FlowerSpecies.Tulip.AddVariant(EnumFlowerColor.White)); BotanyCore.getFlowerRoot().addConversion(new ItemStack(Blocks.red_flower, 1, 4), FlowerSpecies.Tulip.AddVariant(EnumFlowerColor.Crimson)); BotanyCore.getFlowerRoot().addConversion(new ItemStack(Blocks.red_flower, 1, 5), FlowerSpecies.Tulip.AddVariant(EnumFlowerColor.DarkOrange)); - for (final FlowerSpecies species : values()) { - final String scientific = species.branchName.substring(0, 1).toUpperCase() + species.branchName.substring(1).toLowerCase(); - final String uid = "flowers." + species.branchName.toLowerCase(); + + for (FlowerSpecies species : values()) { + String scientific = species.branchName.substring(0, 1).toUpperCase() + species.branchName.substring(1).toLowerCase(); + String uid = "flowers." + species.branchName.toLowerCase(); IClassification branch = AlleleManager.alleleRegistry.getClassification("genus." + uid); if (branch == null) { branch = AlleleManager.alleleRegistry.createAndRegisterClassification(IClassification.EnumClassLevel.GENUS, uid, scientific); } - (species.branch = branch).addMemberSpecies(species); + + species.branch = branch; + branch.addMemberSpecies(species); } } - private void setStemColor(final EnumFlowerColor green) { - this.stemColor = green; + public static void init() { } - private void setTraits(final ForestryAllele.Fertility high, final ForestryAllele.Lifespan shortened, final ForestryAllele.Sappiness lower) { - this.fert = high; - this.life = shortened; - this.sap = lower; + private void setStemColor(EnumFlowerColor green) { + stemColor = green; } - private void setMutation(final FlowerSpecies dandelion2, final FlowerSpecies tulip2, final int i) { - BotanyCore.getFlowerRoot().registerMutation(new FlowerMutation(dandelion2, tulip2, this.getTemplate(), i)); + private void setTraits(ForestryAllele.Fertility high, ForestryAllele.Lifespan shortened, ForestryAllele.Sappiness lower) { + fert = high; + life = shortened; + sap = lower; } - private FlowerSpecies(final String name, final String branch, final String binomial, final IFlowerType type, final EnumFlowerColor colour) { - this(name, branch, binomial, type, colour, colour); + private void setMutation(FlowerSpecies dandelion2, FlowerSpecies tulip2, int i) { + BotanyCore.getFlowerRoot().registerMutation(new FlowerMutation(dandelion2, tulip2, getTemplate(), i)); } - private FlowerSpecies(final String name, final String branch, final String binomial, final IFlowerType type, final EnumFlowerColor primaryColor, final EnumFlowerColor secondaryColor) { - this.stemColor = EnumFlowerColor.Green; - this.temperature = EnumTemperature.NORMAL; - this.pH = EnumAcidity.Neutral; - this.moisture = EnumMoisture.Normal; - this.tempTolerance = EnumTolerance.BOTH_1; - this.pHTolerance = EnumTolerance.NONE; - this.moistureTolerance = EnumTolerance.NONE; - this.variantTemplates = new ArrayList(); - this.name = name; - this.binomial = binomial; - this.branchName = branch; - this.type = type; - this.primaryColor = primaryColor; - this.secondaryColor = secondaryColor; - } - - private IAllele[] AddVariant(final EnumFlowerColor a, final EnumFlowerColor b) { - final IAllele[] template = this.getTemplate(); + private IAllele[] AddVariant(EnumFlowerColor a, EnumFlowerColor b) { + IAllele[] template = getTemplate(); template[EnumFlowerChromosome.PRIMARY.ordinal()] = a.getAllele(); template[EnumFlowerChromosome.SECONDARY.ordinal()] = b.getAllele(); - this.variantTemplates.add(template); + variantTemplates.add(template); return template; } - private void setTemperature(final EnumTemperature temperature, final EnumTolerance tolerance) { + private void setTemperature(EnumTemperature temperature, EnumTolerance tolerance) { this.temperature = temperature; - this.tempTolerance = tolerance; + tempTolerance = tolerance; } - private void setPH(final EnumAcidity temperature, final EnumTolerance tolerance) { - this.pH = temperature; - this.pHTolerance = tolerance; + private void setPH(EnumAcidity temperature, EnumTolerance tolerance) { + pH = temperature; + pHTolerance = tolerance; } - private void setMoisture(final EnumMoisture temperature, final EnumTolerance tolerance) { - this.moisture = temperature; - this.moistureTolerance = tolerance; + private void setMoisture(EnumMoisture temperature, EnumTolerance tolerance) { + moisture = temperature; + moistureTolerance = tolerance; } - private IAllele[] AddVariant(final EnumFlowerColor a) { - return this.AddVariant(a, a); + private IAllele[] AddVariant(EnumFlowerColor a) { + return AddVariant(a, a); } public List getVariants() { - return this.variantTemplates; + return variantTemplates; } @Override public String getName() { - return this.name; + return name; } @Override @@ -432,22 +431,22 @@ public enum FlowerSpecies implements IAlleleFlowerSpecies @Override public EnumTemperature getTemperature() { - return this.temperature; + return temperature; } @Override public EnumHumidity getHumidity() { - return EnumHumidity.values()[this.getMoisture().ordinal()]; + return EnumHumidity.values()[getMoisture().ordinal()]; } @Override public EnumAcidity getPH() { - return this.pH; + return pH; } @Override public EnumMoisture getMoisture() { - return this.moisture; + return moisture; } @Override @@ -467,7 +466,7 @@ public enum FlowerSpecies implements IAlleleFlowerSpecies @Override public String getBinomial() { - return this.binomial; + return binomial; } @Override @@ -475,18 +474,18 @@ public enum FlowerSpecies implements IAlleleFlowerSpecies return "Binnie"; } - public void setBranch(final IClassification branch) { + @Override + public IClassification getBranch() { + return branch; + } + + public void setBranch(IClassification branch) { this.branch = branch; } - @Override - public IClassification getBranch() { - return this.branch; - } - @Override public String getUID() { - return "botany.flowers.species." + this.toString().toLowerCase(); + return "botany.flowers.species." + toString().toLowerCase(); } @Override @@ -495,17 +494,17 @@ public enum FlowerSpecies implements IAlleleFlowerSpecies } public IAllele[] getTemplate() { - final IAllele[] template = FlowerTemplates.getDefaultTemplate(); + IAllele[] template = FlowerTemplates.getDefaultTemplate(); template[0] = this; - template[EnumFlowerChromosome.PRIMARY.ordinal()] = this.primaryColor.getAllele(); - template[EnumFlowerChromosome.SECONDARY.ordinal()] = this.secondaryColor.getAllele(); - template[EnumFlowerChromosome.TEMPERATURE_TOLERANCE.ordinal()] = Binnie.Genetics.getToleranceAllele(this.tempTolerance); - template[EnumFlowerChromosome.PH_TOLERANCE.ordinal()] = Binnie.Genetics.getToleranceAllele(this.pHTolerance); - template[EnumFlowerChromosome.HUMIDITY_TOLERANCE.ordinal()] = Binnie.Genetics.getToleranceAllele(this.moistureTolerance); - template[EnumFlowerChromosome.FERTILITY.ordinal()] = this.fert.getAllele(); - template[EnumFlowerChromosome.LIFESPAN.ordinal()] = this.life.getAllele(); - template[EnumFlowerChromosome.SAPPINESS.ordinal()] = this.sap.getAllele(); - template[EnumFlowerChromosome.STEM.ordinal()] = this.stemColor.getAllele(); + template[EnumFlowerChromosome.PRIMARY.ordinal()] = primaryColor.getAllele(); + template[EnumFlowerChromosome.SECONDARY.ordinal()] = secondaryColor.getAllele(); + template[EnumFlowerChromosome.TEMPERATURE_TOLERANCE.ordinal()] = Binnie.Genetics.getToleranceAllele(tempTolerance); + template[EnumFlowerChromosome.PH_TOLERANCE.ordinal()] = Binnie.Genetics.getToleranceAllele(pHTolerance); + template[EnumFlowerChromosome.HUMIDITY_TOLERANCE.ordinal()] = Binnie.Genetics.getToleranceAllele(moistureTolerance); + template[EnumFlowerChromosome.FERTILITY.ordinal()] = fert.getAllele(); + template[EnumFlowerChromosome.LIFESPAN.ordinal()] = life.getAllele(); + template[EnumFlowerChromosome.SAPPINESS.ordinal()] = sap.getAllele(); + template[EnumFlowerChromosome.STEM.ordinal()] = stemColor.getAllele(); return template; } @@ -521,7 +520,7 @@ public enum FlowerSpecies implements IAlleleFlowerSpecies } @Override - public int getIconColour(final int renderPass) { + public int getIconColour(int renderPass) { return 0; } @@ -531,25 +530,22 @@ public enum FlowerSpecies implements IAlleleFlowerSpecies } @Override - public float getResearchSuitability(final ItemStack itemstack) { + public float getResearchSuitability(ItemStack itemstack) { return 0.0f; } @Override - public ItemStack[] getResearchBounty(final World world, final GameProfile researcher, final IIndividual individual, final int bountyLevel) { + public ItemStack[] getResearchBounty(World world, GameProfile researcher, IIndividual individual, int bountyLevel) { return null; } - public static void init() { - } - @Override public IFlowerType getType() { - return this.type; + return type; } @Override public String getUnlocalizedName() { - return this.getUID(); + return getUID(); } } diff --git a/src/main/java/binnie/botany/genetics/FlowerTemplates.java b/src/main/java/binnie/botany/genetics/FlowerTemplates.java index e1644826..c59388cf 100644 --- a/src/main/java/binnie/botany/genetics/FlowerTemplates.java +++ b/src/main/java/binnie/botany/genetics/FlowerTemplates.java @@ -1,17 +1,12 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; -import forestry.api.genetics.AlleleManager; import binnie.botany.api.EnumFlowerChromosome; +import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAllele; -public class FlowerTemplates -{ +public class FlowerTemplates { public static IAllele[] getDefaultTemplate() { - final IAllele[] alleles = new IAllele[EnumFlowerChromosome.values().length]; + IAllele[] alleles = new IAllele[EnumFlowerChromosome.values().length]; alleles[EnumFlowerChromosome.SPECIES.ordinal()] = FlowerSpecies.Poppy; alleles[EnumFlowerChromosome.PRIMARY.ordinal()] = EnumFlowerColor.Red.getAllele(); alleles[EnumFlowerChromosome.SECONDARY.ordinal()] = EnumFlowerColor.Red.getAllele(); diff --git a/src/main/java/binnie/botany/genetics/ItemDictionary.java b/src/main/java/binnie/botany/genetics/ItemDictionary.java index 13786191..73dc020b 100644 --- a/src/main/java/binnie/botany/genetics/ItemDictionary.java +++ b/src/main/java/binnie/botany/genetics/ItemDictionary.java @@ -1,72 +1,69 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; -import binnie.botany.core.BotanyGUI; -import net.minecraft.world.World; +import binnie.botany.Botany; import binnie.botany.CreativeTabBotany; -import net.minecraft.creativetab.CreativeTabs; -import java.util.List; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; +import binnie.botany.core.BotanyGUI; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import binnie.botany.Botany; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.util.IIcon; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; -public class ItemDictionary extends Item -{ - IIcon iconMaster; +import java.util.List; - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister register) { - this.itemIcon = Botany.proxy.getIcon(register, "botanistDatabase"); - this.iconMaster = Botany.proxy.getIcon(register, "masterBotanistDatabase"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(final int par1) { - return (par1 == 0) ? this.itemIcon : this.iconMaster; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(final ItemStack par1ItemStack, final EntityPlayer par2EntityPlayer, final List par3List, final boolean par4) { - super.addInformation(par1ItemStack, par2EntityPlayer, par3List, par4); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(final Item par1, final CreativeTabs par2CreativeTabs, final List par3List) { - super.getSubItems(par1, par2CreativeTabs, par3List); - par3List.add(new ItemStack(par1, 1, 1)); - } +public class ItemDictionary extends Item { + protected IIcon iconMaster; public ItemDictionary() { - this.setCreativeTab(CreativeTabBotany.instance); - this.setUnlocalizedName("database"); - this.setMaxStackSize(1); + setCreativeTab(CreativeTabBotany.instance); + setUnlocalizedName("database"); + setMaxStackSize(1); } @Override - public ItemStack onItemRightClick(final ItemStack itemstack, final World world, final EntityPlayer player) { - if (itemstack.getItemDamage() == 0) { + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = Botany.proxy.getIcon(register, "botanistDatabase"); + iconMaster = Botany.proxy.getIcon(register, "masterBotanistDatabase"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int damage) { + return (damage == 0) ? itemIcon : iconMaster; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { + super.addInformation(stack, player, tooltip, advanced); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tab, List list) { + super.getSubItems(item, tab, list); + list.add(new ItemStack(item, 1, 1)); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if (stack.getItemDamage() == 0) { Botany.proxy.openGui(BotanyGUI.Database, player, (int) player.posX, (int) player.posY, (int) player.posZ); - } - else { + } else { Botany.proxy.openGui(BotanyGUI.DatabaseNEI, player, (int) player.posX, (int) player.posY, (int) player.posZ); } - return itemstack; + return stack; } @Override - public String getItemStackDisplayName(final ItemStack i) { - return (i.getItemDamage() == 0) ? "Botanist Database" : "Master Botanist Database"; + public String getItemStackDisplayName(ItemStack stack) { + return (stack.getItemDamage() == 0) ? + "Botanist Database" : + "Master Botanist Database"; } } diff --git a/src/main/java/binnie/botany/genetics/ItemEncyclopedia.java b/src/main/java/binnie/botany/genetics/ItemEncyclopedia.java index 17b0a3b7..eac37248 100644 --- a/src/main/java/binnie/botany/genetics/ItemEncyclopedia.java +++ b/src/main/java/binnie/botany/genetics/ItemEncyclopedia.java @@ -1,45 +1,40 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; -import net.minecraft.item.ItemStack; +import binnie.botany.Botany; import binnie.botany.CreativeTabBotany; -import net.minecraft.util.IIcon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import binnie.botany.Botany; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; -public class ItemEncyclopedia extends Item -{ +public class ItemEncyclopedia extends Item { boolean reinforced; - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister register) { - this.itemIcon = Botany.proxy.getIcon(register, "encylopedia" + (this.reinforced ? "Iron" : "")); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(final int par1) { - return this.itemIcon; - } - - public ItemEncyclopedia(final boolean reinforced) { + public ItemEncyclopedia(boolean reinforced) { this.reinforced = false; this.reinforced = reinforced; - this.setCreativeTab(CreativeTabBotany.instance); - this.setUnlocalizedName("encylopedia" + (reinforced ? "Iron" : "")); - this.setMaxStackSize(1); - this.setMaxDamage(reinforced ? 480 : 120); + setCreativeTab(CreativeTabBotany.instance); + setUnlocalizedName("encylopedia" + (reinforced ? "Iron" : "")); + setMaxStackSize(1); + setMaxDamage(reinforced ? 480 : 120); } @Override - public String getItemStackDisplayName(final ItemStack i) { - return (this.reinforced ? "Reinforced " : "") + "Florist's Encyclopaedia"; + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = Botany.proxy.getIcon(register, "encylopedia" + (reinforced ? "Iron" : "")); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int par1) { + return itemIcon; + } + + @Override + public String getItemStackDisplayName(ItemStack i) { + return (reinforced ? "Reinforced " : "") + "Florist's Encyclopaedia"; } } diff --git a/src/main/java/binnie/botany/genetics/ModuleGenetics.java b/src/main/java/binnie/botany/genetics/ModuleGenetics.java index 75b27c2e..198733ca 100644 --- a/src/main/java/binnie/botany/genetics/ModuleGenetics.java +++ b/src/main/java/binnie/botany/genetics/ModuleGenetics.java @@ -1,40 +1,35 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.genetics; import binnie.Binnie; -import forestry.api.recipes.RecipeManagers; -import forestry.api.apiculture.FlowerManager; -import net.minecraftforge.oredict.ShapelessOreRecipe; -import net.minecraft.item.crafting.IRecipe; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraft.init.Items; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; +import binnie.botany.Botany; +import binnie.botany.core.BotanyCore; +import binnie.botany.flower.BlockFlower; +import binnie.botany.flower.ItemFlower; +import binnie.botany.flower.ItemPollen; +import binnie.botany.flower.ItemSeed; import binnie.botany.flower.RendererBotany; -import cpw.mods.fml.client.registry.RenderingRegistry; import binnie.botany.flower.TileEntityFlower; import binnie.core.BinnieCore; -import net.minecraft.block.Block; -import cpw.mods.fml.common.registry.GameRegistry; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.ISpeciesRoot; -import binnie.botany.core.BotanyCore; -import forestry.api.genetics.AlleleManager; -import binnie.botany.flower.ItemSeed; -import binnie.botany.flower.ItemPollen; -import binnie.botany.flower.ItemFlower; -import binnie.botany.Botany; -import binnie.botany.flower.BlockFlower; import binnie.core.IInitializable; +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.common.registry.GameRegistry; +import forestry.api.apiculture.FlowerManager; +import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.IAllele; +import forestry.api.recipes.RecipeManagers; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.ShapedOreRecipe; +import net.minecraftforge.oredict.ShapelessOreRecipe; -public class ModuleGenetics implements IInitializable -{ +public class ModuleGenetics implements IInitializable { static AlleleEffectNone alleleEffectNone; + static { + ModuleGenetics.alleleEffectNone = new AlleleEffectNone(); + } + @Override public void preInit() { EnumFlowerColor.setupMutations(); @@ -53,14 +48,14 @@ public class ModuleGenetics implements IInitializable @Override public void init() { - for (final EnumFlowerColor color : EnumFlowerColor.values()) { + for (EnumFlowerColor color : EnumFlowerColor.values()) { AlleleManager.alleleRegistry.registerAllele(color.getAllele()); } FlowerSpecies.setupVariants(); - for (final FlowerSpecies species : FlowerSpecies.values()) { + for (FlowerSpecies species : FlowerSpecies.values()) { AlleleManager.alleleRegistry.registerAllele(species); BotanyCore.getFlowerRoot().registerTemplate(species.getUID(), species.getTemplate()); - for (final IAllele[] variant : species.getVariants()) { + for (IAllele[] variant : species.getVariants()) { BotanyCore.getFlowerRoot().registerTemplate(variant); } } @@ -70,15 +65,50 @@ public class ModuleGenetics implements IInitializable @Override public void postInit() { - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Botany.encyclopedia), new Object[] { "fff", "fbf", "fff", 'f', new ItemStack(Blocks.red_flower, 1, 32767), 'b', Items.book })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Botany.encyclopedia), new Object[] { "fff", "fbf", "fff", 'f', new ItemStack(Blocks.yellow_flower, 1, 32767), 'b', Items.book })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Botany.encyclopedia), new Object[] { "fff", "fbf", "fff", 'f', new ItemStack(Botany.flower, 1, 32767), 'b', Items.book })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Botany.encyclopediaIron), new Object[] { new ItemStack(Botany.encyclopedia), "ingotIron" })); - FlowerManager.flowerRegistry.registerAcceptableFlower(Botany.flower, new String[] { "flowersVanilla" }); - RecipeManagers.carpenterManager.addRecipe(100, Binnie.Liquid.getLiquidStack("water", 2000), (ItemStack) null, new ItemStack(Botany.database), new Object[] { "X#X", "YEY", "RDR", '#', Blocks.glass_pane, 'X', Items.gold_ingot, 'Y', Items.gold_nugget, 'R', Items.redstone, 'D', Items.diamond, 'E', Items.emerald }); - } - - static { - ModuleGenetics.alleleEffectNone = new AlleleEffectNone(); + GameRegistry.addRecipe(new ShapedOreRecipe( + new ItemStack(Botany.encyclopedia), + new Object[]{ + "fff", "fbf", "fff", + 'f', new ItemStack(Blocks.red_flower, 1, 32767), + 'b', Items.book + } + )); + GameRegistry.addRecipe(new ShapedOreRecipe( + new ItemStack(Botany.encyclopedia), + new Object[]{ + "fff", "fbf", "fff", + 'f', new ItemStack(Blocks.yellow_flower, 1, 32767), + 'b', Items.book + } + )); + GameRegistry.addRecipe(new ShapedOreRecipe( + new ItemStack(Botany.encyclopedia), + new Object[]{ + "fff", "fbf", "fff", + 'f', new ItemStack(Botany.flower, 1, 32767), + 'b', Items.book + } + )); + GameRegistry.addRecipe(new ShapelessOreRecipe( + new ItemStack(Botany.encyclopediaIron), + new Object[]{ + new ItemStack(Botany.encyclopedia), + "ingotIron" + } + )); + FlowerManager.flowerRegistry.registerAcceptableFlower(Botany.flower, "flowersVanilla"); + RecipeManagers.carpenterManager.addRecipe( + 100, + Binnie.Liquid.getLiquidStack("water", 2000), + null, + new ItemStack(Botany.database), + "X#X", "YEY", "RDR", + '#', Blocks.glass_pane, + 'X', Items.gold_ingot, + 'Y', Items.gold_nugget, + 'R', Items.redstone, + 'D', Items.diamond, + 'E', Items.emerald + ); } } diff --git a/src/main/java/binnie/botany/items/BotanyItems.java b/src/main/java/binnie/botany/items/BotanyItems.java index 03d0dd65..cf73063b 100644 --- a/src/main/java/binnie/botany/items/BotanyItems.java +++ b/src/main/java/binnie/botany/items/BotanyItems.java @@ -1,19 +1,14 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.items; -import net.minecraft.item.Item; -import java.util.List; import binnie.botany.Botany; +import binnie.core.item.IItemMisc; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import binnie.core.item.IItemMisc; -public enum BotanyItems implements IItemMisc -{ +import java.util.List; + +public enum BotanyItems implements IItemMisc { AshPowder("Ash Powder", "powderAsh"), PulpPowder("Wood Pulp Powder", "powderPulp"), MulchPowder("Mulch Powder", "powderMulch"), @@ -23,37 +18,38 @@ public enum BotanyItems implements IItemMisc Mortar("Mortar", "mortar"), Weedkiller("Weedkiller", "weedkiller"); - IIcon icon; - String name; - String iconPath; + protected IIcon icon; + protected String name; + protected String iconPath; - private BotanyItems(final String name, final String iconPath) { + BotanyItems(String name, String iconPath) { this.name = name; this.iconPath = iconPath; } @Override - public IIcon getIcon(final ItemStack itemStack) { - return this.icon; + public IIcon getIcon(ItemStack itemStack) { + return icon; } @Override - public void registerIcons(final IIconRegister register) { - this.icon = Botany.proxy.getIcon(register, this.iconPath); + public void registerIcons(IIconRegister register) { + icon = Botany.proxy.getIcon(register, iconPath); } @Override - public void addInformation(final List data) { + public void addInformation(List data) { + // ignored } @Override - public String getName(final ItemStack itemStack) { - return this.name; + public String getName(ItemStack itemStack) { + return name; } @Override - public ItemStack get(final int count) { - return new ItemStack(Botany.misc, count, this.ordinal()); + public ItemStack get(int count) { + return new ItemStack(Botany.misc, count, ordinal()); } @Override diff --git a/src/main/java/binnie/botany/items/ItemClay.java b/src/main/java/binnie/botany/items/ItemClay.java index 9ff0e4e9..07aeea3d 100644 --- a/src/main/java/binnie/botany/items/ItemClay.java +++ b/src/main/java/binnie/botany/items/ItemClay.java @@ -1,51 +1,47 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.items; import binnie.botany.Botany; -import net.minecraft.client.renderer.texture.IIconRegister; -import java.util.List; -import net.minecraft.creativetab.CreativeTabs; +import binnie.botany.CreativeTabBotany; +import binnie.botany.genetics.EnumFlowerColor; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import binnie.botany.genetics.EnumFlowerColor; -import net.minecraft.item.ItemStack; -import binnie.botany.CreativeTabBotany; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; -public class ItemClay extends Item -{ +import java.util.List; + +public class ItemClay extends Item { public ItemClay() { - this.setUnlocalizedName("clay"); - this.setHasSubtypes(true); - this.setCreativeTab(CreativeTabBotany.instance); + setUnlocalizedName("clay"); + setHasSubtypes(true); + setCreativeTab(CreativeTabBotany.instance); } @Override @SideOnly(Side.CLIENT) - public int getColorFromItemStack(final ItemStack stack, final int p_82790_2_) { - final int damage = stack.getItemDamage(); + public int getColorFromItemStack(ItemStack stack, int index) { + int damage = stack.getItemDamage(); return EnumFlowerColor.get(damage).getColor(false); } @Override - public String getItemStackDisplayName(final ItemStack stack) { + public String getItemStackDisplayName(ItemStack stack) { return EnumFlowerColor.get(stack.getItemDamage()).getName() + " Clay"; } @Override @SideOnly(Side.CLIENT) - public void getSubItems(final Item p_150895_1_, final CreativeTabs p_150895_2_, final List list) { - for (final EnumFlowerColor c : EnumFlowerColor.values()) { + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (EnumFlowerColor c : EnumFlowerColor.values()) { list.add(new ItemStack(this, 1, c.ordinal())); } } @Override @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister register) { - this.itemIcon = Botany.proxy.getIcon(register, "clay"); + public void registerIcons(IIconRegister register) { + itemIcon = Botany.proxy.getIcon(register, "clay"); } } diff --git a/src/main/java/binnie/botany/items/ItemPigment.java b/src/main/java/binnie/botany/items/ItemPigment.java index 86df46ae..27f10fa9 100644 --- a/src/main/java/binnie/botany/items/ItemPigment.java +++ b/src/main/java/binnie/botany/items/ItemPigment.java @@ -1,51 +1,47 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.items; import binnie.botany.Botany; -import net.minecraft.client.renderer.texture.IIconRegister; -import java.util.List; -import net.minecraft.creativetab.CreativeTabs; +import binnie.botany.CreativeTabBotany; +import binnie.botany.genetics.EnumFlowerColor; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import binnie.botany.genetics.EnumFlowerColor; -import net.minecraft.item.ItemStack; -import binnie.botany.CreativeTabBotany; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; -public class ItemPigment extends Item -{ +import java.util.List; + +public class ItemPigment extends Item { public ItemPigment() { - this.setUnlocalizedName("pigment"); - this.setHasSubtypes(true); - this.setCreativeTab(CreativeTabBotany.instance); + setUnlocalizedName("pigment"); + setHasSubtypes(true); + setCreativeTab(CreativeTabBotany.instance); } @Override @SideOnly(Side.CLIENT) - public int getColorFromItemStack(final ItemStack stack, final int p_82790_2_) { - final int damage = stack.getItemDamage(); + public int getColorFromItemStack(ItemStack stack, int index) { + int damage = stack.getItemDamage(); return EnumFlowerColor.get(damage).getColor(false); } @Override - public String getItemStackDisplayName(final ItemStack stack) { + public String getItemStackDisplayName(ItemStack stack) { return EnumFlowerColor.get(stack.getItemDamage()).getName() + " Pigment"; } @Override @SideOnly(Side.CLIENT) - public void getSubItems(final Item p_150895_1_, final CreativeTabs p_150895_2_, final List list) { - for (final EnumFlowerColor c : EnumFlowerColor.values()) { + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (EnumFlowerColor c : EnumFlowerColor.values()) { list.add(new ItemStack(this, 1, c.ordinal())); } } @Override @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister register) { - this.itemIcon = Botany.proxy.getIcon(register, "pigment"); + public void registerIcons(IIconRegister register) { + itemIcon = Botany.proxy.getIcon(register, "pigment"); } } diff --git a/src/main/java/binnie/botany/network/MessageFlowerUpdate.java b/src/main/java/binnie/botany/network/MessageFlowerUpdate.java index 91556f6f..aaf57546 100644 --- a/src/main/java/binnie/botany/network/MessageFlowerUpdate.java +++ b/src/main/java/binnie/botany/network/MessageFlowerUpdate.java @@ -1,54 +1,50 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.network; -import binnie.botany.genetics.EnumFlowerType; -import binnie.botany.genetics.EnumFlowerColor; -import java.io.IOException; -import io.netty.buffer.ByteBuf; -import binnie.core.network.packet.MessageBinnie; import binnie.botany.flower.TileEntityFlower; +import binnie.botany.genetics.EnumFlowerColor; +import binnie.botany.genetics.EnumFlowerType; +import binnie.core.network.packet.MessageBinnie; import binnie.core.network.packet.MessageCoordinates; +import io.netty.buffer.ByteBuf; -public class MessageFlowerUpdate extends MessageCoordinates -{ +import java.io.IOException; + +public class MessageFlowerUpdate extends MessageCoordinates { public TileEntityFlower.RenderInfo render; - public MessageFlowerUpdate(final int posX, final int posY, final int posZ, final TileEntityFlower.RenderInfo render) { + public MessageFlowerUpdate(int posX, int posY, int posZ, TileEntityFlower.RenderInfo render) { super(PacketID.FlowerUpdate.ordinal(), posX, posY, posZ); this.render = render; } - public MessageFlowerUpdate(final MessageBinnie message) { + public MessageFlowerUpdate(MessageBinnie message) { super(message); } @Override - public void writeData(final ByteBuf data) throws IOException { + public void writeData(ByteBuf data) throws IOException { super.writeData(data); - data.writeByte(this.render.primary.getID()); - data.writeByte(this.render.secondary.getID()); - data.writeByte(this.render.stem.getID()); - data.writeByte(this.render.type.ordinal()); - data.writeByte(this.render.age); - data.writeByte(this.render.section); - data.writeBoolean(this.render.wilted); - data.writeBoolean(this.render.flowered); + data.writeByte(render.primary.getID()); + data.writeByte(render.secondary.getID()); + data.writeByte(render.stem.getID()); + data.writeByte(render.type.ordinal()); + data.writeByte(render.age); + data.writeByte(render.section); + data.writeBoolean(render.wilted); + data.writeBoolean(render.flowered); } @Override - public void readData(final ByteBuf data) throws IOException { + public void readData(ByteBuf data) throws IOException { super.readData(data); - this.render = new TileEntityFlower.RenderInfo(); - this.render.primary = EnumFlowerColor.values()[data.readByte()]; - this.render.secondary = EnumFlowerColor.values()[data.readByte()]; - this.render.stem = EnumFlowerColor.values()[data.readByte()]; - this.render.type = EnumFlowerType.values()[data.readByte()]; - this.render.age = data.readByte(); - this.render.section = data.readByte(); - this.render.wilted = data.readBoolean(); - this.render.flowered = data.readBoolean(); + render = new TileEntityFlower.RenderInfo(); + render.primary = EnumFlowerColor.values()[data.readByte()]; + render.secondary = EnumFlowerColor.values()[data.readByte()]; + render.stem = EnumFlowerColor.values()[data.readByte()]; + render.type = EnumFlowerType.values()[data.readByte()]; + render.age = data.readByte(); + render.section = data.readByte(); + render.wilted = data.readBoolean(); + render.flowered = data.readBoolean(); } } diff --git a/src/main/java/binnie/botany/network/PacketID.java b/src/main/java/binnie/botany/network/PacketID.java index 7a229bf5..2e24d636 100644 --- a/src/main/java/binnie/botany/network/PacketID.java +++ b/src/main/java/binnie/botany/network/PacketID.java @@ -1,90 +1,90 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.network; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IChatComponent; +import binnie.botany.api.IAlleleFlowerSpecies; +import binnie.botany.flower.TileEntityFlower; +import binnie.botany.genetics.EnumFlowerColor; +import binnie.core.BinnieCore; +import binnie.core.network.IPacketID; +import binnie.core.network.packet.MessageBinnie; +import binnie.core.network.packet.MessageNBT; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import cpw.mods.fml.relauncher.Side; +import forestry.api.genetics.AlleleManager; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; -import binnie.botany.flower.TileEntityFlower; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentText; -import binnie.botany.genetics.EnumFlowerColor; -import forestry.api.genetics.AlleleManager; -import binnie.botany.api.IAlleleFlowerSpecies; -import binnie.core.BinnieCore; -import binnie.core.network.packet.MessageNBT; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import binnie.core.network.packet.MessageBinnie; -import binnie.core.network.IPacketID; +import net.minecraft.util.IChatComponent; -public enum PacketID implements IPacketID -{ +public enum PacketID implements IPacketID { Encylopedia, FlowerUpdate; @Override - public void onMessage(final MessageBinnie message, final MessageContext context) { + public void onMessage(MessageBinnie message, MessageContext context) { if (this == PacketID.Encylopedia && context.side == Side.CLIENT) { - final MessageNBT packet = new MessageNBT(message); - final NBTTagCompound data = packet.getTagCompound(); - final EntityPlayer player = BinnieCore.proxy.getPlayer(); - String info = ""; - if (data.hasNoTags()) { - info += "Flower has not been discovered by you. Breed this flower yourself to discover."; - } - else { - final IAlleleFlowerSpecies primary = (IAlleleFlowerSpecies) AlleleManager.alleleRegistry.getAllele(data.getString("Species")); - final IAlleleFlowerSpecies secondary = (IAlleleFlowerSpecies) AlleleManager.alleleRegistry.getAllele(data.getString("Species2")); - final float age = data.getFloat("Age"); - final EnumFlowerColor color1 = EnumFlowerColor.get(data.getShort("Colour")); - final EnumFlowerColor color2 = EnumFlowerColor.get(data.getShort("Colour2")); - if (primary == null || secondary == null) { - return; - } - info += "A"; - if (age == 0.0f) { - info += ""; - } - else if (age < 0.25f) { - info += " Young"; - } - else if (age < 0.75f) { - info += " Mature"; - } - else { - info += " Old"; - } - if (color1 == color2) { - info = info + " " + color1.getName(); - } - else { - info = info + " " + color1.getName() + " & " + color2.getName(); - } - if (primary == secondary) { - info = info + " " + primary.getName(); - } - else { - info = info + " " + primary.getName() + "-" + secondary.getName() + " Hybrid"; - } - if (age == 0.0f) { - info += " Germling"; - } - if (data.getBoolean("Wilting")) { - info += ". Shame it is Wilting!"; - } - } - final IChatComponent chat = new ChatComponentText(info); - player.addChatMessage(chat); - } - else if (this == PacketID.FlowerUpdate) { - final MessageFlowerUpdate packet2 = new MessageFlowerUpdate(message); - final TileEntity tile = packet2.getTileEntity(BinnieCore.proxy.getWorld()); - if (tile instanceof TileEntityFlower) { - ((TileEntityFlower) tile).setRender(packet2.render); - } + onEnciclopediaPacket(message); + } else if (this == PacketID.FlowerUpdate) { + onFlowerUpdatePacket(message); } } + + private void onFlowerUpdatePacket(MessageBinnie message) { + MessageFlowerUpdate packet = new MessageFlowerUpdate(message); + TileEntity tile = packet.getTileEntity(BinnieCore.proxy.getWorld()); + if (tile instanceof TileEntityFlower) { + ((TileEntityFlower) tile).setRender(packet.render); + } + } + + private void onEnciclopediaPacket(MessageBinnie message) { + MessageNBT packet = new MessageNBT(message); + NBTTagCompound data = packet.getTagCompound(); + EntityPlayer player = BinnieCore.proxy.getPlayer(); + String info = ""; + if (data.hasNoTags()) { + info += "Flower has not been discovered by you. Breed this flower yourself to discover."; + } else { + IAlleleFlowerSpecies primary = (IAlleleFlowerSpecies) AlleleManager.alleleRegistry.getAllele(data.getString("Species")); + IAlleleFlowerSpecies secondary = (IAlleleFlowerSpecies) AlleleManager.alleleRegistry.getAllele(data.getString("Species2")); + float age = data.getFloat("Age"); + EnumFlowerColor color1 = EnumFlowerColor.get(data.getShort("Colour")); + EnumFlowerColor color2 = EnumFlowerColor.get(data.getShort("Colour2")); + if (primary == null || secondary == null) { + return; + } + + info += "A"; + if (age == 0.0f) { + info += ""; + } else if (age < 0.25f) { + info += " Young"; + } else if (age < 0.75f) { + info += " Mature"; + } else { + info += " Old"; + } + + if (color1 == color2) { + info = info + " " + color1.getName(); + } else { + info = info + " " + color1.getName() + " & " + color2.getName(); + } + + if (primary == secondary) { + info = info + " " + primary.getName(); + } else { + info = info + " " + primary.getName() + "-" + secondary.getName() + " Hybrid"; + } + + if (age == 0.0f) { + info += " Germling"; + } + if (data.getBoolean("Wilting")) { + info += ". Shame it is Wilting!"; + } + } + IChatComponent chat = new ChatComponentText(info); + player.addChatMessage(chat); + } } diff --git a/src/main/java/binnie/botany/proxy/IBotanyProxy.java b/src/main/java/binnie/botany/proxy/IBotanyProxy.java index b3ff4283..97b6e4ec 100644 --- a/src/main/java/binnie/botany/proxy/IBotanyProxy.java +++ b/src/main/java/binnie/botany/proxy/IBotanyProxy.java @@ -1,11 +1,6 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.proxy; import binnie.core.proxy.IProxyCore; -public interface IBotanyProxy extends IProxyCore -{ +public interface IBotanyProxy extends IProxyCore { } diff --git a/src/main/java/binnie/botany/proxy/Proxy.java b/src/main/java/binnie/botany/proxy/Proxy.java index 36b839a8..4090238b 100644 --- a/src/main/java/binnie/botany/proxy/Proxy.java +++ b/src/main/java/binnie/botany/proxy/Proxy.java @@ -1,14 +1,9 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.proxy; import binnie.botany.Botany; import binnie.core.proxy.BinnieModProxy; -public class Proxy extends BinnieModProxy implements IBotanyProxy -{ +public class Proxy extends BinnieModProxy implements IBotanyProxy { public Proxy() { super(Botany.instance); } diff --git a/src/main/java/binnie/botany/proxy/ProxyClient.java b/src/main/java/binnie/botany/proxy/ProxyClient.java index 14bb48cc..34fbba75 100644 --- a/src/main/java/binnie/botany/proxy/ProxyClient.java +++ b/src/main/java/binnie/botany/proxy/ProxyClient.java @@ -1,9 +1,4 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.proxy; -public class ProxyClient extends Proxy implements IBotanyProxy -{ +public class ProxyClient extends Proxy implements IBotanyProxy { } diff --git a/src/main/java/binnie/botany/proxy/ProxyServer.java b/src/main/java/binnie/botany/proxy/ProxyServer.java index b360fb7d..6dc31b56 100644 --- a/src/main/java/binnie/botany/proxy/ProxyServer.java +++ b/src/main/java/binnie/botany/proxy/ProxyServer.java @@ -1,9 +1,4 @@ -// -// Decompiled by Procyon v0.5.30 -// - package binnie.botany.proxy; -public class ProxyServer extends Proxy implements IBotanyProxy -{ +public class ProxyServer extends Proxy implements IBotanyProxy { } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageAppearance.java b/src/main/java/binnie/genetics/gui/AnalystPageAppearance.java index 3c83c6c7..570580ec 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageAppearance.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageAppearance.java @@ -2,7 +2,7 @@ package binnie.genetics.gui; import binnie.botany.api.EnumFlowerStage; import binnie.botany.api.IFlower; -import binnie.botany.craftgui.ControlColourDisplay; +import binnie.botany.craftgui.ControlColorDisplay; import binnie.core.craftgui.CraftGUI; import binnie.core.craftgui.IWidget; import binnie.core.craftgui.controls.ControlTextCentered; @@ -21,13 +21,13 @@ public class AnalystPageAppearance extends ControlAnalystPage { IAlleleSpecies species = ind.getGenome().getPrimary(); new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + "Appearance").setColor(getColor()); y += 12; - ControlColourDisplay a = new ControlColourDisplay(this, w() / 2.0f - 28.0f, y); + ControlColorDisplay a = new ControlColorDisplay(this, w() / 2.0f - 28.0f, y); a.setValue(ind.getGenome().getPrimaryColor()); a.addTooltip("Primary Petal Colour"); - ControlColourDisplay b = new ControlColourDisplay(this, w() / 2.0f - 8.0f, y); + ControlColorDisplay b = new ControlColorDisplay(this, w() / 2.0f - 8.0f, y); b.setValue(ind.getGenome().getSecondaryColor()); b.addTooltip("Secondary Petal Colour"); - ControlColourDisplay c = new ControlColourDisplay(this, w() / 2.0f + 12.0f, y); + ControlColorDisplay c = new ControlColorDisplay(this, w() / 2.0f + 12.0f, y); c.setValue(ind.getGenome().getStemColor()); c.addTooltip("Stem Colour"); y += 26;