From 8683a345c33d7e055d5d6ffb0403f7fe24befaa1 Mon Sep 17 00:00:00 2001 From: DianeXD Date: Sun, 3 Jul 2022 12:17:51 +0800 Subject: [PATCH] Update buildscript & spotlessApply --- build.gradle | 4 +- dependencies.gradle | 10 +- repositories.gradle | 44 +- src/main/java/binnie/Binnie.java | 15 +- src/main/java/binnie/botany/Botany.java | 510 +- .../java/binnie/botany/CreativeTabBotany.java | 44 +- .../java/binnie/botany/api/EnumAcidity.java | 12 +- .../botany/api/EnumFlowerChromosome.java | 56 +- .../binnie/botany/api/EnumFlowerStage.java | 22 +- .../java/binnie/botany/api/EnumMoisture.java | 12 +- .../java/binnie/botany/api/EnumSoilType.java | 12 +- .../botany/api/IAlleleFlowerEffect.java | 2 +- .../botany/api/IAlleleFlowerSpecies.java | 6 +- .../binnie/botany/api/IBotanistTracker.java | 3 +- .../java/binnie/botany/api/IColourMix.java | 10 +- src/main/java/binnie/botany/api/IFlower.java | 28 +- .../java/binnie/botany/api/IFlowerColor.java | 8 +- .../java/binnie/botany/api/IFlowerGenome.java | 36 +- .../binnie/botany/api/IFlowerMutation.java | 2 +- .../java/binnie/botany/api/IFlowerRoot.java | 43 +- .../java/binnie/botany/api/IFlowerType.java | 12 +- .../botany/api/gardening/IBlockSoil.java | 16 +- .../binnie/botany/ceramic/BlockCeramic.java | 199 +- .../botany/ceramic/BlockCeramicBrick.java | 1044 +-- .../botany/ceramic/BlockCeramicPatterned.java | 46 +- .../binnie/botany/ceramic/BlockStained.java | 280 +- .../binnie/botany/ceramic/CeramicColor.java | 55 +- .../botany/ceramic/CeramicDesignSystem.java | 133 +- .../botany/ceramic/CeramicTileRecipe.java | 107 +- .../binnie/botany/ceramic/PigmentRecipe.java | 83 +- .../java/binnie/botany/core/BotanyCore.java | 8 +- .../java/binnie/botany/core/BotanyGUI.java | 28 +- .../java/binnie/botany/core/ModuleCore.java | 24 +- .../botany/craftgui/ControlColorDisplay.java | 48 +- .../botany/craftgui/ControlColorMixBox.java | 26 +- .../botany/craftgui/ControlColorMixItem.java | 40 +- .../botany/craftgui/ControlColorOption.java | 31 +- .../craftgui/ControlColourMixSymbol.java | 60 +- .../binnie/botany/craftgui/PageColorMix.java | 35 +- .../craftgui/PageColorMixResultant.java | 35 +- .../craftgui/PageSpeciesFlowerGenome.java | 189 +- .../craftgui/WindowBotanistDatabase.java | 108 +- .../binnie/botany/farm/CircuitGarden.java | 163 +- .../java/binnie/botany/farm/FarmLogic.java | 71 +- .../binnie/botany/farm/FarmableFlower.java | 46 +- .../botany/farm/FarmableVanillaFlower.java | 18 +- .../java/binnie/botany/farm/GardenLogic.java | 668 +- .../binnie/botany/flower/BlockFlower.java | 356 +- .../java/binnie/botany/flower/ItemBotany.java | 484 +- .../java/binnie/botany/flower/ItemFlower.java | 22 +- .../botany/flower/ItemInsulatedTube.java | 242 +- .../java/binnie/botany/flower/ItemPollen.java | 22 +- .../java/binnie/botany/flower/ItemSeed.java | 22 +- .../binnie/botany/flower/RendererBotany.java | 85 +- .../botany/flower/TileEntityFlower.java | 1195 ++-- .../binnie/botany/gardening/BlockPlant.java | 227 +- .../binnie/botany/gardening/BlockSoil.java | 325 +- .../binnie/botany/gardening/Gardening.java | 432 +- .../binnie/botany/gardening/ItemSoil.java | 111 +- .../botany/gardening/ItemSoilMeter.java | 108 +- .../binnie/botany/gardening/ItemTrowel.java | 101 +- .../binnie/botany/gardening/ItemWeed.java | 36 +- .../botany/gardening/ModuleGardening.java | 575 +- .../binnie/botany/genetics/AlleleColor.java | 64 +- .../botany/genetics/AlleleEffectNone.java | 56 +- .../botany/genetics/BotanistTracker.java | 31 +- .../java/binnie/botany/genetics/ColorMix.java | 61 +- .../botany/genetics/EnumFlowerColor.java | 5901 +++++++++-------- .../botany/genetics/EnumFlowerType.java | 262 +- .../java/binnie/botany/genetics/Flower.java | 428 +- .../binnie/botany/genetics/FlowerGenome.java | 176 +- .../binnie/botany/genetics/FlowerHelper.java | 416 +- .../botany/genetics/FlowerMutation.java | 122 +- .../binnie/botany/genetics/FlowerSpecies.java | 1338 ++-- .../botany/genetics/FlowerTemplates.java | 32 +- .../botany/genetics/ItemDictionary.java | 83 +- .../botany/genetics/ModuleGenetics.java | 101 +- .../java/binnie/botany/items/BotanyItems.java | 81 +- .../java/binnie/botany/items/ItemClay.java | 68 +- .../java/binnie/botany/items/ItemPigment.java | 68 +- .../botany/network/MessageFlowerUpdate.java | 67 +- .../java/binnie/botany/network/PacketID.java | 128 +- .../binnie/botany/proxy/IBotanyProxy.java | 3 +- src/main/java/binnie/botany/proxy/Proxy.java | 6 +- .../java/binnie/botany/proxy/ProxyClient.java | 3 +- .../java/binnie/botany/proxy/ProxyServer.java | 3 +- src/main/java/binnie/core/AbstractMod.java | 203 +- src/main/java/binnie/core/BinnieCore.java | 317 +- src/main/java/binnie/core/IInitializable.java | 6 +- src/main/java/binnie/core/ManagerBase.java | 30 +- src/main/java/binnie/core/Mods.java | 106 +- .../java/binnie/core/block/BlockMetadata.java | 187 +- .../binnie/core/block/IBlockMetadata.java | 13 +- .../binnie/core/block/IMultipassBlock.java | 4 +- .../java/binnie/core/block/ItemMetadata.java | 96 +- .../core/block/ItemMetadataRenderer.java | 74 +- .../core/block/MultipassBlockRenderer.java | 147 +- .../core/block/MultipassItemRenderer.java | 94 +- .../binnie/core/block/TileEntityMetadata.java | 152 +- .../binnie/core/circuits/BinnieCircuit.java | 125 +- .../core/circuits/BinnieCircuitLayout.java | 48 +- .../java/binnie/core/craftgui/CraftGUI.java | 4 +- .../java/binnie/core/craftgui/ITooltip.java | 2 +- .../binnie/core/craftgui/ITooltipHelp.java | 2 +- .../binnie/core/craftgui/ITopLevelWidget.java | 22 +- .../java/binnie/core/craftgui/IWidget.java | 129 +- .../binnie/core/craftgui/RenderStage.java | 6 +- .../java/binnie/core/craftgui/Tooltip.java | 108 +- .../binnie/core/craftgui/TopLevelWidget.java | 379 +- .../java/binnie/core/craftgui/Widget.java | 1005 +-- .../binnie/core/craftgui/WidgetAttribute.java | 10 +- .../binnie/core/craftgui/WindowFieldKit.java | 470 +- .../binnie/core/craftgui/WindowGenesis.java | 369 +- .../core/craftgui/controls/ControlButton.java | 86 +- .../craftgui/controls/ControlCheckbox.java | 90 +- .../core/craftgui/controls/ControlText.java | 55 +- .../controls/ControlTextCentered.java | 10 +- .../craftgui/controls/ControlTextEdit.java | 147 +- .../controls/IControlSelectionOption.java | 2 +- .../core/craftgui/controls/core/Control.java | 99 +- .../craftgui/controls/core/IControlValue.java | 4 +- .../controls/core/IControlValues.java | 4 +- .../controls/listbox/ControlList.java | 181 +- .../controls/listbox/ControlListBox.java | 81 +- .../controls/listbox/ControlOption.java | 93 +- .../controls/listbox/ControlTextOption.java | 40 +- .../craftgui/controls/page/ControlPage.java | 38 +- .../craftgui/controls/page/ControlPages.java | 73 +- .../controls/scroll/ControlScroll.java | 18 +- .../controls/scroll/ControlScrollBar.java | 126 +- .../scroll/ControlScrollableContent.java | 219 +- .../controls/scroll/IControlScrollable.java | 10 +- .../craftgui/controls/tab/ControlTab.java | 156 +- .../craftgui/controls/tab/ControlTabBar.java | 108 +- .../craftgui/database/ControlBranchBox.java | 14 +- .../database/ControlBranchBoxOption.java | 12 +- .../database/ControlBreedingProgress.java | 34 +- .../ControlDatabaseIndividualDisplay.java | 155 +- .../database/ControlItemStackOption.java | 31 +- .../craftgui/database/ControlMutationBox.java | 86 +- .../database/ControlMutationItem.java | 69 +- .../database/ControlMutationSymbol.java | 96 +- .../craftgui/database/ControlSpeciesBox.java | 63 +- .../database/ControlSpeciesBoxOption.java | 46 +- .../core/craftgui/database/DatabaseTab.java | 28 +- .../craftgui/database/EnumDiscoveryState.java | 8 +- .../core/craftgui/database/IDatabaseMode.java | 2 +- .../core/craftgui/database/PageAbstract.java | 8 +- .../core/craftgui/database/PageBranch.java | 6 +- .../craftgui/database/PageBranchOverview.java | 101 +- .../craftgui/database/PageBranchSpecies.java | 46 +- .../core/craftgui/database/PageBreeder.java | 70 +- .../core/craftgui/database/PageSpecies.java | 6 +- .../database/PageSpeciesClassification.java | 65 +- .../database/PageSpeciesMutations.java | 20 +- .../database/PageSpeciesOverview.java | 107 +- .../database/PageSpeciesResultant.java | 20 +- .../database/WindowAbstractDatabase.java | 397 +- .../binnie/core/craftgui/events/Event.java | 20 +- .../craftgui/events/EventButtonClicked.java | 16 +- .../craftgui/events/EventCycleChanged.java | 16 +- .../core/craftgui/events/EventHandler.java | 70 +- .../binnie/core/craftgui/events/EventKey.java | 46 +- .../core/craftgui/events/EventMouse.java | 178 +- .../core/craftgui/events/EventTextEdit.java | 16 +- .../events/EventToggleButtonClicked.java | 16 +- .../craftgui/events/EventValueChanged.java | 26 +- .../craftgui/events/EventValuesChanged.java | 16 +- .../core/craftgui/events/EventWidget.java | 296 +- .../core/craftgui/geometry/CraftGUIUtil.java | 100 +- .../binnie/core/craftgui/geometry/IArea.java | 188 +- .../core/craftgui/geometry/IBorder.java | 158 +- .../binnie/core/craftgui/geometry/IPoint.java | 96 +- .../core/craftgui/geometry/Position.java | 58 +- .../craftgui/geometry/TextJustification.java | 42 +- .../craftgui/minecraft/ContainerCraftGUI.java | 847 ++- .../core/craftgui/minecraft/CustomSlot.java | 56 +- .../core/craftgui/minecraft/Dialog.java | 60 +- .../core/craftgui/minecraft/EnumColor.java | 68 +- .../core/craftgui/minecraft/GUIIcon.java | 46 +- .../core/craftgui/minecraft/GuiCraftGUI.java | 809 +-- .../minecraft/IMachineInformation.java | 2 +- .../craftgui/minecraft/IMinecraftTooltip.java | 2 +- .../minecraft/IWindowAffectsShiftClick.java | 2 +- .../craftgui/minecraft/InventoryType.java | 8 +- .../core/craftgui/minecraft/ListMap.java | 224 +- .../core/craftgui/minecraft/MinecraftGUI.java | 16 +- .../craftgui/minecraft/MinecraftTooltip.java | 78 +- .../craftgui/minecraft/ModuleCraftGUI.java | 22 +- .../core/craftgui/minecraft/Window.java | 459 +- .../craftgui/minecraft/WindowInventory.java | 211 +- .../minecraft/control/ControlEnergyBar.java | 200 +- .../minecraft/control/ControlErrorState.java | 144 +- .../minecraft/control/ControlHelp.java | 40 +- .../minecraft/control/ControlIconDisplay.java | 18 +- .../minecraft/control/ControlImage.java | 18 +- .../minecraft/control/ControlInfo.java | 34 +- .../minecraft/control/ControlItemDisplay.java | 122 +- .../minecraft/control/ControlLiquidTank.java | 272 +- .../control/ControlMachineProgress.java | 6 +- .../control/ControlPlayerInventory.java | 124 +- .../minecraft/control/ControlPowerSystem.java | 34 +- .../minecraft/control/ControlProgress.java | 35 +- .../control/ControlProgressBase.java | 150 +- .../minecraft/control/ControlSlide.java | 163 +- .../minecraft/control/ControlSlot.java | 347 +- .../minecraft/control/ControlSlotArray.java | 55 +- .../minecraft/control/ControlSlotBase.java | 85 +- .../minecraft/control/ControlSlotCharge.java | 41 +- .../minecraft/control/ControlTabIcon.java | 50 +- .../minecraft/control/ControlUser.java | 42 +- .../minecraft/control/EnumHighlighting.java | 34 +- .../core/craftgui/renderer/Renderer.java | 364 +- .../core/craftgui/renderer/TextureType.java | 4 +- .../core/craftgui/resource/IStyleSheet.java | 2 +- .../core/craftgui/resource/StyleSheet.java | 22 +- .../craftgui/resource/StyleSheetManager.java | 26 +- .../core/craftgui/resource/Texture.java | 174 +- .../minecraft/CraftGUIResourceManager.java | 220 +- .../resource/minecraft/CraftGUITexture.java | 100 +- .../minecraft/CraftGUITextureSheet.java | 36 +- .../resource/minecraft/PaddedTexture.java | 36 +- .../minecraft/ParsedTextureSheet.java | 24 +- .../resource/minecraft/StandardTexture.java | 30 +- .../binnie/core/craftgui/window/Panel.java | 71 +- .../core/genetics/BeeBreedingSystem.java | 205 +- .../core/genetics/BeeModifierLogic.java | 66 +- .../binnie/core/genetics/BreedingSystem.java | 686 +- .../core/genetics/EnumBeeBooleanModifier.java | 8 +- .../binnie/core/genetics/EnumBeeModifier.java | 18 +- .../core/genetics/FlowerBreedingSystem.java | 187 +- .../binnie/core/genetics/ForestryAllele.java | 162 +- src/main/java/binnie/core/genetics/Gene.java | 160 +- .../genetics/IItemStackRepresentative.java | 2 +- .../binnie/core/genetics/ManagerGenetics.java | 331 +- .../core/genetics/MothBreedingSystem.java | 209 +- .../java/binnie/core/genetics/Tolerance.java | 77 +- .../core/genetics/TreeBreedingSystem.java | 511 +- .../core/genetics/VirtualBeeHousing.java | 234 +- .../binnie/core/genetics/VirtualHousing.java | 112 +- .../java/binnie/core/gui/BinnieCoreGUI.java | 58 +- .../binnie/core/gui/BinnieGUIHandler.java | 64 +- .../java/binnie/core/gui/IBinnieGUID.java | 2 +- src/main/java/binnie/core/item/IItemEnum.java | 8 +- src/main/java/binnie/core/item/IItemMisc.java | 11 +- .../java/binnie/core/item/ItemGenesis.java | 39 +- src/main/java/binnie/core/item/ItemMisc.java | 115 +- .../java/binnie/core/item/ManagerItem.java | 6 +- .../java/binnie/core/item/ModuleItems.java | 108 +- .../java/binnie/core/liquid/BinnieFluid.java | 36 +- .../binnie/core/liquid/FluidContainer.java | 137 +- .../java/binnie/core/liquid/IFluidType.java | 20 +- .../java/binnie/core/liquid/ILiquidType.java | 5 +- .../core/liquid/ItemFluidContainer.java | 203 +- .../binnie/core/liquid/ManagerLiquid.java | 99 +- .../binnie/core/machines/BlockMachine.java | 274 +- .../binnie/core/machines/IBlockMachine.java | 4 +- .../java/binnie/core/machines/IMachine.java | 19 +- .../binnie/core/machines/IMachineType.java | 4 +- .../java/binnie/core/machines/IOwnable.java | 4 +- .../binnie/core/machines/ItemMachine.java | 30 +- .../java/binnie/core/machines/Machine.java | 467 +- .../core/machines/MachineComponent.java | 83 +- .../binnie/core/machines/MachineGroup.java | 137 +- .../binnie/core/machines/MachinePackage.java | 83 +- .../core/machines/MachineRendererBlock.java | 34 +- .../binnie/core/machines/MachineUtil.java | 261 +- .../binnie/core/machines/ManagerMachine.java | 135 +- .../java/binnie/core/machines/ModelBlock.java | 48 +- .../binnie/core/machines/RendererMachine.java | 88 +- .../core/machines/TileEntityMachine.java | 150 +- .../core/machines/base/DefaultInventory.java | 136 +- .../core/machines/base/DefaultPower.java | 96 +- .../machines/base/DefaultTankContainer.java | 104 +- .../machines/base/TileEntityMachineBase.java | 368 +- .../machines/component/ComponentRecipe.java | 6 +- .../core/machines/component/IBuildcraft.java | 13 +- .../machines/component/IComponentRecipe.java | 6 +- .../core/machines/component/IInteraction.java | 18 +- .../core/machines/component/IRender.java | 27 +- .../machines/inventory/AccessDirection.java | 100 +- .../core/machines/inventory/BaseSlot.java | 167 +- .../inventory/ComponentChargedSlots.java | 153 +- .../inventory/ComponentInventory.java | 20 +- .../inventory/ComponentInventorySlots.java | 388 +- .../inventory/ComponentInventoryTransfer.java | 233 +- .../inventory/ComponentTankContainer.java | 314 +- .../machines/inventory/IChargedSlots.java | 6 +- .../machines/inventory/IInventoryMachine.java | 3 +- .../machines/inventory/IInventorySlots.java | 10 +- .../inventory/IValidatedInventory.java | 2 +- .../inventory/IValidatedTankContainer.java | 4 +- .../machines/inventory/InventorySlot.java | 156 +- .../core/machines/inventory/MachineSide.java | 139 +- .../core/machines/inventory/SetList.java | 42 +- .../core/machines/inventory/SidedAccess.java | 113 +- .../machines/inventory/SlotValidator.java | 84 +- .../core/machines/inventory/TankSlot.java | 70 +- .../machines/inventory/TankValidator.java | 32 +- .../machines/inventory/TransferHandler.java | 379 +- .../core/machines/inventory/Validator.java | 2 +- .../machines/inventory/ValidatorIcon.java | 23 +- .../core/machines/network/INetwork.java | 26 +- .../power/ComponentPowerReceptor.java | 276 +- .../core/machines/power/ComponentProcess.java | 130 +- .../power/ComponentProcessIndefinate.java | 196 +- .../power/ComponentProcessSetCost.java | 30 +- .../core/machines/power/ErrorState.java | 245 +- .../machines/power/IErrorStateSource.java | 4 +- .../core/machines/power/IPoweredMachine.java | 4 +- .../binnie/core/machines/power/IProcess.java | 8 +- .../core/machines/power/IProcessTimed.java | 8 +- .../core/machines/power/ITankMachine.java | 10 +- .../binnie/core/machines/power/PowerInfo.java | 52 +- .../core/machines/power/PowerInterface.java | 114 +- .../core/machines/power/PowerSystem.java | 50 +- .../core/machines/power/ProcessInfo.java | 100 +- .../binnie/core/machines/power/TankInfo.java | 96 +- .../core/machines/storage/Compartment.java | 73 +- .../core/machines/storage/CompartmentTab.java | 102 +- .../storage/ComponentBinnieCoreGUI.java | 18 +- .../ComponentCompartmentInventory.java | 177 +- .../storage/ControlColourSelector.java | 48 +- .../storage/MachineRendererCompartment.java | 47 +- .../machines/storage/ModelCompartment.java | 306 +- .../core/machines/storage/ModuleStorage.java | 85 +- .../machines/storage/StandardCompartment.java | 168 +- .../machines/storage/WindowCompartment.java | 817 +-- .../machines/transfer/TransferHandler.java | 3 +- .../machines/transfer/TransferRequest.java | 681 +- .../core/mod/config/BinnieConfiguration.java | 17 +- .../core/mod/config/BinnieItemData.java | 16 +- .../binnie/core/mod/config/ConfigFile.java | 2 +- .../core/mod/config/ConfigProperty.java | 18 +- .../core/mod/config/ConfigurationMain.java | 4 +- .../core/mod/config/ConfigurationMods.java | 32 +- .../binnie/core/mod/config/ManagerConfig.java | 96 +- .../binnie/core/mod/config/PropBoolean.java | 39 +- .../binnie/core/mod/config/PropDouble.java | 39 +- .../binnie/core/mod/config/PropInteger.java | 39 +- .../core/mod/config/PropPercentage.java | 45 +- .../binnie/core/mod/config/PropertyBase.java | 102 +- .../binnie/core/mod/parser/FieldParser.java | 67 +- .../binnie/core/mod/parser/ItemParser.java | 25 +- .../binnie/core/nei/PositionedFluidTank.java | 57 +- .../binnie/core/nei/PositionedStackAdv.java | 4 - .../binnie/core/nei/RecipeHandlerBase.java | 69 +- .../core/network/BinnieCorePacketID.java | 86 +- .../core/network/BinniePacketHandler.java | 44 +- .../binnie/core/network/INetworkedEntity.java | 4 +- .../java/binnie/core/network/IOrdinaled.java | 2 +- .../java/binnie/core/network/IPacketID.java | 2 +- .../binnie/core/network/IPacketProvider.java | 4 +- .../binnie/core/network/packet/IPacket.java | 2 +- .../core/network/packet/IPacketLocation.java | 8 +- .../core/network/packet/IndexInPayload.java | 16 +- .../core/network/packet/MachinePayload.java | 104 +- .../core/network/packet/MessageBase.java | 81 +- .../core/network/packet/MessageBinnie.java | 49 +- .../packet/MessageContainerUpdate.java | 14 +- .../network/packet/MessageCoordinates.java | 73 +- .../core/network/packet/MessageCraftGUI.java | 12 +- .../core/network/packet/MessageMetadata.java | 37 +- .../core/network/packet/MessageNBT.java | 53 +- .../core/network/packet/MessageTileNBT.java | 105 +- .../core/network/packet/MessageUpdate.java | 121 +- .../core/network/packet/PacketPayload.java | 89 +- .../binnie/core/proxy/BinnieModProxy.java | 76 +- .../java/binnie/core/proxy/BinnieProxy.java | 242 +- .../binnie/core/proxy/BinnieProxyClient.java | 211 +- .../binnie/core/proxy/BinnieProxyServer.java | 3 +- .../binnie/core/proxy/IBinnieModProxy.java | 10 +- .../java/binnie/core/proxy/IBinnieProxy.java | 39 +- .../java/binnie/core/proxy/IProxyCore.java | 3 +- .../java/binnie/core/resource/BinnieIcon.java | 46 +- .../binnie/core/resource/BinnieResource.java | 34 +- .../binnie/core/resource/IBinnieTexture.java | 2 +- .../binnie/core/resource/ManagerResource.java | 57 +- .../binnie/core/resource/ResourceType.java | 28 +- .../core/texture/BinnieCoreTexture.java | 36 +- .../binnie/core/triggers/ActionProvider.java | 45 +- .../binnie/core/triggers/BinnieAction.java | 113 +- .../binnie/core/triggers/BinnieTrigger.java | 157 +- .../binnie/core/triggers/ModuleTrigger.java | 72 +- .../binnie/core/triggers/TriggerData.java | 47 +- .../binnie/core/triggers/TriggerPower.java | 56 +- .../binnie/core/triggers/TriggerProvider.java | 43 +- .../java/binnie/core/util/FluidStackSet.java | 198 +- src/main/java/binnie/core/util/I18N.java | 26 +- .../java/binnie/core/util/IValidator.java | 2 +- .../java/binnie/core/util/ItemStackSet.java | 198 +- .../binnie/core/util/UniqueFluidStackSet.java | 26 +- .../binnie/core/util/UniqueItemStackSet.java | 26 +- src/main/java/binnie/extrabees/ExtraBees.java | 148 +- .../apiary/ComponentBeeModifier.java | 126 +- .../apiary/ComponentExtraBeeGUI.java | 18 +- .../extrabees/apiary/EnumHiveFrame.java | 214 +- .../extrabees/apiary/ItemHiveFrame.java | 138 +- .../binnie/extrabees/apiary/ModuleApiary.java | 194 +- .../extrabees/apiary/TileExtraBeeAlveary.java | 993 ++- .../apiary/machine/AlvearyMachine.java | 83 +- .../apiary/machine/frame/AlvearyFrame.java | 2 +- .../machine/frame/FrameAlvearyPackage.java | 22 +- .../machine/frame/FrameComponentModifier.java | 129 +- .../machine/frame/FrameSlotValidator.java | 23 +- .../machine/hatchery/AlvearyHatchery.java | 2 +- .../hatchery/HatcheryAlvearyPackage.java | 24 +- .../hatchery/HatcheryComponentModifier.java | 54 +- .../machine/hatchery/LarvaeSlotValidator.java | 23 +- .../lighting/LightingAlvearyPackage.java | 14 +- .../lighting/LightingComponentModifier.java | 14 +- .../machine/mutator/AlvearyMutator.java | 53 +- .../mutator/MutatorAlvearyPackage.java | 22 +- .../mutator/MutatorModifierComponent.java | 30 +- .../machine/mutator/MutatorSlotValidator.java | 22 +- .../rainShield/RainShieldAlvearyPackage.java | 14 +- .../RainShieldModifierComponent.java | 14 +- .../machine/stimulator/AlvearyStimulator.java | 2 +- .../stimulator/CircuitSlotValidator.java | 22 +- .../machine/stimulator/CircuitType.java | 176 +- .../stimulator/StimulatorAlvearyPackage.java | 24 +- .../machine/stimulator/StimulatorCircuit.java | 101 +- .../StimulatorModifierComponent.java | 315 +- .../TransmissionAlvearyPackage.java | 16 +- .../TransmissionModifierComponent.java | 77 +- .../config/ConfigurationMachines.java | 29 +- .../extrabees/config/ConfigurationMain.java | 30 +- .../binnie/extrabees/core/ExtraBeeGUID.java | 70 +- .../binnie/extrabees/core/ExtraBeeItems.java | 339 +- .../extrabees/core/ExtraBeeTexture.java | 44 +- .../binnie/extrabees/core/ModuleCore.java | 24 +- .../genetics/ExtraBeeBranchDefinition.java | 639 +- .../genetics/ExtraBeeDefinition.java | 3742 +++++------ .../extrabees/genetics/ExtraBeeMutation.java | 58 +- .../extrabees/genetics/ExtraBeesFlowers.java | 351 +- .../extrabees/genetics/ModuleGenetics.java | 70 +- .../genetics/effect/BlockEctoplasm.java | 45 +- .../genetics/effect/EntityBeeLightning.java | 98 +- .../genetics/effect/ExtraBeesEffect.java | 1206 ++-- .../genetics/effect/FireworkCreator.java | 121 +- .../genetics/items/ItemDictionary.java | 97 +- .../requirements/DummyMutationCondition.java | 33 +- .../requirements/IMutationRequirement.java | 4 +- .../requirements/RequirementPerson.java | 26 +- .../extrabees/gui/ExtraBeeGUITexture.java | 4 +- .../extrabees/gui/WindowAlvearyFrame.java | 54 +- .../extrabees/gui/WindowAlvearyHatchery.java | 54 +- .../extrabees/gui/WindowAlvearyMutator.java | 86 +- .../gui/WindowAlvearyStimulator.java | 56 +- .../gui/database/ControlClimateBar.java | 265 +- .../gui/database/PageSpeciesClimate.java | 26 +- .../gui/database/PageSpeciesGenome.java | 341 +- .../gui/database/WindowApiaristDatabase.java | 55 +- .../database/product/ControlProductsBox.java | 75 +- .../database/product/ControlProductsItem.java | 50 +- .../database/product/PageSpeciesProducts.java | 28 +- .../gui/database/product/Product.java | 12 +- .../gui/database/product/ProductType.java | 4 +- .../extrabees/liquids/ExtraBeeLiquid.java | 111 +- .../extrabees/liquids/ModuleLiquids.java | 24 +- .../extrabees/products/EnumHoneyComb.java | 275 +- .../extrabees/products/EnumHoneyDrop.java | 140 +- .../extrabees/products/EnumPropolis.java | 91 +- .../extrabees/products/ItemHoneyComb.java | 581 +- .../extrabees/products/ItemHoneyDrop.java | 66 +- .../extrabees/products/ItemProduct.java | 55 +- .../extrabees/products/ItemPropolis.java | 34 +- .../extrabees/products/ModuleProducts.java | 50 +- .../extrabees/proxy/ExtraBeesProxy.java | 6 +- .../extrabees/proxy/ExtraBeesProxyClient.java | 3 +- .../extrabees/proxy/ExtraBeesProxyServer.java | 3 +- .../extrabees/worldgen/BlockExtraBeeHive.java | 141 +- .../extrabees/worldgen/EnumHiveType.java | 17 +- .../binnie/extrabees/worldgen/HiveDrop.java | 84 +- .../extrabees/worldgen/ItemBeehive.java | 43 +- .../extrabees/worldgen/MaterialBeehive.java | 18 +- .../extrabees/worldgen/ModuleGeneration.java | 127 +- .../worldgen/WorldGenHiveNether.java | 45 +- .../extrabees/worldgen/WorldGenHiveRock.java | 27 +- .../extrabees/worldgen/WorldGenHiveWater.java | 34 +- .../java/binnie/extratrees/ExtraTrees.java | 182 +- .../java/binnie/extratrees/FakeWorld.java | 189 +- .../extratrees/api/CarpentryManager.java | 2 +- .../extratrees/api/ICarpentryInterface.java | 27 +- .../java/binnie/extratrees/api/IDesign.java | 14 +- .../extratrees/api/IDesignCategory.java | 8 +- .../extratrees/api/IDesignMaterial.java | 6 +- .../binnie/extratrees/api/IDesignSystem.java | 18 +- .../java/binnie/extratrees/api/ILayout.java | 18 +- .../java/binnie/extratrees/api/IPattern.java | 10 +- .../binnie/extratrees/api/IToolHammer.java | 4 +- .../binnie/extratrees/block/BlockETDoor.java | 432 +- .../binnie/extratrees/block/BlockETLog.java | 305 +- .../extratrees/block/BlockETPlanks.java | 207 +- .../binnie/extratrees/block/BlockETSlab.java | 228 +- .../extratrees/block/BlockETStairs.java | 199 +- .../extratrees/block/BlockShrubLeaves.java | 14 +- .../extratrees/block/BranchBlockRenderer.java | 35 +- .../extratrees/block/DoorBlockRenderer.java | 127 +- .../binnie/extratrees/block/DoorType.java | 32 +- .../binnie/extratrees/block/FruitPod.java | 70 +- .../extratrees/block/GateItemRenderer.java | 150 +- .../extratrees/block/IFenceProvider.java | 2 +- .../binnie/extratrees/block/ILogType.java | 364 +- .../binnie/extratrees/block/IPlankType.java | 4 +- .../binnie/extratrees/block/ItemETDoor.java | 178 +- .../binnie/extratrees/block/ItemETSlab.java | 150 +- .../binnie/extratrees/block/ItemETStairs.java | 59 +- .../binnie/extratrees/block/ModuleBlocks.java | 206 +- .../binnie/extratrees/block/PlankType.java | 458 +- .../extratrees/block/StairItemRenderer.java | 135 +- .../extratrees/block/StairsRenderer.java | 123 +- .../binnie/extratrees/block/WoodManager.java | 178 +- .../extratrees/block/decor/BlockFence.java | 263 +- .../extratrees/block/decor/BlockGate.java | 215 +- .../extratrees/block/decor/BlockHedge.java | 283 +- .../block/decor/BlockMultiFence.java | 55 +- .../block/decor/FenceDescription.java | 44 +- .../extratrees/block/decor/FenceRenderer.java | 500 +- .../extratrees/block/decor/FenceType.java | 88 +- .../extratrees/block/decor/HedgeRenderer.java | 209 +- .../block/decor/MultiFenceRecipeEmbedded.java | 83 +- .../block/decor/MultiFenceRecipeSize.java | 115 +- .../block/decor/MultiFenceRecipeSolid.java | 77 +- .../block/decor/NBTShapedRecipe.java | 250 +- .../block/decor/NBTShapedRecipes.java | 65 +- .../extratrees/carpentry/BlockCarpentry.java | 35 +- .../carpentry/BlockCarpentryPanel.java | 230 +- .../extratrees/carpentry/BlockDesign.java | 236 +- .../carpentry/BlockStainedDesign.java | 108 +- .../carpentry/CarpentryInterface.java | 175 +- .../extratrees/carpentry/DesignBlock.java | 646 +- .../extratrees/carpentry/DesignSystem.java | 219 +- .../extratrees/carpentry/DesignerManager.java | 23 +- .../extratrees/carpentry/EnumDesign.java | 895 +-- .../carpentry/EnumDesignCategory.java | 59 +- .../extratrees/carpentry/EnumPattern.java | 845 +-- .../extratrees/carpentry/GlassType.java | 162 +- .../binnie/extratrees/carpentry/Layout.java | 108 +- .../extratrees/carpentry/ModuleCarpentry.java | 145 +- .../extratrees/config/ConfigurationMain.java | 11 +- .../extratrees/core/ExtraTreeTexture.java | 42 +- .../extratrees/core/ExtraTreesGUID.java | 76 +- .../binnie/extratrees/core/ModuleCore.java | 226 +- .../craftgui/ControlBlockIconDisplay.java | 18 +- .../craftgui/ControlFluidDisplay.java | 122 +- .../craftgui/ControlLumbermillProgress.java | 123 +- .../craftgui/ControlRecipeSlot.java | 43 +- .../extratrees/craftgui/ControlSlotFluid.java | 89 +- .../extratrees/craftgui/ControlTankSlot.java | 54 +- .../craftgui/ControlTileSelect.java | 270 +- .../binnie/extratrees/craftgui/PageFruit.java | 38 +- .../craftgui/PagePlanksOverview.java | 114 +- .../extratrees/craftgui/PagePlanksTrees.java | 30 +- .../extratrees/craftgui/PageSpeciesImage.java | 24 +- .../craftgui/PageSpeciesTreeGenome.java | 288 +- .../binnie/extratrees/craftgui/PageWood.java | 27 +- .../craftgui/WindowArboristDatabase.java | 147 +- .../craftgui/WindowLepidopteristDatabase.java | 58 +- .../extratrees/craftgui/WindowLumbermill.java | 54 +- .../extratrees/craftgui/WindowSetSquare.java | 36 +- .../extratrees/craftgui/WindowWoodworker.java | 97 +- .../extratrees/genetics/ButterflySpecies.java | 382 +- .../genetics/ExtraTreeFruitFamily.java | 52 +- .../genetics/ExtraTreeFruitGene.java | 771 +-- .../genetics/ExtraTreeMutation.java | 426 +- .../extratrees/genetics/ExtraTreeSpecies.java | 2788 ++++---- .../extratrees/genetics/FruitSprite.java | 49 +- .../binnie/extratrees/genetics/LeafType.java | 32 +- .../extratrees/genetics/ModuleGenetics.java | 195 +- .../extratrees/genetics/SaplingType.java | 16 +- .../extratrees/item/ExtraTreeItems.java | 77 +- .../extratrees/item/ExtraTreeLiquid.java | 110 +- .../java/binnie/extratrees/item/Food.java | 380 +- .../extratrees/item/ItemDictionary.java | 97 +- .../java/binnie/extratrees/item/ItemFood.java | 137 +- .../binnie/extratrees/item/ItemHammer.java | 56 +- .../extratrees/item/ItemMothDatabase.java | 97 +- .../binnie/extratrees/item/ModuleItems.java | 351 +- .../extratrees/machines/ExtraTreeMachine.java | 107 +- .../machines/MachineRendererForestry.java | 63 +- .../extratrees/machines/ModuleMachine.java | 137 +- .../machines/designer/CarpenterPackage.java | 32 +- .../machines/designer/Designer.java | 6 +- .../machines/designer/DesignerType.java | 123 +- .../machines/designer/GlassworkerPackage.java | 6 +- .../machines/designer/PanelworkerPackage.java | 6 +- .../designer/PlanksSlotValidator.java | 28 +- .../designer/PolishSlotValidator.java | 26 +- .../machines/designer/TileworkerPackage.java | 6 +- .../machines/designer/WoodworkerPackage.java | 6 +- .../designer/WoodworkerRecipeComponent.java | 220 +- .../machines/lumbermill/LogSlotValidator.java | 24 +- .../machines/lumbermill/Lumbermill.java | 147 +- .../lumbermill/LumbermillComponentLogic.java | 93 +- .../lumbermill/LumbermillPackage.java | 54 +- .../java/binnie/extratrees/nei/IMCForNEI.java | 2 +- .../extratrees/nei/NEIExtraTreesConfig.java | 3 +- .../extratrees/nei/NEIHandlerLumbermill.java | 23 +- .../extratrees/proxy/IExtraTreeProxy.java | 3 +- .../java/binnie/extratrees/proxy/Proxy.java | 6 +- .../binnie/extratrees/proxy/ProxyClient.java | 8 +- .../binnie/extratrees/proxy/ProxyServer.java | 3 +- .../village/ComponentVillageGrove.java | 90 +- .../binnie/extratrees/worldgen/BlockType.java | 24 +- .../extratrees/worldgen/BlockTypeLeaf.java | 14 +- .../extratrees/worldgen/BlockTypeLog.java | 18 +- .../extratrees/worldgen/BlockTypeVoid.java | 20 +- .../worldgen/DefaultTreeGenerator.java | 91 +- .../extratrees/worldgen/WorldGenAcornOak.java | 50 +- .../extratrees/worldgen/WorldGenAspen.java | 48 +- .../worldgen/WorldGenBalsamFir.java | 52 +- .../extratrees/worldgen/WorldGenBanana.java | 36 +- .../extratrees/worldgen/WorldGenBox.java | 36 +- .../worldgen/WorldGenBrazilNut.java | 48 +- .../worldgen/WorldGenBrazilwood.java | 44 +- .../worldgen/WorldGenButternut.java | 46 +- .../extratrees/worldgen/WorldGenCedar.java | 90 +- .../extratrees/worldgen/WorldGenClove.java | 48 +- .../extratrees/worldgen/WorldGenCoconut.java | 36 +- .../extratrees/worldgen/WorldGenCoffee.java | 46 +- .../worldgen/WorldGenCommonAlder.java | 44 +- .../worldgen/WorldGenCommonAsh.java | 40 +- .../worldgen/WorldGenCommonBeech.java | 34 +- .../worldgen/WorldGenCopperBeech.java | 6 +- .../extratrees/worldgen/WorldGenCypress.java | 50 +- .../extratrees/worldgen/WorldGenDefault.java | 42 +- .../worldgen/WorldGenDouglasFir.java | 56 +- .../extratrees/worldgen/WorldGenElder.java | 50 +- .../extratrees/worldgen/WorldGenElm.java | 48 +- .../worldgen/WorldGenFloweringCrabapple.java | 38 +- .../extratrees/worldgen/WorldGenGingko.java | 58 +- .../extratrees/worldgen/WorldGenHawthorn.java | 48 +- .../extratrees/worldgen/WorldGenHazel.java | 50 +- .../extratrees/worldgen/WorldGenHolly.java | 48 +- .../extratrees/worldgen/WorldGenHornbeam.java | 46 +- .../extratrees/worldgen/WorldGenIroko.java | 44 +- .../extratrees/worldgen/WorldGenLazy.java | 40 +- .../worldgen/WorldGenLoblollyPine.java | 46 +- .../extratrees/worldgen/WorldGenLocust.java | 50 +- .../extratrees/worldgen/WorldGenLogwood.java | 46 +- .../extratrees/worldgen/WorldGenMango.java | 54 +- .../worldgen/WorldGenMonkeyPuzzle.java | 46 +- .../worldgen/WorldGenOldFustic.java | 46 +- .../extratrees/worldgen/WorldGenOlive.java | 40 +- .../worldgen/WorldGenOrchardApple.java | 36 +- .../worldgen/WorldGenOsangeOsange.java | 46 +- .../extratrees/worldgen/WorldGenPear.java | 44 +- .../extratrees/worldgen/WorldGenPecan.java | 52 +- .../worldgen/WorldGenPrairieCrabapple.java | 40 +- .../worldgen/WorldGenPurpleheart.java | 42 +- .../worldgen/WorldGenRainbowGum.java | 48 +- .../extratrees/worldgen/WorldGenRedMaple.java | 58 +- .../extratrees/worldgen/WorldGenRoseGum.java | 66 +- .../extratrees/worldgen/WorldGenRosewood.java | 48 +- .../extratrees/worldgen/WorldGenRowan.java | 30 +- .../extratrees/worldgen/WorldGenSallow.java | 52 +- .../extratrees/worldgen/WorldGenShrub.java | 52 +- .../worldgen/WorldGenSilverFir.java | 52 +- .../extratrees/worldgen/WorldGenSwampGum.java | 67 +- .../worldgen/WorldGenSweetCrabapple.java | 40 +- .../extratrees/worldgen/WorldGenSweetgum.java | 52 +- .../extratrees/worldgen/WorldGenSycamore.java | 48 +- .../extratrees/worldgen/WorldGenTree.java | 369 +- .../worldgen/WorldGenWesternHemlock.java | 50 +- .../worldgen/WorldGenWhitebeam.java | 34 +- .../extratrees/worldgen/WorldGenYew.java | 50 +- src/main/java/binnie/genetics/Genetics.java | 148 +- .../binnie/genetics/GeneticsCreativeTab.java | 50 +- src/main/java/binnie/genetics/api/IGene.java | 10 +- .../binnie/genetics/api/IIncubatorRecipe.java | 34 +- .../binnie/genetics/api/IItemAnalysable.java | 8 +- .../binnie/genetics/api/IItemChargable.java | 2 +- .../java/binnie/genetics/api/IItemSerum.java | 8 +- .../genetics/config/ConfigurationMain.java | 3 +- .../binnie/genetics/core/GeneticsGUI.java | 113 +- .../binnie/genetics/core/GeneticsPacket.java | 28 +- .../binnie/genetics/core/GeneticsTexture.java | 52 +- .../binnie/genetics/craftgui/ControlGene.java | 121 +- .../genetics/craftgui/ControlGeneScroll.java | 115 +- .../craftgui/ControlSequencerProgress.java | 86 +- .../craftgui/ControlSplicerProgress.java | 83 +- .../genetics/craftgui/WindowAcclimatiser.java | 71 +- .../genetics/craftgui/WindowAnalyser.java | 89 +- .../genetics/craftgui/WindowGeneBank.java | 280 +- .../genetics/craftgui/WindowGeneBankNEI.java | 6 +- .../genetics/craftgui/WindowGenepool.java | 84 +- .../genetics/craftgui/WindowIncubator.java | 89 +- .../genetics/craftgui/WindowInoculator.java | 89 +- .../genetics/craftgui/WindowIsolator.java | 96 +- .../genetics/craftgui/WindowMachine.java | 16 +- .../genetics/craftgui/WindowPolymeriser.java | 83 +- .../genetics/craftgui/WindowSequencer.java | 118 +- .../genetics/craftgui/WindowSplicer.java | 102 +- .../genetics/genetics/AlleleHelper.java | 319 +- .../binnie/genetics/genetics/Engineering.java | 99 +- .../genetics/genetics/GeneArrayItem.java | 210 +- .../binnie/genetics/genetics/GeneItem.java | 151 +- .../binnie/genetics/genetics/GeneTracker.java | 165 +- .../binnie/genetics/genetics/IGeneItem.java | 13 +- .../genetics/genetics/SequencerItem.java | 44 +- .../genetics/gui/AnalystPageAppearance.java | 106 +- .../genetics/gui/AnalystPageBehaviour.java | 144 +- .../genetics/gui/AnalystPageBiology.java | 431 +- .../genetics/gui/AnalystPageClimate.java | 224 +- .../genetics/gui/AnalystPageDatabase.java | 312 +- .../genetics/gui/AnalystPageDescription.java | 143 +- .../binnie/genetics/gui/AnalystPageFruit.java | 208 +- .../genetics/gui/AnalystPageGenome.java | 92 +- .../genetics/gui/AnalystPageGrowth.java | 91 +- .../genetics/gui/AnalystPageKaryogram.java | 69 +- .../genetics/gui/AnalystPageMutations.java | 484 +- .../genetics/gui/AnalystPageProduce.java | 405 +- .../genetics/gui/AnalystPageProducts.java | 329 +- .../binnie/genetics/gui/AnalystPageSoil.java | 248 +- .../genetics/gui/AnalystPageSpecimen.java | 27 +- .../binnie/genetics/gui/AnalystPageWood.java | 116 +- .../gui/ControlAnalystChromosome.java | 79 +- .../genetics/gui/ControlAnalystPage.java | 45 +- .../binnie/genetics/gui/ControlBiome.java | 104 +- .../genetics/gui/ControlChromoPicker.java | 70 +- .../genetics/gui/ControlChromosome.java | 226 +- .../genetics/gui/ControlGenesisOption.java | 34 +- .../gui/ControlIndividualDisplay.java | 42 +- .../genetics/gui/ControlToleranceBar.java | 103 +- .../binnie/genetics/gui/ControlTooltip.java | 14 +- .../binnie/genetics/gui/WindowAnalyst.java | 858 +-- .../binnie/genetics/item/GeneticLiquid.java | 121 +- .../binnie/genetics/item/GeneticsItems.java | 95 +- .../binnie/genetics/item/ItemAnalyst.java | 38 +- .../binnie/genetics/item/ItemDatabase.java | 91 +- .../binnie/genetics/item/ItemFieldKit.java | 122 +- .../java/binnie/genetics/item/ItemGene.java | 143 +- .../genetics/item/ItemMasterRegistry.java | 39 +- .../binnie/genetics/item/ItemRegistry.java | 38 +- .../binnie/genetics/item/ItemSequence.java | 159 +- .../java/binnie/genetics/item/ItemSerum.java | 165 +- .../binnie/genetics/item/ItemSerumArray.java | 195 +- .../java/binnie/genetics/item/ModuleItem.java | 507 +- .../genetics/machine/AdvGeneticMachine.java | 42 +- .../genetics/machine/ComponentGUIHolder.java | 222 +- .../genetics/machine/ComponentGeneticGUI.java | 18 +- .../genetics/machine/GeneticMachine.java | 38 +- .../genetics/machine/LaboratoryMachine.java | 40 +- .../machine/MachineRendererGenetics.java | 71 +- .../genetics/machine/MachineRendererLab.java | 178 +- .../binnie/genetics/machine/ModelMachine.java | 144 +- .../genetics/machine/ModuleMachine.java | 369 +- .../genetics/machine/PackageGeneticBase.java | 30 +- .../machine/acclimatiser/Acclimatiser.java | 313 +- .../AcclimatiserComponentLogic.java | 125 +- .../AcclimatiserItemSlotValidator.java | 32 +- .../acclimatiser/AcclimatiserPackage.java | 76 +- .../machine/acclimatiser/ToleranceSystem.java | 72 +- .../machine/acclimatiser/ToleranceType.java | 44 +- .../genetics/machine/analyser/Analyser.java | 79 +- .../machine/analyser/AnalyserComponentFX.java | 201 +- .../analyser/AnalyserComponentLogic.java | 81 +- .../machine/analyser/AnalyserPackage.java | 82 +- .../machine/analyser/DyeSlotValidator.java | 22 +- .../analyser/UnanalysedSlotValidator.java | 23 +- .../genepool/EthanolTankValidator.java | 16 +- .../genetics/machine/genepool/Genepool.java | 24 +- .../machine/genepool/GenepoolComponentFX.java | 99 +- .../genepool/GenepoolComponentLogic.java | 124 +- .../machine/genepool/GenepoolPackage.java | 74 +- .../genetics/machine/incubator/Incubator.java | 52 +- .../incubator/IncubatorComponentLogic.java | 20 +- .../machine/incubator/IncubatorPackage.java | 60 +- .../machine/incubator/IncubatorRecipe.java | 22 +- .../incubator/IncubatorRecipeLarvae.java | 3 +- .../inoculator/BacteriaVectorValidator.java | 16 +- .../IndividualInoculateValidator.java | 24 +- .../machine/inoculator/Inoculator.java | 55 +- .../inoculator/InoculatorComponentFX.java | 212 +- .../inoculator/InoculatorComponentLogic.java | 248 +- .../machine/inoculator/InoculatorPackage.java | 134 +- .../inoculator/SerumSlotValidator.java | 22 +- .../isolator/EthanolTankValidator.java | 16 +- .../genetics/machine/isolator/Isolator.java | 22 +- .../machine/isolator/IsolatorComponentFX.java | 153 +- .../isolator/IsolatorComponentLogic.java | 165 +- .../machine/isolator/IsolatorPackage.java | 94 +- .../machine/lab/LabMachinePackage.java | 22 +- .../machine/polymeriser/DnaValidator.java | 16 +- .../machine/polymeriser/Polymeriser.java | 22 +- .../polymeriser/PolymeriserComponentFX.java | 123 +- .../PolymeriserComponentLogic.java | 169 +- .../polymeriser/PolymeriserPackage.java | 87 +- .../PolymerisingBacteriaValidator.java | 16 +- .../UnfilledSerumSlotValidator.java | 22 +- .../genetics/machine/sequencer/Sequencer.java | 18 +- .../sequencer/SequencerComponentFX.java | 159 +- .../sequencer/SequencerComponentLogic.java | 184 +- .../machine/sequencer/SequencerPackage.java | 74 +- .../sequencer/UnsequencedSlotValidator.java | 30 +- .../splicer/IndividualInoculateValidator.java | 24 +- .../machine/splicer/SerumSlotValidator.java | 22 +- .../genetics/machine/splicer/Splicer.java | 50 +- .../machine/splicer/SplicerComponentFX.java | 196 +- .../splicer/SplicerComponentLogic.java | 317 +- .../machine/splicer/SplicerPackage.java | 128 +- .../nei/AcclimatiserRecipeHandler.java | 17 +- .../genetics/nei/AnalyserRecipeHandler.java | 11 +- .../genetics/nei/DatabaseRecipeHandler.java | 18 +- .../genetics/nei/GenepoolRecipeHandler.java | 11 +- .../java/binnie/genetics/nei/IMCForNEI.java | 2 +- .../genetics/nei/IncubatorRecipeHandler.java | 32 +- .../genetics/nei/InoculatorRecipeHandler.java | 25 +- .../genetics/nei/IsolatorRecipeHandler.java | 13 +- .../genetics/nei/NEIGeneticsConfig.java | 3 +- .../nei/PolymeriserRecipeHandler.java | 27 +- .../genetics/nei/SequencerRecipeHandler.java | 6 +- .../genetics/nei/SplicerRecipeHandler.java | 20 +- .../binnie/genetics/proxy/IGeneticsProxy.java | 3 +- .../java/binnie/genetics/proxy/Proxy.java | 6 +- .../binnie/genetics/proxy/ProxyClient.java | 3 +- .../binnie/genetics/proxy/ProxyServer.java | 3 +- 818 files changed, 51123 insertions(+), 49403 deletions(-) diff --git a/build.gradle b/build.gradle index b1b6489c..d235eb58 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -//version: 1656003794 +//version: 1656760175 /* DO NOT CHANGE THIS FILE! @@ -91,7 +91,7 @@ spotless { encoding 'UTF-8' format 'misc', { - target '*.md', '.gitignore' + target '.gitignore' trimTrailingWhitespace() indentWithSpaces(4) diff --git a/dependencies.gradle b/dependencies.gradle index 45d8c759..41a88adf 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,11 +1,11 @@ // Add your dependencies here dependencies { - compile('com.github.GTNewHorizons:ForestryMC:4.4.6:dev') - compile('com.github.GTNewHorizons:NotEnoughItems:2.2.17-GTNH:dev') + compile('com.github.GTNewHorizons:ForestryMC:4.4.6:dev') + compile('com.github.GTNewHorizons:NotEnoughItems:2.2.17-GTNH:dev') - compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.27:api') + compileOnly('com.github.GTNewHorizons:BuildCraft:7.1.27:api') - compileOnly('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev') - compileOnly('curse.maven:cofh-lib-220333:2388748') + compileOnly('net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev') + compileOnly('curse.maven:cofh-lib-220333:2388748') } \ No newline at end of file diff --git a/repositories.gradle b/repositories.gradle index 1e004580..85408473 100644 --- a/repositories.gradle +++ b/repositories.gradle @@ -1,26 +1,26 @@ // Add any additional repositories for your dependencies here repositories { - maven { - name 'GTNH Maven' - url 'http://jenkins.usrv.eu:8081/nexus/content/groups/public/' - allowInsecureProtocol - } - maven { - name 'ic2' - url 'http://maven.ic2.player.to/' - metadataSources { - mavenPom() - artifact() - } - } - maven { - url 'https://cursemaven.com' - content { - includeGroup 'curse.maven' - } - } - maven { - url 'https://jitpack.io' - } + maven { + name 'GTNH Maven' + url 'http://jenkins.usrv.eu:8081/nexus/content/groups/public/' + allowInsecureProtocol + } + maven { + name 'ic2' + url 'http://maven.ic2.player.to/' + metadataSources { + mavenPom() + artifact() + } + } + maven { + url 'https://cursemaven.com' + content { + includeGroup 'curse.maven' + } + } + maven { + url 'https://jitpack.io' + } } diff --git a/src/main/java/binnie/Binnie.java b/src/main/java/binnie/Binnie.java index 16031a39..cd3d0ca6 100644 --- a/src/main/java/binnie/Binnie.java +++ b/src/main/java/binnie/Binnie.java @@ -7,16 +7,15 @@ import binnie.core.liquid.ManagerLiquid; import binnie.core.machines.ManagerMachine; import binnie.core.mod.config.ManagerConfig; import binnie.core.resource.ManagerResource; - import java.util.ArrayList; import java.util.List; public final class Binnie { - public static List Managers = new ArrayList<>(); - public static ManagerGenetics Genetics = new ManagerGenetics(); - public static ManagerConfig Configuration = new ManagerConfig(); - public static ManagerLiquid Liquid = new ManagerLiquid(); - public static ManagerMachine Machine = new ManagerMachine(); - public static ManagerItem Item = new ManagerItem(); - public static ManagerResource Resource = new ManagerResource(); + public static List Managers = new ArrayList<>(); + public static ManagerGenetics Genetics = new ManagerGenetics(); + public static ManagerConfig Configuration = new ManagerConfig(); + public static ManagerLiquid Liquid = new ManagerLiquid(); + public static ManagerMachine Machine = new ManagerMachine(); + public static ManagerItem Item = new ManagerItem(); + public static ManagerResource Resource = new ManagerResource(); } diff --git a/src/main/java/binnie/botany/Botany.java b/src/main/java/binnie/botany/Botany.java index 54a1deb4..34aef437 100644 --- a/src/main/java/binnie/botany/Botany.java +++ b/src/main/java/binnie/botany/Botany.java @@ -53,288 +53,300 @@ import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.event.world.BlockEvent; @Mod( - modid = "Botany", - name = "Botany", - version = BinnieCore.VERSION, - useMetadata = true, - dependencies = "after:BinnieCore" -) + modid = "Botany", + name = "Botany", + version = BinnieCore.VERSION, + useMetadata = true, + dependencies = "after:BinnieCore") public class Botany extends AbstractMod { - @Mod.Instance("Botany") - public static Botany instance; + @Mod.Instance("Botany") + public static Botany instance; - @SidedProxy( - clientSide = "binnie.botany.proxy.ProxyClient", - serverSide = "binnie.botany.proxy.ProxyServer" - ) - public static Proxy proxy; + @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; - public static ItemDictionary database; - public static BlockPlant plant; - public static ItemTrowel trowelWood; - public static ItemTrowel trowelStone; - public static ItemTrowel trowelIron; - public static ItemTrowel trowelDiamond; - public static ItemTrowel trowelGold; - public static BlockSoil soil; - public static BlockSoil loam; - public static BlockSoil flowerbed; - public static BlockSoil soilNoWeed; - public static BlockSoil loamNoWeed; - public static BlockSoil flowerbedNoWeed; - public static ItemInsulatedTube insulatedTube; - public static ItemSoilMeter soilMeter; - public static ItemMisc misc; - public static ItemFlower flowerItem; - public static ItemPigment pigment; - public static ItemClay clay; - public static BlockCeramic ceramic; - public static BlockCeramicPatterned ceramicTile; - public static BlockStained stained; - public static BlockCeramicBrick ceramicBrick; + public static BlockFlower flower; + public static Item seed; + public static Item pollen; + public static ItemDictionary database; + public static BlockPlant plant; + public static ItemTrowel trowelWood; + public static ItemTrowel trowelStone; + public static ItemTrowel trowelIron; + public static ItemTrowel trowelDiamond; + public static ItemTrowel trowelGold; + public static BlockSoil soil; + public static BlockSoil loam; + public static BlockSoil flowerbed; + public static BlockSoil soilNoWeed; + public static BlockSoil loamNoWeed; + public static BlockSoil flowerbedNoWeed; + public static ItemInsulatedTube insulatedTube; + public static ItemSoilMeter soilMeter; + public static ItemMisc misc; + public static ItemFlower flowerItem; + public static ItemPigment pigment; + public static ItemClay clay; + public static BlockCeramic ceramic; + public static BlockCeramicPatterned ceramicTile; + public static BlockStained stained; + public static BlockCeramicBrick ceramicBrick; - public Botany() { - Botany.instance = this; - } + 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 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 init(FMLInitializationEvent event) { + init(); + } - @Mod.EventHandler - public void postInit(FMLPostInitializationEvent event) { - postInit(); - } + @Mod.EventHandler + public void postInit(FMLPostInitializationEvent event) { + postInit(); + } - @Override - public IBinnieGUID[] getGUIDs() { - return BotanyGUI.values(); - } + @Override + public IBinnieGUID[] getGUIDs() { + return BotanyGUI.values(); + } - @Override - public Class[] getConfigs() { - return new Class[0]; - } + @Override + public Class[] getConfigs() { + return new Class[0]; + } - @Override - public IPacketID[] getPacketIDs() { - return PacketID.values(); - } + @Override + public IPacketID[] getPacketIDs() { + return PacketID.values(); + } - @Override - public IProxyCore getProxy() { - return Botany.proxy; - } + @Override + public IProxyCore getProxy() { + return Botany.proxy; + } - @Override - public String getChannel() { - return "BOT"; - } + @Override + public String getChannel() { + return "BOT"; + } - @Override - public String getModID() { - return "botany"; - } + @Override + public String getModID() { + return "botany"; + } - @Override - protected Class getPacketHandler() { - return PacketHandler.class; - } + @Override + protected Class getPacketHandler() { + return PacketHandler.class; + } - @SubscribeEvent - public void onShearFlower(PlayerInteractEvent event) { - if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) { - return; - } + @SubscribeEvent + 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) { - TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); - if (tile instanceof TileEntityFlower) { - 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() == Items.shears) { + TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); + if (tile instanceof TileEntityFlower) { + 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) { - TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); - if (tile instanceof TileEntityFlower) { - 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) { - ItemStack heldItem = event.entityPlayer.getHeldItem(); - heldItem.stackSize--; - } - } - } - } - } + if (event.entityPlayer != null + && event.entityPlayer.getHeldItem() != null + && event.entityPlayer.getHeldItem().getItem() == Botany.pollen) { + TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); + if (tile instanceof TileEntityFlower) { + 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) { + ItemStack heldItem = event.entityPlayer.getHeldItem(); + heldItem.stackSize--; + } + } + } + } + } - @SubscribeEvent - public void onFertiliseSoil(PlayerInteractEvent event) { - if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK || event.world == null) { - return; - } + @SubscribeEvent + 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) { - return; - } + if (event.entityPlayer == null || event.entityPlayer.getHeldItem() == null) { + return; + } - int y = event.y; - Block block = event.world.getBlock(event.x, y, event.z); - if (block == null || !Gardening.isSoil(block)) { - block = event.world.getBlock(event.x, --y, event.z); - } - if (block == null || !Gardening.isSoil(block)) { - return; - } + int y = event.y; + Block block = event.world.getBlock(event.x, y, event.z); + if (block == null || !Gardening.isSoil(block)) { + block = event.world.getBlock(event.x, --y, event.z); + } + if (block == null || !Gardening.isSoil(block)) { + return; + } - IBlockSoil soil = (IBlockSoil) block; - if (Gardening.isNutrientFertiliser(event.entityPlayer.getHeldItem()) && soil.getType(event.world, event.x, y, event.z) != EnumSoilType.FLOWERBED) { - 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) { - ItemStack heldItem = event.entityPlayer.getHeldItem(); - heldItem.stackSize--; - return; - } - } + IBlockSoil soil = (IBlockSoil) block; + if (Gardening.isNutrientFertiliser(event.entityPlayer.getHeldItem()) + && soil.getType(event.world, event.x, y, event.z) != EnumSoilType.FLOWERBED) { + 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) { + 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) { - 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) { - ItemStack heldItem2 = event.entityPlayer.getHeldItem(); - heldItem2.stackSize--; - return; - } - } + if (Gardening.isAcidFertiliser(event.entityPlayer.getHeldItem()) + && soil.getPH(event.world, event.x, y, event.z) != EnumAcidity.ACID) { + 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) { + 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) { - 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) { - ItemStack heldItem3 = event.entityPlayer.getHeldItem(); - heldItem3.stackSize--; - return; - } - } + if (Gardening.isAlkalineFertiliser(event.entityPlayer.getHeldItem()) + && soil.getPH(event.world, event.x, y, event.z) != EnumAcidity.ALKALINE) { + 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) { + 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) { - ItemStack heldItem4 = event.entityPlayer.getHeldItem(); - heldItem4.stackSize--; - } - } + if (Gardening.isWeedkiller(event.entityPlayer.getHeldItem()) + && Gardening.addWeedKiller(event.world, event.x, y, event.z) + && !event.entityPlayer.capabilities.isCreativeMode) { + ItemStack heldItem4 = event.entityPlayer.getHeldItem(); + heldItem4.stackSize--; + } + } - @SubscribeEvent - 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; - } + @SubscribeEvent + 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; + } - IFlower flower = BotanyCore.getFlowerRoot().getConversion(event.itemInHand); - if (flower != null) { - Gardening.plant(world, x, y, z, flower, event.player.getGameProfile()); - } - } + IFlower flower = BotanyCore.getFlowerRoot().getConversion(event.itemInHand); + if (flower != null) { + Gardening.plant(world, x, y, z, flower, event.player.getGameProfile()); + } + } - @Deprecated - public void onPlantVanilla(PlayerInteractEvent event) { - if (!BinnieCore.proxy.isSimulating(event.world) || event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) { - return; - } - if (event.entityPlayer == null || event.entityPlayer.getHeldItem() == null) { - return; - } + @Deprecated + public void onPlantVanilla(PlayerInteractEvent event) { + if (!BinnieCore.proxy.isSimulating(event.world) + || event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) { + return; + } + if (event.entityPlayer == null || event.entityPlayer.getHeldItem() == null) { + return; + } - 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; - } + 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) { - return; - } + if (py < 0) { + return; + } - 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--; - } - } + 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(BonemealEvent event) { - Block block = event.world.getBlock(event.x, event.y, event.z); - if (Gardening.isSoil(block)) { - IBlockSoil soil = (IBlockSoil) block; - if (soil.fertilise(event.world, event.x, event.y, event.z, EnumSoilType.LOAM)) { - event.setResult(Event.Result.ALLOW); - } - } + @SubscribeEvent + public void onBonemeal(BonemealEvent event) { + Block block = event.world.getBlock(event.x, event.y, event.z); + if (Gardening.isSoil(block)) { + IBlockSoil soil = (IBlockSoil) block; + if (soil.fertilise(event.world, event.x, event.y, event.z, EnumSoilType.LOAM)) { + event.setResult(Event.Result.ALLOW); + } + } - TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); - if (tile instanceof TileEntityFlower && ((TileEntityFlower) tile).onBonemeal()) { - event.setResult(Event.Result.ALLOW); - } - } + TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); + if (tile instanceof TileEntityFlower && ((TileEntityFlower) tile).onBonemeal()) { + event.setResult(Event.Result.ALLOW); + } + } - @Override - public boolean isActive() { - return BinnieCore.isBotanyActive(); - } + @Override + public boolean isActive() { + return BinnieCore.isBotanyActive(); + } - @Mod.EventHandler - 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); - } - if (message.key.equals("add-nutrient-fertiliser-2")) { - ModuleGardening.queuedNutrientFertilisers.put(message.getItemStackValue(), 2); - } - if (message.key.equals("add-acid-fertiliser-1")) { - ModuleGardening.queuedAcidFertilisers.put(message.getItemStackValue(), 1); - } - if (message.key.equals("add-acid-fertiliser-2")) { - ModuleGardening.queuedAcidFertilisers.put(message.getItemStackValue(), 2); - } - if (message.key.equals("add-alkaline-fertiliser-1")) { - ModuleGardening.queuedAlkalineFertilisers.put(message.getItemStackValue(), 1); - } - if (message.key.equals("add-alkaline-fertiliser-2")) { - ModuleGardening.queuedAlkalineFertilisers.put(message.getItemStackValue(), 1); - } - } - } + @Mod.EventHandler + 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); + } + if (message.key.equals("add-nutrient-fertiliser-2")) { + ModuleGardening.queuedNutrientFertilisers.put(message.getItemStackValue(), 2); + } + if (message.key.equals("add-acid-fertiliser-1")) { + ModuleGardening.queuedAcidFertilisers.put(message.getItemStackValue(), 1); + } + if (message.key.equals("add-acid-fertiliser-2")) { + ModuleGardening.queuedAcidFertilisers.put(message.getItemStackValue(), 2); + } + if (message.key.equals("add-alkaline-fertiliser-1")) { + ModuleGardening.queuedAlkalineFertilisers.put(message.getItemStackValue(), 1); + } + if (message.key.equals("add-alkaline-fertiliser-2")) { + ModuleGardening.queuedAlkalineFertilisers.put(message.getItemStackValue(), 1); + } + } + } - public static class PacketHandler extends BinniePacketHandler { - public PacketHandler() { - super(Botany.instance); - } - } + 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 09f2c05d..a20c11d1 100644 --- a/src/main/java/binnie/botany/CreativeTabBotany.java +++ b/src/main/java/binnie/botany/CreativeTabBotany.java @@ -9,31 +9,31 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; public class CreativeTabBotany extends CreativeTabs { - public static CreativeTabs instance = new CreativeTabBotany(); + public static CreativeTabs instance = new CreativeTabBotany(); - public CreativeTabBotany() { - super("Botany"); - } + public CreativeTabBotany() { + super("Botany"); + } - @Override - public ItemStack getIconItemStack() { - return new ItemStack(Blocks.red_flower, 1, 5); - } + @Override + public ItemStack getIconItemStack() { + return new ItemStack(Blocks.red_flower, 1, 5); + } - @Override - public String getTranslatedTabLabel() { - return getTabLabel(); - } + @Override + public String getTranslatedTabLabel() { + return getTabLabel(); + } - @Override - @SideOnly(Side.CLIENT) - public String getTabLabel() { - return I18N.localise("botany.tab.botany"); - } + @Override + @SideOnly(Side.CLIENT) + public String getTabLabel() { + return I18N.localise("botany.tab.botany"); + } - @Override - @SideOnly(Side.CLIENT) - public Item getTabIconItem() { - return Item.getItemFromBlock(Blocks.yellow_flower); - } + @Override + @SideOnly(Side.CLIENT) + public Item getTabIconItem() { + return Item.getItemFromBlock(Blocks.yellow_flower); + } } diff --git a/src/main/java/binnie/botany/api/EnumAcidity.java b/src/main/java/binnie/botany/api/EnumAcidity.java index d6c13561..c72b81be 100644 --- a/src/main/java/binnie/botany/api/EnumAcidity.java +++ b/src/main/java/binnie/botany/api/EnumAcidity.java @@ -1,11 +1,11 @@ package binnie.botany.api; public enum EnumAcidity { - ACID, - NEUTRAL, - ALKALINE; + ACID, + NEUTRAL, + ALKALINE; - public String getID() { - return name().toLowerCase(); - } + public String getID() { + return name().toLowerCase(); + } } diff --git a/src/main/java/binnie/botany/api/EnumFlowerChromosome.java b/src/main/java/binnie/botany/api/EnumFlowerChromosome.java index 9a7a50ce..736a2929 100644 --- a/src/main/java/binnie/botany/api/EnumFlowerChromosome.java +++ b/src/main/java/binnie/botany/api/EnumFlowerChromosome.java @@ -10,37 +10,37 @@ import forestry.api.genetics.IChromosomeType; import forestry.api.genetics.ISpeciesRoot; public enum EnumFlowerChromosome implements IChromosomeType { - SPECIES(IAlleleFlowerSpecies.class), - PRIMARY(IAlleleInteger.class), - SECONDARY(IAlleleInteger.class), - FERTILITY(IAlleleInteger.class), - TERRITORY(IAlleleArea.class), - EFFECT(IAlleleFlowerEffect.class), - LIFESPAN(IAlleleInteger.class), - TEMPERATURE_TOLERANCE(IAlleleTolerance.class), - HUMIDITY_TOLERANCE(IAlleleTolerance.class), - PH_TOLERANCE(IAlleleTolerance.class), - SAPPINESS(IAlleleFloat.class), - STEM(IAlleleInteger.class); + SPECIES(IAlleleFlowerSpecies.class), + PRIMARY(IAlleleInteger.class), + SECONDARY(IAlleleInteger.class), + FERTILITY(IAlleleInteger.class), + TERRITORY(IAlleleArea.class), + EFFECT(IAlleleFlowerEffect.class), + LIFESPAN(IAlleleInteger.class), + TEMPERATURE_TOLERANCE(IAlleleTolerance.class), + HUMIDITY_TOLERANCE(IAlleleTolerance.class), + PH_TOLERANCE(IAlleleTolerance.class), + SAPPINESS(IAlleleFloat.class), + STEM(IAlleleInteger.class); - private Class cls; + private Class cls; - EnumFlowerChromosome(Class cls) { - this.cls = cls; - } + EnumFlowerChromosome(Class cls) { + this.cls = cls; + } - @Override - public Class getAlleleClass() { - return cls; - } + @Override + public Class getAlleleClass() { + return cls; + } - @Override - public String getName() { - return toString().toLowerCase(); - } + @Override + public String getName() { + return toString().toLowerCase(); + } - @Override - public ISpeciesRoot getSpeciesRoot() { - return AlleleManager.alleleRegistry.getSpeciesRoot("rootFlowers"); - } + @Override + public ISpeciesRoot getSpeciesRoot() { + return AlleleManager.alleleRegistry.getSpeciesRoot("rootFlowers"); + } } diff --git a/src/main/java/binnie/botany/api/EnumFlowerStage.java b/src/main/java/binnie/botany/api/EnumFlowerStage.java index 621e19d2..0a06890c 100644 --- a/src/main/java/binnie/botany/api/EnumFlowerStage.java +++ b/src/main/java/binnie/botany/api/EnumFlowerStage.java @@ -1,18 +1,18 @@ package binnie.botany.api; public enum EnumFlowerStage { - FLOWER("Flower"), - SEED("Seed"), - POLLEN("Pollen"), - NONE("NONE"); + FLOWER("Flower"), + SEED("Seed"), + POLLEN("Pollen"), + NONE("NONE"); - protected String name; + protected String name; - EnumFlowerStage(String name) { - this.name = name; - } + EnumFlowerStage(String name) { + this.name = name; + } - public String getName() { - return name; - } + public String getName() { + return name; + } } diff --git a/src/main/java/binnie/botany/api/EnumMoisture.java b/src/main/java/binnie/botany/api/EnumMoisture.java index aec2fc05..4710fb9a 100644 --- a/src/main/java/binnie/botany/api/EnumMoisture.java +++ b/src/main/java/binnie/botany/api/EnumMoisture.java @@ -1,11 +1,11 @@ package binnie.botany.api; public enum EnumMoisture { - DRY, - NORMAL, - DAMP; + DRY, + NORMAL, + DAMP; - public String getID() { - return name().toLowerCase(); - } + public String getID() { + return name().toLowerCase(); + } } diff --git a/src/main/java/binnie/botany/api/EnumSoilType.java b/src/main/java/binnie/botany/api/EnumSoilType.java index b92e945b..ee6f6680 100644 --- a/src/main/java/binnie/botany/api/EnumSoilType.java +++ b/src/main/java/binnie/botany/api/EnumSoilType.java @@ -1,11 +1,11 @@ package binnie.botany.api; public enum EnumSoilType { - SOIL, - LOAM, - FLOWERBED; + SOIL, + LOAM, + FLOWERBED; - public String getID() { - return name().toLowerCase(); - } + public String getID() { + return name().toLowerCase(); + } } diff --git a/src/main/java/binnie/botany/api/IAlleleFlowerEffect.java b/src/main/java/binnie/botany/api/IAlleleFlowerEffect.java index 7136a5ad..3c982b6e 100644 --- a/src/main/java/binnie/botany/api/IAlleleFlowerEffect.java +++ b/src/main/java/binnie/botany/api/IAlleleFlowerEffect.java @@ -5,5 +5,5 @@ import forestry.api.genetics.IEffectData; import net.minecraft.world.World; public interface IAlleleFlowerEffect extends IAlleleEffect { - IEffectData doEffect(IFlowerGenome genome, IEffectData storedData, World world, int x, int y, int z); + 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 b372c5a4..71b281a8 100644 --- a/src/main/java/binnie/botany/api/IAlleleFlowerSpecies.java +++ b/src/main/java/binnie/botany/api/IAlleleFlowerSpecies.java @@ -3,9 +3,9 @@ package binnie.botany.api; import forestry.api.genetics.IAlleleSpecies; public interface IAlleleFlowerSpecies extends IAlleleSpecies { - IFlowerType getType(); + IFlowerType getType(); - EnumAcidity getPH(); + EnumAcidity getPH(); - EnumMoisture getMoisture(); + EnumMoisture getMoisture(); } diff --git a/src/main/java/binnie/botany/api/IBotanistTracker.java b/src/main/java/binnie/botany/api/IBotanistTracker.java index af68545b..ea7ad714 100644 --- a/src/main/java/binnie/botany/api/IBotanistTracker.java +++ b/src/main/java/binnie/botany/api/IBotanistTracker.java @@ -2,5 +2,4 @@ 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 8a2498f8..8c317abd 100644 --- a/src/main/java/binnie/botany/api/IColourMix.java +++ b/src/main/java/binnie/botany/api/IColourMix.java @@ -1,13 +1,13 @@ package binnie.botany.api; public interface IColourMix { - IFlowerColor getColor1(); + IFlowerColor getColor1(); - IFlowerColor getColor2(); + IFlowerColor getColor2(); - boolean isMutation(IFlowerColor color1, IFlowerColor color2); + boolean isMutation(IFlowerColor color1, IFlowerColor color2); - int getChance(); + int getChance(); - IFlowerColor getResult(); + IFlowerColor getResult(); } diff --git a/src/main/java/binnie/botany/api/IFlower.java b/src/main/java/binnie/botany/api/IFlower.java index 30069af3..0854d639 100644 --- a/src/main/java/binnie/botany/api/IFlower.java +++ b/src/main/java/binnie/botany/api/IFlower.java @@ -4,30 +4,30 @@ import forestry.api.genetics.IIndividual; import net.minecraft.world.World; public interface IFlower extends IIndividual { - @Override - IFlowerGenome getGenome(); + @Override + IFlowerGenome getGenome(); - IFlowerGenome getMate(); + IFlowerGenome getMate(); - void mate(IFlower other); + void mate(IFlower other); - int getAge(); + int getAge(); - void setAge(int age); + void setAge(int age); - void age(); + void age(); - IFlower getOffspring(World world); + IFlower getOffspring(World world); - int getMaxAge(); + int getMaxAge(); - boolean isWilted(); + boolean isWilted(); - void setWilted(boolean value); + void setWilted(boolean value); - boolean hasFlowered(); + boolean hasFlowered(); - void setFlowered(boolean value); + void setFlowered(boolean value); - void removeMate(); + void removeMate(); } diff --git a/src/main/java/binnie/botany/api/IFlowerColor.java b/src/main/java/binnie/botany/api/IFlowerColor.java index bf3e4ddc..293707c2 100644 --- a/src/main/java/binnie/botany/api/IFlowerColor.java +++ b/src/main/java/binnie/botany/api/IFlowerColor.java @@ -3,11 +3,11 @@ package binnie.botany.api; import forestry.api.genetics.IAlleleInteger; public interface IFlowerColor { - int getColor(boolean dis); + int getColor(boolean dis); - IAlleleInteger getAllele(); + IAlleleInteger getAllele(); - int getID(); + int getID(); - String getName(); + String getName(); } diff --git a/src/main/java/binnie/botany/api/IFlowerGenome.java b/src/main/java/binnie/botany/api/IFlowerGenome.java index 139bf783..f7528345 100644 --- a/src/main/java/binnie/botany/api/IFlowerGenome.java +++ b/src/main/java/binnie/botany/api/IFlowerGenome.java @@ -5,37 +5,37 @@ import forestry.api.genetics.EnumTolerance; import forestry.api.genetics.IGenome; public interface IFlowerGenome extends IGenome { - @Override - IAlleleFlowerSpecies getPrimary(); + @Override + IAlleleFlowerSpecies getPrimary(); - @Override - IAlleleFlowerSpecies getSecondary(); + @Override + IAlleleFlowerSpecies getSecondary(); - IFlowerColor getPrimaryColor(); + IFlowerColor getPrimaryColor(); - IFlowerColor getSecondaryColor(); + IFlowerColor getSecondaryColor(); - IFlowerColor getStemColor(); + IFlowerColor getStemColor(); - int getFertility(); + int getFertility(); - int getLifespan(); + int getLifespan(); - IFlowerType getType(); + IFlowerType getType(); - EnumTolerance getToleranceTemperature(); + EnumTolerance getToleranceTemperature(); - EnumTolerance getToleranceMoisture(); + EnumTolerance getToleranceMoisture(); - EnumTolerance getTolerancePH(); + EnumTolerance getTolerancePH(); - float getAgeChance(); + float getAgeChance(); - float getSappiness(); + float getSappiness(); - boolean canTolerate(EnumAcidity pH); + boolean canTolerate(EnumAcidity pH); - boolean canTolerate(EnumMoisture moisture); + boolean canTolerate(EnumMoisture moisture); - boolean canTolerate(EnumTemperature temp); + 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 daf64082..638ebec8 100644 --- a/src/main/java/binnie/botany/api/IFlowerMutation.java +++ b/src/main/java/binnie/botany/api/IFlowerMutation.java @@ -5,5 +5,5 @@ import forestry.api.genetics.IGenome; import forestry.api.genetics.IMutation; public interface IFlowerMutation extends IMutation { - float getChance(IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1); + 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 af09876e..0dbdfed9 100644 --- a/src/main/java/binnie/botany/api/IFlowerRoot.java +++ b/src/main/java/binnie/botany/api/IFlowerRoot.java @@ -3,42 +3,41 @@ package binnie.botany.api; import com.mojang.authlib.GameProfile; import forestry.api.genetics.IAllele; import forestry.api.genetics.ISpeciesRoot; +import java.util.Collection; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import java.util.Collection; - public interface IFlowerRoot extends ISpeciesRoot { - @Override - IFlower getMember(ItemStack stack); + @Override + IFlower getMember(ItemStack stack); - @Override - IFlower templateAsIndividual(IAllele[] template); + @Override + IFlower templateAsIndividual(IAllele[] template); - @Override - IFlower templateAsIndividual(IAllele[] templateActive, IAllele[] templateInactive); + @Override + IFlower templateAsIndividual(IAllele[] templateActive, IAllele[] templateInactive); - @Override - IFlowerGenome templateAsGenome(IAllele[] template); + @Override + IFlowerGenome templateAsGenome(IAllele[] template); - @Override - IFlowerGenome templateAsGenome(IAllele[] templateActive, IAllele[] templateInactive); + @Override + IFlowerGenome templateAsGenome(IAllele[] templateActive, IAllele[] templateInactive); - @Override - IBotanistTracker getBreedingTracker(World world, GameProfile player); + @Override + IBotanistTracker getBreedingTracker(World world, GameProfile player); - @Override - Collection getMutations(boolean shuffle); + @Override + Collection getMutations(boolean shuffle); - EnumFlowerStage getStageType(ItemStack stack); + EnumFlowerStage getStageType(ItemStack stack); - IFlower getFlower(World world, IFlowerGenome genome); + IFlower getFlower(World world, IFlowerGenome genome); - void addConversion(ItemStack stack, IAllele[] template); + void addConversion(ItemStack stack, IAllele[] template); - IFlower getConversion(ItemStack stack); + IFlower getConversion(ItemStack stack); - Collection getColourMixes(boolean shuffle); + Collection getColourMixes(boolean shuffle); - void registerColourMix(IColourMix colorMix); + 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 2d11858d..16831bb5 100644 --- a/src/main/java/binnie/botany/api/IFlowerType.java +++ b/src/main/java/binnie/botany/api/IFlowerType.java @@ -3,15 +3,15 @@ package binnie.botany.api; import net.minecraft.util.IIcon; public interface IFlowerType { - IIcon getStem(EnumFlowerStage stage, boolean flowered, int section); + IIcon getStem(EnumFlowerStage stage, boolean flowered, int section); - IIcon getPetalIcon(EnumFlowerStage stage, boolean flowered, int section); + IIcon getPetalIcon(EnumFlowerStage stage, boolean flowered, int section); - IIcon getVariantIcon(EnumFlowerStage stage, boolean flowered, int section); + IIcon getVariantIcon(EnumFlowerStage stage, boolean flowered, int section); - int getID(); + int getID(); - int getSections(); + int getSections(); - int ordinal(); + int ordinal(); } diff --git a/src/main/java/binnie/botany/api/gardening/IBlockSoil.java b/src/main/java/binnie/botany/api/gardening/IBlockSoil.java index a5bbe59a..237d740c 100644 --- a/src/main/java/binnie/botany/api/gardening/IBlockSoil.java +++ b/src/main/java/binnie/botany/api/gardening/IBlockSoil.java @@ -6,19 +6,19 @@ import binnie.botany.api.EnumSoilType; import net.minecraft.world.World; public interface IBlockSoil { - EnumAcidity getPH(World world, int x, int y, int z); + EnumAcidity getPH(World world, int x, int y, int z); - EnumMoisture getMoisture(World world, int x, int y, int z); + EnumMoisture getMoisture(World world, int x, int y, int z); - EnumSoilType getType(World world, int x, int y, int z); + EnumSoilType getType(World world, int x, int y, int z); - boolean fertilise(World world, int x, int y, int z, EnumSoilType maxLevel); + boolean fertilise(World world, int x, int y, int z, EnumSoilType maxLevel); - boolean degrade(World world, int x, int y, int z, EnumSoilType minLevel); + boolean degrade(World world, int x, int y, int z, EnumSoilType minLevel); - boolean setPH(World world, int x, int y, int z, EnumAcidity pH); + boolean setPH(World world, int x, int y, int z, EnumAcidity pH); - boolean setMoisture(World world, int x, int y, int z, EnumMoisture p4); + boolean setMoisture(World world, int x, int y, int z, EnumMoisture p4); - boolean resistsWeeds(World world, int x, int y, int z); + 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 762f658c..e22be813 100644 --- a/src/main/java/binnie/botany/ceramic/BlockCeramic.java +++ b/src/main/java/binnie/botany/ceramic/BlockCeramic.java @@ -9,6 +9,8 @@ import binnie.core.block.TileEntityMetadata; import binnie.core.util.I18N; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -24,123 +26,120 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; - public class BlockCeramic extends Block implements IBlockMetadata { - public BlockCeramic() { - super(Material.rock); - setHardness(1.0f); - setResistance(5.0f); - setBlockName("ceramic"); - setCreativeTab(CreativeTabBotany.instance); - } + public BlockCeramic() { + super(Material.rock); + setHardness(1.0f); + setResistance(5.0f); + setBlockName("ceramic"); + setCreativeTab(CreativeTabBotany.instance); + } - @Override - 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 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(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { - return BlockMetadata.breakBlock(this, player, world, x, y, z); - } + @Override + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { + return BlockMetadata.breakBlock(this, player, world, x, y, z); + } - @Override - public TileEntity createNewTileEntity(World var1, int i) { - return new TileEntityMetadata(); - } + @Override + public TileEntity createNewTileEntity(World var1, int i) { + return new TileEntityMetadata(); + } - @Override - public boolean hasTileEntity(int meta) { - return true; - } + @Override + public boolean hasTileEntity(int meta) { + return true; + } - @Override - 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 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(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { - return TileEntityMetadata.getItemDamage(itemStack); - } + @Override + public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { + return TileEntityMetadata.getItemDamage(itemStack); + } - @Override - public int getDroppedMeta(int blockMeta, int tileMeta) { - return tileMeta; - } + @Override + public int getDroppedMeta(int blockMeta, int tileMeta) { + return tileMeta; + } - @Override - public String getBlockName(ItemStack itemStack) { - return I18N.localise("botany.ceramicBlock"); - } + @Override + public String getBlockName(ItemStack itemStack) { + return I18N.localise("botany.ceramicBlock"); + } - @Override - public void addBlockTooltip(ItemStack stack, List tooltip) { - int meta = TileEntityMetadata.getItemDamage(stack); - tooltip.add(EnumChatFormatting.GRAY + EnumFlowerColor.get(meta).getName()); - } + @Override + public void addBlockTooltip(ItemStack stack, List tooltip) { + int meta = TileEntityMetadata.getItemDamage(stack); + tooltip.add(EnumChatFormatting.GRAY + EnumFlowerColor.get(meta).getName()); + } - @Override - public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { - dropBlockAsItem(world, x, y, z, itemStack); - } + @Override + public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { + dropBlockAsItem(world, x, y, z, itemStack); + } - @Override - public void getSubBlocks(Item item, CreativeTabs tabs, List itemList) { - for (EnumFlowerColor c : EnumFlowerColor.values()) { - itemList.add(TileEntityMetadata.getItemStack(this, c.ordinal())); - } - } + @Override + public void getSubBlocks(Item item, CreativeTabs tabs, List itemList) { + for (EnumFlowerColor c : EnumFlowerColor.values()) { + itemList.add(TileEntityMetadata.getItemStack(this, c.ordinal())); + } + } - @Override - @SideOnly(Side.CLIENT) - 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 getIcon(side, tile.getTileMetadata()); - } - return super.getIcon(world, x, y, z, side); - } + @Override + @SideOnly(Side.CLIENT) + 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 getIcon(side, tile.getTileMetadata()); + } + return super.getIcon(world, x, y, z, side); + } - @Override - public IIcon getIcon(int side, int meta) { - return blockIcon; - } + @Override + public IIcon getIcon(int side, int meta) { + return blockIcon; + } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - blockIcon = Botany.proxy.getIcon(register, "ceramic"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + blockIcon = Botany.proxy.getIcon(register, "ceramic"); + } - @Override - @SideOnly(Side.CLIENT) - public int colorMultiplier(IBlockAccess world, int x, int y, int z) { - TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); - if (tile != null) { - return getRenderColor(tile.getTileMetadata()); - } - return 0xffffff; - } + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + if (tile != null) { + return getRenderColor(tile.getTileMetadata()); + } + return 0xffffff; + } - @Override - 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 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(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { - return BlockMetadata.getPickBlock(world, x, y, z); - } + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + return BlockMetadata.getPickBlock(world, x, y, z); + } - @Override - @SideOnly(Side.CLIENT) - public int getRenderColor(int meta) { - return EnumFlowerColor.get(meta).getColor(false); - } + @Override + @SideOnly(Side.CLIENT) + 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 3b2223bf..e28f7253 100644 --- a/src/main/java/binnie/botany/ceramic/BlockCeramicBrick.java +++ b/src/main/java/binnie/botany/ceramic/BlockCeramicBrick.java @@ -13,6 +13,8 @@ import binnie.core.block.TileEntityMetadata; import binnie.core.util.I18N; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -28,526 +30,526 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; - public class BlockCeramicBrick extends Block implements IBlockMetadata, IMultipassBlock { - public BlockCeramicBrick() { - super(Material.rock); - setHardness(1.0f); - setResistance(5.0f); - setBlockName("ceramicBrick"); - setCreativeTab(CreativeTabBotany.instance); - } - - private static BlockType getType(int meta) { - return new BlockType(meta); - } - - @Override - 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(World world, EntityPlayer player, int x, int y, int z) { - return BlockMetadata.breakBlock(this, player, world, x, y, z); - } - - @Override - public TileEntity createNewTileEntity(World var1, int i) { - return new TileEntityMetadata(); - } - - @Override - public boolean hasTileEntity(int meta) { - return true; - } - - @Override - 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(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { - return TileEntityMetadata.getItemDamage(itemStack); - } - - @Override - public int getDroppedMeta(int blockMeta, int tileMeta) { - return tileMeta; - } - - @Override - public String getBlockName(ItemStack itemStack) { - int meta = TileEntityMetadata.getItemDamage(itemStack); - return getType(meta).getName(); - } - - @Override - public void addBlockTooltip(ItemStack itemStack, List tooltip) { - int meta = TileEntityMetadata.getItemDamage(itemStack); - getType(meta).addTooltip(tooltip); - } - - @Override - public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { - dropBlockAsItem(world, x, y, z, itemStack); - } - - @Override - public void getSubBlocks(Item item, CreativeTabs tab, List itemList) { - for (EnumFlowerColor c : EnumFlowerColor.values()) { - BlockType type = new BlockType(c, c, TileType.Tile); - itemList.add(TileEntityMetadata.getItemStack(this, type.ordinal())); - } - - 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)); - } - - @Override - @SideOnly(Side.CLIENT) - 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 getIcon(side, tile.getTileMetadata()); - } - return super.getIcon(world, x, y, z, side); - } - - @Override - public IIcon getIcon(int side, int meta) { - return getType(meta).getIcon(MultipassBlockRenderer.getLayer()); - } - - @Override - @SideOnly(Side.CLIENT) - 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); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public int colorMultiplier(IBlockAccess world, int x, int y, int z) { - TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); - if (tile != null) { - return getRenderColor(tile.getTileMetadata()); - } - return 0xffffff; - } - - @Override - 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(MovingObjectPosition target, World world, int x, int y, int z) { - return BlockMetadata.getPickBlock(world, x, y, z); - } - - @Override - @SideOnly(Side.CLIENT) - public int getRenderColor(int meta) { - return colorMultiplier(meta); - } - - @Override - public int getNumberOfPasses() { - return 3; - } - - @Override - public int colorMultiplier(int meta) { - BlockType type = getType(meta); - if (MultipassBlockRenderer.getLayer() == 0) { - return 0xffffff; - } - if (MultipassBlockRenderer.getLayer() == 1) { - return type.color1.getColor(false); - } - return type.color2.getColor(false); - } - - @Override - public int getRenderType() { - return BinnieCore.multipassRenderID; - } - - public enum TileType { - Tile("tile", "ceramicTile"), - Brick("brick", "ceramicBricks"), - StripeBrick("brickstripe", "strippedCeramicBricks"), - LargeBrick("bricklarge", "largeCeramicBricks"), - Split("split", "splitCeramicTile"), - Chequered("cheque", "chequeredCeramicTile"), - Mixed("mixed", "mixedCeramicTile"), - VerticalBrick("verticalbrick", "verticalCeramicBricks"), - VerticalStripeBrick("verticalbrickstripe", "verticalStripedCeramicBricks"), - VerticalLargeBrick("verticalbricklarge", "largeVerticalCeramicBricks"); - - protected String id; - protected String name; - protected IIcon[] icons; - - TileType(String id, String name) { - icons = new IIcon[3]; - this.id = id; - this.name = name; - } - - public static TileType get(int id) { - return values()[id % values().length]; - } - - public boolean canDouble() { - return this != TileType.Tile; - } - - public ItemStack getRecipe(List stacks) { - switch (this) { - 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 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 stack = stacks.get(0); - BlockType type = new BlockType(stack); - 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 stack = stacks.get(index2); - if (stack.getItem() != Item.getItemFromBlock(Botany.ceramicBrick)) { - return null; - } - - BlockType type = new BlockType(stack); - if (type.type != TileType.LargeBrick) { - return null; - } - - int color5 = type.color1.ordinal(); - int color6 = type.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 { - protected EnumFlowerColor color1; - protected EnumFlowerColor color2; - protected TileType type; - - private BlockType(EnumFlowerColor color1, EnumFlowerColor color2, TileType type) { - this.color1 = color1; - this.color2 = color2; - this.type = type; - } - - public boolean isTwoColors() { - return type.canDouble() && color2 != color1; - } - - public BlockType(ItemStack stack) { - this(TileEntityMetadata.getItemDamage(stack)); - } - - public ItemStack getStack(int stackSize) { - ItemStack stack = TileEntityMetadata.getItemStack(Botany.ceramicBrick, ordinal()); - stack.stackSize = stackSize; - return stack; - } - - public BlockType(int id) { - color1 = EnumFlowerColor.get(id & 0xFF); - color2 = EnumFlowerColor.get(id >> 8 & 0xFF); - type = TileType.get(id >> 16 & 0xFF); - } - - public String getName() { - return I18N.localise("botany." + type.name); - } - - public void addTooltip(List tooltip) { - String name = color1.getName(); - if (type.canDouble() && color2 != color1) { - name = I18N.localise("botany.colour.double", name, color2.getName()); - } - tooltip.add(EnumChatFormatting.GRAY + name); - } - - public int ordinal() { - return color1.ordinal() + color2.ordinal() * 256 + type.ordinal() * 65536; - } - - public IIcon getIcon(int layer) { - return type.icons[layer]; - } - } + public BlockCeramicBrick() { + super(Material.rock); + setHardness(1.0f); + setResistance(5.0f); + setBlockName("ceramicBrick"); + setCreativeTab(CreativeTabBotany.instance); + } + + private static BlockType getType(int meta) { + return new BlockType(meta); + } + + @Override + 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(World world, EntityPlayer player, int x, int y, int z) { + return BlockMetadata.breakBlock(this, player, world, x, y, z); + } + + @Override + public TileEntity createNewTileEntity(World var1, int i) { + return new TileEntityMetadata(); + } + + @Override + public boolean hasTileEntity(int meta) { + return true; + } + + @Override + 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(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { + return TileEntityMetadata.getItemDamage(itemStack); + } + + @Override + public int getDroppedMeta(int blockMeta, int tileMeta) { + return tileMeta; + } + + @Override + public String getBlockName(ItemStack itemStack) { + int meta = TileEntityMetadata.getItemDamage(itemStack); + return getType(meta).getName(); + } + + @Override + public void addBlockTooltip(ItemStack itemStack, List tooltip) { + int meta = TileEntityMetadata.getItemDamage(itemStack); + getType(meta).addTooltip(tooltip); + } + + @Override + public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { + dropBlockAsItem(world, x, y, z, itemStack); + } + + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List itemList) { + for (EnumFlowerColor c : EnumFlowerColor.values()) { + BlockType type = new BlockType(c, c, TileType.Tile); + itemList.add(TileEntityMetadata.getItemStack(this, type.ordinal())); + } + + 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)); + } + + @Override + @SideOnly(Side.CLIENT) + 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 getIcon(side, tile.getTileMetadata()); + } + return super.getIcon(world, x, y, z, side); + } + + @Override + public IIcon getIcon(int side, int meta) { + return getType(meta).getIcon(MultipassBlockRenderer.getLayer()); + } + + @Override + @SideOnly(Side.CLIENT) + 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); + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + if (tile != null) { + return getRenderColor(tile.getTileMetadata()); + } + return 0xffffff; + } + + @Override + 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(MovingObjectPosition target, World world, int x, int y, int z) { + return BlockMetadata.getPickBlock(world, x, y, z); + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderColor(int meta) { + return colorMultiplier(meta); + } + + @Override + public int getNumberOfPasses() { + return 3; + } + + @Override + public int colorMultiplier(int meta) { + BlockType type = getType(meta); + if (MultipassBlockRenderer.getLayer() == 0) { + return 0xffffff; + } + if (MultipassBlockRenderer.getLayer() == 1) { + return type.color1.getColor(false); + } + return type.color2.getColor(false); + } + + @Override + public int getRenderType() { + return BinnieCore.multipassRenderID; + } + + public enum TileType { + Tile("tile", "ceramicTile"), + Brick("brick", "ceramicBricks"), + StripeBrick("brickstripe", "strippedCeramicBricks"), + LargeBrick("bricklarge", "largeCeramicBricks"), + Split("split", "splitCeramicTile"), + Chequered("cheque", "chequeredCeramicTile"), + Mixed("mixed", "mixedCeramicTile"), + VerticalBrick("verticalbrick", "verticalCeramicBricks"), + VerticalStripeBrick("verticalbrickstripe", "verticalStripedCeramicBricks"), + VerticalLargeBrick("verticalbricklarge", "largeVerticalCeramicBricks"); + + protected String id; + protected String name; + protected IIcon[] icons; + + TileType(String id, String name) { + icons = new IIcon[3]; + this.id = id; + this.name = name; + } + + public static TileType get(int id) { + return values()[id % values().length]; + } + + public boolean canDouble() { + return this != TileType.Tile; + } + + public ItemStack getRecipe(List stacks) { + switch (this) { + 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 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 stack = stacks.get(0); + BlockType type = new BlockType(stack); + 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 stack = stacks.get(index2); + if (stack.getItem() != Item.getItemFromBlock(Botany.ceramicBrick)) { + return null; + } + + BlockType type = new BlockType(stack); + if (type.type != TileType.LargeBrick) { + return null; + } + + int color5 = type.color1.ordinal(); + int color6 = type.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 { + protected EnumFlowerColor color1; + protected EnumFlowerColor color2; + protected TileType type; + + private BlockType(EnumFlowerColor color1, EnumFlowerColor color2, TileType type) { + this.color1 = color1; + this.color2 = color2; + this.type = type; + } + + public boolean isTwoColors() { + return type.canDouble() && color2 != color1; + } + + public BlockType(ItemStack stack) { + this(TileEntityMetadata.getItemDamage(stack)); + } + + public ItemStack getStack(int stackSize) { + ItemStack stack = TileEntityMetadata.getItemStack(Botany.ceramicBrick, ordinal()); + stack.stackSize = stackSize; + return stack; + } + + public BlockType(int id) { + color1 = EnumFlowerColor.get(id & 0xFF); + color2 = EnumFlowerColor.get(id >> 8 & 0xFF); + type = TileType.get(id >> 16 & 0xFF); + } + + public String getName() { + return I18N.localise("botany." + type.name); + } + + public void addTooltip(List tooltip) { + String name = color1.getName(); + if (type.canDouble() && color2 != color1) { + name = I18N.localise("botany.colour.double", name, color2.getName()); + } + tooltip.add(EnumChatFormatting.GRAY + name); + } + + public int ordinal() { + return color1.ordinal() + color2.ordinal() * 256 + type.ordinal() * 65536; + } + + 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 3b4ce973..db08adea 100644 --- a/src/main/java/binnie/botany/ceramic/BlockCeramicPatterned.java +++ b/src/main/java/binnie/botany/ceramic/BlockCeramicPatterned.java @@ -8,35 +8,35 @@ import binnie.extratrees.api.IDesign; import binnie.extratrees.carpentry.BlockDesign; import binnie.extratrees.carpentry.DesignBlock; import binnie.extratrees.carpentry.ModuleCarpentry; +import java.util.List; import net.minecraft.block.material.Material; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; - public class BlockCeramicPatterned extends BlockDesign { - public BlockCeramicPatterned() { - super(CeramicDesignSystem.instance, Material.rock); - setHardness(1.0f); - setResistance(5.0f); - setCreativeTab(CreativeTabBotany.instance); - setBlockName("ceramicPattern"); - } + public BlockCeramicPatterned() { + super(CeramicDesignSystem.instance, Material.rock); + setHardness(1.0f); + setResistance(5.0f); + setCreativeTab(CreativeTabBotany.instance); + setBlockName("ceramicPattern"); + } - @Override - public ItemStack getCreativeStack(IDesign design) { - return ModuleCarpentry.getItemStack(this, CeramicColor.get(EnumFlowerColor.WHITE), CeramicColor.get(EnumFlowerColor.BLACK), design); - } + @Override + public ItemStack getCreativeStack(IDesign design) { + return ModuleCarpentry.getItemStack( + this, CeramicColor.get(EnumFlowerColor.WHITE), CeramicColor.get(EnumFlowerColor.BLACK), design); + } - @Override - public String getBlockName(DesignBlock design) { - return I18N.localise("botany.ceramicBlock"); - } + @Override + public String getBlockName(DesignBlock design) { + return I18N.localise("botany.ceramicBlock"); + } - @Override - public void addBlockTooltip(ItemStack stack, List tooltip) { - super.addBlockTooltip(stack, tooltip); - DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), TileEntityMetadata.getItemDamage(stack)); - tooltip.add(EnumChatFormatting.GRAY + block.getDesign().getName()); - } + @Override + public void addBlockTooltip(ItemStack stack, List tooltip) { + super.addBlockTooltip(stack, tooltip); + DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), TileEntityMetadata.getItemDamage(stack)); + tooltip.add(EnumChatFormatting.GRAY + block.getDesign().getName()); + } } diff --git a/src/main/java/binnie/botany/ceramic/BlockStained.java b/src/main/java/binnie/botany/ceramic/BlockStained.java index ad59d31e..97f8d5a8 100644 --- a/src/main/java/binnie/botany/ceramic/BlockStained.java +++ b/src/main/java/binnie/botany/ceramic/BlockStained.java @@ -10,6 +10,9 @@ import binnie.core.util.I18N; import binnie.extratrees.ExtraTrees; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -25,173 +28,168 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - public class BlockStained extends Block implements IBlockMetadata { - public BlockStained() { - super(Material.glass); - setCreativeTab(CreativeTabBotany.instance); - setBlockName("stained"); - } + public BlockStained() { + super(Material.glass); + setCreativeTab(CreativeTabBotany.instance); + setBlockName("stained"); + } - @Override - public int quantityDropped(Random rand) { - return 0; - } + @Override + public int quantityDropped(Random rand) { + return 0; + } - @Override - public boolean isOpaqueCube() { - return false; - } + @Override + public boolean isOpaqueCube() { + return false; + } - @Override - public boolean renderAsNormalBlock() { - return false; - } + @Override + public boolean renderAsNormalBlock() { + return false; + } - @Override - @SideOnly(Side.CLIENT) - public int getRenderBlockPass() { - return 1; - } + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 1; + } - @Override - @SideOnly(Side.CLIENT) - 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 block = world.getBlock(x, y, z); - return block != this - && block != ExtraTrees.blockStained - && super.shouldSideBeRendered(world, x, y, z, side); - } + @Override + @SideOnly(Side.CLIENT) + 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 block = world.getBlock(x, y, z); + return block != this && block != ExtraTrees.blockStained && super.shouldSideBeRendered(world, x, y, z, side); + } - @Override - 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 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(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { - return BlockMetadata.breakBlock(this, player, world, x, y, z); - } + @Override + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { + return BlockMetadata.breakBlock(this, player, world, x, y, z); + } - @Override - public TileEntity createNewTileEntity(World var1, int i) { - return new TileEntityMetadata(); - } + @Override + public TileEntity createNewTileEntity(World var1, int i) { + return new TileEntityMetadata(); + } - @Override - public boolean hasTileEntity(int meta) { - return true; - } + @Override + public boolean hasTileEntity(int meta) { + return true; + } - @Override - 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 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(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { - return TileEntityMetadata.getItemDamage(itemStack); - } + @Override + public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { + return TileEntityMetadata.getItemDamage(itemStack); + } - @Override - public int getDroppedMeta(int blockMeta, int tileMeta) { - return tileMeta; - } + @Override + public int getDroppedMeta(int blockMeta, int tileMeta) { + return tileMeta; + } - @Override - public String getBlockName(ItemStack itemStack) { - return I18N.localise("botany.pigmentedGlass"); - } + @Override + public String getBlockName(ItemStack itemStack) { + return I18N.localise("botany.pigmentedGlass"); + } - @Override - public void addBlockTooltip(ItemStack itemStack, List tooltip) { - int meta = TileEntityMetadata.getItemDamage(itemStack); - tooltip.add(EnumChatFormatting.GRAY + EnumFlowerColor.get(meta).getName()); - } + @Override + public void addBlockTooltip(ItemStack itemStack, List tooltip) { + int meta = TileEntityMetadata.getItemDamage(itemStack); + tooltip.add(EnumChatFormatting.GRAY + EnumFlowerColor.get(meta).getName()); + } - @Override - public void dropAsStack(World world, int x, int y, int z, ItemStack stack) { - dropBlockAsItem(world, x, y, z, stack); - } + @Override + public void dropAsStack(World world, int x, int y, int z, ItemStack stack) { + dropBlockAsItem(world, x, y, z, stack); + } - @Override - public void getSubBlocks(Item item, CreativeTabs tab, List itemList) { - for (EnumFlowerColor c : EnumFlowerColor.values()) { - itemList.add(TileEntityMetadata.getItemStack(this, c.ordinal())); - } - } + @Override + 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(IBlockAccess world, int x, int y, int z, int side) { - TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); - if (tile != null) { - return getIcon(side, tile.getTileMetadata()); - } - return super.getIcon(world, x, y, z, side); - } + @Override + @SideOnly(Side.CLIENT) + 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 getIcon(side, tile.getTileMetadata()); + } + return super.getIcon(world, x, y, z, side); + } - @Override - public IIcon getIcon(int side, int meta) { - return blockIcon; - } + @Override + public IIcon getIcon(int side, int meta) { + return blockIcon; + } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - blockIcon = Botany.proxy.getIcon(register, "stained"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + blockIcon = Botany.proxy.getIcon(register, "stained"); + } - @Override - @SideOnly(Side.CLIENT) - public int colorMultiplier(IBlockAccess world, int x, int y, int z) { - TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); - if (tile != null) { - return getRenderColor(tile.getTileMetadata()); - } - return 0xffffff; - } + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + if (tile != null) { + return getRenderColor(tile.getTileMetadata()); + } + return 0xffffff; + } - @Override - 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 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(IBlockAccess world, int x, int y, int z) { - return true; - } + @Override + public boolean isWood(IBlockAccess world, int x, int y, int z) { + return true; + } - @Override - public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 20; - } + @Override + public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 20; + } - @Override - public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return true; - } + @Override + public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return true; + } - @Override - public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 5; - } + @Override + public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 5; + } - @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { - return BlockMetadata.getPickBlock(world, x, y, z); - } + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + return BlockMetadata.getPickBlock(world, x, y, z); + } - @Override - @SideOnly(Side.CLIENT) - public int getRenderColor(int meta) { - return EnumFlowerColor.get(meta).getColor(false); - } + @Override + @SideOnly(Side.CLIENT) + 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 51b9b6c4..cb1c1654 100644 --- a/src/main/java/binnie/botany/ceramic/CeramicColor.java +++ b/src/main/java/binnie/botany/ceramic/CeramicColor.java @@ -4,43 +4,42 @@ import binnie.botany.Botany; import binnie.botany.genetics.EnumFlowerColor; import binnie.core.block.TileEntityMetadata; import binnie.extratrees.api.IDesignMaterial; -import net.minecraft.item.ItemStack; - import java.util.LinkedHashMap; import java.util.Map; +import net.minecraft.item.ItemStack; public class CeramicColor implements IDesignMaterial { - private static Map map; + private static Map map; - static { - CeramicColor.map = new LinkedHashMap<>(); - for (EnumFlowerColor c : EnumFlowerColor.values()) { - CeramicColor.map.put(c, new CeramicColor(c)); - } - } + static { + CeramicColor.map = new LinkedHashMap<>(); + for (EnumFlowerColor c : EnumFlowerColor.values()) { + CeramicColor.map.put(c, new CeramicColor(c)); + } + } - protected EnumFlowerColor color; + protected EnumFlowerColor color; - CeramicColor(EnumFlowerColor color) { - this.color = color; - } + CeramicColor(EnumFlowerColor color) { + this.color = color; + } - public static CeramicColor get(EnumFlowerColor c) { - return CeramicColor.map.get(c); - } + public static CeramicColor get(EnumFlowerColor c) { + return CeramicColor.map.get(c); + } - @Override - public ItemStack getStack() { - return TileEntityMetadata.getItemStack(Botany.ceramic, color.ordinal()); - } + @Override + public ItemStack getStack() { + return TileEntityMetadata.getItemStack(Botany.ceramic, color.ordinal()); + } - @Override - public String getName() { - return color.getName(); - } + @Override + public String getName() { + return color.getName(); + } - @Override - public int getColor() { - return color.getColor(false); - } + @Override + public int getColor() { + 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 ad1c1237..127a93f1 100644 --- a/src/main/java/binnie/botany/ceramic/CeramicDesignSystem.java +++ b/src/main/java/binnie/botany/ceramic/CeramicDesignSystem.java @@ -10,85 +10,94 @@ import binnie.extratrees.api.IDesignSystem; import binnie.extratrees.api.IPattern; import binnie.extratrees.carpentry.DesignerManager; import binnie.extratrees.carpentry.EnumPattern; +import java.util.HashMap; +import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import java.util.HashMap; -import java.util.Map; - public class CeramicDesignSystem implements IDesignSystem { - public static CeramicDesignSystem instance = new CeramicDesignSystem(); + public static CeramicDesignSystem instance = new CeramicDesignSystem(); - protected Map primary; - protected Map secondary; + protected Map primary; + protected Map secondary; - CeramicDesignSystem() { - primary = new HashMap<>(); - secondary = new HashMap<>(); - DesignerManager.instance.registerDesignSystem(this); - } + CeramicDesignSystem() { + primary = new HashMap<>(); + secondary = new HashMap<>(); + DesignerManager.instance.registerDesignSystem(this); + } - @Override - public IDesignMaterial getDefaultMaterial() { - return CeramicColor.get(EnumFlowerColor.WHITE); - } + @Override + public IDesignMaterial getDefaultMaterial() { + return CeramicColor.get(EnumFlowerColor.WHITE); + } - @Override - public IDesignMaterial getDefaultMaterial2() { - return CeramicColor.get(EnumFlowerColor.BLACK); - } + @Override + public IDesignMaterial getDefaultMaterial2() { + return CeramicColor.get(EnumFlowerColor.BLACK); + } - @Override - public IDesignMaterial getMaterial(int id) { - return CeramicColor.get(EnumFlowerColor.get(id)); - } + @Override + public IDesignMaterial getMaterial(int id) { + return CeramicColor.get(EnumFlowerColor.get(id)); + } - @Override - public int getMaterialIndex(IDesignMaterial id) { - return ((CeramicColor) id).color.ordinal(); - } + @Override + public int getMaterialIndex(IDesignMaterial id) { + return ((CeramicColor) id).color.ordinal(); + } - public String getTexturePath() { - return "ceramic"; - } + public String getTexturePath() { + return "ceramic"; + } - @Override - public IIcon getPrimaryIcon(IPattern pattern) { - if (pattern instanceof EnumPattern) { - return primary.get(((EnumPattern) pattern).ordinal()); - } - return null; - } + @Override + public IIcon getPrimaryIcon(IPattern pattern) { + if (pattern instanceof EnumPattern) { + return primary.get(((EnumPattern) pattern).ordinal()); + } + return null; + } - @Override - public IIcon getSecondaryIcon(IPattern pattern) { - if (pattern instanceof EnumPattern) { - return secondary.get(((EnumPattern) pattern).ordinal()); - } - return null; - } + @Override + public IIcon getSecondaryIcon(IPattern pattern) { + if (pattern instanceof EnumPattern) { + return secondary.get(((EnumPattern) pattern).ordinal()); + } + return null; + } - @Override - 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")); - } - } + @Override + 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")); + } + } - public AbstractMod getMod() { - return Botany.instance; - } + public AbstractMod getMod() { + return Botany.instance; + } - @Override - public ItemStack getAdhesive() { - return BotanyItems.Mortar.get(1); - } + @Override + public ItemStack getAdhesive() { + return BotanyItems.Mortar.get(1); + } - @Override - public IDesignMaterial getMaterial(ItemStack stack) { - return (stack.getItem() == Item.getItemFromBlock(Botany.ceramic)) ? getMaterial(stack.getItemDamage()) : null; - } + @Override + 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 5425441b..7563417c 100644 --- a/src/main/java/binnie/botany/ceramic/CeramicTileRecipe.java +++ b/src/main/java/binnie/botany/ceramic/CeramicTileRecipe.java @@ -1,71 +1,70 @@ package binnie.botany.ceramic; import binnie.botany.Botany; +import java.util.ArrayList; +import java.util.List; 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; -import java.util.ArrayList; -import java.util.List; - public class CeramicTileRecipe implements IRecipe { - protected ItemStack cached; + protected ItemStack cached; - @Override - public boolean matches(InventoryCrafting crafting, World world) { - cached = getCraftingResult(crafting); - return cached != null; - } + @Override + public boolean matches(InventoryCrafting crafting, World world) { + cached = getCraftingResult(crafting); + return cached != null; + } - @Override - 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; + @Override + 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) { - ItemStack stack = inv.getStackInSlot(i); - if (stack != null) { - int x = i / 3; - int y = i % 3; - if (ix == -1) { - ix = x; - iy = y; - } - if (x - ix >= 2 || y - iy >= 2 || y < iy || x < ix) { - return null; - } - - Item item = stack.getItem(); - if (item != ceramicBlock && item != ceramicTile && item != ceramicBrick && item != mortar) { - return null; - } - stacks.add(stack); - } - } + for (int i = 0; i < inv.getSizeInventory(); ++i) { + ItemStack stack = inv.getStackInSlot(i); + if (stack != null) { + int x = i / 3; + int y = i % 3; + if (ix == -1) { + ix = x; + iy = y; + } + if (x - ix >= 2 || y - iy >= 2 || y < iy || x < ix) { + return null; + } - for (BlockCeramicBrick.TileType type : BlockCeramicBrick.TileType.values()) { - ItemStack stack2 = type.getRecipe(stacks); - if (stack2 != null) { - return stack2; - } - } - return null; - } + Item item = stack.getItem(); + if (item != ceramicBlock && item != ceramicTile && item != ceramicBrick && item != mortar) { + return null; + } + stacks.add(stack); + } + } - @Override - public int getRecipeSize() { - return 2; - } + for (BlockCeramicBrick.TileType type : BlockCeramicBrick.TileType.values()) { + ItemStack stack2 = type.getRecipe(stacks); + if (stack2 != null) { + return stack2; + } + } + return null; + } - @Override - public ItemStack getRecipeOutput() { - return cached; - } + @Override + public int getRecipeSize() { + return 2; + } + + @Override + public ItemStack getRecipeOutput() { + return cached; + } } diff --git a/src/main/java/binnie/botany/ceramic/PigmentRecipe.java b/src/main/java/binnie/botany/ceramic/PigmentRecipe.java index 5161cf7a..26a3ef75 100644 --- a/src/main/java/binnie/botany/ceramic/PigmentRecipe.java +++ b/src/main/java/binnie/botany/ceramic/PigmentRecipe.java @@ -9,51 +9,54 @@ import net.minecraft.item.crafting.IRecipe; import net.minecraft.world.World; public class PigmentRecipe implements IRecipe { - protected ItemStack cached; + protected ItemStack cached; - private ItemStack unknown; + private ItemStack unknown; - public PigmentRecipe() { - unknown = null; - } + public PigmentRecipe() { + unknown = null; + } - @Override - public boolean matches(InventoryCrafting crafting, World world) { - return getCraftingResult(crafting) != null; - } + @Override + public boolean matches(InventoryCrafting crafting, World world) { + return getCraftingResult(crafting) != null; + } - @Override - public ItemStack getRecipeOutput() { - if (cached != null) { - return cached; - } - return unknown; - } + @Override + public ItemStack getRecipeOutput() { + if (cached != null) { + return cached; + } + return unknown; + } - @Override - public ItemStack getCraftingResult(InventoryCrafting crafting) { - int n = 0; - ItemStack stack = null; - for (int i = 0; i < crafting.getSizeInventory(); ++i) { - if (crafting.getStackInSlot(i) != null) { - if (++n > 1) { - return null; - } - if (!Binnie.Genetics.getFlowerRoot().isMember(crafting.getStackInSlot(i))) { - continue; - } + @Override + public ItemStack getCraftingResult(InventoryCrafting crafting) { + int n = 0; + ItemStack stack = null; + for (int i = 0; i < crafting.getSizeInventory(); ++i) { + if (crafting.getStackInSlot(i) != null) { + if (++n > 1) { + return null; + } + 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()); - } - } - } - return stack; - } + IFlower flower = Binnie.Genetics.getFlowerRoot().getMember(crafting.getStackInSlot(i)); + if (flower.getAge() >= 1) { + stack = new ItemStack( + Botany.pigment, + 1, + flower.getGenome().getPrimaryColor().getID()); + } + } + } + return stack; + } - @Override - public int getRecipeSize() { - return 1; - } + @Override + public int getRecipeSize() { + return 1; + } } diff --git a/src/main/java/binnie/botany/core/BotanyCore.java b/src/main/java/binnie/botany/core/BotanyCore.java index 15d7a560..da14f8aa 100644 --- a/src/main/java/binnie/botany/core/BotanyCore.java +++ b/src/main/java/binnie/botany/core/BotanyCore.java @@ -4,9 +4,9 @@ import binnie.botany.api.IFlowerRoot; import binnie.botany.genetics.FlowerHelper; public class BotanyCore { - public static IFlowerRoot speciesRoot = new FlowerHelper(); + public static IFlowerRoot speciesRoot = new FlowerHelper(); - public static IFlowerRoot getFlowerRoot() { - return BotanyCore.speciesRoot; - } + public static IFlowerRoot getFlowerRoot() { + return BotanyCore.speciesRoot; + } } diff --git a/src/main/java/binnie/botany/core/BotanyGUI.java b/src/main/java/binnie/botany/core/BotanyGUI.java index ae33c11c..f4a90a7a 100644 --- a/src/main/java/binnie/botany/core/BotanyGUI.java +++ b/src/main/java/binnie/botany/core/BotanyGUI.java @@ -8,19 +8,19 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; public enum BotanyGUI implements IBinnieGUID { - Database, - DatabaseNEI; + Database, + DatabaseNEI; - @Override - public Window getWindow(EntityPlayer player, World world, int x, int y, int z, Side side) { - Window window = null; - switch (this) { - case Database: - case DatabaseNEI: { - window = WindowBotanistDatabase.create(player, side, this != BotanyGUI.Database); - break; - } - } - return window; - } + @Override + public Window getWindow(EntityPlayer player, World world, int x, int y, int z, Side side) { + Window window = null; + switch (this) { + case Database: + case DatabaseNEI: { + window = WindowBotanistDatabase.create(player, side, this != BotanyGUI.Database); + break; + } + } + return window; + } } diff --git a/src/main/java/binnie/botany/core/ModuleCore.java b/src/main/java/binnie/botany/core/ModuleCore.java index 9498a1e7..e12c2ec0 100644 --- a/src/main/java/binnie/botany/core/ModuleCore.java +++ b/src/main/java/binnie/botany/core/ModuleCore.java @@ -3,18 +3,18 @@ package binnie.botany.core; import binnie.core.IInitializable; public class ModuleCore implements IInitializable { - @Override - public void preInit() { - // ignored - } + @Override + public void preInit() { + // ignored + } - @Override - public void init() { - // ignored - } + @Override + public void init() { + // ignored + } - @Override - public void postInit() { - // 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 index 62364f10..5ebbddf1 100644 --- a/src/main/java/binnie/botany/craftgui/ControlColorDisplay.java +++ b/src/main/java/binnie/botany/craftgui/ControlColorDisplay.java @@ -11,33 +11,33 @@ import binnie.core.craftgui.controls.core.IControlValue; import binnie.core.craftgui.geometry.IArea; public class ControlColorDisplay extends Control implements IControlValue, ITooltip { - private IFlowerColor value; + private IFlowerColor value; - public ControlColorDisplay(IWidget parent, float x, float y) { - super(parent, x, y, 16.0f, 16.0f); - addAttribute(WidgetAttribute.MOUSE_OVER); - } + public ControlColorDisplay(IWidget parent, float x, float y) { + super(parent, x, y, 16.0f, 16.0f); + addAttribute(WidgetAttribute.MOUSE_OVER); + } - @Override - public IFlowerColor getValue() { - return value; - } + @Override + public IFlowerColor getValue() { + return value; + } - @Override - public void setValue(IFlowerColor value) { - this.value = value; - } + @Override + public void setValue(IFlowerColor value) { + this.value = value; + } - @Override - public void onRenderBackground() { - IArea area = getArea(); - CraftGUI.render.solid(area, -1); - CraftGUI.render.solid(area.inset(1), 0xff000000 + getValue().getColor(false)); - } + @Override + public void onRenderBackground() { + IArea area = getArea(); + CraftGUI.render.solid(area, -1); + CraftGUI.render.solid(area.inset(1), 0xff000000 + getValue().getColor(false)); + } - @Override - public void getTooltip(Tooltip tooltip) { - super.getTooltip(tooltip); - tooltip.add(value.getName()); - } + @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 index b70a1c49..dab103f1 100644 --- a/src/main/java/binnie/botany/craftgui/ControlColorMixBox.java +++ b/src/main/java/binnie/botany/craftgui/ControlColorMixBox.java @@ -5,20 +5,20 @@ import binnie.core.craftgui.IWidget; import binnie.core.craftgui.controls.listbox.ControlListBox; public class ControlColorMixBox extends ControlListBox { - private Type type; + 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; - } + 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(getContent(), value, y); - } + @Override + public IWidget createOption(IColourMix value, int y) { + return new ControlColorMixItem(getContent(), value, y); + } - enum Type { - Resultant, - Further - } + enum Type { + Resultant, + Further + } } diff --git a/src/main/java/binnie/botany/craftgui/ControlColorMixItem.java b/src/main/java/binnie/botany/craftgui/ControlColorMixItem.java index ddbb07c4..26317c9c 100644 --- a/src/main/java/binnie/botany/craftgui/ControlColorMixItem.java +++ b/src/main/java/binnie/botany/craftgui/ControlColorMixItem.java @@ -5,26 +5,26 @@ import binnie.core.craftgui.controls.listbox.ControlList; import binnie.core.craftgui.controls.listbox.ControlOption; public class ControlColorMixItem extends ControlOption { - protected ControlColorDisplay itemWidget1; - protected ControlColorDisplay itemWidget2; - protected ControlColorDisplay itemWidget3; - protected ControlColourMixSymbol addSymbol; - protected ControlColourMixSymbol arrowSymbol; + protected ControlColorDisplay itemWidget1; + protected ControlColorDisplay itemWidget2; + protected ControlColorDisplay itemWidget3; + protected ControlColourMixSymbol addSymbol; + protected 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); + 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); - if (getValue() != null) { - itemWidget1.setValue(getValue().getColor1()); - itemWidget2.setValue(getValue().getColor2()); - itemWidget3.setValue(getValue().getResult()); - addSymbol.setValue(getValue()); - arrowSymbol.setValue(getValue()); - } - } + 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 index a71a1444..c46d5d4f 100644 --- a/src/main/java/binnie/botany/craftgui/ControlColorOption.java +++ b/src/main/java/binnie/botany/craftgui/ControlColorOption.java @@ -9,20 +9,21 @@ import binnie.core.craftgui.geometry.CraftGUIUtil; import binnie.core.craftgui.geometry.IPoint; public class ControlColorOption extends ControlTextOption { - protected ControlColorDisplay controlBee; - protected IPoint boxPosition; + protected ControlColorDisplay controlBee; + protected 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.MOUSE_OVER); - 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); - } + 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.MOUSE_OVER); + 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/ControlColourMixSymbol.java b/src/main/java/binnie/botany/craftgui/ControlColourMixSymbol.java index a7717dc6..1108139e 100644 --- a/src/main/java/binnie/botany/craftgui/ControlColourMixSymbol.java +++ b/src/main/java/binnie/botany/craftgui/ControlColourMixSymbol.java @@ -14,39 +14,39 @@ import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.core.util.I18N; public class ControlColourMixSymbol extends Control implements ITooltip { - protected static Texture MutationPlus = new StandardTexture(2, 94, 16, 16, CraftGUITextureSheet.Controls2); - protected static Texture MutationArrow = new StandardTexture(20, 94, 32, 16, CraftGUITextureSheet.Controls2); + protected static Texture MutationPlus = new StandardTexture(2, 94, 16, 16, CraftGUITextureSheet.Controls2); + protected static Texture MutationArrow = new StandardTexture(20, 94, 32, 16, CraftGUITextureSheet.Controls2); - protected IColourMix value; - protected int type; + protected IColourMix value; + protected int type; - protected ControlColourMixSymbol(IWidget parent, int x, int y, int type) { - super(parent, x, y, 16 + type * 16, 16.0f); - this.type = type; - value = null; - addAttribute(WidgetAttribute.MOUSE_OVER); - } + protected ControlColourMixSymbol(IWidget parent, int x, int y, int type) { + super(parent, x, y, 16 + type * 16, 16.0f); + this.type = type; + value = null; + addAttribute(WidgetAttribute.MOUSE_OVER); + } - @Override - public void onRenderBackground() { - super.onRenderBackground(); - if (type == 0) { - CraftGUI.render.texture(ControlColourMixSymbol.MutationPlus, IPoint.ZERO); - } else { - CraftGUI.render.texture(ControlColourMixSymbol.MutationArrow, IPoint.ZERO); - } - } + @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(0xffffff); - } + public void setValue(IColourMix value) { + this.value = value; + setColor(0xffffff); + } - @Override - public void getTooltip(Tooltip tooltip) { - if (type == 1) { - float chance = value.getChance(); - tooltip.add(I18N.localise("botany.gui.controls.colorMixSymbol.chance", chance)); - } - } + @Override + public void getTooltip(Tooltip tooltip) { + if (type == 1) { + float chance = value.getChance(); + tooltip.add(I18N.localise("botany.gui.controls.colorMixSymbol.chance", chance)); + } + } } diff --git a/src/main/java/binnie/botany/craftgui/PageColorMix.java b/src/main/java/binnie/botany/craftgui/PageColorMix.java index 7b568ba3..4792bbb2 100644 --- a/src/main/java/binnie/botany/craftgui/PageColorMix.java +++ b/src/main/java/binnie/botany/craftgui/PageColorMix.java @@ -9,28 +9,27 @@ import binnie.core.craftgui.controls.ControlTextCentered; import binnie.core.craftgui.database.DatabaseTab; import binnie.core.craftgui.database.PageAbstract; import binnie.core.util.I18N; - import java.util.ArrayList; import java.util.List; public class PageColorMix extends PageAbstract { - ControlText title; - ControlColorMixBox list; + ControlText title; + ControlColorMixBox list; - public PageColorMix(IWidget parent, DatabaseTab tab) { - super(parent, tab); - title = new ControlTextCentered(this, 8.0f, I18N.localise("botany.gui.controls.pageColorFurtherTitle")); - list = new ControlColorMixBox(this, 4, 20, 136, 152, ControlColorMixBox.Type.Further); - } + public PageColorMix(IWidget parent, DatabaseTab tab) { + super(parent, tab); + title = new ControlTextCentered(this, 8.0f, I18N.localise("botany.gui.controls.pageColorFurtherTitle")); + list = new ControlColorMixBox(this, 4, 20, 136, 152, ControlColorMixBox.Type.Further); + } - @Override - 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); - } - } - list.setOptions(mixes); - } + @Override + 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); + } + } + list.setOptions(mixes); + } } diff --git a/src/main/java/binnie/botany/craftgui/PageColorMixResultant.java b/src/main/java/binnie/botany/craftgui/PageColorMixResultant.java index 3ad906e6..3d5970aa 100644 --- a/src/main/java/binnie/botany/craftgui/PageColorMixResultant.java +++ b/src/main/java/binnie/botany/craftgui/PageColorMixResultant.java @@ -9,28 +9,27 @@ import binnie.core.craftgui.controls.ControlTextCentered; import binnie.core.craftgui.database.DatabaseTab; import binnie.core.craftgui.database.PageAbstract; import binnie.core.util.I18N; - import java.util.ArrayList; import java.util.List; public class PageColorMixResultant extends PageAbstract { - protected ControlText title; - protected ControlColorMixBox list; + protected ControlText title; + protected ControlColorMixBox list; - public PageColorMixResultant(IWidget parent, DatabaseTab tab) { - super(parent, tab); - title = new ControlTextCentered(this, 8.0f, I18N.localise("botany.gui.controls.pageSpeciesFurtherTitle")); - list = new ControlColorMixBox(this, 4, 20, 136, 152, ControlColorMixBox.Type.Resultant); - } + public PageColorMixResultant(IWidget parent, DatabaseTab tab) { + super(parent, tab); + title = new ControlTextCentered(this, 8.0f, I18N.localise("botany.gui.controls.pageSpeciesFurtherTitle")); + list = 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); - } - } - list.setOptions(mixes); - } + @Override + public void onValueChanged(IFlowerColor color) { + List mixes = new ArrayList<>(); + for (IColourMix mix : BotanyCore.getFlowerRoot().getColourMixes(false)) { + if (mix.getResult() == color) { + mixes.add(mix); + } + } + list.setOptions(mixes); + } } diff --git a/src/main/java/binnie/botany/craftgui/PageSpeciesFlowerGenome.java b/src/main/java/binnie/botany/craftgui/PageSpeciesFlowerGenome.java index 5074b89a..a880f197 100644 --- a/src/main/java/binnie/botany/craftgui/PageSpeciesFlowerGenome.java +++ b/src/main/java/binnie/botany/craftgui/PageSpeciesFlowerGenome.java @@ -25,84 +25,137 @@ import forestry.api.genetics.IIndividual; import net.minecraft.item.ItemStack; public class PageSpeciesFlowerGenome extends PageSpecies { - public PageSpeciesFlowerGenome(IWidget parent, DatabaseTab tab) { - super(parent, tab); - } + public PageSpeciesFlowerGenome(IWidget parent, DatabaseTab tab) { + super(parent, tab); + } - @Override - public void onValueChanged(IAlleleSpecies species) { - deleteAllChildren(); - IAllele[] template = Binnie.Genetics.getFlowerRoot().getTemplate(species.getUID()); - if (template == null) { - return; - } + @Override + public void onValueChanged(IAlleleSpecies species) { + deleteAllChildren(); + IAllele[] template = Binnie.Genetics.getFlowerRoot().getTemplate(species.getUID()); + if (template == null) { + return; + } - IFlower tree = Binnie.Genetics.getFlowerRoot().templateAsIndividual(template); - if (tree == null) { - return; - } + IFlower tree = Binnie.Genetics.getFlowerRoot().templateAsIndividual(template); + if (tree == null) { + return; + } - IFlowerGenome genome = tree.getGenome(); - IAlleleFlowerSpecies treeSpecies = genome.getPrimary(); - int w = 144; - 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), I18N.localise("botany.gui.database.tab.genome"), TextJustification.MIDDLE_CENTER); - 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); + new ControlText( + this, + new IArea(0.0f, 4.0f, w, 16.0f), + I18N.localise("botany.gui.database.tab.genome"), + TextJustification.MIDDLE_CENTER); + 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; - int th = 14; - int valueX = w2 + 4; - new ControlText(contents, new IArea(0.0f, y, w2, th), I18N.localise("botany.gui.database.tab.genome.temp"), TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(valueX, y, w3, th), AlleleHelper.toDisplay(treeSpecies.getTemperature()), TextJustification.MIDDLE_LEFT); - y += th; + int tw = w - 8 - 12; + int w2 = 55; + int w3 = tw - 50; + int y = 0; + int th = 14; + int valueX = w2 + 4; + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + I18N.localise("botany.gui.database.tab.genome.temp"), + TextJustification.MIDDLE_RIGHT); + new ControlText( + contents, + new IArea(valueX, y, w3, th), + AlleleHelper.toDisplay(treeSpecies.getTemperature()), + TextJustification.MIDDLE_LEFT); + y += th; - new ControlText(contents, new IArea(0.0f, y, w2, th), I18N.localise("botany.gui.database.tab.genome.moist"), TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(valueX, y, w3, th), AlleleHelper.toDisplay(treeSpecies.getMoisture()), TextJustification.MIDDLE_LEFT); - y += th; + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + I18N.localise("botany.gui.database.tab.genome.moist"), + TextJustification.MIDDLE_RIGHT); + new ControlText( + contents, + new IArea(valueX, y, w3, th), + AlleleHelper.toDisplay(treeSpecies.getMoisture()), + TextJustification.MIDDLE_LEFT); + y += th; - new ControlText(contents, new IArea(0.0f, y, w2, th), I18N.localise("botany.gui.database.tab.genome.ph"), TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(valueX, y, w3, th), AlleleHelper.toDisplay(treeSpecies.getPH()), TextJustification.MIDDLE_LEFT); - y += th; + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + I18N.localise("botany.gui.database.tab.genome.ph"), + TextJustification.MIDDLE_RIGHT); + new ControlText( + contents, + new IArea(valueX, y, w3, th), + AlleleHelper.toDisplay(treeSpecies.getPH()), + TextJustification.MIDDLE_LEFT); + y += th; - new ControlText(contents, new IArea(0.0f, y, w2, th), I18N.localise("botany.gui.database.tab.genome.fertility"), TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(valueX, y, w3, th), genome.getFertility() + "x", TextJustification.MIDDLE_LEFT); - y += th; + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + I18N.localise("botany.gui.database.tab.genome.fertility"), + TextJustification.MIDDLE_RIGHT); + new ControlText( + contents, new IArea(valueX, y, w3, th), genome.getFertility() + "x", TextJustification.MIDDLE_LEFT); + y += th; - float lifespan = genome.getLifespan() * 68.27f / genome.getAgeChance() / 24000.0f; - String lifespanValue = String.format("%.2f", lifespan); - new ControlText(contents, new IArea(0.0f, y, w2, th), I18N.localise("botany.gui.database.tab.genome.lifespan"), TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(valueX, y, w3, th), I18N.localise("botany.gui.database.tab.genome.lifespan.value", lifespanValue), TextJustification.MIDDLE_LEFT); - y += th; + float lifespan = genome.getLifespan() * 68.27f / genome.getAgeChance() / 24000.0f; + String lifespanValue = String.format("%.2f", lifespan); + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + I18N.localise("botany.gui.database.tab.genome.lifespan"), + TextJustification.MIDDLE_RIGHT); + new ControlText( + contents, + new IArea(valueX, y, w3, th), + I18N.localise("botany.gui.database.tab.genome.lifespan.value", lifespanValue), + TextJustification.MIDDLE_LEFT); + y += th; - new ControlText(contents, new IArea(0.0f, y, w2, th), I18N.localise("botany.gui.database.tab.genome.nectar"), TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(valueX, y, w3, th), genome.getActiveAllele(EnumFlowerChromosome.SAPPINESS).getName(), TextJustification.MIDDLE_LEFT); - y += th; + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + I18N.localise("botany.gui.database.tab.genome.nectar"), + TextJustification.MIDDLE_RIGHT); + new ControlText( + contents, + new IArea(valueX, y, w3, th), + genome.getActiveAllele(EnumFlowerChromosome.SAPPINESS).getName(), + TextJustification.MIDDLE_LEFT); + y += th; - int x = w2; - int tot = 0; - for (IIndividual vid : BotanyCore.getFlowerRoot().getIndividualTemplates()) { - if (vid.getGenome().getPrimary() == treeSpecies) { - if (tot > 0 && tot % 3 == 0) { - x -= 54; - y += 18; - } - ItemStack stack = BotanyCore.getFlowerRoot().getMemberStack(vid, EnumFlowerStage.FLOWER.ordinal()); - ControlItemDisplay display = new ControlItemDisplay(contents, x, y); - display.setItemStack(stack); - tot++; - x += 18; - } - } + int x = w2; + int tot = 0; + for (IIndividual vid : BotanyCore.getFlowerRoot().getIndividualTemplates()) { + if (vid.getGenome().getPrimary() == treeSpecies) { + if (tot > 0 && tot % 3 == 0) { + x -= 54; + y += 18; + } + ItemStack stack = BotanyCore.getFlowerRoot().getMemberStack(vid, EnumFlowerStage.FLOWER.ordinal()); + ControlItemDisplay display = new ControlItemDisplay(contents, x, y); + display.setItemStack(stack); + tot++; + x += 18; + } + } - int numOfLines = 1 + (tot - 1) / 3; - new ControlText(contents, new IArea(0.0f, y - (numOfLines - 1) * 18, w2, 4 + 18 * numOfLines), I18N.localise("botany.gui.database.tab.genome.varieties"), TextJustification.MIDDLE_RIGHT); - y += th; - contents.setSize(new IPoint(contents.size().x(), y)); - scrollable.setScrollableContent(contents); - } + int numOfLines = 1 + (tot - 1) / 3; + new ControlText( + contents, + new IArea(0.0f, y - (numOfLines - 1) * 18, w2, 4 + 18 * numOfLines), + I18N.localise("botany.gui.database.tab.genome.varieties"), + TextJustification.MIDDLE_RIGHT); + y += th; + contents.setSize(new IPoint(contents.size().x(), y)); + scrollable.setScrollableContent(contents); + } } diff --git a/src/main/java/binnie/botany/craftgui/WindowBotanistDatabase.java b/src/main/java/binnie/botany/craftgui/WindowBotanistDatabase.java index a698a01c..599dad1b 100644 --- a/src/main/java/binnie/botany/craftgui/WindowBotanistDatabase.java +++ b/src/main/java/binnie/botany/craftgui/WindowBotanistDatabase.java @@ -21,71 +21,71 @@ import binnie.core.craftgui.geometry.IArea; import binnie.core.craftgui.minecraft.Window; import binnie.core.util.I18N; import cpw.mods.fml.relauncher.Side; -import net.minecraft.entity.player.EntityPlayer; - import java.util.ArrayList; import java.util.Collections; import java.util.List; +import net.minecraft.entity.player.EntityPlayer; public class WindowBotanistDatabase extends WindowAbstractDatabase { - public WindowBotanistDatabase(EntityPlayer player, Side side, boolean nei) { - super(player, side, nei, Binnie.Genetics.flowerBreedingSystem, 130.0f); - } + public WindowBotanistDatabase(EntityPlayer player, Side side, boolean nei) { + super(player, side, nei, Binnie.Genetics.flowerBreedingSystem, 130.0f); + } - public static Window create(EntityPlayer player, Side side, boolean nei) { - return new WindowBotanistDatabase(player, side, nei); - } + public static Window create(EntityPlayer player, Side side, boolean nei) { + return new WindowBotanistDatabase(player, side, nei); + } - @Override - protected void addTabs() { - new PageSpeciesOverview(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.overview")); - new PageSpeciesFlowerGenome(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "genome")); - new PageSpeciesClassification(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.classification")); - new PageSpeciesResultant(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.resultant")); - new PageSpeciesMutations(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.further")); - new PageBranchOverview(getInfoPages(Mode.Branches), new DatabaseTab(Botany.instance, "branches.overview")); - new PageBranchSpecies(getInfoPages(Mode.Branches), new DatabaseTab(Botany.instance, "branches.species")); - createMode(FlowerMode.COLOR, new ColorModeWidget()); - new PageColorMixResultant(getInfoPages(FlowerMode.COLOR), new DatabaseTab(Botany.instance, "colour.resultant")); - new PageColorMix(getInfoPages(FlowerMode.COLOR), new DatabaseTab(Botany.instance, "colour.further")); - new PageBreeder(getInfoPages(Mode.Breeder), getUsername(), new DatabaseTab(Botany.instance, "breeder")); - } + @Override + protected void addTabs() { + new PageSpeciesOverview(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.overview")); + new PageSpeciesFlowerGenome(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "genome")); + new PageSpeciesClassification( + getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.classification")); + new PageSpeciesResultant(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.resultant")); + new PageSpeciesMutations(getInfoPages(Mode.Species), new DatabaseTab(Botany.instance, "species.further")); + new PageBranchOverview(getInfoPages(Mode.Branches), new DatabaseTab(Botany.instance, "branches.overview")); + new PageBranchSpecies(getInfoPages(Mode.Branches), new DatabaseTab(Botany.instance, "branches.species")); + createMode(FlowerMode.COLOR, new ColorModeWidget()); + new PageColorMixResultant(getInfoPages(FlowerMode.COLOR), new DatabaseTab(Botany.instance, "colour.resultant")); + new PageColorMix(getInfoPages(FlowerMode.COLOR), new DatabaseTab(Botany.instance, "colour.further")); + new PageBreeder(getInfoPages(Mode.Breeder), getUsername(), new DatabaseTab(Botany.instance, "breeder")); + } - @Override - protected AbstractMod getMod() { - return Botany.instance; - } + @Override + protected AbstractMod getMod() { + return Botany.instance; + } - @Override - protected String getName() { - return I18N.localise("botany.gui.database.name"); - } + @Override + protected String getName() { + return I18N.localise("botany.gui.database.name"); + } - enum FlowerMode implements IDatabaseMode { - COLOR; + enum FlowerMode implements IDatabaseMode { + COLOR; - @Override - public String getName() { - return I18N.localise("botany.gui.database.tab." + name().toLowerCase()); - } - } + @Override + public String getName() { + return I18N.localise("botany.gui.database.tab." + name().toLowerCase()); + } + } - private class ColorModeWidget extends ModeWidgets { - public ColorModeWidget() { - super(FlowerMode.COLOR, WindowBotanistDatabase.this); - } + private class ColorModeWidget extends ModeWidgets { + public ColorModeWidget() { + super(FlowerMode.COLOR, WindowBotanistDatabase.this); + } - @Override - public void createListBox(IArea area) { - listBox = new ControlListBox(modePage, area.x(), area.y(), area.w(), area.h(), 12.0f) { - @Override - public IWidget createOption(IFlowerColor value, int y) { - return new ControlColorOption(getContent(), value, y); - } - }; - List colors = new ArrayList<>(); - Collections.addAll(colors, EnumFlowerColor.values()); - listBox.setOptions(colors); - } - } + @Override + public void createListBox(IArea area) { + listBox = new ControlListBox(modePage, area.x(), area.y(), area.w(), area.h(), 12.0f) { + @Override + public IWidget createOption(IFlowerColor value, int y) { + return new ControlColorOption(getContent(), value, y); + } + }; + List colors = new ArrayList<>(); + Collections.addAll(colors, EnumFlowerColor.values()); + listBox.setOptions(colors); + } + } } diff --git a/src/main/java/binnie/botany/farm/CircuitGarden.java b/src/main/java/binnie/botany/farm/CircuitGarden.java index 6a1af376..57e78580 100644 --- a/src/main/java/binnie/botany/farm/CircuitGarden.java +++ b/src/main/java/binnie/botany/farm/CircuitGarden.java @@ -11,97 +11,100 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; public class CircuitGarden extends BinnieCircuit { - private boolean isManual; - private boolean isFertilised; - private ItemStack icon; - private EnumMoisture moisture; - private EnumAcidity acidity; + private boolean isManual; + private boolean isFertilised; + private ItemStack icon; + private EnumMoisture moisture; + private EnumAcidity acidity; - 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.moisture = moisture; - this.icon = icon; - isManual = manual; - isFertilised = fertilised; - acidity = ph; - String info = ""; + 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.moisture = moisture; + this.icon = icon; + isManual = manual; + isFertilised = fertilised; + acidity = ph; + String info = ""; - if (moisture == EnumMoisture.DRY) { - info += EnumChatFormatting.YELLOW - + I18N.localise("botany.moisture.dry") - + EnumChatFormatting.RESET; - } + if (moisture == EnumMoisture.DRY) { + info += EnumChatFormatting.YELLOW + I18N.localise("botany.moisture.dry") + EnumChatFormatting.RESET; + } - if (moisture == EnumMoisture.DAMP) { - info += EnumChatFormatting.YELLOW - + I18N.localise("botany.moisture.damp") - + EnumChatFormatting.RESET; - } + if (moisture == EnumMoisture.DAMP) { + info += EnumChatFormatting.YELLOW + I18N.localise("botany.moisture.damp") + EnumChatFormatting.RESET; + } - if (acidity == EnumAcidity.ACID) { - if (info.length() > 0) { - info += ", "; - } - info += EnumChatFormatting.RED - + I18N.localise("botany.ph.acid") - + EnumChatFormatting.RESET; - } + if (acidity == EnumAcidity.ACID) { + if (info.length() > 0) { + info += ", "; + } + info += EnumChatFormatting.RED + I18N.localise("botany.ph.acid") + EnumChatFormatting.RESET; + } - if (acidity == EnumAcidity.NEUTRAL) { - if (info.length() > 0) { - info += ", "; - } - info += EnumChatFormatting.GREEN - + I18N.localise("botany.ph.neutral") - + EnumChatFormatting.RESET; - } + if (acidity == EnumAcidity.NEUTRAL) { + if (info.length() > 0) { + info += ", "; + } + info += EnumChatFormatting.GREEN + I18N.localise("botany.ph.neutral") + EnumChatFormatting.RESET; + } - if (acidity == EnumAcidity.ALKALINE) { - if (info.length() > 0) { - info += ", "; - } - info += EnumChatFormatting.AQUA - + I18N.localise("botany.ph.alkaline") - + EnumChatFormatting.RESET; - } + if (acidity == EnumAcidity.ALKALINE) { + if (info.length() > 0) { + info += ", "; + } + info += EnumChatFormatting.AQUA + I18N.localise("botany.ph.alkaline") + EnumChatFormatting.RESET; + } - if (info.length() > 0) { - info = " (" + info + EnumChatFormatting.RESET + ")"; - } - addTooltipString(I18N.localise("botany.circuit.flowers") + info); - } + if (info.length() > 0) { + info = " (" + info + EnumChatFormatting.RESET + ")"; + } + addTooltipString(I18N.localise("botany.circuit.flowers") + info); + } - @Override - public boolean isCircuitable(Object tile) { - return tile instanceof IFarmHousing; - } + @Override + public boolean isCircuitable(Object tile) { + return tile instanceof IFarmHousing; + } - @Override - public void onInsertion(int slot, Object tile) { - if (!isCircuitable(tile)) { - return; - } + @Override + public void onInsertion(int slot, Object tile) { + if (!isCircuitable(tile)) { + return; + } - GardenLogic logic = new GardenLogic((IFarmHousing) tile); - logic.setData(moisture, acidity, isManual, isFertilised, icon, I18N.localise(getName())); - ((IFarmHousing) tile).setFarmLogic(FarmDirection.values()[slot], logic); - } + GardenLogic logic = new GardenLogic((IFarmHousing) tile); + logic.setData(moisture, acidity, isManual, isFertilised, icon, I18N.localise(getName())); + ((IFarmHousing) tile).setFarmLogic(FarmDirection.values()[slot], logic); + } - @Override - public void onLoad(int slot, Object tile) { - onInsertion(slot, tile); - } + @Override + public void onLoad(int slot, Object tile) { + onInsertion(slot, tile); + } - @Override - public void onRemoval(int slot, Object tile) { - if (!isCircuitable(tile)) { - return; - } - ((IFarmHousing) tile).resetFarmLogic(FarmDirection.values()[slot]); - } + @Override + public void onRemoval(int slot, Object tile) { + if (!isCircuitable(tile)) { + return; + } + ((IFarmHousing) tile).resetFarmLogic(FarmDirection.values()[slot]); + } - @Override - public void onTick(int arg0, Object arg1) { - // ignored - } + @Override + public void onTick(int arg0, Object arg1) { + // ignored + } } diff --git a/src/main/java/binnie/botany/farm/FarmLogic.java b/src/main/java/binnie/botany/farm/FarmLogic.java index 7f6ad0b8..40d91283 100644 --- a/src/main/java/binnie/botany/farm/FarmLogic.java +++ b/src/main/java/binnie/botany/farm/FarmLogic.java @@ -10,49 +10,48 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; public abstract class FarmLogic implements IFarmLogic { - protected World world; - protected IFarmHousing housing; - protected boolean isManual; + protected World world; + protected IFarmHousing housing; + protected boolean isManual; - public FarmLogic(IFarmHousing housing) { - this.housing = housing; - } + public FarmLogic(IFarmHousing housing) { + this.housing = housing; + } - @Override - public IFarmLogic setManual(boolean flag) { - isManual = flag; - return this; - } + @Override + public IFarmLogic setManual(boolean flag) { + isManual = flag; + return this; + } - protected boolean isAirBlock(Vect position) { - return world.isAirBlock(position.x, position.y, position.z); - } + protected boolean isAirBlock(Vect position) { + return world.isAirBlock(position.x, position.y, position.z); + } - protected boolean isWaterBlock(Vect position) { - return 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 Block getBlock(Vect position) { - return world.getBlock(position.x, position.y, position.z); - } + protected Block getBlock(Vect position) { + return world.getBlock(position.x, position.y, position.z); + } - protected int getBlockMeta(Vect position) { - return world.getBlockMetadata(position.x, position.y, position.z); - } + protected int getBlockMeta(Vect position) { + return world.getBlockMetadata(position.x, position.y, position.z); + } - protected ItemStack getAsItemStack(Vect position) { - return new ItemStack(getBlock(position), 1, getBlockMeta(position)); - } + protected ItemStack getAsItemStack(Vect position) { + return new ItemStack(getBlock(position), 1, getBlockMeta(position)); + } - 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 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 void setBlock(Vect position, Block block, int meta) { - 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 0bd36d2a..902dc697 100644 --- a/src/main/java/binnie/botany/farm/FarmableFlower.java +++ b/src/main/java/binnie/botany/farm/FarmableFlower.java @@ -12,31 +12,31 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class FarmableFlower implements IFarmable { - @Override - public boolean isSaplingAt(World world, int x, int y, int z) { - return world.getBlock(x, y, z) == Botany.flower; - } + @Override + public boolean isSaplingAt(World world, int x, int y, int z) { + return world.getBlock(x, y, z) == Botany.flower; + } - @Override - public ICrop getCropAt(World world, int x, int y, int z) { - return null; - } + @Override + public ICrop getCropAt(World world, int x, int y, int z) { + return null; + } - @Override - public boolean isGermling(ItemStack itemstack) { - EnumFlowerStage stage = BotanyCore.speciesRoot.getStageType(itemstack); - return stage == EnumFlowerStage.FLOWER || stage == EnumFlowerStage.SEED; - } + @Override + public boolean isGermling(ItemStack itemstack) { + EnumFlowerStage stage = BotanyCore.speciesRoot.getStageType(itemstack); + return stage == EnumFlowerStage.FLOWER || stage == EnumFlowerStage.SEED; + } - @Override - public boolean isWindfall(ItemStack itemstack) { - return false; - } + @Override + public boolean isWindfall(ItemStack itemstack) { + return false; + } - @Override - 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; - } + @Override + 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 b72f3ef5..89d09e43 100644 --- a/src/main/java/binnie/botany/farm/FarmableVanillaFlower.java +++ b/src/main/java/binnie/botany/farm/FarmableVanillaFlower.java @@ -8,14 +8,14 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class FarmableVanillaFlower extends FarmableFlower { - @Override - public boolean isGermling(ItemStack itemstack) { - return BotanyCore.getFlowerRoot().getConversion(itemstack) != null; - } + @Override + public boolean isGermling(ItemStack itemstack) { + return BotanyCore.getFlowerRoot().getConversion(itemstack) != null; + } - @Override - 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()); - } + @Override + 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 fbd62b9e..403eb91f 100644 --- a/src/main/java/binnie/botany/farm/GardenLogic.java +++ b/src/main/java/binnie/botany/farm/GardenLogic.java @@ -17,6 +17,9 @@ import forestry.api.farming.IFarmHousing; import forestry.api.farming.IFarmable; import forestry.core.access.IOwnable; import forestry.core.utils.vect.Vect; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.init.Blocks; @@ -28,380 +31,389 @@ 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; + protected EnumMoisture moisture; + protected EnumAcidity acidity; + protected boolean fertilised; + protected String name; + protected ArrayList produce; + protected List farmables; - private ItemStack icon; + private ItemStack icon; - public GardenLogic(IFarmHousing housing) { - super(housing); - produce = new ArrayList<>(); - farmables = new ArrayList<>(); - farmables.add(new FarmableFlower()); - farmables.add(new FarmableVanillaFlower()); - } + public GardenLogic(IFarmHousing housing) { + super(housing); + produce = new ArrayList<>(); + farmables = new ArrayList<>(); + farmables.add(new FarmableFlower()); + farmables.add(new FarmableVanillaFlower()); + } - @Override - public int getFertilizerConsumption() { - return fertilised ? 8 : 2; - } + @Override + public int getFertilizerConsumption() { + return fertilised ? 8 : 2; + } - @Override - public int getWaterConsumption(float hydrationModifier) { - return (int) (moisture.ordinal() * 40 * hydrationModifier); - } + @Override + public int getWaterConsumption(float hydrationModifier) { + return (int) (moisture.ordinal() * 40 * hydrationModifier); + } - @Override - 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 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() { - Collection products = produce; - produce = new ArrayList<>(); - return products; - } + @Override + public Collection collect() { + Collection products = produce; + produce = new ArrayList<>(); + return products; + } - @Override - 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); - } + @Override + 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(ItemStack stack) { - return stack.getItem() == Item.getItemFromBlock(Blocks.dirt); - } + private boolean isWaste(ItemStack stack) { + return stack.getItem() == Item.getItemFromBlock(Blocks.dirt); + } - private boolean maintainSoil(int x, int y, int z, FarmDirection direction, int extent) { - for (int i = 0; i < extent; ++i) { - Vect position = translateWithOffset(x, y, z, direction, i); - boolean isSoil = Gardening.isSoil(world.getBlock(position.x, position.y, position.z)); - - // remove unnecessary blocks - if (!isManual && !isSoil && !isAirBlock(position)) { - Block block = world.getBlock(position.x, position.y, position.z); - if (moisture == EnumMoisture.DAMP) { - if (block != Blocks.water) { - dropBlockAsProduction(position); - } - } else if (moisture == EnumMoisture.DRY) { - if (block != Blocks.sand) { - dropBlockAsProduction(position); - } - } else { - dropBlockAsProduction(position); - } - } + private boolean maintainSoil(int x, int y, int z, FarmDirection direction, int extent) { + for (int i = 0; i < extent; ++i) { + Vect position = translateWithOffset(x, y, z, direction, i); + boolean isSoil = Gardening.isSoil(world.getBlock(position.x, position.y, position.z)); - if (fertilised && isSoil) { - IBlockSoil soil = (IBlockSoil) world.getBlock(position.x, position.y, position.z); - if (soil.fertilise(world, position.x, position.y, position.z, EnumSoilType.FLOWERBED)) { - continue; - } - } + // remove unnecessary blocks + if (!isManual && !isSoil && !isAirBlock(position)) { + Block block = world.getBlock(position.x, position.y, position.z); + if (moisture == EnumMoisture.DAMP) { + if (block != Blocks.water) { + dropBlockAsProduction(position); + } + } else if (moisture == EnumMoisture.DRY) { + if (block != Blocks.sand) { + dropBlockAsProduction(position); + } + } else { + dropBlockAsProduction(position); + } + } - if (world.getBlock(position.x, position.y + 1, position.z) == Botany.plant) { - world.setBlockToAir(position.x, position.y + 1, position.z); - continue; - } + if (fertilised && isSoil) { + 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 (acidity != null && isSoil) { - 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 (world.getBlock(position.x, position.y + 1, position.z) == Botany.plant) { + world.setBlockToAir(position.x, position.y + 1, position.z); + continue; + } - 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 (acidity != null && isSoil) { + 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 (!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 (!isManual) { - if (!isWaterBlock(position)) { - if (i % 2 == 0) { - return trySetSoil(position); - } + 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; + } + } + } - FarmDirection cclock = FarmDirection.EAST; - if (direction == FarmDirection.EAST) { - cclock = FarmDirection.SOUTH; - } else if (direction == FarmDirection.SOUTH) { - cclock = FarmDirection.EAST; - } else if (direction == FarmDirection.WEST) { - cclock = FarmDirection.SOUTH; - } + 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 (!isManual) { + if (!isWaterBlock(position)) { + if (i % 2 == 0) { + return trySetSoil(position); + } - Vect previous = translateWithOffset(position.x, position.y, position.z, cclock, 1); - ItemStack soil2 = getAsItemStack(previous); - if (!Gardening.isSoil(soil2.getItem())) { - trySetSoil(position); - } - } - } - } - return false; - } + FarmDirection cclock = FarmDirection.EAST; + if (direction == FarmDirection.EAST) { + cclock = FarmDirection.SOUTH; + } else if (direction == FarmDirection.SOUTH) { + cclock = FarmDirection.EAST; + } else if (direction == FarmDirection.WEST) { + cclock = FarmDirection.SOUTH; + } - private boolean maintainWater(int x, int y, int z, FarmDirection direction, int extent) { - for (int i = 0; i < extent; ++i) { - Vect position = translateWithOffset(x, y, z, direction, i); - if (!isAirBlock(position) && !world.getBlock(x, y, z).isReplaceable(world, position.x, position.y, position.z)) { - continue; - } + Vect previous = translateWithOffset(position.x, position.y, position.z, cclock, 1); + ItemStack soil2 = getAsItemStack(previous); + if (!Gardening.isSoil(soil2.getItem())) { + trySetSoil(position); + } + } + } + } + return false; + } - if (isWaterBlock(position)) { - continue; - } + private boolean maintainWater(int x, int y, int z, FarmDirection direction, int extent) { + for (int i = 0; i < extent; ++i) { + Vect position = translateWithOffset(x, y, z, direction, i); + if (!isAirBlock(position) + && !world.getBlock(x, y, z).isReplaceable(world, position.x, position.y, position.z)) { + 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; - } + if (isWaterBlock(position)) { + continue; + } - isEnclosed = (isEnclosed || moisture != EnumMoisture.DAMP); - if (isEnclosed) { - return trySetWater(position); - } - } - return false; - } + 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; + } - private ItemStack getAvailableLoam() { - EnumMoisture[] moistures; - 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 - }; - } + isEnclosed = (isEnclosed || moisture != EnumMoisture.DAMP); + if (isEnclosed) { + return trySetWater(position); + } + } + return false; + } - EnumAcidity[] acidities = { - EnumAcidity.NEUTRAL, - EnumAcidity.ACID, - EnumAcidity.ALKALINE - }; + private ItemStack getAvailableLoam() { + EnumMoisture[] moistures; + 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}; + } - 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]; - } - } - } - } + EnumAcidity[] acidities = {EnumAcidity.NEUTRAL, EnumAcidity.ACID, EnumAcidity.ALKALINE}; - if (housing.getFarmInventory().hasResources(new ItemStack[]{new ItemStack(Blocks.dirt)})) { - return new ItemStack(Blocks.dirt); - } - return null; - } + 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]; + } + } + } + } - private boolean trySetSoil(Vect position) { - return trySetSoil(position, getAvailableLoam()); - } + if (housing.getFarmInventory().hasResources(new ItemStack[] {new ItemStack(Blocks.dirt)})) { + return new ItemStack(Blocks.dirt); + } + return null; + } - private boolean trySetSoil(Vect position, ItemStack loam) { - ItemStack copy = loam; - if (loam == null) { - return false; - } + private boolean trySetSoil(Vect position) { + return trySetSoil(position, getAvailableLoam()); + } - if (loam.getItem() == Item.getItemFromBlock(Blocks.dirt)) { - loam = new ItemStack(Botany.soil, 0, 4); - } + private boolean trySetSoil(Vect position, ItemStack loam) { + ItemStack copy = loam; + if (loam == null) { + return false; + } - setBlock(position, ((ItemBlock) loam.getItem()).field_150939_a, loam.getItemDamage()); - housing.getFarmInventory().removeResources(new ItemStack[]{copy}); - return true; - } + if (loam.getItem() == Item.getItemFromBlock(Blocks.dirt)) { + loam = new ItemStack(Botany.soil, 0, 4); + } - private boolean trySetWater(Vect position) { - FluidStack water = Binnie.Liquid.getLiquidStack("water", 1000); - if (moisture == EnumMoisture.DAMP) { - if (!housing.hasLiquid(water)) { - return false; - } + setBlock(position, ((ItemBlock) loam.getItem()).field_150939_a, loam.getItemDamage()); + housing.getFarmInventory().removeResources(new ItemStack[] {copy}); + return true; + } - setBlock(position, Blocks.water, 0); - housing.removeLiquid(water); - return true; - } + private boolean trySetWater(Vect position) { + FluidStack water = Binnie.Liquid.getLiquidStack("water", 1000); + if (moisture == EnumMoisture.DAMP) { + if (!housing.hasLiquid(water)) { + return false; + } - if (moisture != EnumMoisture.DRY) { - return trySetSoil(position); - } + setBlock(position, Blocks.water, 0); + housing.removeLiquid(water); + return true; + } - ItemStack[] sand = {new ItemStack(Blocks.sand, 1)}; - if (!housing.getFarmInventory().hasResources(sand)) { - return false; - } + if (moisture != EnumMoisture.DRY) { + return trySetSoil(position); + } - setBlock(position, Blocks.sand, 0); - housing.getFarmInventory().removeResources(sand); - return true; - } + ItemStack[] sand = {new ItemStack(Blocks.sand, 1)}; + if (!housing.getFarmInventory().hasResources(sand)) { + return false; + } - private void dropBlockAsProduction(Vect position) { - ItemStack stack = new ItemStack(world.getBlock(position.x, position.y, position.z)); - if (stack.getItem() == null) { - return; - } - produce.add(stack); - world.setBlockToAir(position.x, position.y, position.z); - } + setBlock(position, Blocks.sand, 0); + housing.getFarmInventory().removeResources(sand); + return true; + } - @Override - public boolean isAcceptedGermling(ItemStack stack) { - for (IFarmable farmable : farmables) { - if (farmable.isGermling(stack)) { - return true; - } - } - return false; - } + private void dropBlockAsProduction(Vect position) { + ItemStack stack = new ItemStack(world.getBlock(position.x, position.y, position.z)); + if (stack.getItem() == null) { + return; + } + produce.add(stack); + world.setBlockToAir(position.x, position.y, position.z); + } - @Override - public Collection harvest(int x, int y, int z, FarmDirection direction, int extent) { - return null; - } + @Override + public boolean isAcceptedGermling(ItemStack stack) { + for (IFarmable farmable : farmables) { + if (farmable.isGermling(stack)) { + return true; + } + } + return false; + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon() { - return icon.getIconIndex(); - } + @Override + public Collection harvest(int x, int y, int z, FarmDirection direction, int extent) { + return null; + } - public void setIcon(ItemStack icon) { - this.icon = icon; - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon() { + return icon.getIconIndex(); + } - @Override - public ResourceLocation getSpriteSheet() { - return TextureMap.locationBlocksTexture; - } + public void setIcon(ItemStack icon) { + this.icon = icon; + } - @Override - public String getName() { - return name; - } + @Override + public ResourceLocation getSpriteSheet() { + return TextureMap.locationBlocksTexture; + } - protected boolean maintainCrops(int x, int y, int z, FarmDirection direction, int extent) { - for (int i = 0; i < extent; ++i) { - 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 trySetCrop(position); - } - } - } - return false; - } + @Override + public String getName() { + return name; + } - 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; - } + protected boolean maintainCrops(int x, int y, int z, FarmDirection direction, int extent) { + for (int i = 0; i < extent; ++i) { + 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 trySetCrop(position); + } + } + } + return false; + } - TileEntity tile = housing.getWorld().getTileEntity(position.x, position.y, position.z); - if (!(tile instanceof TileEntityFlower)) { - return true; - } + 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; + } - try { - IOwnable housing2 = (IOwnable) housing; - GameProfile prof = (GameProfile) IOwnable.class.getMethod("getOwnerProfile", new Class[0]).invoke(housing2); - ((TileEntityFlower) tile).setOwner(prof); - } catch (Exception ex) { - // ignored - } - return true; - } - return false; - } + TileEntity tile = housing.getWorld().getTileEntity(position.x, position.y, position.z); + if (!(tile instanceof TileEntityFlower)) { + return true; + } - public ItemStack getAvailableAcid() { - for (ItemStack stack : Gardening.getAcidFertilisers()) { - if (stack != null && stack.getItem() != null && housing.getFarmInventory().hasResources(new ItemStack[]{stack})) { - return stack; - } - } - return null; - } + try { + IOwnable housing2 = (IOwnable) housing; + GameProfile 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 getAvailableAlkaline() { - for (ItemStack stack : Gardening.getAlkalineFertilisers()) { - if (stack != null && stack.getItem() != null && housing.getFarmInventory().hasResources(new ItemStack[]{stack})) { - return stack; - } - } - return null; - } + public ItemStack getAvailableAcid() { + for (ItemStack stack : Gardening.getAcidFertilisers()) { + if (stack != null + && stack.getItem() != null + && housing.getFarmInventory().hasResources(new ItemStack[] {stack})) { + return stack; + } + } + return null; + } - public void setData(EnumMoisture moisture, EnumAcidity acidity, boolean isManual, boolean fertilised, ItemStack icon, String name) { - this.moisture = moisture; - this.acidity = acidity; - this.isManual = isManual; - this.fertilised = fertilised; - this.icon = icon; - this.name = name; - } + public ItemStack getAvailableAlkaline() { + for (ItemStack stack : Gardening.getAlkalineFertilisers()) { + if (stack != null + && stack.getItem() != null + && housing.getFarmInventory().hasResources(new ItemStack[] {stack})) { + return stack; + } + } + return null; + } + + public void setData( + EnumMoisture moisture, + EnumAcidity acidity, + boolean isManual, + boolean fertilised, + ItemStack icon, + String name) { + this.moisture = moisture; + this.acidity = acidity; + this.isManual = isManual; + this.fertilised = fertilised; + this.icon = icon; + this.name = name; + } } diff --git a/src/main/java/binnie/botany/flower/BlockFlower.java b/src/main/java/binnie/botany/flower/BlockFlower.java index e2e49017..009ad81a 100644 --- a/src/main/java/binnie/botany/flower/BlockFlower.java +++ b/src/main/java/binnie/botany/flower/BlockFlower.java @@ -11,6 +11,9 @@ import binnie.core.BinnieCore; import com.mojang.authlib.GameProfile; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -25,208 +28,201 @@ 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"); - setStepSound(Block.soundTypeGrass); - } + 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"); + setStepSound(Block.soundTypeGrass); + } - @Override - public String getUnlocalizedName() { - return "botany.flower"; - } + @Override + public String getUnlocalizedName() { + return "botany.flower"; + } - @Override - public int getRenderType() { - return RendererBotany.renderID; - } + @Override + public int getRenderType() { + return RendererBotany.renderID; + } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - for (EnumFlowerType type : EnumFlowerType.values()) { - type.registerIcons(register); - } - } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + for (EnumFlowerType type : EnumFlowerType.values()) { + type.registerIcons(register); + } + } - @Override - public TileEntity createNewTileEntity(World world, int meta) { - return new TileEntityFlower(); - } + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityFlower(); + } - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - return null; - } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + return null; + } - @Override - public boolean isOpaqueCube() { - return false; - } + @Override + public boolean isOpaqueCube() { + return false; + } - @Override - public boolean renderAsNormalBlock() { - return false; - } + @Override + public boolean renderAsNormalBlock() { + return false; + } - @Override - 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) { - IFlower f = BotanyCore.getFlowerRoot().getMember(stack); - ((TileEntityFlower) flower).setRender(new TileEntityFlower.RenderInfo(f, (TileEntityFlower) flower)); - } - return; - } + @Override + 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) { + IFlower f = BotanyCore.getFlowerRoot().getMember(stack); + ((TileEntityFlower) flower).setRender(new TileEntityFlower.RenderInfo(f, (TileEntityFlower) flower)); + } + return; + } - 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 { - GameProfile owner = (entity instanceof EntityPlayer) ? ((EntityPlayer) entity).getGameProfile() : null; - ((TileEntityFlower) flower).create(stack, owner); - } - } - Gardening.tryGrowSection(world, x, y, 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 { + GameProfile owner = (entity instanceof EntityPlayer) ? ((EntityPlayer) entity).getGameProfile() : null; + ((TileEntityFlower) flower).create(stack, owner); + } + } + Gardening.tryGrowSection(world, x, y, z); + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { - TileEntity tile = world.getTileEntity(x, y, z); - if (!(tile instanceof TileEntityFlower)) { - return super.getIcon(world, x, y, z, side); - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + TileEntity tile = world.getTileEntity(x, y, z); + if (!(tile instanceof TileEntityFlower)) { + return super.getIcon(world, x, y, z, side); + } - 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); - } + 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 (RendererBotany.pass == 1) + ? flower.getPetalIcon(stage, flowered, section) + : flower.getVariantIcon(stage, flowered, section); + } - @Override - @SideOnly(Side.CLIENT) - public int colorMultiplier(IBlockAccess world, int x, int y, int z) { - TileEntity tile = world.getTileEntity(x, y, z); - if (tile instanceof TileEntityFlower) { - TileEntityFlower f = (TileEntityFlower) tile; - if (RendererBotany.pass == 0) { - return f.getStemColour(); - } - return (RendererBotany.pass == 1) ? - f.getPrimaryColor() : - f.getSecondaryColor(); - } - return 0xffffff; - } + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + TileEntity tile = world.getTileEntity(x, y, z); + if (tile instanceof TileEntityFlower) { + TileEntityFlower f = (TileEntityFlower) tile; + if (RendererBotany.pass == 0) { + return f.getStemColour(); + } + return (RendererBotany.pass == 1) ? f.getPrimaryColor() : f.getSecondaryColor(); + } + return 0xffffff; + } - @Override - public boolean canPlaceBlockAt(World world, int x, int y, int z) { - return super.canPlaceBlockAt(world, x, y, z) - && canBlockStay(world, x, y, z); - } + @Override + 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); - } + 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; - } + @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; + } - 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); - } - } + 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 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); - } + @Override + 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); - } - } + 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); + } + } - @Override - 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 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) { - ItemStack flower = ((TileEntityFlower) tile).getItemStack(); - if (flower != null) { - drops.add(flower); - } - } - return drops; - } + @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) { + ItemStack flower = ((TileEntityFlower) tile).getItemStack(); + if (flower != null) { + drops.add(flower); + } + } + return drops; + } - @Override - public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { - 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 (ItemStack drop : drops) { - dropBlockAsItem(world, x, y, z, drop); - } - } - return hasBeenBroken; - } + @Override + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { + 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 (ItemStack drop : drops) { + dropBlockAsItem(world, x, y, z, drop); + } + } + return hasBeenBroken; + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int meta, int side) { - return Blocks.yellow_flower.getIcon(0, 0); - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int meta, int side) { + return Blocks.yellow_flower.getIcon(0, 0); + } } diff --git a/src/main/java/binnie/botany/flower/ItemBotany.java b/src/main/java/binnie/botany/flower/ItemBotany.java index 89465549..0a7293af 100644 --- a/src/main/java/binnie/botany/flower/ItemBotany.java +++ b/src/main/java/binnie/botany/flower/ItemBotany.java @@ -18,6 +18,7 @@ import cpw.mods.fml.relauncher.SideOnly; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IPollinatable; import forestry.core.config.Config; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -30,260 +31,295 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import java.util.List; - public abstract class ItemBotany extends Item { - public ItemBotany(String name) { - setCreativeTab(CreativeTabBotany.instance); - setUnlocalizedName(name); - hasSubtypes = true; - } + public ItemBotany(String name) { + setCreativeTab(CreativeTabBotany.instance); + setUnlocalizedName(name); + hasSubtypes = true; + } - @Override - @SideOnly(Side.CLIENT) - public int getSpriteNumber() { - return 0; - } + @Override + @SideOnly(Side.CLIENT) + public int getSpriteNumber() { + return 0; + } - @Override - public boolean isDamageable() { - return false; - } + @Override + public boolean isDamageable() { + return false; + } - @Override - public boolean isRepairable() { - return false; - } + @Override + public boolean isRepairable() { + return false; + } - @Override - public boolean getShareTag() { - return true; - } + @Override + public boolean getShareTag() { + return true; + } - @Override - public boolean hasEffect(ItemStack stack, int pass) { - if (!stack.hasTagCompound()) { - return false; - } + @Override + public boolean hasEffect(ItemStack stack, int pass) { + if (!stack.hasTagCompound()) { + return false; + } - IIndividual individual = getIndividual(stack); - return individual != null - && individual.getGenome() != null - && individual.hasEffect(); - } + IIndividual individual = getIndividual(stack); + return individual != null && individual.getGenome() != null && individual.hasEffect(); + } - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List tooltip, boolean flag) { - if (!itemstack.hasTagCompound()) { - return; - } - IFlower individual = (IFlower) getIndividual(itemstack); - if (individual == null) { - tooltip.add(I18N.localise("botany.item.tooltip.bugged")); - return; - } + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List tooltip, boolean flag) { + if (!itemstack.hasTagCompound()) { + return; + } + IFlower individual = (IFlower) getIndividual(itemstack); + if (individual == null) { + tooltip.add(I18N.localise("botany.item.tooltip.bugged")); + return; + } - IFlowerGenome genome = individual.getGenome(); - IFlowerColor primaryColor = genome.getPrimaryColor(); - IFlowerColor secondColor = genome.getSecondaryColor(); - IFlowerColor stemColor = genome.getStemColor(); + IFlowerGenome genome = individual.getGenome(); + IFlowerColor primaryColor = genome.getPrimaryColor(); + IFlowerColor secondColor = genome.getSecondaryColor(); + IFlowerColor stemColor = genome.getStemColor(); - if (primaryColor == secondColor) { - tooltip.add(EnumChatFormatting.YELLOW + I18N.localise("botany.item.tooltip.flowerColor1", primaryColor.getName(), stemColor.getName())); - } else { - tooltip.add(EnumChatFormatting.YELLOW + I18N.localise("botany.item.tooltip.flowerColor2", primaryColor.getName(), secondColor.getName(), stemColor.getName())); - } + if (primaryColor == secondColor) { + tooltip.add(EnumChatFormatting.YELLOW + + I18N.localise("botany.item.tooltip.flowerColor1", primaryColor.getName(), stemColor.getName())); + } else { + tooltip.add(EnumChatFormatting.YELLOW + + I18N.localise( + "botany.item.tooltip.flowerColor2", + primaryColor.getName(), + secondColor.getName(), + stemColor.getName())); + } - if (individual.isAnalyzed()) { - if (BinnieCore.proxy.isShiftDown()) { - individual.addTooltip(tooltip); - } else { - tooltip.add(EnumChatFormatting.GRAY + I18N.localise("botany.item.tooltip.holdMore")); - } - } else { - tooltip.add(I18N.localise("botany.item.tooltip.unknownGenome")); - } - } + if (individual.isAnalyzed()) { + if (BinnieCore.proxy.isShiftDown()) { + individual.addTooltip(tooltip); + } else { + tooltip.add(EnumChatFormatting.GRAY + I18N.localise("botany.item.tooltip.holdMore")); + } + } else { + tooltip.add(I18N.localise("botany.item.tooltip.unknownGenome")); + } + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IconRegister) { - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) {} - protected IIndividual getIndividual(ItemStack itemstack) { - return new Flower(itemstack.getTagCompound()); - } + protected IIndividual getIndividual(ItemStack itemstack) { + return new Flower(itemstack.getTagCompound()); + } - @Override - public String getItemStackDisplayName(ItemStack itemstack) { - if (!itemstack.hasTagCompound()) { - return I18N.localise("botany.item.tooltip.unknown"); - } + @Override + public String getItemStackDisplayName(ItemStack itemstack) { + if (!itemstack.hasTagCompound()) { + return I18N.localise("botany.item.tooltip.unknown"); + } - IIndividual individual = getIndividual(itemstack); - if (individual != null && individual.getGenome() != null) { - String tag = getTag(); - if (tag == null || tag.isEmpty()) { - return individual.getDisplayName(); - } - return I18N.localise("botany.item.botany.name", individual.getDisplayName(), tag); - } - return I18N.localise("botany.item.flowerCorrupted.name"); - } + IIndividual individual = getIndividual(itemstack); + if (individual != null && individual.getGenome() != null) { + String tag = getTag(); + if (tag == null || tag.isEmpty()) { + return individual.getDisplayName(); + } + return I18N.localise("botany.item.botany.name", individual.getDisplayName(), tag); + } + return I18N.localise("botany.item.flowerCorrupted.name"); + } - @Override - public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { - addCreativeItems(itemList, true); - } + @Override + public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { + addCreativeItems(itemList, true); + } - 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(), getStage().ordinal())); - } - } + 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(), getStage().ordinal())); + } + } - @Override - public int getColorFromItemStack(ItemStack itemstack, int renderPass) { - IFlower flower = BotanyCore.speciesRoot.getMember(itemstack); - if (flower == null || flower.getGenome() == null) { - return 0xffffff; - } + @Override + public int getColorFromItemStack(ItemStack itemstack, int renderPass) { + IFlower flower = BotanyCore.speciesRoot.getMember(itemstack); + if (flower == null || flower.getGenome() == null) { + return 0xffffff; + } - 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()); - } + 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 - public boolean requiresMultipleRenderPasses() { - return true; - } + @Override + public boolean requiresMultipleRenderPasses() { + return true; + } - @Override - public int getRenderPasses(int metadata) { - return 3; - } + @Override + public int getRenderPasses(int metadata) { + return 3; + } - @Override - @SideOnly(Side.CLIENT) - 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(); - } + @Override + @SideOnly(Side.CLIENT) + 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(); + } - IFlowerType type = flower.getGenome().getPrimary().getType(); - if (renderPass == 0) { - return type.getStem(getStage(), flower.hasFlowered(), type.getSections() - 1); - } - if (renderPass == 1) { - return type.getPetalIcon(getStage(), flower.hasFlowered(), type.getSections() - 1); - } - return type.getVariantIcon(getStage(), flower.hasFlowered(), type.getSections() - 1); - } + IFlowerType type = flower.getGenome().getPrimary().getType(); + if (renderPass == 0) { + return type.getStem(getStage(), flower.hasFlowered(), type.getSections() - 1); + } + if (renderPass == 1) { + return type.getPetalIcon(getStage(), flower.hasFlowered(), type.getSections() - 1); + } + return type.getVariantIcon(getStage(), flower.hasFlowered(), type.getSections() - 1); + } - @Override - 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; - } - IPollinatable pollinatable = (IPollinatable) target; - if (!pollinatable.canMateWith(flower)) { - return false; - } - pollinatable.mateWith(flower); - if (!player.capabilities.isCreativeMode) { - itemstack.stackSize--; - } - return true; - } + @Override + 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; + } + IPollinatable pollinatable = (IPollinatable) target; + if (!pollinatable.canMateWith(flower)) { + return false; + } + pollinatable.mateWith(flower); + if (!player.capabilities.isCreativeMode) { + 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++; - } - } + 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 (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; - } + 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(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) { - 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 world.canPlaceEntityOnSide(field_150939_a, x, y, z, false, side, null, stack); - } + @SideOnly(Side.CLIENT) + 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) { + 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 world.canPlaceEntityOnSide(field_150939_a, x, y, z, false, side, null, stack); + } - 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 block = Botany.flower; - if (!world.setBlock(x, y, z, block, metadata, 3)) { - return false; - } + 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 block = Botany.flower; + if (!world.setBlock(x, y, z, block, metadata, 3)) { + return false; + } - if (world.getBlock(x, y, z) == block) { - block.onBlockPlacedBy(world, x, y, z, player, stack); - block.onPostBlockPlaced(world, x, y, z, metadata); - } - return true; - } + if (world.getBlock(x, y, z) == block) { + block.onBlockPlacedBy(world, x, y, z, player, stack); + block.onPostBlockPlaced(world, x, y, z, metadata); + } + return true; + } - public abstract EnumFlowerStage getStage(); + public abstract EnumFlowerStage getStage(); - public abstract String getTag(); + public abstract String getTag(); } diff --git a/src/main/java/binnie/botany/flower/ItemFlower.java b/src/main/java/binnie/botany/flower/ItemFlower.java index a475990a..6ce6a1e6 100644 --- a/src/main/java/binnie/botany/flower/ItemFlower.java +++ b/src/main/java/binnie/botany/flower/ItemFlower.java @@ -3,17 +3,17 @@ package binnie.botany.flower; import binnie.botany.api.EnumFlowerStage; public class ItemFlower extends ItemBotany { - public ItemFlower() { - super("itemFlower"); - } + public ItemFlower() { + super("itemFlower"); + } - @Override - public EnumFlowerStage getStage() { - return EnumFlowerStage.FLOWER; - } + @Override + public EnumFlowerStage getStage() { + return EnumFlowerStage.FLOWER; + } - @Override - public String getTag() { - return ""; - } + @Override + public String getTag() { + return ""; + } } diff --git a/src/main/java/binnie/botany/flower/ItemInsulatedTube.java b/src/main/java/binnie/botany/flower/ItemInsulatedTube.java index 0288c461..4dbe0f50 100644 --- a/src/main/java/binnie/botany/flower/ItemInsulatedTube.java +++ b/src/main/java/binnie/botany/flower/ItemInsulatedTube.java @@ -5,6 +5,7 @@ import binnie.botany.CreativeTabBotany; import binnie.core.util.I18N; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -13,155 +14,152 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import java.util.List; - public class ItemInsulatedTube extends Item { - IIcon[] icons; + IIcon[] icons; - public ItemInsulatedTube() { - icons = new IIcon[3]; - setUnlocalizedName("insulatedTube"); - setCreativeTab(CreativeTabBotany.instance); - setHasSubtypes(true); - } + public ItemInsulatedTube() { + icons = new IIcon[3]; + setUnlocalizedName("insulatedTube"); + setCreativeTab(CreativeTabBotany.instance); + setHasSubtypes(true); + } - public static ItemStack getInsulateStack(ItemStack stack) { - return Insulate.get(stack.getItemDamage()).getStack(); - } + public static ItemStack getInsulateStack(ItemStack stack) { + return Insulate.get(stack.getItemDamage()).getStack(); + } - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (Material mat : Material.values()) { - for (Insulate ins : Insulate.values()) { - list.add(new ItemStack(this, 1, mat.ordinal() + ins.ordinal() * 128)); - } - } - } + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (Material mat : Material.values()) { + for (Insulate ins : Insulate.values()) { + list.add(new ItemStack(this, 1, mat.ordinal() + ins.ordinal() * 128)); + } + } + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - for (int i = 0; i < 3; ++i) { - icons[i] = Botany.proxy.getIcon(register, "insulatedTube." + i); - } - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + for (int i = 0; i < 3; ++i) { + icons[i] = Botany.proxy.getIcon(register, "insulatedTube." + i); + } + } - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int pass) { - if (pass == 0) { - return 0xffffff; - } - return (pass == 1) - ? Material.get(stack.getItemDamage()).getColor() - : Insulate.get(stack.getItemDamage()).getColor(); - } + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) { + if (pass == 0) { + return 0xffffff; + } + return (pass == 1) + ? Material.get(stack.getItemDamage()).getColor() + : Insulate.get(stack.getItemDamage()).getColor(); + } - @Override - @SideOnly(Side.CLIENT) - 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 + @SideOnly(Side.CLIENT) + 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(ItemStack stack) { - return Material.get(stack.getItemDamage()).getName() + " " - + I18N.localise("botany.tube.name"); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return Material.get(stack.getItemDamage()).getName() + " " + I18N.localise("botany.tube.name"); + } - @Override - public int getRenderPasses(int metadata) { - return 3; - } + @Override + public int getRenderPasses(int metadata) { + return 3; + } - @Override - public IIcon getIcon(ItemStack stack, int pass) { - return icons[pass % 3]; - } + @Override + public IIcon getIcon(ItemStack stack, int pass) { + return icons[pass % 3]; + } - @Override - public boolean requiresMultipleRenderPasses() { - return true; - } + @Override + public boolean requiresMultipleRenderPasses() { + return true; + } - enum Material { - Copper(0xe3b78e, "cooper"), - Tin(0xe1eef4, "tin"), - Bronze(0xddc276, "bronze"), - Iron(0xd8d8d8, "iron"); + enum Material { + Copper(0xe3b78e, "cooper"), + Tin(0xe1eef4, "tin"), + Bronze(0xddc276, "bronze"), + Iron(0xd8d8d8, "iron"); - protected int color; - protected String name; + protected int color; + protected String name; - Material(int color, String name) { - this.color = color; - this.name = name; - } + Material(int color, String name) { + this.color = color; + this.name = name; + } - public static Material get(int i) { - return values()[i % values().length]; - } + public static Material get(int i) { + return values()[i % values().length]; + } - public int getColor() { - return color; - } + public int getColor() { + return color; + } - public String getName() { - return I18N.localise("botany.tube." + name); - } - } + public String getName() { + return I18N.localise("botany.tube." + name); + } + } - enum Insulate { - Clay(0xa1aacc, "clay"), - Cobble(0x7b7b7b, "cobblestone"), - Sand(0xefeab5, "sand"), - HardenedClay(0x935c43, "hardenedClay"), - Stone(0x6d6d6d, "smoothStone"), - Sandstone(0xc1b989, "sandstone"); + enum Insulate { + Clay(0xa1aacc, "clay"), + Cobble(0x7b7b7b, "cobblestone"), + Sand(0xefeab5, "sand"), + HardenedClay(0x935c43, "hardenedClay"), + Stone(0x6d6d6d, "smoothStone"), + Sandstone(0xc1b989, "sandstone"); - protected int color; - protected String name; + protected int color; + protected String name; - Insulate(int color, String name) { - this.color = color; - this.name = name; - } + Insulate(int color, String name) { + this.color = color; + this.name = name; + } - public static Insulate get(int i) { - return values()[i / 128 % values().length]; - } + public static Insulate get(int i) { + return values()[i / 128 % values().length]; + } - public int getColor() { - return color; - } + public int getColor() { + return color; + } - public String getName() { - return I18N.localise("botany.tube.insulate." + name); - } + public String getName() { + return I18N.localise("botany.tube.insulate." + name); + } - public ItemStack getStack() { - switch (this) { - case Clay: - return new ItemStack(Blocks.clay); + public ItemStack getStack() { + switch (this) { + case Clay: + return new ItemStack(Blocks.clay); - case Cobble: - return new ItemStack(Blocks.cobblestone); + case Cobble: + return new ItemStack(Blocks.cobblestone); - case HardenedClay: - return new ItemStack(Blocks.hardened_clay); + case HardenedClay: + return new ItemStack(Blocks.hardened_clay); - case Sand: - return new ItemStack(Blocks.sand); + case Sand: + return new ItemStack(Blocks.sand); - case Sandstone: - return new ItemStack(Blocks.sandstone); + case Sandstone: + return new ItemStack(Blocks.sandstone); - case Stone: - return new ItemStack(Blocks.stone); - } - return null; - } - } + 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 329aec62..1c848ebc 100644 --- a/src/main/java/binnie/botany/flower/ItemPollen.java +++ b/src/main/java/binnie/botany/flower/ItemPollen.java @@ -4,17 +4,17 @@ import binnie.botany.api.EnumFlowerStage; import binnie.core.util.I18N; public class ItemPollen extends ItemBotany { - public ItemPollen() { - super("pollen"); - } + public ItemPollen() { + super("pollen"); + } - @Override - public EnumFlowerStage getStage() { - return EnumFlowerStage.POLLEN; - } + @Override + public EnumFlowerStage getStage() { + return EnumFlowerStage.POLLEN; + } - @Override - public String getTag() { - return I18N.localise("botany.item.pollen.tag.name"); - } + @Override + public String getTag() { + return I18N.localise("botany.item.pollen.tag.name"); + } } diff --git a/src/main/java/binnie/botany/flower/ItemSeed.java b/src/main/java/binnie/botany/flower/ItemSeed.java index 252d912f..e95d111b 100644 --- a/src/main/java/binnie/botany/flower/ItemSeed.java +++ b/src/main/java/binnie/botany/flower/ItemSeed.java @@ -4,17 +4,17 @@ import binnie.botany.api.EnumFlowerStage; import binnie.core.util.I18N; public class ItemSeed extends ItemBotany { - public ItemSeed() { - super("seed"); - } + public ItemSeed() { + super("seed"); + } - @Override - public EnumFlowerStage getStage() { - return EnumFlowerStage.SEED; - } + @Override + public EnumFlowerStage getStage() { + return EnumFlowerStage.SEED; + } - @Override - public String getTag() { - return I18N.localise("botany.item.germling.tag.name"); - } + @Override + public String getTag() { + return I18N.localise("botany.item.germling.tag.name"); + } } diff --git a/src/main/java/binnie/botany/flower/RendererBotany.java b/src/main/java/binnie/botany/flower/RendererBotany.java index fd901071..034acdbf 100644 --- a/src/main/java/binnie/botany/flower/RendererBotany.java +++ b/src/main/java/binnie/botany/flower/RendererBotany.java @@ -9,52 +9,53 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; public class RendererBotany implements ISimpleBlockRenderingHandler { - public static int renderID; - public static int pass; + public static int renderID; + public static int pass; - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { - // ignored - } + @Override + public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { + // ignored + } - @Override - 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; - 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; + @Override + 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; + 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; - for (int j = 0; j < 3; ++j) { - RendererBotany.pass = j; - 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; + for (int j = 0; j < 3; ++j) { + RendererBotany.pass = j; + 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) { - 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); - IIcon iicon = block.getIcon(world, x, y, z, 0); - renderer.drawCrossedSquares(iicon, d1, d2, d3, 1.0f); - } - return false; - } + if (EntityRenderer.anaglyphEnable) { + 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); + IIcon iicon = block.getIcon(world, x, y, z, 0); + renderer.drawCrossedSquares(iicon, d1, d2, d3, 1.0f); + } + return false; + } - @Override - public boolean shouldRender3DInInventory(int i) { - return false; - } + @Override + public boolean shouldRender3DInInventory(int i) { + return false; + } - @Override - public int getRenderId() { - return RendererBotany.renderID; - } + @Override + public int getRenderId() { + return RendererBotany.renderID; + } } diff --git a/src/main/java/binnie/botany/flower/TileEntityFlower.java b/src/main/java/binnie/botany/flower/TileEntityFlower.java index 46813ce1..ebbd060b 100644 --- a/src/main/java/binnie/botany/flower/TileEntityFlower.java +++ b/src/main/java/binnie/botany/flower/TileEntityFlower.java @@ -25,6 +25,8 @@ import forestry.api.genetics.IPollinatable; import forestry.api.lepidopterology.IButterfly; import forestry.api.lepidopterology.IButterflyNursery; import forestry.lepidopterology.entities.EntityButterfly; +import java.util.EnumSet; +import java.util.Random; import net.minecraft.block.Block; import net.minecraft.entity.item.EntityItem; import net.minecraft.init.Blocks; @@ -38,601 +40,602 @@ import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.EnumPlantType; -import java.util.EnumSet; -import java.util.Random; - 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() { - flower = null; - section = 0; - renderInfo = null; - matureTime = 0; - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - flower = new Flower(nbttagcompound); - section = nbttagcompound.getByte("section"); - if (flower.getAge() == 0) { - flower.setFlowered(false); - } - - owner = NBTUtil.func_152459_a(nbttagcompound.getCompoundTag("owner")); - if (nbttagcompound.hasKey("CATER") && BinnieCore.isLepidopteryActive()) { - matureTime = nbttagcompound.getInteger("caterTime"); - caterpillar = Binnie.Genetics.getButterflyRoot().getMember(nbttagcompound.getCompoundTag("cater")); - } - super.readFromNBT(nbttagcompound); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - if (flower != null) { - flower.writeToNBT(nbttagcompound); - } - - if (owner != null) { - NBTTagCompound nbt = new NBTTagCompound(); - NBTUtil.func_152460_a(nbt, owner); - nbttagcompound.setTag("owner", nbt); - } - - if (caterpillar != null) { - nbttagcompound.setInteger("caterTime", matureTime); - NBTTagCompound subcompound = new NBTTagCompound(); - caterpillar.writeToNBT(subcompound); - nbttagcompound.setTag("cater", subcompound); - } - nbttagcompound.setByte("section", (byte) getSection()); - super.writeToNBT(nbttagcompound); - } - - public void create(ItemStack stack, GameProfile owner) { - create(BotanyCore.getFlowerRoot().getMember(stack), owner); - } - - public void create(IFlower stack, GameProfile owner) { - flower = stack; - if (flower.getAge() == 0) { - flower.setFlowered(false); - } - - updateRender(true); - this.owner = owner; - } - - @Override - public EnumSet getPlantType() { - return EnumSet.of(EnumPlantType.Plains); - } - - @Override - public IIndividual getPollen() { - return getFlower(); - } - - @Override - public boolean canMateWith(IIndividual individual) { - return isBreeding() - && individual instanceof IFlower - && getFlower() != null - && getFlower().getMate() == null - && getFlower().hasFlowered() - && !getFlower().isGeneticEqual(individual); - } - - @Override - public void mateWith(IIndividual individual) { - if (getFlower() == null || !(individual instanceof IFlower)) { - return; - } - - 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 (getSection() <= 0) { - return flower; - } - - TileEntity tile = worldObj.getTileEntity(xCoord, yCoord - getSection(), zCoord); - if (tile instanceof TileEntityFlower) { - return ((TileEntityFlower) tile).getFlower(); - } - return null; - } - - public boolean isBreeding() { - Block roots = getWorldObj().getBlock(xCoord, yCoord - 1, zCoord); - return Gardening.isSoil(roots); - } - - public void randomUpdate(Random rand) { - if (worldObj.getBlock(xCoord, yCoord, zCoord) != Botany.flower) { - invalidate(); - return; - } - if (getSection() > 0 || flower == null) { - return; - } - - if (flower.getGenome() == null) { - invalidate(); - return; - } - if (!isBreeding()) { - return; - } - - 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 -= (worldObj.canBlockSeeTheSky(xCoord, yCoord, zCoord) ? 0.0f : 0.5f); - } - } - } - - 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) { - doFlowerAge(); - } - } else { - doFlowerAge(); - } - } - - if (canTolerate && flower.getAge() > 1 && !flower.isWilted() && light > 6.0f) { - flower.setFlowered(true); - } - if (!canTolerate && flower.isWilted() && rand.nextInt(2 + Math.max(flower.getAge(), 2)) == 0) { - kill(); - return; - } - - if (light < 2.0f && flower.isWilted()) { - kill(); - return; - } - - if (!canTolerate || light < 1.0f) { - flower.setWilted(true); - } else { - flower.setWilted(false); - } - - float chanceDispersal = 0.8f; - chanceDispersal += 0.2f * flower.getGenome().getFertility(); - chanceDispersal *= 1.0f + soil.ordinal() * 0.5f; - float chancePollinate = 1.0f; - chancePollinate += 0.25f * flower.getGenome().getFertility(); - chancePollinate *= 1.0f + soil.ordinal() * 0.5f; - float chanceSelfPollinate = 0.2f * chancePollinate; - - if (worldObj.rand.nextFloat() < chanceDispersal && flower.hasFlowered() && !flower.isWilted()) { - IFlowerGenome mate = flower.getMate(); - if (mate != null) { - boolean dispersed = false; - for (int a = 0; a < 5 && !dispersed; ++a) { - int dx2 = 0; - int dz = 0; - while (dx2 == 0 && dz == 0) { - dx2 = rand.nextInt(3) - 1; - dz = rand.nextInt(3) - 1; - } - - 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)) { - IFlower offspring = flower.getOffspring(getWorldObj()); - if (offspring != null) { - Gardening.plant(getWorldObj(), xCoord + dx2, yCoord, zCoord + dz, offspring, getOwner()); - flower.removeMate(); - dispersed = true; - } - } - } - } - } - - if (worldObj.rand.nextFloat() < chancePollinate && flower.hasFlowered() && !flower.isWilted()) { - for (int a2 = 0; a2 < 4; ++a2) { - int dx3 = 0; - int dz2 = 0; - while (dx3 == 0 && dz2 == 0) { - dx3 = rand.nextInt(5) - 2; - dz2 = rand.nextInt(5) - 2; - } - - TileEntity tile = getWorldObj().getTileEntity(xCoord + dx3, yCoord, zCoord + dz2); - if (tile instanceof IPollinatable && ((IPollinatable) tile).canMateWith(getFlower())) { - ((IPollinatable) tile).mateWith(getFlower()); - } - } - } - - if (worldObj.rand.nextFloat() < chanceSelfPollinate && flower.hasFlowered() && flower.getMate() == null) { - mateWith(getFlower()); - } - spawnButterflies(); - matureCaterpillar(); - checkIfDead(false); - updateRender(true); - } - - private void doFlowerAge() { - 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 (renderInfo == null && getFlower() != null && getFlower().getGenome() != null) { - renderInfo = new RenderInfo(getFlower(), this); - } - return (renderInfo != null) ? - Botany.instance.getNetworkWrapper().getPacketFrom(new MessageFlowerUpdate(xCoord, yCoord, zCoord, renderInfo).getMessage()) : - null; - } - - 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); - } - } - - TileEntity above = worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); - if (above instanceof TileEntityFlower) { - ((TileEntityFlower) above).updateRender(true); - } - } - - public int getSection() { - return section; - } - - public void setSection(int i) { - section = i; - if (BinnieCore.proxy.isSimulating(worldObj)) { - updateRender(true); - } - } - - public ItemStack getItemStack() { - if (flower == null) { - return null; - } - - int stage = (flower.getAge() == 0) ? EnumFlowerStage.SEED.ordinal() : EnumFlowerStage.FLOWER.ordinal(); - return Binnie.Genetics.getFlowerRoot().getMemberStack(getFlower(), stage); - } - - private TileEntityFlower getRoot() { - if (getSection() == 0) { - return null; - } - - TileEntity tile = worldObj.getTileEntity(xCoord, yCoord - getSection(), zCoord); - return (tile instanceof TileEntityFlower) ? ((TileEntityFlower) tile) : null; - } - - public void onShear() { - if (getRoot() != null) { - getRoot().onShear(); - } - - 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(boolean wasCut) { - if (getSection() != 0) { - return getRoot().checkIfDead(wasCut); - } - - 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; - } - - 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 (flower.getAge() > 0) { - worldObj.setBlock(xCoord, yCoord, zCoord, Botany.plant, BlockPlant.Type.DeadFlower.ordinal(), 2); - } else { - worldObj.setBlockToAir(xCoord, yCoord, zCoord); - } - - for (int i = 1; worldObj.getTileEntity(xCoord, yCoord + i, zCoord) instanceof TileEntityFlower; ++i) { - worldObj.setBlockToAir(xCoord, yCoord + i, zCoord); - } - } - - public boolean onBonemeal() { - if (getFlower() == null || !isBreeding() || getFlower().isWilted()) { - return false; - } - - doFlowerAge(); - if (getFlower().getAge() > 1 && !getFlower().hasFlowered()) { - getFlower().setFlowered(true); - } - - checkIfDead(false); - updateRender(true); - return true; - } - - public GameProfile getOwner() { - return owner; - } - - public void setOwner(GameProfile ownerName) { - owner = ownerName; - } - - public void spawnButterflies() { - if (!BinnieCore.isLepidopteryActive()) { - return; - } - - int x = xCoord; - int y = yCoord; - int z = zCoord; - World world = worldObj; - if (getCaterpillar() != null) { - return; - } - if (world.rand.nextFloat() >= getFlower().getGenome().getSappiness()) { - return; - } - if (worldObj.rand.nextFloat() >= 0.2f) { - return; - } - - 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 (worldObj.countEntities(EntityButterfly.class) > 100) { - return; - } - if (!spawn.canSpawn(worldObj, x, y, z)) { - return; - } - - if (world.isAirBlock(x, y + 1, z)) { - 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(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 World getWorld() { - return getWorldObj(); - } - - public EnumTemperature getTemperature() { - return EnumTemperature.getFromValue(worldObj.getBiomeGenForCoords(xCoord, zCoord).temperature); - } - - public EnumHumidity getHumidity() { - return EnumHumidity.getFromValue(worldObj.getBiomeGenForCoords(xCoord, zCoord).rainfall); - } - - @Override - public IButterfly getCaterpillar() { - return caterpillar; - } - - @Override - public void setCaterpillar(IButterfly butterfly) { - caterpillar = butterfly; - matureTime = 0; - } - - @Override - public IIndividual getNanny() { - return getFlower(); - } - - @Override - public boolean canNurse(IButterfly butterfly) { - return getFlower() != null && !getFlower().isWilted() && getFlower().getAge() > 1; - } - - private void matureCaterpillar() { - if (getCaterpillar() == null) { - return; - } - - 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); - } - setCaterpillar(null); - } - } - - public void setRender(RenderInfo render) { - renderInfo = render; - section = renderInfo.section; - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - - public int getAge() { - return (renderInfo == null) ? 1 : renderInfo.age; - } - - public int getRenderSection() { - return (renderInfo == null) ? 1 : renderInfo.section; - } - - public boolean isWilted() { - return renderInfo != null && renderInfo.wilted; - } - - public boolean isFlowered() { - return renderInfo == null || renderInfo.flowered; - } - - public int getPrimaryColor() { - return (renderInfo == null) ? - EnumFlowerColor.RED.getColor(false) : - renderInfo.primary.getColor(isWilted()); - } - - public int getSecondaryColor() { - return (renderInfo == null) ? - EnumFlowerColor.RED.getColor(false) : - renderInfo.secondary.getColor(isWilted()); - } - - public int getStemColour() { - return (renderInfo == null) ? - EnumFlowerColor.GREEN.getColor(false) : - renderInfo.stem.getColor(isWilted()); - } - - public IFlowerType getType() { - return (renderInfo == null) ? - EnumFlowerType.POPPY : - renderInfo.type; - } - - public BiomeGenBase getBiome() { - return getWorld().getBiomeGenForCoords(xCoord, zCoord); - } - - @Override - public ChunkCoordinates getCoordinates() { - return new ChunkCoordinates(xCoord, yCoord, zCoord); - } - - // TODO ?? - @Override - public boolean isPollinated() { - 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); - } - } + protected IFlower flower; + protected GameProfile owner; + protected int section; + protected RenderInfo renderInfo; + protected IButterfly caterpillar; + protected int matureTime; + + public TileEntityFlower() { + flower = null; + section = 0; + renderInfo = null; + matureTime = 0; + } + + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + flower = new Flower(nbttagcompound); + section = nbttagcompound.getByte("section"); + if (flower.getAge() == 0) { + flower.setFlowered(false); + } + + owner = NBTUtil.func_152459_a(nbttagcompound.getCompoundTag("owner")); + if (nbttagcompound.hasKey("CATER") && BinnieCore.isLepidopteryActive()) { + matureTime = nbttagcompound.getInteger("caterTime"); + caterpillar = Binnie.Genetics.getButterflyRoot().getMember(nbttagcompound.getCompoundTag("cater")); + } + super.readFromNBT(nbttagcompound); + } + + @Override + public void writeToNBT(NBTTagCompound nbttagcompound) { + if (flower != null) { + flower.writeToNBT(nbttagcompound); + } + + if (owner != null) { + NBTTagCompound nbt = new NBTTagCompound(); + NBTUtil.func_152460_a(nbt, owner); + nbttagcompound.setTag("owner", nbt); + } + + if (caterpillar != null) { + nbttagcompound.setInteger("caterTime", matureTime); + NBTTagCompound subcompound = new NBTTagCompound(); + caterpillar.writeToNBT(subcompound); + nbttagcompound.setTag("cater", subcompound); + } + nbttagcompound.setByte("section", (byte) getSection()); + super.writeToNBT(nbttagcompound); + } + + public void create(ItemStack stack, GameProfile owner) { + create(BotanyCore.getFlowerRoot().getMember(stack), owner); + } + + public void create(IFlower stack, GameProfile owner) { + flower = stack; + if (flower.getAge() == 0) { + flower.setFlowered(false); + } + + updateRender(true); + this.owner = owner; + } + + @Override + public EnumSet getPlantType() { + return EnumSet.of(EnumPlantType.Plains); + } + + @Override + public IIndividual getPollen() { + return getFlower(); + } + + @Override + public boolean canMateWith(IIndividual individual) { + return isBreeding() + && individual instanceof IFlower + && getFlower() != null + && getFlower().getMate() == null + && getFlower().hasFlowered() + && !getFlower().isGeneticEqual(individual); + } + + @Override + public void mateWith(IIndividual individual) { + if (getFlower() == null || !(individual instanceof IFlower)) { + return; + } + + 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 (getSection() <= 0) { + return flower; + } + + TileEntity tile = worldObj.getTileEntity(xCoord, yCoord - getSection(), zCoord); + if (tile instanceof TileEntityFlower) { + return ((TileEntityFlower) tile).getFlower(); + } + return null; + } + + public boolean isBreeding() { + Block roots = getWorldObj().getBlock(xCoord, yCoord - 1, zCoord); + return Gardening.isSoil(roots); + } + + public void randomUpdate(Random rand) { + if (worldObj.getBlock(xCoord, yCoord, zCoord) != Botany.flower) { + invalidate(); + return; + } + if (getSection() > 0 || flower == null) { + return; + } + + if (flower.getGenome() == null) { + invalidate(); + return; + } + if (!isBreeding()) { + return; + } + + 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 -= (worldObj.canBlockSeeTheSky(xCoord, yCoord, zCoord) ? 0.0f : 0.5f); + } + } + } + + 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) { + doFlowerAge(); + } + } else { + doFlowerAge(); + } + } + + if (canTolerate && flower.getAge() > 1 && !flower.isWilted() && light > 6.0f) { + flower.setFlowered(true); + } + if (!canTolerate && flower.isWilted() && rand.nextInt(2 + Math.max(flower.getAge(), 2)) == 0) { + kill(); + return; + } + + if (light < 2.0f && flower.isWilted()) { + kill(); + return; + } + + if (!canTolerate || light < 1.0f) { + flower.setWilted(true); + } else { + flower.setWilted(false); + } + + float chanceDispersal = 0.8f; + chanceDispersal += 0.2f * flower.getGenome().getFertility(); + chanceDispersal *= 1.0f + soil.ordinal() * 0.5f; + float chancePollinate = 1.0f; + chancePollinate += 0.25f * flower.getGenome().getFertility(); + chancePollinate *= 1.0f + soil.ordinal() * 0.5f; + float chanceSelfPollinate = 0.2f * chancePollinate; + + if (worldObj.rand.nextFloat() < chanceDispersal && flower.hasFlowered() && !flower.isWilted()) { + IFlowerGenome mate = flower.getMate(); + if (mate != null) { + boolean dispersed = false; + for (int a = 0; a < 5 && !dispersed; ++a) { + int dx2 = 0; + int dz = 0; + while (dx2 == 0 && dz == 0) { + dx2 = rand.nextInt(3) - 1; + dz = rand.nextInt(3) - 1; + } + + 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)) { + IFlower offspring = flower.getOffspring(getWorldObj()); + if (offspring != null) { + Gardening.plant(getWorldObj(), xCoord + dx2, yCoord, zCoord + dz, offspring, getOwner()); + flower.removeMate(); + dispersed = true; + } + } + } + } + } + + if (worldObj.rand.nextFloat() < chancePollinate && flower.hasFlowered() && !flower.isWilted()) { + for (int a2 = 0; a2 < 4; ++a2) { + int dx3 = 0; + int dz2 = 0; + while (dx3 == 0 && dz2 == 0) { + dx3 = rand.nextInt(5) - 2; + dz2 = rand.nextInt(5) - 2; + } + + TileEntity tile = getWorldObj().getTileEntity(xCoord + dx3, yCoord, zCoord + dz2); + if (tile instanceof IPollinatable && ((IPollinatable) tile).canMateWith(getFlower())) { + ((IPollinatable) tile).mateWith(getFlower()); + } + } + } + + if (worldObj.rand.nextFloat() < chanceSelfPollinate && flower.hasFlowered() && flower.getMate() == null) { + mateWith(getFlower()); + } + spawnButterflies(); + matureCaterpillar(); + checkIfDead(false); + updateRender(true); + } + + private void doFlowerAge() { + 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 (renderInfo == null && getFlower() != null && getFlower().getGenome() != null) { + renderInfo = new RenderInfo(getFlower(), this); + } + return (renderInfo != null) + ? Botany.instance + .getNetworkWrapper() + .getPacketFrom(new MessageFlowerUpdate(xCoord, yCoord, zCoord, renderInfo).getMessage()) + : null; + } + + 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); + } + } + + TileEntity above = worldObj.getTileEntity(xCoord, yCoord + 1, zCoord); + if (above instanceof TileEntityFlower) { + ((TileEntityFlower) above).updateRender(true); + } + } + + public int getSection() { + return section; + } + + public void setSection(int i) { + section = i; + if (BinnieCore.proxy.isSimulating(worldObj)) { + updateRender(true); + } + } + + public ItemStack getItemStack() { + if (flower == null) { + return null; + } + + int stage = (flower.getAge() == 0) ? EnumFlowerStage.SEED.ordinal() : EnumFlowerStage.FLOWER.ordinal(); + return Binnie.Genetics.getFlowerRoot().getMemberStack(getFlower(), stage); + } + + private TileEntityFlower getRoot() { + if (getSection() == 0) { + return null; + } + + TileEntity tile = worldObj.getTileEntity(xCoord, yCoord - getSection(), zCoord); + return (tile instanceof TileEntityFlower) ? ((TileEntityFlower) tile) : null; + } + + public void onShear() { + if (getRoot() != null) { + getRoot().onShear(); + } + + 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(boolean wasCut) { + if (getSection() != 0) { + return getRoot().checkIfDead(wasCut); + } + + 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; + } + + 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 (flower.getAge() > 0) { + worldObj.setBlock(xCoord, yCoord, zCoord, Botany.plant, BlockPlant.Type.DeadFlower.ordinal(), 2); + } else { + worldObj.setBlockToAir(xCoord, yCoord, zCoord); + } + + for (int i = 1; worldObj.getTileEntity(xCoord, yCoord + i, zCoord) instanceof TileEntityFlower; ++i) { + worldObj.setBlockToAir(xCoord, yCoord + i, zCoord); + } + } + + public boolean onBonemeal() { + if (getFlower() == null || !isBreeding() || getFlower().isWilted()) { + return false; + } + + doFlowerAge(); + if (getFlower().getAge() > 1 && !getFlower().hasFlowered()) { + getFlower().setFlowered(true); + } + + checkIfDead(false); + updateRender(true); + return true; + } + + public GameProfile getOwner() { + return owner; + } + + public void setOwner(GameProfile ownerName) { + owner = ownerName; + } + + public void spawnButterflies() { + if (!BinnieCore.isLepidopteryActive()) { + return; + } + + int x = xCoord; + int y = yCoord; + int z = zCoord; + World world = worldObj; + if (getCaterpillar() != null) { + return; + } + if (world.rand.nextFloat() >= getFlower().getGenome().getSappiness()) { + return; + } + if (worldObj.rand.nextFloat() >= 0.2f) { + return; + } + + 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 (worldObj.countEntities(EntityButterfly.class) > 100) { + return; + } + if (!spawn.canSpawn(worldObj, x, y, z)) { + return; + } + + if (world.isAirBlock(x, y + 1, z)) { + 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(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 World getWorld() { + return getWorldObj(); + } + + public EnumTemperature getTemperature() { + return EnumTemperature.getFromValue(worldObj.getBiomeGenForCoords(xCoord, zCoord).temperature); + } + + public EnumHumidity getHumidity() { + return EnumHumidity.getFromValue(worldObj.getBiomeGenForCoords(xCoord, zCoord).rainfall); + } + + @Override + public IButterfly getCaterpillar() { + return caterpillar; + } + + @Override + public void setCaterpillar(IButterfly butterfly) { + caterpillar = butterfly; + matureTime = 0; + } + + @Override + public IIndividual getNanny() { + return getFlower(); + } + + @Override + public boolean canNurse(IButterfly butterfly) { + return getFlower() != null && !getFlower().isWilted() && getFlower().getAge() > 1; + } + + private void matureCaterpillar() { + if (getCaterpillar() == null) { + return; + } + + 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); + } + setCaterpillar(null); + } + } + + public void setRender(RenderInfo render) { + renderInfo = render; + section = renderInfo.section; + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); + } + + public int getAge() { + return (renderInfo == null) ? 1 : renderInfo.age; + } + + public int getRenderSection() { + return (renderInfo == null) ? 1 : renderInfo.section; + } + + public boolean isWilted() { + return renderInfo != null && renderInfo.wilted; + } + + public boolean isFlowered() { + return renderInfo == null || renderInfo.flowered; + } + + public int getPrimaryColor() { + return (renderInfo == null) ? EnumFlowerColor.RED.getColor(false) : renderInfo.primary.getColor(isWilted()); + } + + public int getSecondaryColor() { + return (renderInfo == null) ? EnumFlowerColor.RED.getColor(false) : renderInfo.secondary.getColor(isWilted()); + } + + public int getStemColour() { + return (renderInfo == null) ? EnumFlowerColor.GREEN.getColor(false) : renderInfo.stem.getColor(isWilted()); + } + + public IFlowerType getType() { + return (renderInfo == null) ? EnumFlowerType.POPPY : renderInfo.type; + } + + public BiomeGenBase getBiome() { + return getWorld().getBiomeGenForCoords(xCoord, zCoord); + } + + @Override + public ChunkCoordinates getCoordinates() { + return new ChunkCoordinates(xCoord, yCoord, zCoord); + } + + // TODO ?? + @Override + public boolean isPollinated() { + 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 e64b1bda..06afd05c 100644 --- a/src/main/java/binnie/botany/gardening/BlockPlant.java +++ b/src/main/java/binnie/botany/gardening/BlockPlant.java @@ -7,6 +7,9 @@ import binnie.botany.api.gardening.IBlockSoil; import binnie.core.util.I18N; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockBush; import net.minecraft.client.renderer.texture.IIconRegister; @@ -17,141 +20,135 @@ 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); - setStepSound(Block.soundTypeGrass); - } + public BlockPlant() { + setBlockName("plant"); + setCreativeTab(CreativeTabBotany.instance); + setTickRandomly(true); + setStepSound(Block.soundTypeGrass); + } - public static boolean isWeed(IBlockAccess world, int x, int y, int z) { - if (!(world.getBlock(x, y, z) instanceof BlockPlant)) { - return false; - } + 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; - } + Type type = Type.get(world.getBlockMetadata(x, y, z)); + return type == Type.Weeds || type == Type.WeedsLong || type == Type.WeedsVeryLong; + } - @Override - public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { - return new ArrayList<>(); - } + @Override + 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(IIconRegister register) { - for (Type t : Type.values()) { - t.icon = Botany.proxy.getIcon(register, t.name().toLowerCase()); - } - } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + for (Type t : Type.values()) { + t.icon = Botany.proxy.getIcon(register, t.name().toLowerCase()); + } + } - @Override - protected boolean canPlaceBlockOn(Block block) { - return super.canPlaceBlockOn(block) || Gardening.isSoil(block); - } + @Override + protected boolean canPlaceBlockOn(Block block) { + return super.canPlaceBlockOn(block) || Gardening.isSoil(block); + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) { - return Type.values()[meta % Type.values().length].icon; - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return Type.values()[meta % Type.values().length].icon; + } - @Override - public int damageDropped(int damage) { - return damage; - } + @Override + public int damageDropped(int damage) { + return damage; + } - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item item, CreativeTabs tab, List list) { - for (Type type : Type.values()) { - list.add(type.get()); - } - } + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (Type type : Type.values()) { + list.add(type.get()); + } + } - @Override - 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) { - world.setBlockMetadataWithNotify(x, y, z, Type.WeedsVeryLong.ordinal(), 2); - } else if (type == Type.DeadFlower) { - world.setBlockMetadataWithNotify(x, y, z, Type.DecayingFlower.ordinal(), 2); - } else if (type == Type.DecayingFlower) { - world.setBlockToAir(x, y, z); - return; - } - } + @Override + 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) { + world.setBlockMetadataWithNotify(x, y, z, Type.WeedsVeryLong.ordinal(), 2); + } else if (type == Type.DeadFlower) { + world.setBlockMetadataWithNotify(x, y, z, Type.DecayingFlower.ordinal(), 2); + } 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) { - world.setBlockMetadataWithNotify(x, y, z, Type.Weeds.ordinal(), 2); - } else if (type == Type.WeedsVeryLong) { - world.setBlockMetadataWithNotify(x, y, z, Type.WeedsLong.ordinal(), 2); - } - } + if (random.nextInt(6) == 0) { + if (type == Type.Weeds) { + world.setBlockToAir(x, y, z); + } else if (type == Type.WeedsLong) { + world.setBlockMetadataWithNotify(x, y, z, Type.Weeds.ordinal(), 2); + } else if (type == Type.WeedsVeryLong) { + world.setBlockMetadataWithNotify(x, y, z, Type.WeedsLong.ordinal(), 2); + } + } - Block below = world.getBlock(x, y - 1, z); - if (!Gardening.isSoil(below)) { - return; - } + Block below = world.getBlock(x, y - 1, z); + if (!Gardening.isSoil(below)) { + return; + } - IBlockSoil soil = (IBlockSoil) below; - if (random.nextInt(3) != 0) { - 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); - } - } + 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(IBlockAccess world, int x, int y, int z) { - return true; - } + @Override + public boolean isReplaceable(IBlockAccess world, int x, int y, int z) { + return true; + } - public enum Type { - Weeds("weeds"), - WeedsLong("longWeeds"), - WeedsVeryLong("veryLongWeeds"), - DeadFlower("deadFlower"), - DecayingFlower("decayingFlower"); + public enum Type { + Weeds("weeds"), + WeedsLong("longWeeds"), + WeedsVeryLong("veryLongWeeds"), + DeadFlower("deadFlower"), + DecayingFlower("decayingFlower"); - public IIcon icon; + public IIcon icon; - protected String name; + protected String name; - Type(String name) { - this.name = name; - } + Type(String name) { + this.name = name; + } - public static Type get(int id) { - return values()[id % values().length]; - } + public static Type get(int id) { + return values()[id % values().length]; + } - public ItemStack get() { - return new ItemStack(Botany.plant, 1, ordinal()); - } + public ItemStack get() { + return new ItemStack(Botany.plant, 1, ordinal()); + } - public String getName() { - return I18N.localise("botany.plant." + name); - } - } + public String getName() { + return I18N.localise("botany.plant." + name); + } + } } diff --git a/src/main/java/binnie/botany/gardening/BlockSoil.java b/src/main/java/binnie/botany/gardening/BlockSoil.java index 35dd674d..1612445f 100644 --- a/src/main/java/binnie/botany/gardening/BlockSoil.java +++ b/src/main/java/binnie/botany/gardening/BlockSoil.java @@ -8,6 +8,8 @@ import binnie.botany.api.EnumSoilType; import binnie.botany.api.gardening.IBlockSoil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; +import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -22,193 +24,192 @@ import net.minecraft.world.World; import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.util.ForgeDirection; -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; + 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 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 int getMeta(EnumAcidity acid, EnumMoisture moisture) { + return acid.ordinal() * 3 + moisture.ordinal(); + } - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item item, CreativeTabs tab, List list) { - for (int i = 0; i < 9; ++i) { - list.add(new ItemStack(this, 1, i)); - } - } + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (int i = 0; i < 9; ++i) { + list.add(new ItemStack(this, 1, i)); + } + } - @Override - @SideOnly(Side.CLIENT) - 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(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(int side, int meta) { - meta = ((meta >= 9) ? 8 : 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 IIcon getIcon(int side, int meta) { + meta = ((meta >= 9) ? 8 : 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(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"); - } - } - } + @Override + @SideOnly(Side.CLIENT) + 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 type; - } + public EnumSoilType getType() { + return type; + } - @Override - public int damageDropped(int damage) { - return damage; - } + @Override + public int damageDropped(int damage) { + return damage; + } - @Override - 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]; - 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); - } + @Override + 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]; + 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); + } - int meta2 = getMeta(acidity, moisture); - if (meta != meta2) { - world.setBlockMetadataWithNotify(x, y, z, meta2, 2); - } - 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); - } - } + int meta2 = getMeta(acidity, moisture); + if (meta != meta2) { + world.setBlockMetadataWithNotify(x, y, z, meta2, 2); + } + 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(World world, int x, int y, int z) { - return AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1); - } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + return AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1); + } - @Override - public boolean isOpaqueCube() { - return false; - } + @Override + public boolean isOpaqueCube() { + return false; + } - @Override - public boolean renderAsNormalBlock() { - return false; - } + @Override + public boolean renderAsNormalBlock() { + return false; + } - @Override - public EnumAcidity getPH(World world, int x, int y, int z) { - return EnumAcidity.values()[world.getBlockMetadata(x, y, z) / 3]; - } + @Override + public EnumAcidity getPH(World world, int x, int y, int z) { + return EnumAcidity.values()[world.getBlockMetadata(x, y, z) / 3]; + } - @Override - public EnumMoisture getMoisture(World world, int x, int y, int z) { - return EnumMoisture.values()[world.getBlockMetadata(x, y, z) % 3]; - } + @Override + public EnumMoisture getMoisture(World world, int x, int y, int z) { + return EnumMoisture.values()[world.getBlockMetadata(x, y, z) % 3]; + } - @Override - public EnumSoilType getType(World world, int x, int y, int z) { - return type; - } + @Override + public EnumSoilType getType(World world, int x, int y, int z) { + return type; + } - @Override - 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; - } + @Override + 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; + } - int meta = world.getBlockMetadata(x, y, z); - return world.setBlock(x, y, z, Gardening.getSoilBlock(maxLevel, 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(World world, int x, int y, int z, EnumSoilType minLevel) { - EnumSoilType type = getType(world, x, y, z); - if (type.ordinal() <= minLevel.ordinal()) { - return false; - } + @Override + 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; + } - int meta = world.getBlockMetadata(x, y, z); - return world.setBlock(x, y, z, Gardening.getSoilBlock(minLevel, 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(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 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(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); - } + @Override + 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); + } - @Override - 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); - } - } + @Override + 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); + } + } - @Override - 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; - } + @Override + 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 !weedKilled || !BlockPlant.isWeed(world, x, y, z); - } - return world instanceof World - && Blocks.dirt.canSustainPlant(world, x, y, z, direction, plantable); - } + if (plant == Botany.plant) { + return !weedKilled || !BlockPlant.isWeed(world, x, y, z); + } + return world instanceof World && Blocks.dirt.canSustainPlant(world, x, y, z, direction, plantable); + } - @Override - public boolean resistsWeeds(World world, int x, int y, int z) { - return weedKilled; - } + @Override + 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 484bc3bc..91c5b54f 100644 --- a/src/main/java/binnie/botany/gardening/Gardening.java +++ b/src/main/java/binnie/botany/gardening/Gardening.java @@ -11,6 +11,9 @@ import binnie.botany.items.BotanyItems; import binnie.core.BinnieCore; import com.mojang.authlib.GameProfile; import forestry.api.core.EnumTemperature; +import java.util.Collection; +import java.util.LinkedHashMap; +import java.util.Map; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.Item; @@ -20,255 +23,260 @@ 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 = new LinkedHashMap<>(); - public static Map fertiliserAlkaline = new LinkedHashMap<>(); - public static Map fertiliserNutrient = new LinkedHashMap<>(); + public static Map fertiliserAcid = new LinkedHashMap<>(); + public static Map fertiliserAlkaline = new LinkedHashMap<>(); + public static Map fertiliserNutrient = new LinkedHashMap<>(); - public static boolean isSoil(Block block) { - return block instanceof IBlockSoil; - } + public static boolean isSoil(Block block) { + return block instanceof IBlockSoil; + } - public static boolean isSoil(Item item) { - return item instanceof ItemBlock - && isSoil(((ItemBlock) item).field_150939_a); - } + public static boolean isSoil(Item item) { + return item instanceof ItemBlock && isSoil(((ItemBlock) item).field_150939_a); + } - 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) { - bias += 1.5; - } - } - } - } + 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) { + bias += 1.5; + } + } + } + } - if (world.isRaining() && world.canBlockSeeTheSky(x, y + 1, z) && world.getPrecipitationHeight(x, z) <= y + 1) { - 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) { - if (world.getBlock(x + dx, y, z + dz) == Blocks.gravel && bias > 0.0f) { - bias *= 0.4f; - } - } - } - } + 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.gravel && bias > 0.0f) { + bias *= 0.4f; + } + } + } + } - if (bias <= -1.0f) { - return EnumMoisture.DRY; - } - return (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(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 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(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 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(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 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(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 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(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; - } + 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; + } - 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 { - ((TileEntityFlower) tileFlower).create(flower, owner); - } - } + 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 { + ((TileEntityFlower) tileFlower).create(flower, owner); + } + } - tryGrowSection(world, x, y, z); - return true; - } + tryGrowSection(world, x, y, z); + return true; + } - public static void tryGrowSection(World world, int x, int y, int z) { - if (!BinnieCore.proxy.isSimulating(world)) { - return; - } + public static void tryGrowSection(World world, int x, int y, int z) { + if (!BinnieCore.proxy.isSimulating(world)) { + return; + } - TileEntity flower = world.getTileEntity(x, y, z); - if (flower == null || !(flower instanceof TileEntityFlower)) { - return; - } + 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; - } + 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); - } - } + 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(World world, int x, int y, int z) { - tryGrowSection(world, x, y, z); - } + public static void onGrowFromSeed(World world, int x, int y, int z) { + tryGrowSection(world, x, y, z); + } - public static Collection getAcidFertilisers() { - return Gardening.fertiliserAcid.keySet(); - } + public static Collection getAcidFertilisers() { + return Gardening.fertiliserAcid.keySet(); + } - public static Collection getAlkalineFertilisers() { - return Gardening.fertiliserAlkaline.keySet(); - } + public static Collection getAlkalineFertilisers() { + return Gardening.fertiliserAlkaline.keySet(); + } - public static Collection getNutrientFertilisers() { - return Gardening.fertiliserNutrient.keySet(); - } + public static Collection getNutrientFertilisers() { + return Gardening.fertiliserNutrient.keySet(); + } - public static boolean isAcidFertiliser(ItemStack itemstack) { - for (ItemStack stack : getAcidFertilisers()) { - if (stack != null && stack.isItemEqual(itemstack)) { - return true; - } - } - return false; - } + public static boolean isAcidFertiliser(ItemStack itemstack) { + for (ItemStack stack : getAcidFertilisers()) { + if (stack != null && stack.isItemEqual(itemstack)) { + return true; + } + } + return false; + } - public static boolean isAlkalineFertiliser(ItemStack itemstack) { - for (ItemStack stack : getAlkalineFertilisers()) { - if (stack != null && stack.isItemEqual(itemstack)) { - return true; - } - } - return false; - } + public static boolean isAlkalineFertiliser(ItemStack itemstack) { + for (ItemStack stack : getAlkalineFertilisers()) { + if (stack != null && stack.isItemEqual(itemstack)) { + return true; + } + } + return false; + } - public static boolean isNutrientFertiliser(ItemStack itemstack) { - for (ItemStack stack : getNutrientFertilisers()) { - if (stack != null && stack.isItemEqual(itemstack)) { - return true; - } - } - return false; - } + public static boolean isNutrientFertiliser(ItemStack itemstack) { + for (ItemStack stack : getNutrientFertilisers()) { + if (stack != null && stack.isItemEqual(itemstack)) { + return true; + } + } + return false; + } - public static int getFertiliserStrength(ItemStack stack) { - if (stack == null) { - return 1; - } + public static int getFertiliserStrength(ItemStack stack) { + if (stack == null) { + return 1; + } - for (Map.Entry entry : Gardening.fertiliserAcid.entrySet()) { - if (entry.getKey().isItemEqual(stack)) { - return entry.getValue(); - } - } + for (Map.Entry entry : Gardening.fertiliserAcid.entrySet()) { + if (entry.getKey().isItemEqual(stack)) { + return entry.getValue(); + } + } - for (Map.Entry entry : Gardening.fertiliserAlkaline.entrySet()) { - if (entry.getKey().isItemEqual(stack)) { - return entry.getValue(); - } - } + for (Map.Entry entry : Gardening.fertiliserAlkaline.entrySet()) { + if (entry.getKey().isItemEqual(stack)) { + return entry.getValue(); + } + } - for (Map.Entry entry : Gardening.fertiliserNutrient.entrySet()) { - if (entry.getKey().isItemEqual(stack)) { - return entry.getValue(); - } - } - return 1; - } + for (Map.Entry entry : Gardening.fertiliserNutrient.entrySet()) { + if (entry.getKey().isItemEqual(stack)) { + return entry.getValue(); + } + } + return 1; + } - public static boolean canTolerate(IFlower flower, World world, int x, int y, int z) { - if (flower == null || flower.getGenome() == null) { - return false; - } + public static boolean canTolerate(IFlower flower, World world, int x, int y, int z) { + if (flower == null || flower.getGenome() == null) { + return false; + } - 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)); - } + 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(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 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(EnumSoilType type) { - return getSoilBlock(type, false); - } + public static Block getSoilBlock(EnumSoilType type) { + return getSoilBlock(type, false); + } - public static Block getSoilBlock(EnumSoilType type, boolean weedkill) { - switch (type) { - case FLOWERBED: - return weedkill ? Botany.flowerbedNoWeed : Botany.flowerbed; + 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; - } - return weedkill ? Botany.soilNoWeed : Botany.soil; - } + case LOAM: + return weedkill ? Botany.loamNoWeed : Botany.loam; + } + return weedkill ? Botany.soilNoWeed : Botany.soil; + } - 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 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(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(World world, int x, int y, int z) { - if (!(world.getBlock(x, y, z) instanceof IBlockSoil)) { - return false; - } + public static boolean addWeedKiller(World world, int x, int y, int z) { + if (!(world.getBlock(x, y, z) instanceof IBlockSoil)) { + return false; + } - 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; - } + 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; + } } diff --git a/src/main/java/binnie/botany/gardening/ItemSoil.java b/src/main/java/binnie/botany/gardening/ItemSoil.java index b1e132e5..4088eb87 100644 --- a/src/main/java/binnie/botany/gardening/ItemSoil.java +++ b/src/main/java/binnie/botany/gardening/ItemSoil.java @@ -6,81 +6,72 @@ import binnie.botany.api.EnumSoilType; import binnie.core.util.I18N; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; +import java.util.Locale; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; -import java.util.Locale; - public class ItemSoil extends ItemBlock { - protected EnumSoilType type; + protected EnumSoilType type; - private boolean noWeed; + private boolean noWeed; - public ItemSoil(Block block) { - super(block); - type = ((BlockSoil) field_150939_a).getType(); - noWeed = ((BlockSoil) field_150939_a).weedKilled; - hasSubtypes = true; - } + 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(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 = ""; + @Override + @SideOnly(Side.CLIENT) + 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 - + I18N.localise("botany.moisture.dry") - + EnumChatFormatting.RESET; - } - if (moisture == EnumMoisture.DAMP) { - info += EnumChatFormatting.YELLOW - + I18N.localise("botany.moisture.damp") - + EnumChatFormatting.RESET; - } + if (moisture == EnumMoisture.DRY) { + info += EnumChatFormatting.YELLOW + I18N.localise("botany.moisture.dry") + EnumChatFormatting.RESET; + } + if (moisture == EnumMoisture.DAMP) { + info += EnumChatFormatting.YELLOW + I18N.localise("botany.moisture.damp") + EnumChatFormatting.RESET; + } - if (acidity == EnumAcidity.ACID) { - if (info.length() > 0) { - info += ", "; - } - info += EnumChatFormatting.YELLOW - + I18N.localise("botany.ph.acid") - + EnumChatFormatting.RESET; - } + if (acidity == EnumAcidity.ACID) { + if (info.length() > 0) { + info += ", "; + } + info += EnumChatFormatting.YELLOW + I18N.localise("botany.ph.acid") + EnumChatFormatting.RESET; + } - if (acidity == EnumAcidity.ALKALINE) { - if (info.length() > 0) { - info += ", "; - } - info += EnumChatFormatting.YELLOW - + I18N.localise("botany.ph.alkaline") - + EnumChatFormatting.RESET; - } + if (acidity == EnumAcidity.ALKALINE) { + if (info.length() > 0) { + info += ", "; + } + info += EnumChatFormatting.YELLOW + I18N.localise("botany.ph.alkaline") + EnumChatFormatting.RESET; + } - if (info.length() > 0) { - tooltip.add(info); - } + if (info.length() > 0) { + tooltip.add(info); + } - if (noWeed) { - tooltip.add(I18N.localise("botany.soil.weedkiller")); - } - } + if (noWeed) { + tooltip.add(I18N.localise("botany.soil.weedkiller")); + } + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - String soilName = type.name().toLowerCase(Locale.ENGLISH); - return I18N.localise("botany.soil." + soilName); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + String soilName = type.name().toLowerCase(Locale.ENGLISH); + return I18N.localise("botany.soil." + soilName); + } - @Override - public int getMetadata(int meta) { - return meta; - } + @Override + 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 ac4a0256..d6ead555 100644 --- a/src/main/java/binnie/botany/gardening/ItemSoilMeter.java +++ b/src/main/java/binnie/botany/gardening/ItemSoilMeter.java @@ -22,63 +22,67 @@ 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 ItemSoilMeter() { + setCreativeTab(CreativeTabBotany.instance); + setUnlocalizedName("soilMeter"); + setMaxStackSize(1); + } - @Override - 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--; - block = world.getBlock(x, y, z); - } + @Override + 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--; + block = world.getBlock(x, y, z); + } - if (Gardening.isSoil(block) && !BinnieCore.proxy.isSimulating(world)) { - 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); + if (Gardening.isSoil(block) && !BinnieCore.proxy.isSimulating(world)) { + 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); - EnumChatFormatting[] colors = new EnumChatFormatting[]{ - EnumChatFormatting.DARK_GRAY, - EnumChatFormatting.GOLD, - EnumChatFormatting.LIGHT_PURPLE, - }; - String info = I18N.localise("botany.soil.tooltip.type") + " "; - info += colors[type.ordinal()] + AlleleHelper.toDisplay(type) + EnumChatFormatting.RESET; + EnumChatFormatting[] colors = new EnumChatFormatting[] { + EnumChatFormatting.DARK_GRAY, EnumChatFormatting.GOLD, EnumChatFormatting.LIGHT_PURPLE, + }; + String info = I18N.localise("botany.soil.tooltip.type") + " "; + info += colors[type.ordinal()] + AlleleHelper.toDisplay(type) + EnumChatFormatting.RESET; - colors = new EnumChatFormatting[]{ - EnumChatFormatting.YELLOW, - EnumChatFormatting.GRAY, - EnumChatFormatting.BLUE, - }; - info += ", " + I18N.localise("botany.soil.tooltip.moisture") + " "; - info += colors[moisture.ordinal()] + AlleleHelper.toDisplay(moisture) + EnumChatFormatting.RESET; + colors = new EnumChatFormatting[] { + EnumChatFormatting.YELLOW, EnumChatFormatting.GRAY, EnumChatFormatting.BLUE, + }; + info += ", " + I18N.localise("botany.soil.tooltip.moisture") + " "; + info += colors[moisture.ordinal()] + AlleleHelper.toDisplay(moisture) + EnumChatFormatting.RESET; - colors = new EnumChatFormatting[]{ - EnumChatFormatting.RED, - EnumChatFormatting.GREEN, - EnumChatFormatting.AQUA, - }; - info += ", " + I18N.localise("botany.soil.tooltip.pH") + " "; - info += colors[pH.ordinal()] + AlleleHelper.toDisplay(pH) + EnumChatFormatting.RESET; - IChatComponent chat = new ChatComponentText(info); - player.addChatMessage(chat); - } - return super.onItemUse(stack, player, world, x, y, z, side, blockX, blockY, blockZ); - } + colors = new EnumChatFormatting[] { + EnumChatFormatting.RED, EnumChatFormatting.GREEN, EnumChatFormatting.AQUA, + }; + info += ", " + I18N.localise("botany.soil.tooltip.pH") + " "; + info += colors[pH.ordinal()] + AlleleHelper.toDisplay(pH) + EnumChatFormatting.RESET; + IChatComponent chat = new ChatComponentText(info); + player.addChatMessage(chat); + } + return super.onItemUse(stack, player, world, x, y, z, side, blockX, blockY, blockZ); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - itemIcon = Botany.proxy.getIcon(register, "soilMeter"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = Botany.proxy.getIcon(register, "soilMeter"); + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return I18N.localise("botany.item.soilMeter.name"); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return I18N.localise("botany.item.soilMeter.name"); + } } diff --git a/src/main/java/binnie/botany/gardening/ItemTrowel.java b/src/main/java/binnie/botany/gardening/ItemTrowel.java index 5902f2c3..466edcb6 100644 --- a/src/main/java/binnie/botany/gardening/ItemTrowel.java +++ b/src/main/java/binnie/botany/gardening/ItemTrowel.java @@ -16,52 +16,69 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ItemTrowel extends Item { - protected Item.ToolMaterial theToolMaterial; - String locName; + protected Item.ToolMaterial theToolMaterial; + String locName; - public ItemTrowel(Item.ToolMaterial toolMaterial, String material) { - theToolMaterial = toolMaterial; - maxStackSize = 1; - setMaxDamage(toolMaterial.getMaxUses()); - setCreativeTab(CreativeTabBotany.instance); - setUnlocalizedName("trowel" + material); - 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(IIconRegister register) { - itemIcon = Botany.proxy.getIcon(register, "tools/" + locName); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = Botany.proxy.getIcon(register, "tools/" + locName); + } - @Override - 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; - } - 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; - } + @Override + 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; + } + 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; + } - 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; - } + 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; + } - 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; - } + 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; + } - @Override - @SideOnly(Side.CLIENT) - public boolean isFull3D() { - return true; - } + @Override + @SideOnly(Side.CLIENT) + public boolean isFull3D() { + return true; + } } diff --git a/src/main/java/binnie/botany/gardening/ItemWeed.java b/src/main/java/binnie/botany/gardening/ItemWeed.java index f0eaaac5..04c5c594 100644 --- a/src/main/java/binnie/botany/gardening/ItemWeed.java +++ b/src/main/java/binnie/botany/gardening/ItemWeed.java @@ -8,25 +8,25 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; public class ItemWeed extends ItemBlock { - public ItemWeed(Block block) { - super(block); - setHasSubtypes(true); - hasSubtypes = true; - } + public ItemWeed(Block block) { + super(block); + setHasSubtypes(true); + hasSubtypes = true; + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return BlockPlant.Type.values()[stack.getItemDamage()].getName(); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return BlockPlant.Type.values()[stack.getItemDamage()].getName(); + } - @Override - public int getMetadata(int meta) { - return meta; - } + @Override + public int getMetadata(int meta) { + return meta; + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int damage) { - return field_150939_a.getIcon(2, damage); - } + @Override + @SideOnly(Side.CLIENT) + 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 f208d0fc..09aaa045 100644 --- a/src/main/java/binnie/botany/gardening/ModuleGardening.java +++ b/src/main/java/binnie/botany/gardening/ModuleGardening.java @@ -26,6 +26,8 @@ import binnie.core.block.ItemMetadataRenderer; import binnie.core.block.MultipassItemRenderer; import binnie.core.block.TileEntityMetadata; import cpw.mods.fml.common.registry.GameRegistry; +import java.util.HashMap; +import java.util.Map; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; @@ -35,336 +37,317 @@ import net.minecraftforge.oredict.RecipeSorter; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; -import java.util.HashMap; -import java.util.Map; - public class ModuleGardening implements IInitializable { - public static HashMap queuedAcidFertilisers = new HashMap<>(); - public static HashMap queuedAlkalineFertilisers = new HashMap<>(); - public static HashMap queuedNutrientFertilisers = new HashMap<>(); + public static HashMap queuedAcidFertilisers = new HashMap<>(); + public static HashMap queuedAlkalineFertilisers = new HashMap<>(); + public static HashMap queuedNutrientFertilisers = new HashMap<>(); - @Override - public void preInit() { - Botany.plant = new BlockPlant(); - GameRegistry.registerBlock(Botany.plant, ItemWeed.class, "plant"); + @Override + public void preInit() { + Botany.plant = new BlockPlant(); + GameRegistry.registerBlock(Botany.plant, ItemWeed.class, "plant"); - Botany.soil = new BlockSoil(EnumSoilType.SOIL, "soil", false); - GameRegistry.registerBlock(Botany.soil, ItemSoil.class, "soil"); + Botany.soil = new BlockSoil(EnumSoilType.SOIL, "soil", false); + GameRegistry.registerBlock(Botany.soil, ItemSoil.class, "soil"); - Botany.loam = new BlockSoil(EnumSoilType.LOAM, "loam", false); - GameRegistry.registerBlock(Botany.loam, ItemSoil.class, "loam"); + 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.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.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.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.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"); - Botany.trowelStone = new ItemTrowel(Item.ToolMaterial.STONE, "Stone"); - Botany.trowelIron = new ItemTrowel(Item.ToolMaterial.IRON, "Iron"); - Botany.trowelDiamond = new ItemTrowel(Item.ToolMaterial.EMERALD, "Diamond"); - Botany.trowelGold = new ItemTrowel(Item.ToolMaterial.GOLD, "Gold"); - Botany.misc = Binnie.Item.registerMiscItems(BotanyItems.values(), CreativeTabBotany.instance); - Botany.pigment = new ItemPigment(); - Botany.clay = new ItemClay(); + Botany.soilMeter = new ItemSoilMeter(); + Botany.insulatedTube = new ItemInsulatedTube(); + Botany.trowelWood = new ItemTrowel(Item.ToolMaterial.WOOD, "Wood"); + Botany.trowelStone = new ItemTrowel(Item.ToolMaterial.STONE, "Stone"); + Botany.trowelIron = new ItemTrowel(Item.ToolMaterial.IRON, "Iron"); + Botany.trowelDiamond = new ItemTrowel(Item.ToolMaterial.EMERALD, "Diamond"); + Botany.trowelGold = new ItemTrowel(Item.ToolMaterial.GOLD, "Gold"); + Botany.misc = Binnie.Item.registerMiscItems(BotanyItems.values(), CreativeTabBotany.instance); + Botany.pigment = new ItemPigment(); + Botany.clay = new ItemClay(); - Botany.ceramic = new BlockCeramic(); - GameRegistry.registerBlock(Botany.ceramic, ItemMetadata.class, "ceramic"); - BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(Botany.ceramic), new ItemMetadataRenderer()); + Botany.ceramic = new BlockCeramic(); + 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.stained = new BlockStained(); + GameRegistry.registerBlock(Botany.stained, ItemMetadata.class, "stained"); + BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(Botany.stained), new ItemMetadataRenderer()); - Botany.ceramicTile = new BlockCeramicPatterned(); - GameRegistry.registerBlock(Botany.ceramicTile, ItemMetadata.class, "ceramicPattern"); - BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(Botany.ceramicTile), new MultipassItemRenderer()); + Botany.ceramicTile = new BlockCeramicPatterned(); + GameRegistry.registerBlock(Botany.ceramicTile, ItemMetadata.class, "ceramicPattern"); + 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()); - } + Botany.ceramicBrick = new BlockCeramicBrick(); + GameRegistry.registerBlock(Botany.ceramicBrick, ItemMetadata.class, "ceramicBrick"); + BinnieCore.proxy.registerCustomItemRenderer( + Item.getItemFromBlock(Botany.ceramicBrick), new MultipassItemRenderer()); + } - @Override - public void init() { - OreDictionary.registerOre("pigment", Botany.pigment); - RecipeSorter.register("botany:ceramictile", CeramicTileRecipe.class, RecipeSorter.Category.SHAPED, ""); - RecipeSorter.register("botany:pigment", PigmentRecipe.class, RecipeSorter.Category.SHAPED, ""); - 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); + @Override + public void init() { + OreDictionary.registerOre("pigment", Botany.pigment); + RecipeSorter.register("botany:ceramictile", CeramicTileRecipe.class, RecipeSorter.Category.SHAPED, ""); + RecipeSorter.register("botany:pigment", PigmentRecipe.class, RecipeSorter.Category.SHAPED, ""); + 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; - } - new CircuitGarden(moist, null, manual, fertilised, new ItemStack(Botany.insulatedTube, 1, 128 * insulate), icon); - new CircuitGarden(moist, EnumAcidity.ACID, manual, fertilised, new ItemStack(Botany.insulatedTube, 1, 1 + 128 * insulate), icon); - new CircuitGarden(moist, EnumAcidity.NEUTRAL, manual, fertilised, new ItemStack(Botany.insulatedTube, 1, 2 + 128 * insulate), icon); - new CircuitGarden(moist, EnumAcidity.ALKALINE, manual, fertilised, new ItemStack(Botany.insulatedTube, 1, 3 + 128 * insulate), icon); - } - } - } - } + 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; + } + new CircuitGarden( + moist, + null, + manual, + fertilised, + new ItemStack(Botany.insulatedTube, 1, 128 * insulate), + icon); + new CircuitGarden( + moist, + EnumAcidity.ACID, + manual, + fertilised, + new ItemStack(Botany.insulatedTube, 1, 1 + 128 * insulate), + icon); + new CircuitGarden( + moist, + EnumAcidity.NEUTRAL, + manual, + fertilised, + new ItemStack(Botany.insulatedTube, 1, 2 + 128 * insulate), + icon); + new CircuitGarden( + moist, + EnumAcidity.ALKALINE, + manual, + fertilised, + new ItemStack(Botany.insulatedTube, 1, 3 + 128 * insulate), + icon); + } + } + } + } - @Override - public void postInit() { - GameRegistry.addRecipe(new CeramicTileRecipe()); - for (int mat = 0; mat < 4; ++mat) { - for (int insulate = 0; insulate < 6; ++insulate) { - 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); - } - } + @Override + public void postInit() { + GameRegistry.addRecipe(new CeramicTileRecipe()); + for (int mat = 0; mat < 4; ++mat) { + for (int insulate = 0; insulate < 6; ++insulate) { + 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.addShapelessRecipe(new ItemStack(Blocks.dirt), new ItemStack(Botany.soil, 1, OreDictionary.WILDCARD_VALUE)); - GameRegistry.addShapelessRecipe(new ItemStack(Blocks.dirt), new ItemStack(Botany.loam, 1, OreDictionary.WILDCARD_VALUE)); - GameRegistry.addShapelessRecipe(new ItemStack(Blocks.dirt), new ItemStack(Botany.flowerbed, 1, OreDictionary.WILDCARD_VALUE)); - GameRegistry.addShapelessRecipe(new ItemStack(Blocks.dirt), new ItemStack(Botany.soilNoWeed, 1, OreDictionary.WILDCARD_VALUE)); - GameRegistry.addShapelessRecipe(new ItemStack(Blocks.dirt), new ItemStack(Botany.loamNoWeed, 1, OreDictionary.WILDCARD_VALUE)); - GameRegistry.addShapelessRecipe(new ItemStack(Blocks.dirt), new ItemStack(Botany.flowerbedNoWeed, 1, OreDictionary.WILDCARD_VALUE)); + GameRegistry.addShapelessRecipe( + new ItemStack(Blocks.dirt), new ItemStack(Botany.soil, 1, OreDictionary.WILDCARD_VALUE)); + GameRegistry.addShapelessRecipe( + new ItemStack(Blocks.dirt), new ItemStack(Botany.loam, 1, OreDictionary.WILDCARD_VALUE)); + GameRegistry.addShapelessRecipe( + new ItemStack(Blocks.dirt), new ItemStack(Botany.flowerbed, 1, OreDictionary.WILDCARD_VALUE)); + GameRegistry.addShapelessRecipe( + new ItemStack(Blocks.dirt), new ItemStack(Botany.soilNoWeed, 1, OreDictionary.WILDCARD_VALUE)); + GameRegistry.addShapelessRecipe( + new ItemStack(Blocks.dirt), new ItemStack(Botany.loamNoWeed, 1, OreDictionary.WILDCARD_VALUE)); + GameRegistry.addShapelessRecipe( + new ItemStack(Blocks.dirt), new ItemStack(Botany.flowerbedNoWeed, 1, OreDictionary.WILDCARD_VALUE)); - 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.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.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" - } - )); + 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); + 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 (ItemStack stack : OreDictionary.getOres("dustSulfur")) { - ModuleGardening.queuedAcidFertilisers.put(stack, 2); - } + 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); - ModuleGardening.queuedAlkalineFertilisers.put(new ItemStack(GameRegistry.findItem("Forestry", "woodPulp")), 2); - ModuleGardening.queuedNutrientFertilisers.put(BotanyItems.CompostPowder.get(1), 1); - 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); + 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); + ModuleGardening.queuedAlkalineFertilisers.put(new ItemStack(GameRegistry.findItem("Forestry", "woodPulp")), 2); + ModuleGardening.queuedNutrientFertilisers.put(BotanyItems.CompostPowder.get(1), 1); + 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 (Map.Entry entry : ModuleGardening.queuedAcidFertilisers.entrySet()) { - addAcidFertiliser(entry.getKey(), entry.getValue()); - } + for (Map.Entry entry : ModuleGardening.queuedAcidFertilisers.entrySet()) { + addAcidFertiliser(entry.getKey(), entry.getValue()); + } - for (Map.Entry entry : ModuleGardening.queuedAlkalineFertilisers.entrySet()) { - addAlkalineFertiliser(entry.getKey(), entry.getValue()); - } + for (Map.Entry entry : ModuleGardening.queuedAlkalineFertilisers.entrySet()) { + addAlkalineFertiliser(entry.getKey(), entry.getValue()); + } - for (Map.Entry entry : ModuleGardening.queuedNutrientFertilisers.entrySet()) { - addNutrientFertiliser(entry.getKey(), entry.getValue()); - } + for (Map.Entry entry : ModuleGardening.queuedNutrientFertilisers.entrySet()) { + addNutrientFertiliser(entry.getKey(), entry.getValue()); + } - GameRegistry.addRecipe( - BotanyItems.Mortar.get(6), - " c ", "cgc", " c ", - 'c', Items.clay_ball, - 'g', Blocks.gravel - ); + 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); - ItemStack glass = TileEntityMetadata.getItemStack(Botany.stained, c.ordinal()); - glass.stackSize = 4; - GameRegistry.addShapedRecipe( - glass, - " g ", "gpg", " g ", - 'g', Blocks.glass, - 'p', pigment - ); - } + 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); + ItemStack glass = TileEntityMetadata.getItemStack(Botany.stained, c.ordinal()); + glass.stackSize = 4; + GameRegistry.addShapedRecipe(glass, " g ", "gpg", " g ", 'g', Blocks.glass, 'p', pigment); + } - GameRegistry.addRecipe(new PigmentRecipe()); - } + GameRegistry.addRecipe(new PigmentRecipe()); + } - 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 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(ItemStack stack, int strengthMax) { - if (stack == null) { - return; - } + 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) { - ItemStack start = getStack(type, pH, moisture); - ItemStack end = getStack(type, pH - strength, moisture); - if (end != null) { - end.stackSize = numOfBlocks; - Object[] stacks = new Object[numOfBlocks + 1]; - for (int i = 0; i < numOfBlocks; ++i) { - stacks[i] = start; - } - stacks[numOfBlocks] = stack.copy(); - GameRegistry.addShapelessRecipe(end, stacks); - } - numOfBlocks /= 2; - } - } - } - } - } + 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) { + ItemStack start = getStack(type, pH, moisture); + ItemStack end = getStack(type, pH - strength, moisture); + if (end != null) { + end.stackSize = numOfBlocks; + Object[] stacks = new Object[numOfBlocks + 1]; + for (int i = 0; i < numOfBlocks; ++i) { + stacks[i] = start; + } + stacks[numOfBlocks] = stack.copy(); + GameRegistry.addShapelessRecipe(end, stacks); + } + numOfBlocks /= 2; + } + } + } + } + } - private void addAlkalineFertiliser(ItemStack stack, int strengthMax) { - if (stack == null) { - return; - } + 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) { - ItemStack start = getStack(type, pH, moisture); - ItemStack end = getStack(type, pH + strength, moisture); - if (end != null) { - end.stackSize = numOfBlocks; - Object[] stacks = new Object[numOfBlocks + 1]; - for (int i = 0; i < numOfBlocks; ++i) { - stacks[i] = start; - } - stacks[numOfBlocks] = stack.copy(); - GameRegistry.addShapelessRecipe(end, stacks); - } - numOfBlocks /= 2; - } - } - } - } - } + 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) { + ItemStack start = getStack(type, pH, moisture); + ItemStack end = getStack(type, pH + strength, moisture); + if (end != null) { + end.stackSize = numOfBlocks; + Object[] stacks = new Object[numOfBlocks + 1]; + for (int i = 0; i < numOfBlocks; ++i) { + stacks[i] = start; + } + stacks[numOfBlocks] = stack.copy(); + GameRegistry.addShapelessRecipe(end, stacks); + } + numOfBlocks /= 2; + } + } + } + } + } - private void addNutrientFertiliser(ItemStack stack, int strengthMax) { - if (stack == null) { - return; - } + 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) { - ItemStack start = getStack(type, pH, moisture); - ItemStack end = getStack(type + strength, pH, moisture); - if (end != null) { - end.stackSize = numOfBlocks; - Object[] stacks = new Object[numOfBlocks + 1]; - for (int i = 0; i < numOfBlocks; ++i) { - stacks[i] = start; - } - stacks[numOfBlocks] = stack.copy(); - GameRegistry.addShapelessRecipe(end, stacks); - } - numOfBlocks /= 2; - } - } - } - } - } + 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) { + ItemStack start = getStack(type, pH, moisture); + ItemStack end = getStack(type + strength, pH, moisture); + if (end != null) { + end.stackSize = numOfBlocks; + Object[] stacks = new Object[numOfBlocks + 1]; + for (int i = 0; i < numOfBlocks; ++i) { + stacks[i] = start; + } + stacks[numOfBlocks] = stack.copy(); + GameRegistry.addShapelessRecipe(end, stacks); + } + numOfBlocks /= 2; + } + } + } + } + } } diff --git a/src/main/java/binnie/botany/genetics/AlleleColor.java b/src/main/java/binnie/botany/genetics/AlleleColor.java index e1fe8e64..0fc2dae7 100644 --- a/src/main/java/binnie/botany/genetics/AlleleColor.java +++ b/src/main/java/binnie/botany/genetics/AlleleColor.java @@ -3,43 +3,43 @@ package binnie.botany.genetics; import forestry.api.genetics.IAlleleInteger; public class AlleleColor implements IAlleleInteger { - private String uid; - private int value; - private EnumFlowerColor color; - private boolean dominant = true; + private String uid; + private int value; + private EnumFlowerColor color; + private boolean dominant = true; - public AlleleColor(EnumFlowerColor color, String uid, int value) { - this.color = color; - this.uid = uid; - this.value = value; - } + public AlleleColor(EnumFlowerColor color, String uid, int value) { + this.color = color; + this.uid = uid; + this.value = value; + } - @Override - public String getUID() { - return uid; - } + @Override + public String getUID() { + return uid; + } - @Override - public boolean isDominant() { - return dominant; - } + @Override + public boolean isDominant() { + return dominant; + } - @Override - public String getName() { - return color.getName(); - } + @Override + public String getName() { + return color.getName(); + } - @Override - public int getValue() { - return value; - } + @Override + public int getValue() { + return value; + } - public EnumFlowerColor getColor() { - return color; - } + public EnumFlowerColor getColor() { + return color; + } - @Override - public String getUnlocalizedName() { - return getUID(); - } + @Override + public String getUnlocalizedName() { + return getUID(); + } } diff --git a/src/main/java/binnie/botany/genetics/AlleleEffectNone.java b/src/main/java/binnie/botany/genetics/AlleleEffectNone.java index 759daab7..af97b305 100644 --- a/src/main/java/binnie/botany/genetics/AlleleEffectNone.java +++ b/src/main/java/binnie/botany/genetics/AlleleEffectNone.java @@ -7,38 +7,38 @@ import forestry.api.genetics.IEffectData; import net.minecraft.world.World; public class AlleleEffectNone implements IAlleleFlowerEffect { - @Override - public boolean isCombinable() { - return true; - } + @Override + public boolean isCombinable() { + return true; + } - @Override - public IEffectData validateStorage(IEffectData storedData) { - return storedData; - } + @Override + public IEffectData validateStorage(IEffectData storedData) { + return storedData; + } - @Override - public String getUID() { - return "binnie.flowerEffectNone"; - } + @Override + public String getUID() { + return "binnie.flowerEffectNone"; + } - @Override - public boolean isDominant() { - return false; - } + @Override + public boolean isDominant() { + return false; + } - @Override - public String getName() { - return I18N.localise("forestry.allele.effect.none"); - } + @Override + public String getName() { + return I18N.localise("forestry.allele.effect.none"); + } - @Override - public IEffectData doEffect(IFlowerGenome genome, IEffectData storedData, World world, int x, int y, int z) { - return storedData; - } + @Override + public IEffectData doEffect(IFlowerGenome genome, IEffectData storedData, World world, int x, int y, int z) { + return storedData; + } - @Override - public String getUnlocalizedName() { - return getUID(); - } + @Override + public String getUnlocalizedName() { + return getUID(); + } } diff --git a/src/main/java/binnie/botany/genetics/BotanistTracker.java b/src/main/java/binnie/botany/genetics/BotanistTracker.java index a5eb9efa..81384f6d 100644 --- a/src/main/java/binnie/botany/genetics/BotanistTracker.java +++ b/src/main/java/binnie/botany/genetics/BotanistTracker.java @@ -8,23 +8,22 @@ import forestry.core.genetics.BreedingTracker; import net.minecraft.entity.player.EntityPlayer; public class BotanistTracker extends BreedingTracker implements IBotanistTracker { - public BotanistTracker(String s) { - super(s); - } + public BotanistTracker(String s) { + super(s); + } - @Override - public void registerPickup(IIndividual individual) { - // ignored - } + @Override + public void registerPickup(IIndividual individual) { + // ignored + } - @Override - protected IBreedingTracker getBreedingTracker(EntityPlayer player) { - return Binnie.Genetics.getFlowerRoot() - .getBreedingTracker(player.worldObj, player.getGameProfile()); - } + @Override + protected IBreedingTracker getBreedingTracker(EntityPlayer player) { + return Binnie.Genetics.getFlowerRoot().getBreedingTracker(player.worldObj, player.getGameProfile()); + } - @Override - protected String speciesRootUID() { - return "rootFlowers"; - } + @Override + protected String speciesRootUID() { + return "rootFlowers"; + } } diff --git a/src/main/java/binnie/botany/genetics/ColorMix.java b/src/main/java/binnie/botany/genetics/ColorMix.java index bcdfeb9a..1dc8f359 100644 --- a/src/main/java/binnie/botany/genetics/ColorMix.java +++ b/src/main/java/binnie/botany/genetics/ColorMix.java @@ -4,41 +4,40 @@ 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; + 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; - } + 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 getColor1() { + return color1; + } - @Override - public IFlowerColor getColor2() { - return color2; - } + @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 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 int getChance() { + return chance; + } - @Override - public IFlowerColor getResult() { - return result; - } + @Override + public IFlowerColor getResult() { + return result; + } } diff --git a/src/main/java/binnie/botany/genetics/EnumFlowerColor.java b/src/main/java/binnie/botany/genetics/EnumFlowerColor.java index 7aba9351..676dc715 100644 --- a/src/main/java/binnie/botany/genetics/EnumFlowerColor.java +++ b/src/main/java/binnie/botany/genetics/EnumFlowerColor.java @@ -4,2951 +4,2982 @@ import binnie.botany.api.IFlowerColor; import binnie.botany.core.BotanyCore; import binnie.core.util.I18N; import forestry.api.genetics.IAlleleInteger; +import java.util.Locale; import org.apache.commons.lang3.StringUtils; -import java.util.Locale; - public enum EnumFlowerColor implements IFlowerColor { - AQUAMARINE("aquamarine", 0x7fffd4), - BLACK("black", 0x282828), - BLUE("blue", 0x0000ff), - BROWN("brown", 0xa52a2a), - CADET_BLUE("cadetBlue", 0x5f9ea0), - CHOCOLATE("chocolate", 0xd2691e), - CORAL("coral", 0xff7f50), - CRIMSON("crimson", 0xdc143c), - CYAN("cyan", 0x00ffff), - DARK_GOLDENROD("darkGoldenrod", 0xb8860b), - DARK_GRAY("darkGray", 0xa9a9a9), - DARK_GREEN("darkGreen", 0x006400), - DARK_KHAKI("darkKhaki", 0xbdb76b), - DARK_OLIVE_GREEN("darkOliveGreen", 0x556b2f), - DARK_ORANGE("darkOrange", 0xff8c00), - DARK_SALMON("darkSalmon", 0xe9967a), - DARK_SEA_GREEN("darkSeaGreen", 0x8fbc8b), - DARK_SLATE_BLUE("darkSlateBlue", 0x483d8b), - DARK_SLATE_GRAY("darkSlateGray", 0x2f4f4f), - DARK_TURQUOISE("darkTurquoise", 0x00ced1), - DARK_VIOLET("darkViolet", 0x9400d3), - DEEP_PINK("deepPink", 0xff1493), - DEEP_SKY_BLUE("deepSkyBlue", 0xbfff), - DIM_GRAY("dimGray", 0x696969), - DODGER_BLUE("dodgerBlue", 0x1e90ff), - GOLD("gold", 0xffd700), - GOLDENROD("goldenrod", 0xdaa520), - GRAY("gray", 0x808080), - GREEN("green", 0x008000), - HOT_PINK("hotPink", 0xff69b4), - INDIAN_RED("indianRed", 0xcd5c5c), - INDIGO("indigo", 0x4b0082), - KHAKI("khaki", 0xf0e68c), - LAVENDER("lavender", 0xe6e6fa), - LEMON_CHIFFON("lemonChiffon", 0xfffacd), - LIGHT_GRAY("lightGray", 0xd3d3d3), - LIGHT_SEA_GREEN("lightSeaGreen", 0x20b2aa), - LIGHT_STEEL_BLUE("lightSteelBlue", 0xb0c4de), - LIME("lime", 0x00ff00), - LIME_GREEN("limeGreen", 0x32cd32), - MAGENTA("magenta", 0xff00ff), - MAROON("maroon", 0x800000), - MEDIUM_AQUAMARINE("mediumAquamarine", 0x66cdaa), - MEDIUM_ORCHID("mediumOrchid", 0xba55d3), - MEDIUM_PURPLE("mediumPurple", 0x9370db), - MEDIUM_SEA_GREEN("mediumSeaGreen", 0x3cb371), - MEDIUM_VIOLET_RED("mediumVioletRed", 0xc71585), - MISTY_ROSE("mistyRose", 0xffe4e1), - NAVY("navy", 0x000080), - OLIVE("olive", 0x808000), - OLIVE_DRAB("oliveDrab", 0x6b8e23), - ORANGE("orange", 0xffa500), - PALE_GREEN("paleGreen", 0x98fb98), - PALE_TURQUOISE("paleTurquoise", 0xafeeee), - PALE_VIOLET_RED("paleVioletRed", 0xdb7093), - PERU("peru", 0xcd853f), - PINK("pink", 0xffc0cb), - PLUM("plum", 0xdda0dd), - PURPLE("purple", 0x800080), - RED("red", 0xff0000), - ROSY_BROWN("rosyBrown", 0xbc8f8f), - ROYAL_BLUE("royalBlue", 0x4169e1), - SALMON("salmon", 0xfa8072), - SANDY_BROWN("sandyBrown", 0xf4a460), - SEA_GREEN("seaGreen", 0x2e8b57), - SIENNA("sienna", 0xa0522d), - SKY_BLUE("skyBlue", 0x87ceeb), - SLATE_BLUE("slateBlue", 0x6a5acd), - SLATE_GRAY("slateGray", 0x708090), - SPRING_GREEN("springGreen", 0x00ff7f), - STEEL_BLUE("steelBlue", 0x4682b4), - TAN("tan", 0xd2b48c), - TEAL("teal", 0x008080), - THISTLE("thistle", 0xd8bfd8), - TURQUOISE("turquoise", 0x40e0d0), - VIOLET("violet", 0xee82ee), - WHEAT("wheat", 0xf5deb3), - WHITE("white", 0xffffff), - YELLOW("yellow", 0xffff00), - YELLOW_GREEN("yellowGreen", 0x9acd32); + AQUAMARINE("aquamarine", 0x7fffd4), + BLACK("black", 0x282828), + BLUE("blue", 0x0000ff), + BROWN("brown", 0xa52a2a), + CADET_BLUE("cadetBlue", 0x5f9ea0), + CHOCOLATE("chocolate", 0xd2691e), + CORAL("coral", 0xff7f50), + CRIMSON("crimson", 0xdc143c), + CYAN("cyan", 0x00ffff), + DARK_GOLDENROD("darkGoldenrod", 0xb8860b), + DARK_GRAY("darkGray", 0xa9a9a9), + DARK_GREEN("darkGreen", 0x006400), + DARK_KHAKI("darkKhaki", 0xbdb76b), + DARK_OLIVE_GREEN("darkOliveGreen", 0x556b2f), + DARK_ORANGE("darkOrange", 0xff8c00), + DARK_SALMON("darkSalmon", 0xe9967a), + DARK_SEA_GREEN("darkSeaGreen", 0x8fbc8b), + DARK_SLATE_BLUE("darkSlateBlue", 0x483d8b), + DARK_SLATE_GRAY("darkSlateGray", 0x2f4f4f), + DARK_TURQUOISE("darkTurquoise", 0x00ced1), + DARK_VIOLET("darkViolet", 0x9400d3), + DEEP_PINK("deepPink", 0xff1493), + DEEP_SKY_BLUE("deepSkyBlue", 0xbfff), + DIM_GRAY("dimGray", 0x696969), + DODGER_BLUE("dodgerBlue", 0x1e90ff), + GOLD("gold", 0xffd700), + GOLDENROD("goldenrod", 0xdaa520), + GRAY("gray", 0x808080), + GREEN("green", 0x008000), + HOT_PINK("hotPink", 0xff69b4), + INDIAN_RED("indianRed", 0xcd5c5c), + INDIGO("indigo", 0x4b0082), + KHAKI("khaki", 0xf0e68c), + LAVENDER("lavender", 0xe6e6fa), + LEMON_CHIFFON("lemonChiffon", 0xfffacd), + LIGHT_GRAY("lightGray", 0xd3d3d3), + LIGHT_SEA_GREEN("lightSeaGreen", 0x20b2aa), + LIGHT_STEEL_BLUE("lightSteelBlue", 0xb0c4de), + LIME("lime", 0x00ff00), + LIME_GREEN("limeGreen", 0x32cd32), + MAGENTA("magenta", 0xff00ff), + MAROON("maroon", 0x800000), + MEDIUM_AQUAMARINE("mediumAquamarine", 0x66cdaa), + MEDIUM_ORCHID("mediumOrchid", 0xba55d3), + MEDIUM_PURPLE("mediumPurple", 0x9370db), + MEDIUM_SEA_GREEN("mediumSeaGreen", 0x3cb371), + MEDIUM_VIOLET_RED("mediumVioletRed", 0xc71585), + MISTY_ROSE("mistyRose", 0xffe4e1), + NAVY("navy", 0x000080), + OLIVE("olive", 0x808000), + OLIVE_DRAB("oliveDrab", 0x6b8e23), + ORANGE("orange", 0xffa500), + PALE_GREEN("paleGreen", 0x98fb98), + PALE_TURQUOISE("paleTurquoise", 0xafeeee), + PALE_VIOLET_RED("paleVioletRed", 0xdb7093), + PERU("peru", 0xcd853f), + PINK("pink", 0xffc0cb), + PLUM("plum", 0xdda0dd), + PURPLE("purple", 0x800080), + RED("red", 0xff0000), + ROSY_BROWN("rosyBrown", 0xbc8f8f), + ROYAL_BLUE("royalBlue", 0x4169e1), + SALMON("salmon", 0xfa8072), + SANDY_BROWN("sandyBrown", 0xf4a460), + SEA_GREEN("seaGreen", 0x2e8b57), + SIENNA("sienna", 0xa0522d), + SKY_BLUE("skyBlue", 0x87ceeb), + SLATE_BLUE("slateBlue", 0x6a5acd), + SLATE_GRAY("slateGray", 0x708090), + SPRING_GREEN("springGreen", 0x00ff7f), + STEEL_BLUE("steelBlue", 0x4682b4), + TAN("tan", 0xd2b48c), + TEAL("teal", 0x008080), + THISTLE("thistle", 0xd8bfd8), + TURQUOISE("turquoise", 0x40e0d0), + VIOLET("violet", 0xee82ee), + WHEAT("wheat", 0xf5deb3), + WHITE("white", 0xffffff), + YELLOW("yellow", 0xffff00), + YELLOW_GREEN("yellowGreen", 0x9acd32); - private int color; - private int colorDis; - private String name; - private AlleleColor allele; + private int color; + private int colorDis; + private String name; + private AlleleColor allele; - EnumFlowerColor(String name, int color) { - this.name = name; - this.color = color; - allele = new AlleleColor(this, "botany.color" + StringUtils.capitalize(name), color); - int r = color >> 16 & 0xFF; - r = (int) (0.45 * (r + 214)); - int g = (int) (0.45 * (r + 174)); - int b = (int) (0.45 * (r + 131)); - colorDis = (r << 16) + (g << 8) + b; - } + EnumFlowerColor(String name, int color) { + this.name = name; + this.color = color; + allele = new AlleleColor(this, "botany.color" + StringUtils.capitalize(name), color); + int r = color >> 16 & 0xFF; + r = (int) (0.45 * (r + 214)); + int g = (int) (0.45 * (r + 174)); + int b = (int) (0.45 * (r + 131)); + colorDis = (r << 16) + (g << 8) + b; + } - public static void addMix(EnumFlowerColor start1, EnumFlowerColor start2, EnumFlowerColor result, int chance) { - BotanyCore.getFlowerRoot().registerColourMix(new ColorMix(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() { - addMix(EnumFlowerColor.BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.STEEL_BLUE, 55); - addMix(EnumFlowerColor.BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.NAVY, 85); - addMix(EnumFlowerColor.BROWN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.GRAY, 50); - addMix(EnumFlowerColor.BROWN, EnumFlowerColor.BLACK, EnumFlowerColor.MAROON, 90); - addMix(EnumFlowerColor.BROWN, EnumFlowerColor.BLUE, EnumFlowerColor.INDIGO, 85); - addMix(EnumFlowerColor.CADET_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 100); - addMix(EnumFlowerColor.CADET_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_GRAY, 75); - addMix(EnumFlowerColor.CADET_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 85); - addMix(EnumFlowerColor.CHOCOLATE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_KHAKI, 65); - addMix(EnumFlowerColor.CHOCOLATE, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 65); - addMix(EnumFlowerColor.CHOCOLATE, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 100); - addMix(EnumFlowerColor.CORAL, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_KHAKI, 65); - addMix(EnumFlowerColor.CORAL, EnumFlowerColor.BLACK, EnumFlowerColor.SIENNA, 65); - addMix(EnumFlowerColor.CORAL, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 65); - addMix(EnumFlowerColor.CORAL, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 95); - addMix(EnumFlowerColor.CORAL, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.ROSY_BROWN, 80); - addMix(EnumFlowerColor.CORAL, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 115); - addMix(EnumFlowerColor.CRIMSON, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.ROSY_BROWN, 45); - addMix(EnumFlowerColor.CRIMSON, EnumFlowerColor.BLACK, EnumFlowerColor.MAROON, 80); - addMix(EnumFlowerColor.CRIMSON, EnumFlowerColor.BLUE, EnumFlowerColor.INDIGO, 85); - addMix(EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 115); - addMix(EnumFlowerColor.CRIMSON, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.RED, 100); - addMix(EnumFlowerColor.CRIMSON, EnumFlowerColor.CORAL, EnumFlowerColor.INDIAN_RED, 105); - addMix(EnumFlowerColor.CYAN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.TURQUOISE, 115); - addMix(EnumFlowerColor.CYAN, EnumFlowerColor.BLUE, EnumFlowerColor.DODGER_BLUE, 60); - addMix(EnumFlowerColor.CYAN, EnumFlowerColor.BROWN, EnumFlowerColor.CADET_BLUE, 50); - addMix(EnumFlowerColor.CYAN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_TURQUOISE, 100); - addMix(EnumFlowerColor.CYAN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.MEDIUM_AQUAMARINE, 65); - addMix(EnumFlowerColor.CYAN, EnumFlowerColor.CORAL, EnumFlowerColor.MEDIUM_AQUAMARINE, 65); - addMix(EnumFlowerColor.CYAN, EnumFlowerColor.CRIMSON, EnumFlowerColor.SLATE_GRAY, 50); - addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 55); - addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 85); - addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.OLIVE_DRAB, 90); - addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 110); - addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CORAL, EnumFlowerColor.PERU, 100); - addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CRIMSON, EnumFlowerColor.SIENNA, 85); - addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_SEA_GREEN, 75); - addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.BLACK, EnumFlowerColor.DIM_GRAY, 70); - addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 75); - addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 85); - addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 95); - addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 100); - addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 90); - addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 95); - addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_KHAKI, 100); - addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_SEA_GREEN, 75); - addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 65); - addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SEA_GREEN, 90); - addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_OLIVE_GREEN, 70); - addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.OLIVE, 60); - addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.CRIMSON, EnumFlowerColor.SIENNA, 55); - addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_SEA_GREEN, 70); - addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_OLIVE_GREEN, 85); - addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SEA_GREEN, 85); - addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 100); - addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_OLIVE_GREEN, 60); - addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.BROWN, EnumFlowerColor.CHOCOLATE, 75); - addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 95); - addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 95); - addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CORAL, EnumFlowerColor.SANDY_BROWN, 90); - addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 75); - addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 110); - addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.TAN, 105); - addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 85); - addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); - addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 50); - addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 80); - addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SEA_GREEN, 95); - addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_GOLDENROD, 85); - addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.PERU, 75); - addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 70); - addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.LIGHT_SEA_GREEN, 75); - addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE, 100); - addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.GREEN, 115); - addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.OLIVE_DRAB, 95); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_KHAKI, 70); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.BLACK, EnumFlowerColor.SIENNA, 60); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.BLUE, EnumFlowerColor.VIOLET, 55); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.BROWN, EnumFlowerColor.CHOCOLATE, 85); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_GOLDENROD, 80); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 115); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CORAL, EnumFlowerColor.SANDY_BROWN, 115); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CRIMSON, EnumFlowerColor.RED, 90); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_SEA_GREEN, 70); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.PERU, 110); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.PERU, 95); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE, 70); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.GOLDENROD, 100); - addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GOLDENROD, 80); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.BLACK, EnumFlowerColor.SIENNA, 65); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 70); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 95); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_GRAY, 85); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.CORAL, 110); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CORAL, EnumFlowerColor.SALMON, 120); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 100); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 75); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.PERU, 100); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.ROSY_BROWN, 105); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE, 65); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.TAN, 95); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.PERU, 80); - addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 110); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 110); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_OLIVE_GREEN, 60); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 60); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 65); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 105); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_GOLDENROD, 80); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.TAN, 80); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 60); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 100); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_KHAKI, 95); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 90); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.YELLOW_GREEN, 110); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE_DRAB, 100); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.GOLDENROD, 85); - addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.TAN, 85); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.CADET_BLUE, 60); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.INDIGO, 110); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.PURPLE, 90); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.ROYAL_BLUE, 85); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.BROWN, 75); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.CORAL, EnumFlowerColor.INDIAN_RED, 70); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DEEP_SKY_BLUE, 60); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.SIENNA, 65); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, 75); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.GRAY, 55); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DIM_GRAY, 70); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SIENNA, 60); - addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.SLATE_GRAY, 65); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.LIGHT_SEA_GREEN, 70); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.BLUE, EnumFlowerColor.NAVY, 95); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.TEAL, 95); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SIENNA, 80); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CORAL, EnumFlowerColor.SIENNA, 75); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 80); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CYAN, EnumFlowerColor.LIGHT_SEA_GREEN, 70); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_OLIVE_GREEN, 85); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.GRAY, 85); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 100); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_OLIVE_GREEN, 75); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GOLDENROD, 70); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.GRAY, 75); - addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.SEA_GREEN, 80); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.TURQUOISE, 110); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.BLACK, EnumFlowerColor.TEAL, 55); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 65); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.BROWN, EnumFlowerColor.TEAL, 60); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 115); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SEA_GREEN, 70); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SEA_GREEN, 70); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CRIMSON, EnumFlowerColor.SLATE_GRAY, 55); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 115); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_SEA_GREEN, 100); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 80); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SEA_GREEN, 85); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.LIGHT_SEA_GREEN, 80); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 105); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 70); - addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.TEAL, 80); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_PURPLE, 60); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.BLACK, EnumFlowerColor.INDIGO, 85); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.BROWN, EnumFlowerColor.PURPLE, 90); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SLATE_BLUE, 90); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.MEDIUM_VIOLET_RED, 70); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.CORAL, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.CYAN, EnumFlowerColor.STEEL_BLUE, 60); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.MEDIUM_VIOLET_RED, 55); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.MEDIUM_ORCHID, 85); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.MEDIUM_ORCHID, 50); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.PURPLE, 55); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.INDIAN_RED, 60); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.MEDIUM_ORCHID, 75); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_ORCHID, 70); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.INDIGO, 110); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.INDIGO, 100); - addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.ROYAL_BLUE, 70); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 90); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.BROWN, EnumFlowerColor.CRIMSON, 100); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.INDIAN_RED, 85); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CORAL, EnumFlowerColor.INDIAN_RED, 95); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 105); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_PURPLE, 45); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.INDIAN_RED, 70); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.PALE_VIOLET_RED, 95); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.PALE_VIOLET_RED, 65); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.MEDIUM_VIOLET_RED, 60); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SALMON, 80); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PALE_VIOLET_RED, 95); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.PALE_VIOLET_RED, 55); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_PURPLE, 55); - addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 100); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_TURQUOISE, 90); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 75); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.STEEL_BLUE, 60); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SKY_BLUE, 105); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.CADET_BLUE, 70); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CORAL, EnumFlowerColor.CADET_BLUE, 70); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.SLATE_BLUE, 60); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.SKY_BLUE, 105); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.MEDIUM_SEA_GREEN, 70); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SKY_BLUE, 105); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.TEAL, 65); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.LIGHT_SEA_GREEN, 75); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CADET_BLUE, 70); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_SEA_GREEN, 70); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CADET_BLUE, 80); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, 85); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 75); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.STEEL_BLUE, 80); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.SKY_BLUE, 110); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.ROYAL_BLUE, 70); - addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_PURPLE, 55); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 80); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 90); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SLATE_GRAY, 100); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SIENNA, 95); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CORAL, EnumFlowerColor.INDIAN_RED, 90); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 100); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CYAN, EnumFlowerColor.LIGHT_SEA_GREEN, 80); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE, 95); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.GRAY, 105); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 100); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.PERU, 90); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.ROSY_BROWN, 95); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 90); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.PURPLE, 95); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); - addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.STEEL_BLUE, 90); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.SKY_BLUE, 80); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_BLUE, 75); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 90); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.SLATE_BLUE, 75); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.STEEL_BLUE, 100); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SLATE_GRAY, 75); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.SLATE_BLUE, 75); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DEEP_SKY_BLUE, 85); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CADET_BLUE, 70); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.STEEL_BLUE, 100); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.TEAL, 65); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CADET_BLUE, 65); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.STEEL_BLUE, 70); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.GRAY, 70); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SLATE_GRAY, 80); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, 80); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.ROYAL_BLUE, 90); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.STEEL_BLUE, 90); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DEEP_SKY_BLUE, 95); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 90); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.SLATE_BLUE, 80); - addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.STEEL_BLUE, 95); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.YELLOW_GREEN, 90); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.BROWN, EnumFlowerColor.PERU, 65); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.ORANGE, 90); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.CORAL, EnumFlowerColor.ORANGE, 90); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.CRIMSON, EnumFlowerColor.CHOCOLATE, 65); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.CYAN, EnumFlowerColor.PALE_GREEN, 80); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 105); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_KHAKI, 95); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 75); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.KHAKI, 110); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.ORANGE, 100); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.GOLDENROD, 90); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 95); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.OLIVE, 65); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.LIME_GREEN, 80); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CORAL, 55); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 65); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 60); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.YELLOW_GREEN, 85); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 45); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.BROWN, EnumFlowerColor.CHOCOLATE, 80); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_KHAKI, 90); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 105); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_ORANGE, 100); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.CRIMSON, EnumFlowerColor.CHOCOLATE, 80); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 80); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.ORANGE, 115); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_KHAKI, 100); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 80); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_GOLDENROD, 110); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE, 90); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.ORANGE, 110); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SANDY_BROWN, 100); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 95); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.OLIVE, 75); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 50); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.INDIAN_RED, 65); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 70); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GOLDENROD, 90); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CADET_BLUE, 65); - addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.GOLD, EnumFlowerColor.ORANGE, 115); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 85); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SLATE_GRAY, 105); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 100); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 95); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 95); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 90); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE, 100); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SLATE_GRAY, 115); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 95); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.PERU, 95); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.ROSY_BROWN, 100); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DIM_GRAY, 100); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 95); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.PURPLE, 90); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 100); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SLATE_GRAY, 120); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 100); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.GRAY, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GOLDENROD, 95); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_GREEN, 85); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 60); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_OLIVE_GREEN, 60); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SEA_GREEN, 95); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.OLIVE, 70); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.OLIVE, 65); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 90); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SEA_GREEN, 90); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 120); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.OLIVE_DRAB, 95); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GREEN, 115); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.OLIVE, 70); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.OLIVE_DRAB, 70); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 100); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, 70); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GREEN, 95); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SEA_GREEN, 70); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GREEN, 100); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.TEAL, 65); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 80); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 85); - addMix(EnumFlowerColor.GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.SEA_GREEN, 100); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.THISTLE, 50); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 80); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 90); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.PLUM, 85); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.INDIAN_RED, 85); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.CORAL, EnumFlowerColor.SALMON, 95); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.CRIMSON, EnumFlowerColor.DEEP_PINK, 100); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.CYAN, EnumFlowerColor.SKY_BLUE, 55); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.SALMON, 70); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.PALE_VIOLET_RED, 100); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.ROSY_BROWN, 70); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.INDIAN_RED, 60); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CORAL, 80); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PALE_VIOLET_RED, 100); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.ROSY_BROWN, 60); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_ORCHID, 85); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 60); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 95); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 115); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 65); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.PALE_VIOLET_RED, 95); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 85); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.GOLD, EnumFlowerColor.SANDY_BROWN, 60); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SALMON, 70); - addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.GRAY, EnumFlowerColor.PALE_VIOLET_RED, 100); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_GRAY, 55); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.BLACK, EnumFlowerColor.MAROON, 80); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 80); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.BROWN, EnumFlowerColor.CRIMSON, 110); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.ROSY_BROWN, 80); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.RED, 105); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CORAL, EnumFlowerColor.SALMON, 110); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 115); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CYAN, EnumFlowerColor.CADET_BLUE, 60); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CHOCOLATE, 90); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.ROSY_BROWN, 100); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 60); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.PERU, 85); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SIENNA, 80); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CHOCOLATE, 95); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SALMON, 110); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.PERU, 75); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 65); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 110); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.STEEL_BLUE, 70); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 80); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.GOLD, EnumFlowerColor.ORANGE, 75); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.GOLDENROD, EnumFlowerColor.PERU, 85); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.GRAY, EnumFlowerColor.ROSY_BROWN, 100); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 60); - addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PALE_VIOLET_RED, 105); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.BLACK, EnumFlowerColor.NAVY, 95); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.BLUE, EnumFlowerColor.NAVY, 110); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.BROWN, EnumFlowerColor.PURPLE, 90); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 80); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.CORAL, EnumFlowerColor.MEDIUM_VIOLET_RED, 65); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.CRIMSON, EnumFlowerColor.PURPLE, 85); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.BROWN, 55); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SLATE_BLUE, 70); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.BROWN, 55); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.MEDIUM_VIOLET_RED, 65); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.NAVY, 115); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 100); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.ROYAL_BLUE, 55); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.PURPLE, 110); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PURPLE, 90); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.ROYAL_BLUE, 60); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 90); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_BLUE, 80); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.GOLDENROD, EnumFlowerColor.BROWN, 45); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 85); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SLATE_GRAY, 65); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.HOT_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); - addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PURPLE, 85); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_GREEN, 100); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.BROWN, EnumFlowerColor.PERU, 65); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 90); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.GOLDENROD, 85); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.CORAL, EnumFlowerColor.SANDY_BROWN, 90); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.CRIMSON, EnumFlowerColor.SALMON, 65); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.CYAN, EnumFlowerColor.AQUAMARINE, 90); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 100); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_KHAKI, 100); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 75); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.WHEAT, 115); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.GOLDENROD, 95); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.TAN, 95); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 105); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.GRAY, 50); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 65); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 60); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.TURQUOISE, 75); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SKY_BLUE, 60); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW, 115); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.GOLDENROD, EnumFlowerColor.GOLD, 110); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_KHAKI, 90); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.GREEN, EnumFlowerColor.YELLOW_GREEN, 85); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_SALMON, 65); - addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.SANDY_BROWN, 75); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 95); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.BLUE, EnumFlowerColor.MEDIUM_PURPLE, 65); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 70); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SKY_BLUE, 95); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_SALMON, 85); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 90); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 80); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.CYAN, EnumFlowerColor.PALE_TURQUOISE, 95); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.TAN, 85); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_GRAY, 110); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 65); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.WHEAT, 90); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GRAY, 75); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 85); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PINK, 95); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.PALE_TURQUOISE, 95); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 70); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 70); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.PALE_TURQUOISE, 95); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 75); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 85); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 95); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, 85); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 95); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 85); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.GOLDENROD, EnumFlowerColor.TAN, 85); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 95); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 95); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 85); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_PURPLE, 55); - addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.KHAKI, EnumFlowerColor.LEMON_CHIFFON, 90); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_GREEN, 105); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.BLUE, EnumFlowerColor.MEDIUM_PURPLE, 45); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_SALMON, 65); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 90); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SANDY_BROWN, 85); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.CORAL, EnumFlowerColor.SANDY_BROWN, 90); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.CRIMSON, EnumFlowerColor.SALMON, 70); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.CYAN, EnumFlowerColor.AQUAMARINE, 95); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_KHAKI, 95); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_GRAY, 100); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.KHAKI, 110); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.ORANGE, 95); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.TAN, 95); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.KHAKI, 105); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_GRAY, 55); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 65); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.TURQUOISE, 95); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.VIOLET, 50); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 65); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.PALE_TURQUOISE, 80); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, 80); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SKY_BLUE, 70); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 105); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.GOLDENROD, EnumFlowerColor.KHAKI, 100); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 90); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PINK, 75); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SALMON, 80); - addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.KHAKI, EnumFlowerColor.WHEAT, 115); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 100); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.BLACK, EnumFlowerColor.DIM_GRAY, 45); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 65); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 75); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SKY_BLUE, 100); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SANDY_BROWN, 90); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 95); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 85); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 100); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.TAN, 95); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_STEEL_BLUE, 115); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 75); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.WHEAT, 105); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 95); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.ROSY_BROWN, 100); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.GRAY, 75); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.TURQUOISE, 100); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 75); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 90); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 100); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, 95); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 95); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 95); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 100); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 100); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 95); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 90); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_PURPLE, 55); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.KHAKI, EnumFlowerColor.LEMON_CHIFFON, 105); - addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.WHEAT, 110); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.TURQUOISE, 105); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_GRAY, 65); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 70); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.DIM_GRAY, 60); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_TURQUOISE, 120); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.OLIVE_DRAB, 75); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 110); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 85); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CADET_BLUE, 105); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 90); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 95); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SEA_GREEN, 95); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.OLIVE_DRAB, 75); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CADET_BLUE, 80); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 110); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 75); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.TEAL, 90); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.TURQUOISE, 120); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 75); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_ORCHID, 65); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 105); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.TEAL, 95); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 95); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 85); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.CADET_BLUE, 100); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 95); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.GRAY, 70); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.INDIGO, EnumFlowerColor.ROYAL_BLUE, 65); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 90); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_TURQUOISE, 95); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_TURQUOISE, 100); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 95); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DIM_GRAY, 55); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 80); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 75); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SKY_BLUE, 105); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_SALMON, 85); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CORAL, EnumFlowerColor.ROSY_BROWN, 90); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 80); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 100); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_GRAY, 115); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 70); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 90); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CADET_BLUE, 80); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.TAN, 85); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.ROSY_BROWN, 95); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 80); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.SLATE_GRAY, 80); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.SKY_BLUE, 105); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_PURPLE, 85); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 85); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 110); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SLATE_GRAY, 95); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 105); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 80); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 105); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 75); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 90); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 85); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.INDIGO, EnumFlowerColor.SLATE_BLUE, 65); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.KHAKI, EnumFlowerColor.LEMON_CHIFFON, 85); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_GRAY, 115); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.LIGHT_GRAY, 95); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LAVENDER, 115); - addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, 100); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.SPRING_GREEN, 105); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIME_GREEN, 85); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.YELLOW_GREEN, 60); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.CORAL, EnumFlowerColor.YELLOW_GREEN, 55); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.CYAN, EnumFlowerColor.SPRING_GREEN, 90); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.LIME_GREEN, 80); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIME_GREEN, 90); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.LIME_GREEN, 80); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.LIME_GREEN, 100); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.LIME_GREEN, 85); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.YELLOW_GREEN, 65); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.LIME_GREEN, 65); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.LIME_GREEN, 105); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, 50); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 65); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.SPRING_GREEN, 90); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SPRING_GREEN, 65); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.LIME_GREEN, 80); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, 55); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 95); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.GOLDENROD, EnumFlowerColor.LIME_GREEN, 85); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.GRAY, EnumFlowerColor.LIME_GREEN, 85); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.GREEN, EnumFlowerColor.LIME_GREEN, 90); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.LIME_GREEN, 45); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.KHAKI, EnumFlowerColor.PALE_GREEN, 100); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.LAVENDER, EnumFlowerColor.PALE_GREEN, 85); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PALE_GREEN, 100); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.SPRING_GREEN, 95); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.LIME_GREEN, 90); - addMix(EnumFlowerColor.LIME, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.SPRING_GREEN, 80); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.SPRING_GREEN, 105); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_GREEN, 55); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.STEEL_BLUE, 50); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_OLIVE_GREEN, 45); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.OLIVE_DRAB, 65); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_KHAKI, 60); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.SPRING_GREEN, 90); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 90); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.GREEN, 90); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.YELLOW_GREEN, 105); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE_DRAB, 95); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.YELLOW_GREEN, 70); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.YELLOW_GREEN, 70); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 110); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.SEA_GREEN, 55); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.SEA_GREEN, 75); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DIM_GRAY, 55); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 70); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SEA_GREEN, 85); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 65); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 95); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.YELLOW_GREEN, 90); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 90); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 105); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.OLIVE_DRAB, 55); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_GRAY, 50); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.YELLOW_GREEN, 100); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PALE_GREEN, 100); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 95); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 100); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIME, EnumFlowerColor.SPRING_GREEN, 115); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.VIOLET, 70); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.BLACK, EnumFlowerColor.PURPLE, 70); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 95); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.BROWN, EnumFlowerColor.MEDIUM_VIOLET_RED, 85); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_ORCHID, 95); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DEEP_PINK, 75); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.CORAL, EnumFlowerColor.DEEP_PINK, 80); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.CRIMSON, EnumFlowerColor.DEEP_PINK, 90); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_PURPLE, 65); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DEEP_PINK, 60); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.MEDIUM_ORCHID, 95); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.HOT_PINK, 55); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.MEDIUM_VIOLET_RED, 50); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DEEP_PINK, 65); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.HOT_PINK, 85); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_ORCHID, 50); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_VIOLET, 90); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_VIOLET, 90); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_PURPLE, 75); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 105); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 110); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 70); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.MEDIUM_ORCHID, 90); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_BLUE, 85); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DEEP_PINK, 55); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.GRAY, EnumFlowerColor.MEDIUM_ORCHID, 95); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.HOT_PINK, EnumFlowerColor.VIOLET, 110); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DEEP_PINK, 95); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_VIOLET, 90); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.KHAKI, EnumFlowerColor.HOT_PINK, 50); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.LAVENDER, EnumFlowerColor.VIOLET, 90); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.VIOLET, 60); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.VIOLET, 90); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_PURPLE, 80); - addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.MEDIUM_ORCHID, 95); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.BLUE, EnumFlowerColor.INDIGO, 80); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SIENNA, 95); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.CORAL, EnumFlowerColor.SIENNA, 85); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 105); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.SIENNA, 85); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.BROWN, 75); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.SIENNA, 65); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SIENNA, 80); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.BROWN, 80); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.SIENNA, 55); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SLATE_GRAY, 50); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.PURPLE, 85); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CRIMSON, 90); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.ROYAL_BLUE, 50); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.BROWN, 95); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 70); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.GOLD, EnumFlowerColor.CHOCOLATE, 55); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.GOLDENROD, EnumFlowerColor.SIENNA, 70); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.GRAY, EnumFlowerColor.BROWN, 90); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE, 60); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.HOT_PINK, EnumFlowerColor.CRIMSON, 80); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.BROWN, 100); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.INDIGO, EnumFlowerColor.PURPLE, 90); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.KHAKI, EnumFlowerColor.CHOCOLATE, 55); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.LAVENDER, EnumFlowerColor.ROSY_BROWN, 60); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SALMON, 55); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.INDIAN_RED, 65); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DIM_GRAY, 60); - addMix(EnumFlowerColor.MAROON, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.TURQUOISE, 115); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_GRAY, 55); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 60); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.BROWN, EnumFlowerColor.GRAY, 55); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 110); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CORAL, EnumFlowerColor.TAN, 70); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CRIMSON, EnumFlowerColor.ROSY_BROWN, 55); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 110); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 100); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 85); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 105); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SEA_GREEN, 90); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 115); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.SLATE_GRAY, 65); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.TEAL, 80); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.TURQUOISE, 115); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 70); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 45); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_TURQUOISE, 95); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CADET_BLUE, 90); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 85); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 90); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 90); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.GRAY, EnumFlowerColor.CADET_BLUE, 95); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.THISTLE, 55); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_GRAY, 65); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.INDIGO, EnumFlowerColor.SLATE_BLUE, 55); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 100); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LAVENDER, EnumFlowerColor.PALE_TURQUOISE, 95); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SEA_GREEN, 100); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PALE_TURQUOISE, 100); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.TURQUOISE, 115); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.PALE_TURQUOISE, 100); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 100); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 110); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 75); - addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.MAROON, EnumFlowerColor.DIM_GRAY, 50); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.LIGHT_STEEL_BLUE, 70); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.BLACK, EnumFlowerColor.PURPLE, 75); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 100); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.BROWN, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 95); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PALE_VIOLET_RED, 80); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.CORAL, EnumFlowerColor.PALE_VIOLET_RED, 85); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.CYAN, EnumFlowerColor.DODGER_BLUE, 70); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.INDIAN_RED, 65); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.PLUM, 95); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.ROSY_BROWN, 60); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.INDIAN_RED, 70); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PALE_VIOLET_RED, 85); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.PLUM, 55); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.SLATE_BLUE, 100); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 95); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 75); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 110); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 75); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.MEDIUM_PURPLE, 95); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.ROYAL_BLUE, 95); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.GOLD, EnumFlowerColor.SANDY_BROWN, 50); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.GOLDENROD, EnumFlowerColor.ROSY_BROWN, 60); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.GRAY, EnumFlowerColor.MEDIUM_PURPLE, 100); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.HOT_PINK, EnumFlowerColor.VIOLET, 110); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_VIOLET, 100); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.KHAKI, EnumFlowerColor.ROSY_BROWN, 55); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.LAVENDER, EnumFlowerColor.PLUM, 90); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PLUM, 65); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PLUM, 90); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 80); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.PLUM, 95); - addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MAROON, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.SKY_BLUE, 75); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_BLUE, 75); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 100); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.BROWN, EnumFlowerColor.MEDIUM_VIOLET_RED, 85); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SLATE_GRAY, 95); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PALE_VIOLET_RED, 80); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.CORAL, EnumFlowerColor.PALE_VIOLET_RED, 80); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.CYAN, EnumFlowerColor.DEEP_SKY_BLUE, 75); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.ROSY_BROWN, 65); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, 70); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.ROSY_BROWN, 65); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DIM_GRAY, 65); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_SALMON, 70); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PALE_VIOLET_RED, 85); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.SLATE_GRAY, 80); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.SLATE_BLUE, 105); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.SLATE_BLUE, 95); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 85); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 110); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_ORCHID, 100); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 90); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SLATE_BLUE, 100); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.ROYAL_BLUE, 105); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.GOLD, EnumFlowerColor.TAN, 55); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.ROSY_BROWN, 65); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.GREEN, EnumFlowerColor.TEAL, 70); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.MEDIUM_ORCHID, 105); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PALE_VIOLET_RED, 95); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_VIOLET, 95); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.KHAKI, EnumFlowerColor.THISTLE, 60); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LAVENDER, EnumFlowerColor.PLUM, 95); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.THISTLE, 65); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PLUM, 90); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 85); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIME, EnumFlowerColor.MEDIUM_SEA_GREEN, 60); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.CADET_BLUE, 65); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 110); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MAROON, EnumFlowerColor.PURPLE, 80); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DODGER_BLUE, 80); - addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.SLATE_BLUE, 115); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 105); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_GREEN, 65); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 60); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_OLIVE_GREEN, 55); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 105); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.OLIVE_DRAB, 70); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_KHAKI, 65); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CRIMSON, EnumFlowerColor.SIENNA, 50); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 100); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 90); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 100); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 95); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 105); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SEA_GREEN, 100); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 115); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.TEAL, 70); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.SEA_GREEN, 85); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 105); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 65); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 85); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SEA_GREEN, 95); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CADET_BLUE, 75); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 90); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.YELLOW_GREEN, 90); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.SEA_GREEN, 100); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 105); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.HOT_PINK, EnumFlowerColor.GRAY, 45); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 60); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 95); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SEA_GREEN, 95); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 110); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 105); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 70); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MAROON, EnumFlowerColor.DARK_OLIVE_GREEN, 50); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 115); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.SLATE_GRAY, 75); - addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.SLATE_GRAY, 75); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.BLACK, EnumFlowerColor.PURPLE, 85); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 95); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.CRIMSON, 85); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.CORAL, EnumFlowerColor.INDIAN_RED, 85); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.CRIMSON, EnumFlowerColor.DEEP_PINK, 105); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.CYAN, EnumFlowerColor.STEEL_BLUE, 45); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.INDIAN_RED, 70); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.PALE_VIOLET_RED, 90); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.PALE_VIOLET_RED, 60); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.INDIAN_RED, 70); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PALE_VIOLET_RED, 90); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.PALE_VIOLET_RED, 55); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.PURPLE, 100); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.PURPLE, 100); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.ROYAL_BLUE, 55); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.PURPLE, 110); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SLATE_BLUE, 60); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.PURPLE, 100); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_BLUE, 80); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.GOLD, EnumFlowerColor.CORAL, 50); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.GOLDENROD, EnumFlowerColor.INDIAN_RED, 60); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.HOT_PINK, EnumFlowerColor.DEEP_PINK, 105); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DEEP_PINK, 105); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.INDIGO, EnumFlowerColor.PURPLE, 100); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.KHAKI, EnumFlowerColor.PALE_VIOLET_RED, 55); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.LAVENDER, EnumFlowerColor.VIOLET, 80); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PALE_VIOLET_RED, 60); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PALE_VIOLET_RED, 85); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.SLATE_BLUE, 65); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.MEDIUM_ORCHID, 80); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 105); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MAROON, EnumFlowerColor.BROWN, 95); - addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MEDIUM_ORCHID, 105); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 90); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.BLUE, EnumFlowerColor.MEDIUM_PURPLE, 65); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 75); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_GRAY, 85); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_SALMON, 90); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 100); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 85); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.CYAN, EnumFlowerColor.PALE_TURQUOISE, 90); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.TAN, 90); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_GRAY, 105); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 65); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.WHEAT, 100); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 95); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PINK, 105); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.LEMON_CHIFFON, 90); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.PLUM, 65); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 65); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.PALE_TURQUOISE, 90); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.VIOLET, 70); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 90); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 90); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, 85); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 95); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.TAN, 95); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 95); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, 70); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PINK, 95); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 90); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_ORCHID, 50); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.KHAKI, EnumFlowerColor.WHEAT, 100); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.WHEAT, 105); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.PALE_TURQUOISE, 85); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LAVENDER, 105); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIME, EnumFlowerColor.PALE_GREEN, 80); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.PALE_GREEN, 80); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 85); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MAROON, EnumFlowerColor.INDIAN_RED, 60); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 90); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PLUM, 85); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PLUM, 85); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.HOT_PINK, 80); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.BLUE, EnumFlowerColor.INDIGO, 110); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.BROWN, EnumFlowerColor.PURPLE, 85); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 75); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.CORAL, EnumFlowerColor.PURPLE, 60); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.CRIMSON, EnumFlowerColor.PURPLE, 80); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 65); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, 65); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, 55); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.BROWN, 50); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.ROYAL_BLUE, 55); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.INDIGO, 110); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 95); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.STEEL_BLUE, 55); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.INDIGO, 105); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PURPLE, 80); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.ROYAL_BLUE, 60); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 90); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 80); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 80); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.GREEN, EnumFlowerColor.TEAL, 60); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PURPLE, 75); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PURPLE, 80); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.SLATE_BLUE, 50); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.ROYAL_BLUE, 65); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.SLATE_BLUE, 60); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_VIOLET, 85); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.MAROON, EnumFlowerColor.PURPLE, 85); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.ROYAL_BLUE, 50); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_SLATE_BLUE, 90); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, 90); - addMix(EnumFlowerColor.NAVY, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.INDIGO, 95); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 45); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 80); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.OLIVE_DRAB, 95); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_GOLDENROD, 95); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.CORAL, EnumFlowerColor.PERU, 85); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.CRIMSON, EnumFlowerColor.SIENNA, 75); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.OLIVE_DRAB, 95); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.GREEN, 105); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.OLIVE_DRAB, 110); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE_DRAB, 110); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GOLDENROD, 95); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_GOLDENROD, 90); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.OLIVE_DRAB, 100); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DIM_GRAY, 60); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_OLIVE_GREEN, 90); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 50); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.INDIAN_RED, 60); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, 70); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_OLIVE_GREEN, 100); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.TEAL, 60); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 95); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GOLDENROD, 105); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.GRAY, EnumFlowerColor.OLIVE_DRAB, 100); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 110); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.INDIAN_RED, 60); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PERU, 80); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_KHAKI, 95); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_KHAKI, 90); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_KHAKI, 90); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.SEA_GREEN, 90); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 90); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.OLIVE_DRAB, 100); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_VIOLET_RED, 45); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MAROON, EnumFlowerColor.SIENNA, 80); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.OLIVE_DRAB, 95); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.INDIAN_RED, 55); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.GRAY, 60); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.OLIVE_DRAB, 100); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.BROWN, 60); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.NAVY, EnumFlowerColor.GRAY, 50); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 90); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_OLIVE_GREEN, 75); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 70); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SEA_GREEN, 95); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_GOLDENROD, 85); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_GOLDENROD, 75); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.CRIMSON, EnumFlowerColor.SIENNA, 65); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 85); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE, 100); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 100); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.GREEN, 105); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.OLIVE, 110); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE, 115); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GOLDENROD, 85); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_GOLDENROD, 85); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 110); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DIM_GRAY, 55); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_OLIVE_GREEN, 90); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 90); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.INDIAN_RED, 50); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 70); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_OLIVE_GREEN, 100); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CADET_BLUE, 65); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, 95); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.GOLDENROD, EnumFlowerColor.OLIVE, 100); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_OLIVE_GREEN, 100); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 115); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.HOT_PINK, EnumFlowerColor.ROSY_BROWN, 55); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_GOLDENROD, 70); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_KHAKI, 100); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_KHAKI, 90); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 90); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 95); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 105); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MAROON, EnumFlowerColor.SIENNA, 70); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.MEDIUM_SEA_GREEN, 100); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.ROSY_BROWN, 50); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.GRAY, 55); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.SEA_GREEN, 110); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.BROWN, 50); - addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.YELLOW_GREEN, 80); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.BLUE, EnumFlowerColor.PLUM, 45); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.BROWN, EnumFlowerColor.CHOCOLATE, 80); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_ORANGE, 105); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_ORANGE, 105); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.CRIMSON, EnumFlowerColor.CHOCOLATE, 80); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 110); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.GOLDENROD, 95); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE, 70); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.GOLDENROD, 105); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GOLDENROD, 85); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 120); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SANDY_BROWN, 105); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 90); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.PERU, 55); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GOLDENROD, 70); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.INDIAN_RED, 55); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.SALMON, 70); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 70); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GOLDENROD, 85); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 65); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 110); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GOLDENROD, 120); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GOLDENROD, 90); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 75); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.CORAL, 75); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PERU, 90); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.KHAKI, EnumFlowerColor.GOLD, 105); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LAVENDER, EnumFlowerColor.TAN, 85); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.GOLD, 100); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.GOLDENROD, 95); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.TAN, 85); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LIME, EnumFlowerColor.YELLOW_GREEN, 75); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.YELLOW_GREEN, 80); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MAGENTA, EnumFlowerColor.PALE_VIOLET_RED, 60); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MAROON, EnumFlowerColor.CHOCOLATE, 70); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.SALMON, 65); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_SALMON, 65); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.RED, 65); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.SANDY_BROWN, 95); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GOLDENROD, 95); - addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.GOLDENROD, 90); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.SPRING_GREEN, 115); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.STEEL_BLUE, 50); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_KHAKI, 45); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_KHAKI, 65); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_KHAKI, 65); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.AQUAMARINE, 100); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.YELLOW_GREEN, 85); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 95); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.YELLOW_GREEN, 105); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 110); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.CADET_BLUE, 55); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 70); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_PURPLE, 55); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.TURQUOISE, 75); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_TURQUOISE, 65); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 95); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.YELLOW_GREEN, 90); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_SEA_GREEN, 90); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.LIME_GREEN, 90); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_KHAKI, 55); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.YELLOW_GREEN, 105); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.AQUAMARINE, 90); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 100); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 100); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIME, EnumFlowerColor.SPRING_GREEN, 115); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.SPRING_GREEN, 115); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.AQUAMARINE, 110); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_GRAY, 65); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.CADET_BLUE, 65); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LIME_GREEN, 110); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LEMON_CHIFFON, 90); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.OLIVE, EnumFlowerColor.YELLOW_GREEN, 90); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIME_GREEN, 95); - addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.ORANGE, EnumFlowerColor.KHAKI, 80); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.TURQUOISE, 110); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 65); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 60); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_TURQUOISE, 105); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.TAN, 75); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.CORAL, EnumFlowerColor.TAN, 80); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 65); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 115); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SKY_BLUE, 105); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 75); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 95); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.LIGHT_GRAY, 85); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 105); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 65); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CADET_BLUE, 75); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.TURQUOISE, 115); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_PURPLE, 75); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PLUM, 75); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 105); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CADET_BLUE, 85); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 90); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 90); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.GRAY, EnumFlowerColor.CADET_BLUE, 95); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 80); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 70); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_PURPLE, 50); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.KHAKI, EnumFlowerColor.LEMON_CHIFFON, 95); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LAVENDER, EnumFlowerColor.SKY_BLUE, 105); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.SKY_BLUE, 110); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, 110); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.SKY_BLUE, 110); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIME, EnumFlowerColor.SPRING_GREEN, 95); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.PALE_GREEN, 95); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 85); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MAROON, EnumFlowerColor.ROSY_BROWN, 50); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.TURQUOISE, 110); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PLUM, 85); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 100); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.PLUM, 70); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_GRAY, 95); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.AQUAMARINE, 100); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_GRAY, 55); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 85); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 100); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.ROSY_BROWN, 80); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.INDIAN_RED, 95); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.CORAL, EnumFlowerColor.SALMON, 100); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 105); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.CYAN, EnumFlowerColor.SKY_BLUE, 50); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CHOCOLATE, 80); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.ROSY_BROWN, 100); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 55); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SALMON, 75); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SIENNA, 70); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CORAL, 85); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SALMON, 105); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.ROSY_BROWN, 70); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 60); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 95); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 115); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 70); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 85); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.GOLD, EnumFlowerColor.SANDY_BROWN, 65); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.GOLDENROD, EnumFlowerColor.PERU, 80); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.GRAY, EnumFlowerColor.ROSY_BROWN, 100); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 55); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.HOT_PINK, EnumFlowerColor.DEEP_PINK, 120); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.INDIGO, EnumFlowerColor.PURPLE, 85); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SALMON, 70); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.LAVENDER, EnumFlowerColor.THISTLE, 95); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PINK, 80); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PINK, 95); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.SLATE_GRAY, 65); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.PLUM, 90); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 50); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 105); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MAROON, EnumFlowerColor.BROWN, 90); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_GRAY, 60); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.HOT_PINK, 105); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MEDIUM_ORCHID, 100); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.GRAY, 55); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DEEP_PINK, 110); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PINK, 95); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.NAVY, EnumFlowerColor.PURPLE, 80); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.OLIVE, EnumFlowerColor.PERU, 70); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.PERU, 65); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.ORANGE, EnumFlowerColor.SANDY_BROWN, 80); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_KHAKI, 55); - addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.THISTLE, 80); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 60); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 95); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_ORANGE, 120); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.CORAL, EnumFlowerColor.CHOCOLATE, 115); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 95); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 75); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 115); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.TAN, 100); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 80); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.GOLDENROD, 105); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE, 90); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 115); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SANDY_BROWN, 115); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 90); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 65); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.INDIAN_RED, 85); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 75); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_GRAY, 75); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 100); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GOLDENROD, 110); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 80); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.HOT_PINK, EnumFlowerColor.SALMON, 85); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CHOCOLATE, 100); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_VIOLET_RED, 65); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.KHAKI, EnumFlowerColor.GOLDENROD, 95); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.LAVENDER, EnumFlowerColor.TAN, 90); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.TAN, 95); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.TAN, 95); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.TAN, 90); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 75); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.OLIVE_DRAB, 80); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.MAGENTA, EnumFlowerColor.DEEP_PINK, 70); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.MAROON, EnumFlowerColor.SIENNA, 90); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PALE_VIOLET_RED, 75); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PALE_VIOLET_RED, 75); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.OLIVE_DRAB, 80); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.INDIAN_RED, 80); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.TAN, 95); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GOLDENROD, 100); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.OLIVE, 95); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_ORANGE, 115); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.PERU, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.SALMON, 90); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 75); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 70); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 85); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_GRAY, 80); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_SALMON, 90); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 100); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 90); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.CYAN, EnumFlowerColor.PALE_TURQUOISE, 60); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.SANDY_BROWN, 85); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.THISTLE, 105); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 60); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.TAN, 90); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.TAN, 70); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 95); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SALMON, 110); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.TAN, 80); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.GRAY, 65); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.SKY_BLUE, 65); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 80); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 100); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 80); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.ROSY_BROWN, 90); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 80); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.GOLDENROD, EnumFlowerColor.SANDY_BROWN, 90); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.GRAY, EnumFlowerColor.ROSY_BROWN, 95); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, 60); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PALE_VIOLET_RED, 105); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.SALMON, 100); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_ORCHID, 60); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.KHAKI, EnumFlowerColor.WHEAT, 90); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.LAVENDER, EnumFlowerColor.THISTLE, 105); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.MISTY_ROSE, 95); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.MISTY_ROSE, 105); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 70); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.THISTLE, 100); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 60); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 65); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 95); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.MAROON, EnumFlowerColor.INDIAN_RED, 65); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIGHT_GRAY, 75); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PLUM, 95); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PLUM, 95); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 70); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.HOT_PINK, 90); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.THISTLE, 115); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.NAVY, EnumFlowerColor.SLATE_BLUE, 50); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.OLIVE, EnumFlowerColor.TAN, 75); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.ORANGE, EnumFlowerColor.SANDY_BROWN, 90); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LEMON_CHIFFON, 70); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_GRAY, 80); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.HOT_PINK, 105); - addMix(EnumFlowerColor.PINK, EnumFlowerColor.PERU, EnumFlowerColor.DARK_SALMON, 95); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.SKY_BLUE, 80); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 80); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.BROWN, EnumFlowerColor.PALE_VIOLET_RED, 85); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SALMON, 85); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.CORAL, EnumFlowerColor.SALMON, 90); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 90); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.CYAN, EnumFlowerColor.SKY_BLUE, 75); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_SALMON, 75); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.THISTLE, 105); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.ROSY_BROWN, 75); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.ROSY_BROWN, 65); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_SALMON, 80); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PINK, 95); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_GRAY, 70); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 80); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.SKY_BLUE, 80); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 90); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 105); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 80); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.GOLD, EnumFlowerColor.TAN, 65); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SALMON, 75); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.GRAY, EnumFlowerColor.ROSY_BROWN, 100); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 50); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.HOT_PINK, EnumFlowerColor.VIOLET, 115); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PALE_VIOLET_RED, 95); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_ORCHID, 70); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.KHAKI, EnumFlowerColor.MISTY_ROSE, 70); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LAVENDER, EnumFlowerColor.THISTLE, 105); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.MISTY_ROSE, 80); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.THISTLE, 100); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.SKY_BLUE, 80); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.THISTLE, 105); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 45); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 50); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 105); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MAROON, EnumFlowerColor.MEDIUM_VIOLET_RED, 70); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.VIOLET, 105); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.VIOLET, 105); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 80); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MEDIUM_ORCHID, 100); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.THISTLE, 105); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.NAVY, EnumFlowerColor.SLATE_BLUE, 65); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.OLIVE, EnumFlowerColor.TAN, 65); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.TAN, 60); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.ORANGE, EnumFlowerColor.SANDY_BROWN, 75); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 55); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LAVENDER, 90); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.HOT_PINK, 110); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.PERU, EnumFlowerColor.ROSY_BROWN, 85); - addMix(EnumFlowerColor.PLUM, EnumFlowerColor.PINK, EnumFlowerColor.THISTLE, 110); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_PURPLE, 50); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.BLACK, EnumFlowerColor.INDIGO, 95); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.BLUE, EnumFlowerColor.INDIGO, 105); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.BROWN, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 80); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.BROWN, 75); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.CORAL, EnumFlowerColor.MEDIUM_VIOLET_RED, 70); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.CYAN, EnumFlowerColor.STEEL_BLUE, 50); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.BROWN, 60); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CRIMSON, 60); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.INDIGO, 110); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.INDIGO, 105); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.ROYAL_BLUE, 60); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.INDIGO, 115); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 100); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.ROYAL_BLUE, 60); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_BLUE, 80); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.INDIAN_RED, 50); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.LAVENDER, EnumFlowerColor.MEDIUM_ORCHID, 65); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PALE_VIOLET_RED, 50); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.MEDIUM_ORCHID, 70); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, 65); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.MEDIUM_ORCHID, 70); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_VIOLET, 95); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.SLATE_BLUE, 60); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_VIOLET, 105); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_VIOLET, 100); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PALE_VIOLET_RED, 65); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.NAVY, EnumFlowerColor.INDIGO, 110); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.OLIVE, EnumFlowerColor.BROWN, 55); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.ORANGE, EnumFlowerColor.INDIAN_RED, 50); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MEDIUM_PURPLE, 65); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.PERU, EnumFlowerColor.MEDIUM_VIOLET_RED, 70); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_ORCHID, 70); - addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_ORCHID, 80); - addMix(EnumFlowerColor.RED, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SALMON, 50); - addMix(EnumFlowerColor.RED, EnumFlowerColor.BLACK, EnumFlowerColor.MAROON, 75); - addMix(EnumFlowerColor.RED, EnumFlowerColor.BLUE, EnumFlowerColor.MAGENTA, 70); - addMix(EnumFlowerColor.RED, EnumFlowerColor.BROWN, EnumFlowerColor.CRIMSON, 110); - addMix(EnumFlowerColor.RED, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.INDIAN_RED, 75); - addMix(EnumFlowerColor.RED, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 115); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CHOCOLATE, 90); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.INDIAN_RED, 90); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.MAROON, 55); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CHOCOLATE, 80); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.BROWN, 70); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CORAL, 100); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.INDIAN_RED, 105); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.INDIAN_RED, 65); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.BROWN, 80); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.BROWN, 75); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DIM_GRAY, 60); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CRIMSON, 95); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.PLUM, 60); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.BROWN, 95); - addMix(EnumFlowerColor.RED, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); - addMix(EnumFlowerColor.RED, EnumFlowerColor.GOLD, EnumFlowerColor.CHOCOLATE, 75); - addMix(EnumFlowerColor.RED, EnumFlowerColor.GOLDENROD, EnumFlowerColor.CHOCOLATE, 85); - addMix(EnumFlowerColor.RED, EnumFlowerColor.GRAY, EnumFlowerColor.CRIMSON, 95); - addMix(EnumFlowerColor.RED, EnumFlowerColor.GREEN, EnumFlowerColor.SIENNA, 50); - addMix(EnumFlowerColor.RED, EnumFlowerColor.HOT_PINK, EnumFlowerColor.INDIAN_RED, 95); - addMix(EnumFlowerColor.RED, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CRIMSON, 110); - addMix(EnumFlowerColor.RED, EnumFlowerColor.INDIGO, EnumFlowerColor.BROWN, 75); - addMix(EnumFlowerColor.RED, EnumFlowerColor.KHAKI, EnumFlowerColor.CORAL, 75); - addMix(EnumFlowerColor.RED, EnumFlowerColor.LAVENDER, EnumFlowerColor.SALMON, 80); - addMix(EnumFlowerColor.RED, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.SALMON, 75); - addMix(EnumFlowerColor.RED, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.INDIAN_RED, 85); - addMix(EnumFlowerColor.RED, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.SIENNA, 60); - addMix(EnumFlowerColor.RED, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.INDIAN_RED, 80); - addMix(EnumFlowerColor.RED, EnumFlowerColor.MAGENTA, EnumFlowerColor.DEEP_PINK, 85); - addMix(EnumFlowerColor.RED, EnumFlowerColor.MAROON, EnumFlowerColor.BROWN, 100); - addMix(EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.INDIAN_RED, 60); - addMix(EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DEEP_PINK, 85); - addMix(EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); - addMix(EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.SIENNA, 55); - addMix(EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.CRIMSON, 95); - addMix(EnumFlowerColor.RED, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.SALMON, 85); - addMix(EnumFlowerColor.RED, EnumFlowerColor.OLIVE, EnumFlowerColor.SIENNA, 75); - addMix(EnumFlowerColor.RED, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.SIENNA, 65); - addMix(EnumFlowerColor.RED, EnumFlowerColor.ORANGE, EnumFlowerColor.CORAL, 90); - addMix(EnumFlowerColor.RED, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.PERU, 50); - addMix(EnumFlowerColor.RED, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.INDIAN_RED, 65); - addMix(EnumFlowerColor.RED, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.CRIMSON, 100); - addMix(EnumFlowerColor.RED, EnumFlowerColor.PERU, EnumFlowerColor.CHOCOLATE, 105); - addMix(EnumFlowerColor.RED, EnumFlowerColor.PINK, EnumFlowerColor.SALMON, 90); - addMix(EnumFlowerColor.RED, EnumFlowerColor.PLUM, EnumFlowerColor.INDIAN_RED, 85); - addMix(EnumFlowerColor.RED, EnumFlowerColor.PURPLE, EnumFlowerColor.CRIMSON, 80); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 80); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 95); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_GRAY, 90); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 105); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 105); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 100); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 75); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.PERU, 95); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 75); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.TAN, 95); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.PERU, 100); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SALMON, 115); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_GRAY, 85); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DIM_GRAY, 80); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 80); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 85); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 105); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 85); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.GRAY, 100); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 90); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 85); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.PERU, 95); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 75); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PALE_VIOLET_RED, 105); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PALE_VIOLET_RED, 110); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.INDIGO, EnumFlowerColor.PURPLE, 80); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.KHAKI, EnumFlowerColor.TAN, 90); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LAVENDER, EnumFlowerColor.THISTLE, 100); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.TAN, 90); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_GRAY, 105); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 85); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.THISTLE, 100); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 65); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 95); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MAROON, EnumFlowerColor.BROWN, 85); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PALE_VIOLET_RED, 100); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PLUM, 100); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DEEP_PINK, 100); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PINK, 105); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 75); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GOLDENROD, 90); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.OLIVE, 85); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.ORANGE, EnumFlowerColor.SANDY_BROWN, 95); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_GRAY, 85); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.HOT_PINK, 115); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PERU, EnumFlowerColor.DARK_SALMON, 105); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PINK, EnumFlowerColor.THISTLE, 110); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PLUM, EnumFlowerColor.THISTLE, 105); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_VIOLET_RED, 85); - addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.RED, EnumFlowerColor.INDIAN_RED, 100); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DEEP_SKY_BLUE, 70); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_BLUE, 80); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 105); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_SLATE_BLUE, 85); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.STEEL_BLUE, 95); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PURPLE, 85); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DEEP_SKY_BLUE, 75); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GRAY, 65); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.STEEL_BLUE, 95); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, 70); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.SLATE_GRAY, 60); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.STEEL_BLUE, 70); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.ROSY_BROWN, 65); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.MEDIUM_PURPLE, 80); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 75); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.SLATE_BLUE, 110); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.SLATE_BLUE, 95); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 85); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.BLUE, 105); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_VIOLET, 90); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 95); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SLATE_BLUE, 100); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 110); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, 50); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.GRAY, 60); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.GRAY, EnumFlowerColor.STEEL_BLUE, 100); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.GREEN, EnumFlowerColor.TEAL, 65); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.MEDIUM_PURPLE, 90); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.MEDIUM_PURPLE, 85); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 100); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_GRAY, 55); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.LIGHT_STEEL_BLUE, 65); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 85); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DODGER_BLUE, 100); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIME, EnumFlowerColor.MEDIUM_SEA_GREEN, 55); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, 60); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_VIOLET, 95); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MAROON, EnumFlowerColor.PURPLE, 80); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DODGER_BLUE, 80); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.SLATE_BLUE, 105); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.SLATE_BLUE, 115); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 75); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_VIOLET, 95); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_STEEL_BLUE, 80); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 95); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.OLIVE, EnumFlowerColor.DIM_GRAY, 60); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.SLATE_GRAY, 65); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.CADET_BLUE, 60); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 80); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_PURPLE, 90); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_PURPLE, 85); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_PURPLE, 95); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, 95); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); - addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_PURPLE, 90); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_KHAKI, 60); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.BLACK, EnumFlowerColor.BROWN, 65); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 70); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 95); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.ROSY_BROWN, 80); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.CORAL, 110); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 120); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 105); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.CYAN, EnumFlowerColor.LIGHT_SEA_GREEN, 65); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.PERU, 95); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.ROSY_BROWN, 100); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE, 60); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.SANDY_BROWN, 90); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.PERU, 75); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CORAL, 105); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CORAL, 120); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.TAN, 75); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 70); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 105); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SLATE_GRAY, 70); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.INDIAN_RED, 95); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 80); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.GOLD, EnumFlowerColor.ORANGE, 80); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.GOLDENROD, EnumFlowerColor.SANDY_BROWN, 95); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.GRAY, EnumFlowerColor.ROSY_BROWN, 100); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE, 60); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PALE_VIOLET_RED, 105); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SALMON, 115); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_VIOLET_RED, 70); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.KHAKI, EnumFlowerColor.SANDY_BROWN, 85); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LAVENDER, EnumFlowerColor.PINK, 95); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SALMON, 85); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SALMON, 100); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_GRAY, 70); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.ROSY_BROWN, 90); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LIME, EnumFlowerColor.YELLOW_GREEN, 50); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_KHAKI, 55); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MAGENTA, EnumFlowerColor.HOT_PINK, 90); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MAROON, EnumFlowerColor.CRIMSON, 85); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.TAN, 70); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PALE_VIOLET_RED, 90); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PALE_VIOLET_RED, 90); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 65); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DEEP_PINK, 95); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PINK, 100); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.NAVY, EnumFlowerColor.PURPLE, 65); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.OLIVE, EnumFlowerColor.PERU, 80); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.PERU, 75); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_ORANGE, 95); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_KHAKI, 60); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MISTY_ROSE, 80); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.INDIAN_RED, 110); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PERU, EnumFlowerColor.CORAL, 105); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PINK, EnumFlowerColor.DARK_SALMON, 110); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PLUM, EnumFlowerColor.PALE_VIOLET_RED, 100); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.RED, EnumFlowerColor.INDIAN_RED, 110); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_SALMON, 110); - addMix(EnumFlowerColor.SALMON, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 80); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.BLACK, EnumFlowerColor.SIENNA, 60); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 55); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.BROWN, EnumFlowerColor.CHOCOLATE, 85); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.TAN, 85); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 110); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 115); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 90); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 75); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.PERU, 110); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.TAN, 100); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE, 70); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.TAN, 105); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GOLDENROD, 85); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.ORANGE, 120); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CORAL, 115); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 90); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.ROSY_BROWN, 65); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 65); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 80); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 75); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.PERU, 90); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_GRAY, 75); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 105); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.ORANGE, 115); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.GRAY, EnumFlowerColor.PERU, 95); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 75); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.HOT_PINK, EnumFlowerColor.SALMON, 85); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CORAL, 100); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_VIOLET_RED, 55); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.KHAKI, EnumFlowerColor.TAN, 100); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LAVENDER, EnumFlowerColor.TAN, 95); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.WHEAT, 100); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.TAN, 100); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.TAN, 90); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LIME, EnumFlowerColor.YELLOW_GREEN, 75); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.YELLOW_GREEN, 80); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MAGENTA, EnumFlowerColor.HOT_PINK, 70); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MAROON, EnumFlowerColor.SIENNA, 75); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PALE_VIOLET_RED, 75); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.ROSY_BROWN, 75); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.INDIAN_RED, 75); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.TAN, 105); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GOLDENROD, 95); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_GOLDENROD, 90); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_ORANGE, 115); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.WHEAT, 85); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.SALMON, 90); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PERU, EnumFlowerColor.DARK_ORANGE, 115); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PINK, EnumFlowerColor.DARK_SALMON, 100); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PLUM, EnumFlowerColor.DARK_SALMON, 85); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PURPLE, EnumFlowerColor.PALE_VIOLET_RED, 60); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.RED, EnumFlowerColor.CORAL, 100); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_SALMON, 105); - addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SALMON, 105); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 70); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 105); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.OLIVE, 75); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.OLIVE, 70); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 55); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 90); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CADET_BLUE, 100); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.GREEN, 110); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 100); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.GREEN, 110); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.OLIVE, 75); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 110); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, 80); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.LIGHT_SEA_GREEN, 100); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_SLATE_BLUE, 75); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 45); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 85); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.TEAL, 100); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 80); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 85); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 90); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_GREEN, 115); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.HOT_PINK, EnumFlowerColor.ROSY_BROWN, 50); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DIM_GRAY, 65); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 70); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 90); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.MEDIUM_AQUAMARINE, 85); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 90); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 105); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CADET_BLUE, 90); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 95); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 105); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_VIOLET, 75); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.MEDIUM_SEA_GREEN, 105); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.SLATE_GRAY, 80); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 70); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.OLIVE, EnumFlowerColor.OLIVE_DRAB, 105); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.GREEN, 110); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.ORANGE, EnumFlowerColor.OLIVE, 80); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.GRAY, 60); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PERU, EnumFlowerColor.OLIVE_DRAB, 85); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PINK, EnumFlowerColor.DARK_SEA_GREEN, 70); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PLUM, EnumFlowerColor.SLATE_GRAY, 80); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, 75); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.RED, EnumFlowerColor.SIENNA, 60); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.STEEL_BLUE, 80); - addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.OLIVE_DRAB, 80); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 60); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 75); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.BROWN, EnumFlowerColor.MAROON, 115); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.GRAY, 85); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.CORAL, EnumFlowerColor.CHOCOLATE, 105); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 110); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.CYAN, EnumFlowerColor.LIGHT_SEA_GREEN, 60); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.PERU, 100); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.ROSY_BROWN, 95); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 80); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.PERU, 90); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CHOCOLATE, 100); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CHOCOLATE, 100); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 70); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.PURPLE, 80); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CRIMSON, 90); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 70); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_GRAY, 75); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 80); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.GOLDENROD, EnumFlowerColor.PERU, 95); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 75); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.HOT_PINK, EnumFlowerColor.INDIAN_RED, 90); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.BROWN, 110); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.INDIGO, EnumFlowerColor.PURPLE, 80); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.KHAKI, EnumFlowerColor.TAN, 80); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LAVENDER, EnumFlowerColor.ROSY_BROWN, 80); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.TAN, 75); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.ROSY_BROWN, 85); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.SEA_GREEN, 75); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.ROSY_BROWN, 80); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LIME, EnumFlowerColor.OLIVE_DRAB, 55); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.OLIVE_DRAB, 65); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.MAROON, EnumFlowerColor.BROWN, 110); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MEDIUM_VIOLET_RED, 85); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 70); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.CRIMSON, 95); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_SALMON, 85); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.NAVY, EnumFlowerColor.PURPLE, 75); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GOLDENROD, 95); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.OLIVE, 85); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.ORANGE, EnumFlowerColor.PERU, 95); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_KHAKI, 65); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_GRAY, 70); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.INDIAN_RED, 95); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PERU, EnumFlowerColor.CHOCOLATE, 105); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PINK, EnumFlowerColor.DARK_SALMON, 90); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PLUM, EnumFlowerColor.PALE_VIOLET_RED, 85); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_VIOLET_RED, 85); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.RED, EnumFlowerColor.CRIMSON, 110); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.INDIAN_RED, 100); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.SALMON, EnumFlowerColor.INDIAN_RED, 100); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PERU, 100); - addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 80); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.TURQUOISE, 100); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_GRAY, 55); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 75); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 60); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_TURQUOISE, 110); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.TAN, 75); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CORAL, EnumFlowerColor.ROSY_BROWN, 75); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 60); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 110); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_STEEL_BLUE, 105); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 70); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CADET_BLUE, 80); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.TAN, 80); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_GRAY, 80); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 75); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CADET_BLUE, 80); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.TURQUOISE, 115); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_PURPLE, 80); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_ORCHID, 65); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CADET_BLUE, 90); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 105); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.GRAY, EnumFlowerColor.CADET_BLUE, 100); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 75); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 75); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 70); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.INDIGO, EnumFlowerColor.SLATE_BLUE, 60); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_STEEL_BLUE, 105); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PALE_TURQUOISE, 95); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LIGHT_STEEL_BLUE, 110); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, 110); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 115); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LIME, EnumFlowerColor.SPRING_GREEN, 80); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 80); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 85); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_TURQUOISE, 100); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MEDIUM_PURPLE, 90); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIGHT_STEEL_BLUE, 95); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MEDIUM_ORCHID, 70); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.NAVY, EnumFlowerColor.ROYAL_BLUE, 55); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 85); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_TURQUOISE, 115); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.THISTLE, 75); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PERU, EnumFlowerColor.DARK_GRAY, 80); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PINK, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PLUM, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_PURPLE, 65); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.RED, EnumFlowerColor.INDIAN_RED, 65); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DODGER_BLUE, 95); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.SALMON, EnumFlowerColor.ROSY_BROWN, 75); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_GRAY, 85); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, 90); - addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.SIENNA, EnumFlowerColor.GRAY, 70); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DEEP_SKY_BLUE, 70); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_BLUE, 85); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 110); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.PURPLE, 90); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.STEEL_BLUE, 95); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.CORAL, EnumFlowerColor.PALE_VIOLET_RED, 75); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DEEP_SKY_BLUE, 70); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.ROSY_BROWN, 65); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.MEDIUM_PURPLE, 90); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, 70); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.GRAY, 60); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.INDIAN_RED, 65); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PALE_VIOLET_RED, 80); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.SLATE_GRAY, 75); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 100); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 80); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.BLUE, 115); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_ORCHID, 95); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 90); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 100); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.ROYAL_BLUE, 105); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.GOLD, EnumFlowerColor.TAN, 50); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.ROSY_BROWN, 60); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.GRAY, EnumFlowerColor.MEDIUM_PURPLE, 100); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.GREEN, EnumFlowerColor.TEAL, 70); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.MEDIUM_ORCHID, 95); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.MEDIUM_ORCHID, 90); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 105); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_GRAY, 55); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.THISTLE, 60); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.MEDIUM_PURPLE, 85); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 85); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 95); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIME, EnumFlowerColor.MEDIUM_SEA_GREEN, 55); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.CADET_BLUE, 60); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 100); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MAROON, EnumFlowerColor.PURPLE, 80); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.STEEL_BLUE, 75); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MEDIUM_PURPLE, 110); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.ROYAL_BLUE, 115); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 75); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_VIOLET, 100); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PLUM, 80); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 100); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.OLIVE, EnumFlowerColor.DIM_GRAY, 60); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DIM_GRAY, 55); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_SALMON, 60); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.CADET_BLUE, 60); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_STEEL_BLUE, 80); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_ORCHID, 95); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PINK, EnumFlowerColor.PLUM, 85); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_PURPLE, 95); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_VIOLET, 105); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_PURPLE, 90); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 120); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.SALMON, EnumFlowerColor.PALE_VIOLET_RED, 85); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.ROSY_BROWN, 70); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 80); - addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 85); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_GRAY, 85); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 100); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SIENNA, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.CORAL, EnumFlowerColor.ROSY_BROWN, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.GRAY, 110); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.PERU, 85); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.ROSY_BROWN, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 95); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.SLATE_BLUE, 105); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DIM_GRAY, 105); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 100); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 105); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.STEEL_BLUE, 105); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.GRAY, 115); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 110); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GOLDENROD, 85); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.GRAY, EnumFlowerColor.DIM_GRAY, 120); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PALE_VIOLET_RED, 95); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 95); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 95); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_STEEL_BLUE, 95); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_GRAY, 85); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_GRAY, 100); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 100); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_GRAY, 105); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 75); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 100); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CADET_BLUE, 95); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MEDIUM_PURPLE, 110); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.SLATE_BLUE, 115); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.SEA_GREEN, 95); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_GRAY, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.OLIVE, EnumFlowerColor.OLIVE_DRAB, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.SEA_GREEN, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_GOLDENROD, 85); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.SKY_BLUE, 95); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.ROSY_BROWN, 95); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.PINK, EnumFlowerColor.ROSY_BROWN, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, 95); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.RED, EnumFlowerColor.CRIMSON, 85); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.GRAY, 100); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.STEEL_BLUE, 115); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.SALMON, EnumFlowerColor.ROSY_BROWN, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.TAN, 90); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.TEAL, 100); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CADET_BLUE, 100); - addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 115); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_GREEN, 110); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.STEEL_BLUE, 45); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.LIME_GREEN, 60); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SEA_GREEN, 55); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.AQUAMARINE, 100); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.LIME_GREEN, 80); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.LIME_GREEN, 100); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.YELLOW_GREEN, 65); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_SEA_GREEN, 65); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.PALE_GREEN, 105); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 50); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 65); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.STEEL_BLUE, 55); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.TURQUOISE, 75); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_TURQUOISE, 65); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.LIME, 90); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.LIME_GREEN, 85); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.LIME_GREEN, 90); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.MEDIUM_SEA_GREEN, 45); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.PALE_GREEN, 100); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.AQUAMARINE, 90); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PALE_GREEN, 100); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.AQUAMARINE, 95); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 85); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIME, EnumFlowerColor.PALE_GREEN, 120); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIME, 115); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_PURPLE, 60); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.PALE_GREEN, 110); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.CADET_BLUE, 65); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIGHT_SEA_GREEN, 65); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LIME_GREEN, 110); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.AQUAMARINE, 80); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.OLIVE, EnumFlowerColor.LIME_GREEN, 90); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIME_GREEN, 95); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.ORANGE, EnumFlowerColor.YELLOW_GREEN, 75); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIME, 120); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.AQUAMARINE, 100); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PERU, EnumFlowerColor.LIME_GREEN, 75); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_AQUAMARINE, 65); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_AQUAMARINE, 75); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PURPLE, EnumFlowerColor.TEAL, 50); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_SEA_GREEN, 70); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 60); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SEA_GREEN, 50); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LIME_GREEN, 75); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SIENNA, EnumFlowerColor.MEDIUM_SEA_GREEN, 55); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.AQUAMARINE, 85); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 60); - addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_TURQUOISE, 80); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_BLUE, 85); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 100); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SLATE_GRAY, 105); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.GRAY, 80); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.CORAL, EnumFlowerColor.ROSY_BROWN, 80); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 90); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SLATE_GRAY, 105); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 75); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CADET_BLUE, 75); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.TEAL, 80); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GOLDENROD, 75); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.GRAY, 85); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 85); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.ROYAL_BLUE, 100); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.ROYAL_BLUE, 100); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 100); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 95); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_ORCHID, 80); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 105); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SLATE_GRAY, 105); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, 60); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.GRAY, EnumFlowerColor.SLATE_GRAY, 110); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 75); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.MEDIUM_PURPLE, 80); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 90); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 70); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.SKY_BLUE, 75); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LIGHT_STEEL_BLUE, 95); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 100); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DODGER_BLUE, 105); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIME, EnumFlowerColor.MEDIUM_SEA_GREEN, 65); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 70); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 85); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CADET_BLUE, 90); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MEDIUM_PURPLE, 95); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.ROYAL_BLUE, 105); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 85); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_VIOLET, 80); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 90); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.OLIVE, EnumFlowerColor.SEA_GREEN, 75); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.SEA_GREEN, 75); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 70); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.SKY_BLUE, 90); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.PERU, EnumFlowerColor.GRAY, 80); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.PINK, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_PURPLE, 90); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, 85); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.SLATE_GRAY, 95); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DODGER_BLUE, 115); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SALMON, EnumFlowerColor.ROSY_BROWN, 80); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_GRAY, 80); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.TEAL, 90); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SIENNA, EnumFlowerColor.DIM_GRAY, 85); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 105); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.ROYAL_BLUE, 110); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.ROYAL_BLUE, 115); - addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 70); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 95); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.BLACK, EnumFlowerColor.DIM_GRAY, 60); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 60); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 85); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 95); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 105); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 105); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 85); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 90); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 110); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 80); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.WHEAT, 115); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE, 90); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 105); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SANDY_BROWN, 110); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 105); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.GRAY, 75); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 65); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 80); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 85); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.GRAY, 95); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 80); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 105); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 110); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 100); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 85); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PALE_VIOLET_RED, 85); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SALMON, 95); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.KHAKI, EnumFlowerColor.WHEAT, 110); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_GRAY, 100); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.WHEAT, 110); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.WHEAT, 110); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_GRAY, 100); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 90); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.YELLOW_GREEN, 95); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.MAGENTA, EnumFlowerColor.HOT_PINK, 75); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.MAROON, EnumFlowerColor.SIENNA, 70); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 95); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PALE_VIOLET_RED, 75); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PLUM, 80); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 95); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.PALE_VIOLET_RED, 75); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.WHEAT, 110); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 50); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_KHAKI, 100); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_KHAKI, 100); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.ORANGE, EnumFlowerColor.GOLDENROD, 110); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 95); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_GRAY, 95); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.ROSY_BROWN, 90); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.PERU, EnumFlowerColor.SANDY_BROWN, 110); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.PINK, EnumFlowerColor.DARK_SALMON, 100); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.PLUM, EnumFlowerColor.PINK, 90); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_VIOLET_RED, 60); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.RED, EnumFlowerColor.INDIAN_RED, 90); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_SALMON, 105); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.SLATE_GRAY, 75); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SALMON, 100); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PERU, 115); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 90); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.SIENNA, EnumFlowerColor.PERU, 95); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_GRAY, 95); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 95); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PALE_GREEN, 90); - addMix(EnumFlowerColor.TAN, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_GRAY, 85); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.LIGHT_SEA_GREEN, 90); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_GRAY, 85); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 85); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.BROWN, EnumFlowerColor.DIM_GRAY, 75); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 115); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_OLIVE_GREEN, 80); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.CORAL, EnumFlowerColor.GRAY, 75); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 90); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 85); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CADET_BLUE, 100); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 100); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.SEA_GREEN, 90); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SEA_GREEN, 100); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.OLIVE_DRAB, 75); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CADET_BLUE, 80); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, 100); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.LIGHT_SEA_GREEN, 105); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_SLATE_BLUE, 90); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PURPLE, 70); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 100); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 95); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.GOLD, EnumFlowerColor.OLIVE_DRAB, 75); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 80); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.GRAY, EnumFlowerColor.CADET_BLUE, 105); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 100); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DIM_GRAY, 75); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 85); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LAVENDER, EnumFlowerColor.CADET_BLUE, 85); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.MEDIUM_AQUAMARINE, 80); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.CADET_BLUE, 90); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 110); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CADET_BLUE, 95); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 80); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 90); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_VIOLET, 85); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MAROON, EnumFlowerColor.GRAY, 70); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIGHT_SEA_GREEN, 100); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.ROYAL_BLUE, 85); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.STEEL_BLUE, 90); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.SEA_GREEN, 100); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_SLATE_BLUE, 75); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.CADET_BLUE, 75); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 80); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.OLIVE, EnumFlowerColor.SEA_GREEN, 95); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.SEA_GREEN, 95); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.ORANGE, EnumFlowerColor.OLIVE_DRAB, 75); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_SEA_GREEN, 95); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.SLATE_GRAY, 70); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PERU, EnumFlowerColor.SEA_GREEN, 85); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PINK, EnumFlowerColor.CADET_BLUE, 65); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PLUM, EnumFlowerColor.STEEL_BLUE, 80); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, 80); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.RED, EnumFlowerColor.BROWN, 70); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CADET_BLUE, 85); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.STEEL_BLUE, 95); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SALMON, EnumFlowerColor.GRAY, 70); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.SEA_GREEN, 80); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_OLIVE_GREEN, 80); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CADET_BLUE, 100); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 95); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.CADET_BLUE, 105); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); - addMix(EnumFlowerColor.TEAL, EnumFlowerColor.TAN, EnumFlowerColor.CADET_BLUE, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.BLACK, EnumFlowerColor.DIM_GRAY, 55); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 75); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.BROWN, EnumFlowerColor.PALE_VIOLET_RED, 80); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_SALMON, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 95); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 80); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.TAN, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_GRAY, 110); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 60); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.TAN, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GRAY, 75); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PINK, 100); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_GRAY, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 75); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.SLATE_GRAY, 70); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.SKY_BLUE, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 95); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 80); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.TAN, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 100); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 65); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 105); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 95); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_ORCHID, 60); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.KHAKI, EnumFlowerColor.WHEAT, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LAVENDER, EnumFlowerColor.MISTY_ROSE, 115); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.MISTY_ROSE, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LAVENDER, 110); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LAVENDER, 110); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 65); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 70); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 95); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MAROON, EnumFlowerColor.INDIAN_RED, 65); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PLUM, 95); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PLUM, 100); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.HOT_PINK, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PINK, 115); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.NAVY, EnumFlowerColor.SLATE_BLUE, 55); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.ORANGE, EnumFlowerColor.SANDY_BROWN, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.PLUM, 105); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PERU, EnumFlowerColor.DARK_SALMON, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PINK, EnumFlowerColor.MISTY_ROSE, 115); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PLUM, EnumFlowerColor.PINK, 115); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_ORCHID, 75); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.RED, EnumFlowerColor.INDIAN_RED, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PINK, 110); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SALMON, EnumFlowerColor.PINK, 100); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_SALMON, 95); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.CADET_BLUE, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SIENNA, EnumFlowerColor.ROSY_BROWN, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 100); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 85); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.TAN, EnumFlowerColor.MISTY_ROSE, 100); - addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.TEAL, EnumFlowerColor.CADET_BLUE, 80); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 115); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.BLACK, EnumFlowerColor.TEAL, 50); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 60); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.BROWN, EnumFlowerColor.GRAY, 55); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 110); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_SEA_GREEN, 70); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SEA_GREEN, 70); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.CRIMSON, EnumFlowerColor.GRAY, 50); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 120); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_TURQUOISE, 100); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 110); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 65); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CADET_BLUE, 75); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CYAN, 120); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.ROYAL_BLUE, 65); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_PURPLE, 55); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_TURQUOISE, 100); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CADET_BLUE, 85); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 90); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 85); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.GRAY, EnumFlowerColor.LIGHT_SEA_GREEN, 95); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 90); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.LIGHT_STEEL_BLUE, 65); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CADET_BLUE, 60); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.INDIGO, EnumFlowerColor.ROYAL_BLUE, 50); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.KHAKI, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LAVENDER, EnumFlowerColor.PALE_TURQUOISE, 95); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.AQUAMARINE, 100); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PALE_TURQUOISE, 100); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, 115); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_TURQUOISE, 100); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LIME, EnumFlowerColor.SPRING_GREEN, 95); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 100); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_PURPLE, 75); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MAROON, EnumFlowerColor.DIM_GRAY, 45); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_TURQUOISE, 120); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DODGER_BLUE, 75); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DEEP_SKY_BLUE, 80); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 110); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MEDIUM_PURPLE, 60); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PALE_TURQUOISE, 90); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.NAVY, EnumFlowerColor.STEEL_BLUE, 45); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.OLIVE, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MEDIUM_SEA_GREEN, 90); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.ORANGE, EnumFlowerColor.YELLOW_GREEN, 80); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.AQUAMARINE, 105); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.CYAN, 115); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_GRAY, 60); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PERU, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PINK, EnumFlowerColor.PALE_TURQUOISE, 75); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PLUM, EnumFlowerColor.SKY_BLUE, 80); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PURPLE, EnumFlowerColor.ROYAL_BLUE, 55); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.RED, EnumFlowerColor.ROSY_BROWN, 55); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CADET_BLUE, 80); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 80); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SALMON, EnumFlowerColor.DARK_GRAY, 65); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 100); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_SEA_GREEN, 65); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_TURQUOISE, 110); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DODGER_BLUE, 75); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIGHT_SEA_GREEN, 95); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.AQUAMARINE, 105); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.CADET_BLUE, 90); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.TAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.TEAL, EnumFlowerColor.LIGHT_SEA_GREEN, 100); - addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.THISTLE, EnumFlowerColor.PALE_TURQUOISE, 85); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.LIGHT_STEEL_BLUE, 75); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.BLACK, EnumFlowerColor.PURPLE, 60); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 85); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.BROWN, EnumFlowerColor.PALE_VIOLET_RED, 85); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.PLUM, 95); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PALE_VIOLET_RED, 80); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.CORAL, EnumFlowerColor.PALE_VIOLET_RED, 85); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.CRIMSON, EnumFlowerColor.DEEP_PINK, 90); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.CYAN, EnumFlowerColor.DEEP_SKY_BLUE, 70); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.SALMON, 65); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.PLUM, 100); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.ROSY_BROWN, 65); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.ROSY_BROWN, 55); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SALMON, 75); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.HOT_PINK, 90); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.THISTLE, 60); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_ORCHID, 85); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.MEDIUM_PURPLE, 80); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 75); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 95); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 110); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 75); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.MEDIUM_ORCHID, 90); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 90); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.GOLD, EnumFlowerColor.SANDY_BROWN, 55); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SALMON, 65); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.GRAY, EnumFlowerColor.PLUM, 95); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 115); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PALE_VIOLET_RED, 95); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_VIOLET, 80); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.KHAKI, EnumFlowerColor.PINK, 60); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.LAVENDER, EnumFlowerColor.PLUM, 100); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PINK, 70); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PLUM, 95); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.PLUM, 100); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 115); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MAROON, EnumFlowerColor.MEDIUM_VIOLET_RED, 70); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.THISTLE, 80); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MAGENTA, 115); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MEDIUM_ORCHID, 110); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_GRAY, 75); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MEDIUM_ORCHID, 100); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PLUM, 95); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_VIOLET, 75); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.OLIVE, EnumFlowerColor.ROSY_BROWN, 55); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.ROSY_BROWN, 50); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_SALMON, 65); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.THISTLE, 90); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.HOT_PINK, 110); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.PERU, EnumFlowerColor.PALE_VIOLET_RED, 80); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.PINK, EnumFlowerColor.PLUM, 105); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.PLUM, EnumFlowerColor.HOT_PINK, 120); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_ORCHID, 85); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.RED, EnumFlowerColor.DEEP_PINK, 85); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PLUM, 100); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 95); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SALMON, EnumFlowerColor.HOT_PINK, 95); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PALE_VIOLET_RED, 80); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SIENNA, EnumFlowerColor.PALE_VIOLET_RED, 80); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PLUM, 90); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 100); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.PLUM, 100); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, 70); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 90); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.TAN, EnumFlowerColor.PLUM, 80); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_PURPLE, 80); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.THISTLE, EnumFlowerColor.PLUM, 105); - addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.TURQUOISE, EnumFlowerColor.LIGHT_STEEL_BLUE, 75); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_GREEN, 100); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.BLUE, EnumFlowerColor.MEDIUM_PURPLE, 50); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_SALMON, 75); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 90); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SANDY_BROWN, 95); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.CORAL, EnumFlowerColor.SANDY_BROWN, 100); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.CRIMSON, EnumFlowerColor.SALMON, 80); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 90); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 100); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.TAN, 105); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 75); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.KHAKI, 110); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.ORANGE, 100); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.TAN, 105); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 105); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.ROSY_BROWN, 60); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 70); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 60); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 75); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 80); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.TAN, 85); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SKY_BLUE, 75); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 110); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 105); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.GRAY, EnumFlowerColor.TAN, 95); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PINK, 80); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SALMON, 85); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.KHAKI, EnumFlowerColor.LEMON_CHIFFON, 115); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_GRAY, 100); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.KHAKI, 120); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LEMON_CHIFFON, 110); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LIGHT_GRAY, 95); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LIME, EnumFlowerColor.PALE_GREEN, 95); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.YELLOW_GREEN, 95); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 70); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MAROON, EnumFlowerColor.INDIAN_RED, 60); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 100); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PLUM, 70); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.THISTLE, 75); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 95); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.PALE_VIOLET_RED, 70); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.TAN, 110); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_KHAKI, 95); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_KHAKI, 95); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.ORANGE, EnumFlowerColor.GOLDENROD, 105); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LEMON_CHIFFON, 100); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LEMON_CHIFFON, 100); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.PINK, 85); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PERU, EnumFlowerColor.TAN, 100); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PINK, EnumFlowerColor.MISTY_ROSE, 100); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PLUM, EnumFlowerColor.PINK, 85); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PURPLE, EnumFlowerColor.PALE_VIOLET_RED, 55); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.RED, EnumFlowerColor.SALMON, 85); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.TAN, 100); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 70); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SALMON, 95); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.TAN, 110); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 90); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SIENNA, EnumFlowerColor.PERU, 85); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PALE_TURQUOISE, 95); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PLUM, 65); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 90); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PALE_GREEN, 95); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_GRAY, 75); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.TAN, EnumFlowerColor.DARK_KHAKI, 115); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.TEAL, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.THISTLE, EnumFlowerColor.MISTY_ROSE, 95); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); - addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.VIOLET, EnumFlowerColor.PINK, 75); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 100); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.BLUE, EnumFlowerColor.MEDIUM_PURPLE, 60); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 70); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.PALE_TURQUOISE, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.TAN, 85); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 90); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 75); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.CYAN, EnumFlowerColor.PALE_TURQUOISE, 100); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.TAN, 85); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_GRAY, 105); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 70); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.LEMON_CHIFFON, 100); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 90); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.MISTY_ROSE, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 70); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.PALE_TURQUOISE, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.VIOLET, 70); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 85); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, 85); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SKY_BLUE, 85); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.WHEAT, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.GRAY, EnumFlowerColor.LIGHT_GRAY, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PINK, 90); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PINK, 85); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_PURPLE, 50); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.KHAKI, EnumFlowerColor.LEMON_CHIFFON, 105); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_GRAY, 115); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.WHEAT, 110); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LAVENDER, 120); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.PALE_TURQUOISE, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LAVENDER, 110); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LIME, EnumFlowerColor.PALE_GREEN, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.PALE_GREEN, 90); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 85); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MAROON, EnumFlowerColor.ROSY_BROWN, 55); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 100); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PLUM, 80); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.THISTLE, 85); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.PLUM, 75); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_GRAY, 115); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_KHAKI, 85); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.ORANGE, EnumFlowerColor.WHEAT, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.AQUAMARINE, 100); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.PINK, 90); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.PERU, EnumFlowerColor.TAN, 90); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.PINK, EnumFlowerColor.MISTY_ROSE, 105); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.PLUM, EnumFlowerColor.THISTLE, 100); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.PURPLE, EnumFlowerColor.PLUM, 60); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.RED, EnumFlowerColor.SALMON, 80); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MISTY_ROSE, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 80); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SALMON, EnumFlowerColor.PINK, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.WHEAT, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_SALMON, 75); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PALE_TURQUOISE, 105); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 75); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIGHT_GRAY, 90); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.AQUAMARINE, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.TAN, EnumFlowerColor.WHEAT, 105); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.TEAL, EnumFlowerColor.DARK_TURQUOISE, 80); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.THISTLE, EnumFlowerColor.LAVENDER, 105); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.TURQUOISE, EnumFlowerColor.PALE_TURQUOISE, 100); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.VIOLET, EnumFlowerColor.PLUM, 95); - addMix(EnumFlowerColor.WHITE, EnumFlowerColor.WHEAT, EnumFlowerColor.LEMON_CHIFFON, 110); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_GREEN, 95); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.BROWN, EnumFlowerColor.GOLDENROD, 55); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.YELLOW_GREEN, 80); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.GOLDENROD, 80); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.CORAL, EnumFlowerColor.GOLDENROD, 75); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.CRIMSON, EnumFlowerColor.DARK_ORANGE, 55); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.CYAN, EnumFlowerColor.PALE_GREEN, 85); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLD, 95); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.KHAKI, 90); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.YELLOW_GREEN, 70); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.KHAKI, 105); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.YELLOW_GREEN, 80); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.GOLD, 90); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.GOLD, 80); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.YELLOW_GREEN, 95); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_KHAKI, 60); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.PALE_GREEN, 80); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.PALE_GREEN, 60); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 45); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 115); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.GOLDENROD, EnumFlowerColor.GOLD, 100); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.GREEN, EnumFlowerColor.YELLOW_GREEN, 80); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.HOT_PINK, EnumFlowerColor.SANDY_BROWN, 50); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.GOLDENROD, 65); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.KHAKI, EnumFlowerColor.GOLD, 115); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LAVENDER, EnumFlowerColor.KHAKI, 80); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.KHAKI, 105); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.KHAKI, 95); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.YELLOW_GREEN, 80); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.KHAKI, 75); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LIME, EnumFlowerColor.SPRING_GREEN, 105); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.YELLOW_GREEN, 100); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.MAROON, EnumFlowerColor.DARK_GOLDENROD, 45); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.YELLOW_GREEN, 90); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.YELLOW_GREEN, 90); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.KHAKI, 90); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_KHAKI, 90); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.YELLOW_GREEN, 90); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.ORANGE, EnumFlowerColor.GOLD, 95); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.YELLOW_GREEN, 105); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.KHAKI, 90); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.GOLDENROD, 55); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.PERU, EnumFlowerColor.GOLD, 90); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.PINK, EnumFlowerColor.GOLD, 75); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.PLUM, EnumFlowerColor.KHAKI, 55); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.RED, EnumFlowerColor.DARK_ORANGE, 60); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.GOLD, 75); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SALMON, EnumFlowerColor.GOLDENROD, 70); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.GOLD, 90); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.YELLOW_GREEN, 85); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SIENNA, EnumFlowerColor.GOLDENROD, 70); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.YELLOW_GREEN, 75); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_KHAKI, 70); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIME, 100); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.YELLOW_GREEN, 55); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.TAN, EnumFlowerColor.GOLD, 100); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.TEAL, EnumFlowerColor.YELLOW_GREEN, 70); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.THISTLE, EnumFlowerColor.KHAKI, 75); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.TURQUOISE, EnumFlowerColor.PALE_GREEN, 85); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.WHEAT, EnumFlowerColor.KHAKI, 105); - addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.WHITE, EnumFlowerColor.KHAKI, 95); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_GREEN, 100); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_OLIVE_GREEN, 55); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_GOLDENROD, 55); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 90); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.GOLDENROD, 75); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.GOLDENROD, 75); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.CRIMSON, EnumFlowerColor.CHOCOLATE, 50); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.SPRING_GREEN, 90); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_KHAKI, 95); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_KHAKI, 100); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 85); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE_DRAB, 95); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.GOLDENROD, 85); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.LIME_GREEN, 110); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.OLIVE_DRAB, 70); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 90); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 70); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.OLIVE_DRAB, 85); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 55); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW, 105); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 100); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.OLIVE_DRAB, 90); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 100); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.HOT_PINK, EnumFlowerColor.TAN, 45); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_GOLDENROD, 65); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_KHAKI, 110); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SEA_GREEN, 85); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.KHAKI, 105); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_KHAKI, 100); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 110); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIME, 115); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIME_GREEN, 105); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_GRAY, 45); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LIME_GREEN, 110); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.KHAKI, 90); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.OLIVE, EnumFlowerColor.OLIVE_DRAB, 105); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIME_GREEN, 110); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.ORANGE, EnumFlowerColor.GOLD, 90); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIME_GREEN, 110); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.PALE_GREEN, 95); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.TAN, 60); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.PERU, EnumFlowerColor.DARK_KHAKI, 90); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.PINK, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.PLUM, EnumFlowerColor.DARK_KHAKI, 55); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.RED, EnumFlowerColor.CHOCOLATE, 55); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_KHAKI, 80); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.CADET_BLUE, 55); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SALMON, EnumFlowerColor.GOLDENROD, 70); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_KHAKI, 90); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 100); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SIENNA, EnumFlowerColor.OLIVE, 70); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 80); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIME_GREEN, 110); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 65); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.TAN, EnumFlowerColor.DARK_KHAKI, 100); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_KHAKI, 75); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.TURQUOISE, EnumFlowerColor.PALE_GREEN, 95); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.WHEAT, EnumFlowerColor.KHAKI, 100); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.WHITE, EnumFlowerColor.KHAKI, 95); - addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.YELLOW, EnumFlowerColor.KHAKI, 110); - } + public static void setupMutations() { + addMix(EnumFlowerColor.BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.STEEL_BLUE, 55); + addMix(EnumFlowerColor.BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.NAVY, 85); + addMix(EnumFlowerColor.BROWN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.GRAY, 50); + addMix(EnumFlowerColor.BROWN, EnumFlowerColor.BLACK, EnumFlowerColor.MAROON, 90); + addMix(EnumFlowerColor.BROWN, EnumFlowerColor.BLUE, EnumFlowerColor.INDIGO, 85); + addMix(EnumFlowerColor.CADET_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 100); + addMix(EnumFlowerColor.CADET_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_GRAY, 75); + addMix(EnumFlowerColor.CADET_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 85); + addMix(EnumFlowerColor.CHOCOLATE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_KHAKI, 65); + addMix(EnumFlowerColor.CHOCOLATE, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 65); + addMix(EnumFlowerColor.CHOCOLATE, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 100); + addMix(EnumFlowerColor.CORAL, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_KHAKI, 65); + addMix(EnumFlowerColor.CORAL, EnumFlowerColor.BLACK, EnumFlowerColor.SIENNA, 65); + addMix(EnumFlowerColor.CORAL, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 65); + addMix(EnumFlowerColor.CORAL, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 95); + addMix(EnumFlowerColor.CORAL, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.ROSY_BROWN, 80); + addMix(EnumFlowerColor.CORAL, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 115); + addMix(EnumFlowerColor.CRIMSON, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.ROSY_BROWN, 45); + addMix(EnumFlowerColor.CRIMSON, EnumFlowerColor.BLACK, EnumFlowerColor.MAROON, 80); + addMix(EnumFlowerColor.CRIMSON, EnumFlowerColor.BLUE, EnumFlowerColor.INDIGO, 85); + addMix(EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 115); + addMix(EnumFlowerColor.CRIMSON, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.RED, 100); + addMix(EnumFlowerColor.CRIMSON, EnumFlowerColor.CORAL, EnumFlowerColor.INDIAN_RED, 105); + addMix(EnumFlowerColor.CYAN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.TURQUOISE, 115); + addMix(EnumFlowerColor.CYAN, EnumFlowerColor.BLUE, EnumFlowerColor.DODGER_BLUE, 60); + addMix(EnumFlowerColor.CYAN, EnumFlowerColor.BROWN, EnumFlowerColor.CADET_BLUE, 50); + addMix(EnumFlowerColor.CYAN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_TURQUOISE, 100); + addMix(EnumFlowerColor.CYAN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.MEDIUM_AQUAMARINE, 65); + addMix(EnumFlowerColor.CYAN, EnumFlowerColor.CORAL, EnumFlowerColor.MEDIUM_AQUAMARINE, 65); + addMix(EnumFlowerColor.CYAN, EnumFlowerColor.CRIMSON, EnumFlowerColor.SLATE_GRAY, 50); + addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 55); + addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 85); + addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.OLIVE_DRAB, 90); + addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 110); + addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CORAL, EnumFlowerColor.PERU, 100); + addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CRIMSON, EnumFlowerColor.SIENNA, 85); + addMix(EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_SEA_GREEN, 75); + addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.BLACK, EnumFlowerColor.DIM_GRAY, 70); + addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 75); + addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 85); + addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 95); + addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 100); + addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 90); + addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 95); + addMix(EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_KHAKI, 100); + addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_SEA_GREEN, 75); + addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 65); + addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SEA_GREEN, 90); + addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_OLIVE_GREEN, 70); + addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.OLIVE, 60); + addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.CRIMSON, EnumFlowerColor.SIENNA, 55); + addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_SEA_GREEN, 70); + addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_OLIVE_GREEN, 85); + addMix(EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SEA_GREEN, 85); + addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 100); + addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_OLIVE_GREEN, 60); + addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.BROWN, EnumFlowerColor.CHOCOLATE, 75); + addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 95); + addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 95); + addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CORAL, EnumFlowerColor.SANDY_BROWN, 90); + addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 75); + addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); + addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 110); + addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.TAN, 105); + addMix(EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 85); + addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); + addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 50); + addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 80); + addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SEA_GREEN, 95); + addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_GOLDENROD, 85); + addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.PERU, 75); + addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 70); + addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.LIGHT_SEA_GREEN, 75); + addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE, 100); + addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.GREEN, 115); + addMix(EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.OLIVE_DRAB, 95); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_KHAKI, 70); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.BLACK, EnumFlowerColor.SIENNA, 60); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.BLUE, EnumFlowerColor.VIOLET, 55); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.BROWN, EnumFlowerColor.CHOCOLATE, 85); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_GOLDENROD, 80); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 115); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CORAL, EnumFlowerColor.SANDY_BROWN, 115); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CRIMSON, EnumFlowerColor.RED, 90); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_SEA_GREEN, 70); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.PERU, 110); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.PERU, 95); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE, 70); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.GOLDENROD, 100); + addMix(EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GOLDENROD, 80); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.BLACK, EnumFlowerColor.SIENNA, 65); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 70); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 95); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_GRAY, 85); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.CORAL, 110); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CORAL, EnumFlowerColor.SALMON, 120); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 100); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 75); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.PERU, 100); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.ROSY_BROWN, 105); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE, 65); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.TAN, 95); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.PERU, 80); + addMix(EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 110); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 110); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_OLIVE_GREEN, 60); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 60); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 65); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 105); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_GOLDENROD, 80); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.TAN, 80); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 60); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 100); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_KHAKI, 95); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 90); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.YELLOW_GREEN, 110); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE_DRAB, 100); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.GOLDENROD, 85); + addMix(EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.TAN, 85); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.CADET_BLUE, 60); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.INDIGO, 110); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.PURPLE, 90); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.ROYAL_BLUE, 85); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.BROWN, 75); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.CORAL, EnumFlowerColor.INDIAN_RED, 70); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DEEP_SKY_BLUE, 60); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.SIENNA, 65); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, 75); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.GRAY, 55); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DIM_GRAY, 70); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SIENNA, 60); + addMix(EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.SLATE_GRAY, 65); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.LIGHT_SEA_GREEN, 70); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.BLUE, EnumFlowerColor.NAVY, 95); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.TEAL, 95); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SIENNA, 80); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CORAL, EnumFlowerColor.SIENNA, 75); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 80); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CYAN, EnumFlowerColor.LIGHT_SEA_GREEN, 70); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_OLIVE_GREEN, 85); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.GRAY, 85); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 100); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_OLIVE_GREEN, 75); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GOLDENROD, 70); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.GRAY, 75); + addMix(EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.SEA_GREEN, 80); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.TURQUOISE, 110); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.BLACK, EnumFlowerColor.TEAL, 55); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 65); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.BROWN, EnumFlowerColor.TEAL, 60); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 115); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SEA_GREEN, 70); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SEA_GREEN, 70); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CRIMSON, EnumFlowerColor.SLATE_GRAY, 55); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 115); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_SEA_GREEN, 100); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 80); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SEA_GREEN, 85); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.LIGHT_SEA_GREEN, 80); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 105); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 70); + addMix(EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.TEAL, 80); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_PURPLE, 60); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.BLACK, EnumFlowerColor.INDIGO, 85); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.BROWN, EnumFlowerColor.PURPLE, 90); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SLATE_BLUE, 90); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.MEDIUM_VIOLET_RED, 70); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.CORAL, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.CYAN, EnumFlowerColor.STEEL_BLUE, 60); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.MEDIUM_VIOLET_RED, 55); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.MEDIUM_ORCHID, 85); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.MEDIUM_ORCHID, 50); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.PURPLE, 55); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.INDIAN_RED, 60); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.MEDIUM_ORCHID, 75); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_ORCHID, 70); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.INDIGO, 110); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.INDIGO, 100); + addMix(EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.ROYAL_BLUE, 70); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 90); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.BROWN, EnumFlowerColor.CRIMSON, 100); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.INDIAN_RED, 85); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CORAL, EnumFlowerColor.INDIAN_RED, 95); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 105); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_PURPLE, 45); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.INDIAN_RED, 70); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.PALE_VIOLET_RED, 95); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.PALE_VIOLET_RED, 65); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.MEDIUM_VIOLET_RED, 60); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SALMON, 80); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PALE_VIOLET_RED, 95); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.PALE_VIOLET_RED, 55); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_PURPLE, 55); + addMix(EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 100); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_TURQUOISE, 90); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 75); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.STEEL_BLUE, 60); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SKY_BLUE, 105); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.CADET_BLUE, 70); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CORAL, EnumFlowerColor.CADET_BLUE, 70); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.SLATE_BLUE, 60); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.SKY_BLUE, 105); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.MEDIUM_SEA_GREEN, 70); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SKY_BLUE, 105); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.TEAL, 65); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.LIGHT_SEA_GREEN, 75); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CADET_BLUE, 70); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_SEA_GREEN, 70); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CADET_BLUE, 80); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, 85); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 75); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.STEEL_BLUE, 80); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.SKY_BLUE, 110); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.ROYAL_BLUE, 70); + addMix(EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_PURPLE, 55); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 80); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 90); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SLATE_GRAY, 100); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SIENNA, 95); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CORAL, EnumFlowerColor.INDIAN_RED, 90); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 100); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CYAN, EnumFlowerColor.LIGHT_SEA_GREEN, 80); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE, 95); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.GRAY, 105); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 100); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.PERU, 90); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.ROSY_BROWN, 95); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 90); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.PURPLE, 95); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); + addMix(EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.STEEL_BLUE, 90); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.SKY_BLUE, 80); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_BLUE, 75); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 90); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.SLATE_BLUE, 75); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.STEEL_BLUE, 100); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SLATE_GRAY, 75); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.SLATE_BLUE, 75); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DEEP_SKY_BLUE, 85); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CADET_BLUE, 70); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.STEEL_BLUE, 100); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.TEAL, 65); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CADET_BLUE, 65); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.STEEL_BLUE, 70); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.GRAY, 70); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SLATE_GRAY, 80); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, 80); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.ROYAL_BLUE, 90); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.STEEL_BLUE, 90); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DEEP_SKY_BLUE, 95); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 90); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.SLATE_BLUE, 80); + addMix(EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.STEEL_BLUE, 95); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.YELLOW_GREEN, 90); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.BROWN, EnumFlowerColor.PERU, 65); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.ORANGE, 90); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.CORAL, EnumFlowerColor.ORANGE, 90); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.CRIMSON, EnumFlowerColor.CHOCOLATE, 65); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.CYAN, EnumFlowerColor.PALE_GREEN, 80); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 105); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_KHAKI, 95); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 75); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.KHAKI, 110); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.ORANGE, 100); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.GOLDENROD, 90); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 95); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.OLIVE, 65); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.LIME_GREEN, 80); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CORAL, 55); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 65); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.GOLD, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 60); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.YELLOW_GREEN, 85); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 45); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.BROWN, EnumFlowerColor.CHOCOLATE, 80); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_KHAKI, 90); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 105); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_ORANGE, 100); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.CRIMSON, EnumFlowerColor.CHOCOLATE, 80); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 80); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.ORANGE, 115); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_KHAKI, 100); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 80); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_GOLDENROD, 110); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE, 90); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.ORANGE, 110); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SANDY_BROWN, 100); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 95); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.OLIVE, 75); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 50); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.INDIAN_RED, 65); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 70); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GOLDENROD, 90); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CADET_BLUE, 65); + addMix(EnumFlowerColor.GOLDENROD, EnumFlowerColor.GOLD, EnumFlowerColor.ORANGE, 115); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 85); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SLATE_GRAY, 105); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 100); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 95); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 95); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 90); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE, 100); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SLATE_GRAY, 115); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 95); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.PERU, 95); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.ROSY_BROWN, 100); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DIM_GRAY, 100); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 95); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.PURPLE, 90); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 100); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SLATE_GRAY, 120); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 100); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.GRAY, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GOLDENROD, 95); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_GREEN, 85); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 60); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_OLIVE_GREEN, 60); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SEA_GREEN, 95); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.OLIVE, 70); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.OLIVE, 65); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 90); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SEA_GREEN, 90); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 120); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.OLIVE_DRAB, 95); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GREEN, 115); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.OLIVE, 70); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.OLIVE_DRAB, 70); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 100); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, 70); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GREEN, 95); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SEA_GREEN, 70); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GREEN, 100); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.TEAL, 65); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 80); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 85); + addMix(EnumFlowerColor.GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.SEA_GREEN, 100); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.THISTLE, 50); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 80); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 90); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.PLUM, 85); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.INDIAN_RED, 85); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.CORAL, EnumFlowerColor.SALMON, 95); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.CRIMSON, EnumFlowerColor.DEEP_PINK, 100); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.CYAN, EnumFlowerColor.SKY_BLUE, 55); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.SALMON, 70); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.PALE_VIOLET_RED, 100); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.ROSY_BROWN, 70); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.INDIAN_RED, 60); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CORAL, 80); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PALE_VIOLET_RED, 100); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.ROSY_BROWN, 60); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_ORCHID, 85); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 60); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 95); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 115); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 65); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.PALE_VIOLET_RED, 95); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 85); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.GOLD, EnumFlowerColor.SANDY_BROWN, 60); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SALMON, 70); + addMix(EnumFlowerColor.HOT_PINK, EnumFlowerColor.GRAY, EnumFlowerColor.PALE_VIOLET_RED, 100); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_GRAY, 55); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.BLACK, EnumFlowerColor.MAROON, 80); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 80); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.BROWN, EnumFlowerColor.CRIMSON, 110); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.ROSY_BROWN, 80); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.RED, 105); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CORAL, EnumFlowerColor.SALMON, 110); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 115); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CYAN, EnumFlowerColor.CADET_BLUE, 60); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CHOCOLATE, 90); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.ROSY_BROWN, 100); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 60); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.PERU, 85); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SIENNA, 80); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CHOCOLATE, 95); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SALMON, 110); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.PERU, 75); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 65); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 110); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.STEEL_BLUE, 70); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 80); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.GOLD, EnumFlowerColor.ORANGE, 75); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.GOLDENROD, EnumFlowerColor.PERU, 85); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.GRAY, EnumFlowerColor.ROSY_BROWN, 100); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 60); + addMix(EnumFlowerColor.INDIAN_RED, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PALE_VIOLET_RED, 105); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.BLACK, EnumFlowerColor.NAVY, 95); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.BLUE, EnumFlowerColor.NAVY, 110); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.BROWN, EnumFlowerColor.PURPLE, 90); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 80); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.CORAL, EnumFlowerColor.MEDIUM_VIOLET_RED, 65); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.CRIMSON, EnumFlowerColor.PURPLE, 85); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.BROWN, 55); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SLATE_BLUE, 70); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.BROWN, 55); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.MEDIUM_VIOLET_RED, 65); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.NAVY, 115); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 100); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.ROYAL_BLUE, 55); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.PURPLE, 110); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PURPLE, 90); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.ROYAL_BLUE, 60); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 90); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_BLUE, 80); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.GOLDENROD, EnumFlowerColor.BROWN, 45); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 85); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SLATE_GRAY, 65); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.HOT_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); + addMix(EnumFlowerColor.INDIGO, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PURPLE, 85); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_GREEN, 100); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.BROWN, EnumFlowerColor.PERU, 65); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 90); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.GOLDENROD, 85); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.CORAL, EnumFlowerColor.SANDY_BROWN, 90); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.CRIMSON, EnumFlowerColor.SALMON, 65); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.CYAN, EnumFlowerColor.AQUAMARINE, 90); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 100); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_KHAKI, 100); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 75); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.WHEAT, 115); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.GOLDENROD, 95); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.TAN, 95); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 105); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.GRAY, 50); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 65); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 60); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.TURQUOISE, 75); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SKY_BLUE, 60); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW, 115); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.GOLDENROD, EnumFlowerColor.GOLD, 110); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_KHAKI, 90); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.GREEN, EnumFlowerColor.YELLOW_GREEN, 85); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.HOT_PINK, EnumFlowerColor.DARK_SALMON, 65); + addMix(EnumFlowerColor.KHAKI, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.SANDY_BROWN, 75); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 95); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.BLUE, EnumFlowerColor.MEDIUM_PURPLE, 65); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 70); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SKY_BLUE, 95); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_SALMON, 85); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 90); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 80); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.CYAN, EnumFlowerColor.PALE_TURQUOISE, 95); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.TAN, 85); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_GRAY, 110); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 65); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.WHEAT, 90); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GRAY, 75); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 85); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PINK, 95); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.PALE_TURQUOISE, 95); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 70); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 70); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.PALE_TURQUOISE, 95); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 75); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 85); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 95); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, 85); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 95); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 85); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.GOLDENROD, EnumFlowerColor.TAN, 85); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 95); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 95); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 85); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_PURPLE, 55); + addMix(EnumFlowerColor.LAVENDER, EnumFlowerColor.KHAKI, EnumFlowerColor.LEMON_CHIFFON, 90); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_GREEN, 105); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.BLUE, EnumFlowerColor.MEDIUM_PURPLE, 45); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_SALMON, 65); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 90); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SANDY_BROWN, 85); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.CORAL, EnumFlowerColor.SANDY_BROWN, 90); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.CRIMSON, EnumFlowerColor.SALMON, 70); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.CYAN, EnumFlowerColor.AQUAMARINE, 95); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_KHAKI, 95); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_GRAY, 100); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.KHAKI, 110); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.ORANGE, 95); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.TAN, 95); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.KHAKI, 105); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_GRAY, 55); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 65); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.TURQUOISE, 95); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.VIOLET, 50); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 65); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.PALE_TURQUOISE, 80); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, 80); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SKY_BLUE, 70); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 105); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.GOLDENROD, EnumFlowerColor.KHAKI, 100); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 90); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PINK, 75); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SALMON, 80); + addMix(EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.KHAKI, EnumFlowerColor.WHEAT, 115); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 100); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.BLACK, EnumFlowerColor.DIM_GRAY, 45); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 65); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 75); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SKY_BLUE, 100); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SANDY_BROWN, 90); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 95); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 85); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 100); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.TAN, 95); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_STEEL_BLUE, 115); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 75); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.WHEAT, 105); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 95); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.ROSY_BROWN, 100); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.GRAY, 75); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.TURQUOISE, 100); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 75); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 90); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 100); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, 95); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 95); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 95); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 100); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 100); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 95); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 90); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_PURPLE, 55); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.KHAKI, EnumFlowerColor.LEMON_CHIFFON, 105); + addMix(EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.WHEAT, 110); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.TURQUOISE, 105); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_GRAY, 65); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 70); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.DIM_GRAY, 60); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_TURQUOISE, 120); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.OLIVE_DRAB, 75); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 110); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 85); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CADET_BLUE, 105); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 90); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 95); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SEA_GREEN, 95); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.OLIVE_DRAB, 75); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CADET_BLUE, 80); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 110); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 75); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.TEAL, 90); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.TURQUOISE, 120); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 75); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_ORCHID, 65); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 105); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.TEAL, 95); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 95); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 85); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.CADET_BLUE, 100); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 95); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.GRAY, 70); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.INDIGO, EnumFlowerColor.ROYAL_BLUE, 65); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 90); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_TURQUOISE, 95); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_TURQUOISE, 100); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 95); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DIM_GRAY, 55); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 80); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 75); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SKY_BLUE, 105); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_SALMON, 85); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CORAL, EnumFlowerColor.ROSY_BROWN, 90); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 80); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 100); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_GRAY, 115); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 70); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 90); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CADET_BLUE, 80); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.TAN, 85); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.ROSY_BROWN, 95); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 80); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.SLATE_GRAY, 80); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.SKY_BLUE, 105); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_PURPLE, 85); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 85); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 110); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SLATE_GRAY, 95); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 105); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 80); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 105); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 75); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 90); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 85); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.INDIGO, EnumFlowerColor.SLATE_BLUE, 65); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.KHAKI, EnumFlowerColor.LEMON_CHIFFON, 85); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_GRAY, 115); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.LIGHT_GRAY, 95); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LAVENDER, 115); + addMix(EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, 100); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.SPRING_GREEN, 105); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIME_GREEN, 85); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.YELLOW_GREEN, 60); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.CORAL, EnumFlowerColor.YELLOW_GREEN, 55); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.CYAN, EnumFlowerColor.SPRING_GREEN, 90); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.LIME_GREEN, 80); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIME_GREEN, 90); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.LIME_GREEN, 80); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.LIME_GREEN, 100); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.LIME_GREEN, 85); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.YELLOW_GREEN, 65); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.LIME_GREEN, 65); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.LIME_GREEN, 105); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, 50); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 65); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.SPRING_GREEN, 90); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SPRING_GREEN, 65); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.LIME_GREEN, 80); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, 55); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 95); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.GOLDENROD, EnumFlowerColor.LIME_GREEN, 85); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.GRAY, EnumFlowerColor.LIME_GREEN, 85); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.GREEN, EnumFlowerColor.LIME_GREEN, 90); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.LIME_GREEN, 45); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.KHAKI, EnumFlowerColor.PALE_GREEN, 100); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.LAVENDER, EnumFlowerColor.PALE_GREEN, 85); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PALE_GREEN, 100); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.SPRING_GREEN, 95); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.LIME_GREEN, 90); + addMix(EnumFlowerColor.LIME, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.SPRING_GREEN, 80); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.SPRING_GREEN, 105); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_GREEN, 55); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.STEEL_BLUE, 50); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_OLIVE_GREEN, 45); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.OLIVE_DRAB, 65); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_KHAKI, 60); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.SPRING_GREEN, 90); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 90); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.GREEN, 90); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.YELLOW_GREEN, 105); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE_DRAB, 95); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.YELLOW_GREEN, 70); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.YELLOW_GREEN, 70); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 110); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.SEA_GREEN, 55); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.SEA_GREEN, 75); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DIM_GRAY, 55); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 70); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SEA_GREEN, 85); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 65); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 95); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.YELLOW_GREEN, 90); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 90); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 105); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.OLIVE_DRAB, 55); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_GRAY, 50); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.YELLOW_GREEN, 100); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PALE_GREEN, 100); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 95); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 100); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIME, EnumFlowerColor.SPRING_GREEN, 115); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.VIOLET, 70); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.BLACK, EnumFlowerColor.PURPLE, 70); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 95); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.BROWN, EnumFlowerColor.MEDIUM_VIOLET_RED, 85); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_ORCHID, 95); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DEEP_PINK, 75); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.CORAL, EnumFlowerColor.DEEP_PINK, 80); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.CRIMSON, EnumFlowerColor.DEEP_PINK, 90); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_PURPLE, 65); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DEEP_PINK, 60); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.MEDIUM_ORCHID, 95); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.HOT_PINK, 55); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.MEDIUM_VIOLET_RED, 50); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DEEP_PINK, 65); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.HOT_PINK, 85); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_ORCHID, 50); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_VIOLET, 90); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_VIOLET, 90); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_PURPLE, 75); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 105); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 110); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 70); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.MEDIUM_ORCHID, 90); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_BLUE, 85); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DEEP_PINK, 55); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.GRAY, EnumFlowerColor.MEDIUM_ORCHID, 95); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.HOT_PINK, EnumFlowerColor.VIOLET, 110); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DEEP_PINK, 95); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_VIOLET, 90); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.KHAKI, EnumFlowerColor.HOT_PINK, 50); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.LAVENDER, EnumFlowerColor.VIOLET, 90); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.VIOLET, 60); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.VIOLET, 90); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_PURPLE, 80); + addMix(EnumFlowerColor.MAGENTA, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.MEDIUM_ORCHID, 95); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.BLUE, EnumFlowerColor.INDIGO, 80); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SIENNA, 95); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.CORAL, EnumFlowerColor.SIENNA, 85); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 105); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.SIENNA, 85); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.BROWN, 75); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.SIENNA, 65); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SIENNA, 80); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.BROWN, 80); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.SIENNA, 55); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SLATE_GRAY, 50); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.PURPLE, 85); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CRIMSON, 90); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.ROYAL_BLUE, 50); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.BROWN, 95); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 70); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.GOLD, EnumFlowerColor.CHOCOLATE, 55); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.GOLDENROD, EnumFlowerColor.SIENNA, 70); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.GRAY, EnumFlowerColor.BROWN, 90); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE, 60); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.HOT_PINK, EnumFlowerColor.CRIMSON, 80); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.BROWN, 100); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.INDIGO, EnumFlowerColor.PURPLE, 90); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.KHAKI, EnumFlowerColor.CHOCOLATE, 55); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.LAVENDER, EnumFlowerColor.ROSY_BROWN, 60); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SALMON, 55); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.INDIAN_RED, 65); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DIM_GRAY, 60); + addMix(EnumFlowerColor.MAROON, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.TURQUOISE, 115); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_GRAY, 55); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 60); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.BROWN, EnumFlowerColor.GRAY, 55); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 110); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CORAL, EnumFlowerColor.TAN, 70); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CRIMSON, EnumFlowerColor.ROSY_BROWN, 55); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 110); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 100); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 85); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 105); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SEA_GREEN, 90); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix( + EnumFlowerColor.MEDIUM_AQUAMARINE, + EnumFlowerColor.DARK_SEA_GREEN, + EnumFlowerColor.MEDIUM_SEA_GREEN, + 115); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.SLATE_GRAY, 65); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.TEAL, 80); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.TURQUOISE, 115); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 70); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 45); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_TURQUOISE, 95); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CADET_BLUE, 90); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 85); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 90); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 90); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.GRAY, EnumFlowerColor.CADET_BLUE, 95); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.THISTLE, 55); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_GRAY, 65); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.INDIGO, EnumFlowerColor.SLATE_BLUE, 55); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 100); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LAVENDER, EnumFlowerColor.PALE_TURQUOISE, 95); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SEA_GREEN, 100); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PALE_TURQUOISE, 100); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.TURQUOISE, 115); + addMix( + EnumFlowerColor.MEDIUM_AQUAMARINE, + EnumFlowerColor.LIGHT_STEEL_BLUE, + EnumFlowerColor.PALE_TURQUOISE, + 100); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 100); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 110); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 75); + addMix(EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.MAROON, EnumFlowerColor.DIM_GRAY, 50); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.LIGHT_STEEL_BLUE, 70); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.BLACK, EnumFlowerColor.PURPLE, 75); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 100); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.BROWN, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 95); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PALE_VIOLET_RED, 80); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.CORAL, EnumFlowerColor.PALE_VIOLET_RED, 85); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.CYAN, EnumFlowerColor.DODGER_BLUE, 70); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.INDIAN_RED, 65); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.PLUM, 95); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.ROSY_BROWN, 60); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.INDIAN_RED, 70); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PALE_VIOLET_RED, 85); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.PLUM, 55); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.SLATE_BLUE, 100); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 95); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 75); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 110); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 75); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.MEDIUM_PURPLE, 95); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.ROYAL_BLUE, 95); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.GOLD, EnumFlowerColor.SANDY_BROWN, 50); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.GOLDENROD, EnumFlowerColor.ROSY_BROWN, 60); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.GRAY, EnumFlowerColor.MEDIUM_PURPLE, 100); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.HOT_PINK, EnumFlowerColor.VIOLET, 110); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_VIOLET, 100); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.KHAKI, EnumFlowerColor.ROSY_BROWN, 55); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.LAVENDER, EnumFlowerColor.PLUM, 90); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PLUM, 65); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PLUM, 90); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 80); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.PLUM, 95); + addMix(EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MAROON, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.SKY_BLUE, 75); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_BLUE, 75); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 100); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.BROWN, EnumFlowerColor.MEDIUM_VIOLET_RED, 85); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SLATE_GRAY, 95); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PALE_VIOLET_RED, 80); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.CORAL, EnumFlowerColor.PALE_VIOLET_RED, 80); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.CYAN, EnumFlowerColor.DEEP_SKY_BLUE, 75); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.ROSY_BROWN, 65); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, 70); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.ROSY_BROWN, 65); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DIM_GRAY, 65); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_SALMON, 70); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PALE_VIOLET_RED, 85); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.SLATE_GRAY, 80); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.SLATE_BLUE, 105); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.SLATE_BLUE, 95); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 85); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 110); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_ORCHID, 100); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 90); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SLATE_BLUE, 100); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.ROYAL_BLUE, 105); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.GOLD, EnumFlowerColor.TAN, 55); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.ROSY_BROWN, 65); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.GREEN, EnumFlowerColor.TEAL, 70); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.MEDIUM_ORCHID, 105); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PALE_VIOLET_RED, 95); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_VIOLET, 95); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.KHAKI, EnumFlowerColor.THISTLE, 60); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LAVENDER, EnumFlowerColor.PLUM, 95); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.THISTLE, 65); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PLUM, 90); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 85); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIME, EnumFlowerColor.MEDIUM_SEA_GREEN, 60); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.CADET_BLUE, 65); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 110); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MAROON, EnumFlowerColor.PURPLE, 80); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DODGER_BLUE, 80); + addMix(EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.SLATE_BLUE, 115); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 105); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_GREEN, 65); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 60); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_OLIVE_GREEN, 55); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 105); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.OLIVE_DRAB, 70); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_KHAKI, 65); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CRIMSON, EnumFlowerColor.SIENNA, 50); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 100); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 90); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 100); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 95); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 105); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SEA_GREEN, 100); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix( + EnumFlowerColor.MEDIUM_SEA_GREEN, + EnumFlowerColor.DARK_SEA_GREEN, + EnumFlowerColor.MEDIUM_AQUAMARINE, + 115); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.TEAL, 70); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.SEA_GREEN, 85); + addMix( + EnumFlowerColor.MEDIUM_SEA_GREEN, + EnumFlowerColor.DARK_TURQUOISE, + EnumFlowerColor.MEDIUM_AQUAMARINE, + 105); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 65); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 85); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SEA_GREEN, 95); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CADET_BLUE, 75); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 90); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.YELLOW_GREEN, 90); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.SEA_GREEN, 100); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 105); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.HOT_PINK, EnumFlowerColor.GRAY, 45); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 60); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 95); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SEA_GREEN, 95); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix( + EnumFlowerColor.MEDIUM_SEA_GREEN, + EnumFlowerColor.LIGHT_SEA_GREEN, + EnumFlowerColor.MEDIUM_AQUAMARINE, + 110); + addMix( + EnumFlowerColor.MEDIUM_SEA_GREEN, + EnumFlowerColor.LIGHT_STEEL_BLUE, + EnumFlowerColor.MEDIUM_AQUAMARINE, + 90); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 105); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 70); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MAROON, EnumFlowerColor.DARK_OLIVE_GREEN, 50); + addMix( + EnumFlowerColor.MEDIUM_SEA_GREEN, + EnumFlowerColor.MEDIUM_AQUAMARINE, + EnumFlowerColor.DARK_SEA_GREEN, + 115); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.SLATE_GRAY, 75); + addMix(EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.SLATE_GRAY, 75); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.BLACK, EnumFlowerColor.PURPLE, 85); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 95); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.CRIMSON, 85); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.CORAL, EnumFlowerColor.INDIAN_RED, 85); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.CRIMSON, EnumFlowerColor.DEEP_PINK, 105); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.CYAN, EnumFlowerColor.STEEL_BLUE, 45); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.INDIAN_RED, 70); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.PALE_VIOLET_RED, 90); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.PALE_VIOLET_RED, 60); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.INDIAN_RED, 70); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PALE_VIOLET_RED, 90); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.PALE_VIOLET_RED, 55); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.PURPLE, 100); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.PURPLE, 100); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.ROYAL_BLUE, 55); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.PURPLE, 110); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SLATE_BLUE, 60); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.PURPLE, 100); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_BLUE, 80); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.GOLD, EnumFlowerColor.CORAL, 50); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.GOLDENROD, EnumFlowerColor.INDIAN_RED, 60); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.HOT_PINK, EnumFlowerColor.DEEP_PINK, 105); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DEEP_PINK, 105); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.INDIGO, EnumFlowerColor.PURPLE, 100); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.KHAKI, EnumFlowerColor.PALE_VIOLET_RED, 55); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.LAVENDER, EnumFlowerColor.VIOLET, 80); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PALE_VIOLET_RED, 60); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PALE_VIOLET_RED, 85); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.SLATE_BLUE, 65); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.MEDIUM_ORCHID, 80); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 105); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MAROON, EnumFlowerColor.BROWN, 95); + addMix(EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MEDIUM_ORCHID, 105); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 90); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.BLUE, EnumFlowerColor.MEDIUM_PURPLE, 65); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 75); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_GRAY, 85); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_SALMON, 90); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 100); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 85); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.CYAN, EnumFlowerColor.PALE_TURQUOISE, 90); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.TAN, 90); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_GRAY, 105); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 65); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.WHEAT, 100); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 95); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PINK, 105); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.LEMON_CHIFFON, 90); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.PLUM, 65); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 65); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.PALE_TURQUOISE, 90); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.VIOLET, 70); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 90); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 90); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, 85); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 95); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.TAN, 95); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 95); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, 70); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PINK, 95); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 90); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_ORCHID, 50); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.KHAKI, EnumFlowerColor.WHEAT, 100); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.WHEAT, 105); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.PALE_TURQUOISE, 85); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LAVENDER, 105); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIME, EnumFlowerColor.PALE_GREEN, 80); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.PALE_GREEN, 80); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 85); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MAROON, EnumFlowerColor.INDIAN_RED, 60); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 90); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PLUM, 85); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PLUM, 85); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.HOT_PINK, 80); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.BLUE, EnumFlowerColor.INDIGO, 110); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.BROWN, EnumFlowerColor.PURPLE, 85); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 75); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.CORAL, EnumFlowerColor.PURPLE, 60); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.CRIMSON, EnumFlowerColor.PURPLE, 80); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 65); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, 65); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, 55); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.BROWN, 50); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.ROYAL_BLUE, 55); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.INDIGO, 110); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 95); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.STEEL_BLUE, 55); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.INDIGO, 105); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PURPLE, 80); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.ROYAL_BLUE, 60); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 90); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 80); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 80); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.GREEN, EnumFlowerColor.TEAL, 60); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PURPLE, 75); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PURPLE, 80); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.SLATE_BLUE, 50); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.ROYAL_BLUE, 65); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.SLATE_BLUE, 60); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_VIOLET, 85); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.MAROON, EnumFlowerColor.PURPLE, 85); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.ROYAL_BLUE, 50); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_SLATE_BLUE, 90); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, 90); + addMix(EnumFlowerColor.NAVY, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.INDIGO, 95); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 45); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 80); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.OLIVE_DRAB, 95); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_GOLDENROD, 95); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.CORAL, EnumFlowerColor.PERU, 85); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.CRIMSON, EnumFlowerColor.SIENNA, 75); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.OLIVE_DRAB, 95); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.GREEN, 105); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.OLIVE_DRAB, 110); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE_DRAB, 110); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GOLDENROD, 95); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_GOLDENROD, 90); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.OLIVE_DRAB, 100); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DIM_GRAY, 60); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_OLIVE_GREEN, 90); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 50); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.INDIAN_RED, 60); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, 70); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_OLIVE_GREEN, 100); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.TEAL, 60); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 95); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GOLDENROD, 105); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.GRAY, EnumFlowerColor.OLIVE_DRAB, 100); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 110); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.INDIAN_RED, 60); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PERU, 80); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_KHAKI, 95); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_KHAKI, 90); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_KHAKI, 90); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.SEA_GREEN, 90); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 90); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.OLIVE_DRAB, 100); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_VIOLET_RED, 45); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MAROON, EnumFlowerColor.SIENNA, 80); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.OLIVE_DRAB, 95); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.INDIAN_RED, 55); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.GRAY, 60); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.OLIVE_DRAB, 100); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.BROWN, 60); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.OLIVE, EnumFlowerColor.NAVY, EnumFlowerColor.GRAY, 50); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 90); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_OLIVE_GREEN, 75); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 70); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SEA_GREEN, 95); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_GOLDENROD, 85); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_GOLDENROD, 75); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.CRIMSON, EnumFlowerColor.SIENNA, 65); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 85); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE, 100); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 100); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.GREEN, 105); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.OLIVE, 110); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE, 115); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GOLDENROD, 85); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_GOLDENROD, 85); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 110); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DIM_GRAY, 55); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_OLIVE_GREEN, 90); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 90); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.INDIAN_RED, 50); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 70); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_OLIVE_GREEN, 100); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.CADET_BLUE, 65); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, 95); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.GOLDENROD, EnumFlowerColor.OLIVE, 100); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_OLIVE_GREEN, 100); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 115); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.HOT_PINK, EnumFlowerColor.ROSY_BROWN, 55); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_GOLDENROD, 70); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_KHAKI, 100); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_KHAKI, 90); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 90); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 95); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 105); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MAROON, EnumFlowerColor.SIENNA, 70); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.MEDIUM_SEA_GREEN, 100); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.ROSY_BROWN, 50); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.GRAY, 55); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.SEA_GREEN, 110); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.BROWN, 50); + addMix(EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.YELLOW_GREEN, 80); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.BLUE, EnumFlowerColor.PLUM, 45); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.BROWN, EnumFlowerColor.CHOCOLATE, 80); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_ORANGE, 105); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_ORANGE, 105); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.CRIMSON, EnumFlowerColor.CHOCOLATE, 80); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 110); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.GOLDENROD, 95); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE, 70); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.GOLDENROD, 105); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GOLDENROD, 85); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 120); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SANDY_BROWN, 105); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 90); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.PERU, 55); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GOLDENROD, 70); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.INDIAN_RED, 55); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.SALMON, 70); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 70); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GOLDENROD, 85); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 65); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 110); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GOLDENROD, 120); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GOLDENROD, 90); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 75); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.CORAL, 75); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PERU, 90); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.KHAKI, EnumFlowerColor.GOLD, 105); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LAVENDER, EnumFlowerColor.TAN, 85); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.GOLD, 100); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.GOLDENROD, 95); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.TAN, 85); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LIME, EnumFlowerColor.YELLOW_GREEN, 75); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.YELLOW_GREEN, 80); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MAGENTA, EnumFlowerColor.PALE_VIOLET_RED, 60); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MAROON, EnumFlowerColor.CHOCOLATE, 70); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.SALMON, 65); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_SALMON, 65); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.RED, 65); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.SANDY_BROWN, 95); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GOLDENROD, 95); + addMix(EnumFlowerColor.ORANGE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.GOLDENROD, 90); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.SPRING_GREEN, 115); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.STEEL_BLUE, 50); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_KHAKI, 45); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_KHAKI, 65); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_KHAKI, 65); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.AQUAMARINE, 100); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.YELLOW_GREEN, 85); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 95); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.YELLOW_GREEN, 105); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 110); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.CADET_BLUE, 55); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 70); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_PURPLE, 55); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.TURQUOISE, 75); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_TURQUOISE, 65); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 95); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.YELLOW_GREEN, 90); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_SEA_GREEN, 90); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.LIME_GREEN, 90); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_KHAKI, 55); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.YELLOW_GREEN, 105); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.AQUAMARINE, 90); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 100); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 100); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIME, EnumFlowerColor.SPRING_GREEN, 115); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.SPRING_GREEN, 115); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.AQUAMARINE, 110); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_GRAY, 65); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.CADET_BLUE, 65); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LIME_GREEN, 110); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LEMON_CHIFFON, 90); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.OLIVE, EnumFlowerColor.YELLOW_GREEN, 90); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIME_GREEN, 95); + addMix(EnumFlowerColor.PALE_GREEN, EnumFlowerColor.ORANGE, EnumFlowerColor.KHAKI, 80); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.TURQUOISE, 110); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 65); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 60); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_TURQUOISE, 105); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.TAN, 75); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.CORAL, EnumFlowerColor.TAN, 80); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 65); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 115); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SKY_BLUE, 105); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 75); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 95); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.LIGHT_GRAY, 85); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 105); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 65); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CADET_BLUE, 75); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.TURQUOISE, 115); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_PURPLE, 75); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PLUM, 75); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 105); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CADET_BLUE, 85); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 90); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 90); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.GRAY, EnumFlowerColor.CADET_BLUE, 95); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 80); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 70); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_PURPLE, 50); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.KHAKI, EnumFlowerColor.LEMON_CHIFFON, 95); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LAVENDER, EnumFlowerColor.SKY_BLUE, 105); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.SKY_BLUE, 110); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, 110); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.SKY_BLUE, 110); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIME, EnumFlowerColor.SPRING_GREEN, 95); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.PALE_GREEN, 95); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 85); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MAROON, EnumFlowerColor.ROSY_BROWN, 50); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.TURQUOISE, 110); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PLUM, 85); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); + addMix( + EnumFlowerColor.PALE_TURQUOISE, + EnumFlowerColor.MEDIUM_SEA_GREEN, + EnumFlowerColor.MEDIUM_AQUAMARINE, + 100); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.PLUM, 70); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_GRAY, 95); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.AQUAMARINE, 100); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_GRAY, 55); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 85); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 100); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.ROSY_BROWN, 80); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.INDIAN_RED, 95); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.CORAL, EnumFlowerColor.SALMON, 100); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 105); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.CYAN, EnumFlowerColor.SKY_BLUE, 50); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CHOCOLATE, 80); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.ROSY_BROWN, 100); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 55); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SALMON, 75); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SIENNA, 70); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CORAL, 85); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SALMON, 105); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.ROSY_BROWN, 70); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 60); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 95); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 115); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 70); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 85); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.GOLD, EnumFlowerColor.SANDY_BROWN, 65); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.GOLDENROD, EnumFlowerColor.PERU, 80); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.GRAY, EnumFlowerColor.ROSY_BROWN, 100); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 55); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.HOT_PINK, EnumFlowerColor.DEEP_PINK, 120); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.INDIGO, EnumFlowerColor.PURPLE, 85); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SALMON, 70); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.LAVENDER, EnumFlowerColor.THISTLE, 95); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PINK, 80); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PINK, 95); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.SLATE_GRAY, 65); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.PLUM, 90); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 50); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 105); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MAROON, EnumFlowerColor.BROWN, 90); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_GRAY, 60); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.HOT_PINK, 105); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MEDIUM_ORCHID, 100); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.GRAY, 55); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DEEP_PINK, 110); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PINK, 95); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.NAVY, EnumFlowerColor.PURPLE, 80); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.OLIVE, EnumFlowerColor.PERU, 70); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.PERU, 65); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.ORANGE, EnumFlowerColor.SANDY_BROWN, 80); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_KHAKI, 55); + addMix(EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.THISTLE, 80); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 60); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.BROWN, EnumFlowerColor.SIENNA, 95); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_ORANGE, 120); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.CORAL, EnumFlowerColor.CHOCOLATE, 115); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 95); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 75); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 115); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.TAN, 100); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 80); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.GOLDENROD, 105); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE, 90); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 115); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SANDY_BROWN, 115); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 90); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 65); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.INDIAN_RED, 85); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 75); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_GRAY, 75); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 100); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GOLDENROD, 110); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 80); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.HOT_PINK, EnumFlowerColor.SALMON, 85); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CHOCOLATE, 100); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_VIOLET_RED, 65); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.KHAKI, EnumFlowerColor.GOLDENROD, 95); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.LAVENDER, EnumFlowerColor.TAN, 90); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.TAN, 95); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.TAN, 95); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.TAN, 90); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 75); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.OLIVE_DRAB, 80); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.MAGENTA, EnumFlowerColor.DEEP_PINK, 70); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.MAROON, EnumFlowerColor.SIENNA, 90); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PALE_VIOLET_RED, 75); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PALE_VIOLET_RED, 75); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.OLIVE_DRAB, 80); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.INDIAN_RED, 80); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.TAN, 95); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GOLDENROD, 100); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.OLIVE, 95); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_ORANGE, 115); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.PERU, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.SALMON, 90); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 75); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 70); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 85); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_GRAY, 80); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_SALMON, 90); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 100); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 90); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.CYAN, EnumFlowerColor.PALE_TURQUOISE, 60); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.SANDY_BROWN, 85); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.THISTLE, 105); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 60); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.TAN, 90); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.TAN, 70); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 95); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SALMON, 110); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.TAN, 80); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.GRAY, 65); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.SKY_BLUE, 65); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 80); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 100); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 80); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.ROSY_BROWN, 90); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 80); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.GOLDENROD, EnumFlowerColor.SANDY_BROWN, 90); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.GRAY, EnumFlowerColor.ROSY_BROWN, 95); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, 60); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PALE_VIOLET_RED, 105); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.SALMON, 100); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_ORCHID, 60); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.KHAKI, EnumFlowerColor.WHEAT, 90); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.LAVENDER, EnumFlowerColor.THISTLE, 105); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.MISTY_ROSE, 95); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.MISTY_ROSE, 105); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 70); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.THISTLE, 100); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 60); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 65); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 95); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.MAROON, EnumFlowerColor.INDIAN_RED, 65); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIGHT_GRAY, 75); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PLUM, 95); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PLUM, 95); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 70); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.HOT_PINK, 90); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.THISTLE, 115); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.NAVY, EnumFlowerColor.SLATE_BLUE, 50); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.OLIVE, EnumFlowerColor.TAN, 75); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.ORANGE, EnumFlowerColor.SANDY_BROWN, 90); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LEMON_CHIFFON, 70); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_GRAY, 80); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.HOT_PINK, 105); + addMix(EnumFlowerColor.PINK, EnumFlowerColor.PERU, EnumFlowerColor.DARK_SALMON, 95); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.SKY_BLUE, 80); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 80); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.BROWN, EnumFlowerColor.PALE_VIOLET_RED, 85); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SALMON, 85); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.CORAL, EnumFlowerColor.SALMON, 90); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 90); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.CYAN, EnumFlowerColor.SKY_BLUE, 75); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_SALMON, 75); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.THISTLE, 105); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.ROSY_BROWN, 75); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.ROSY_BROWN, 65); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_SALMON, 80); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PINK, 95); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_GRAY, 70); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 80); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.SKY_BLUE, 80); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 90); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 105); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 80); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.GOLD, EnumFlowerColor.TAN, 65); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SALMON, 75); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.GRAY, EnumFlowerColor.ROSY_BROWN, 100); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 50); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.HOT_PINK, EnumFlowerColor.VIOLET, 115); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PALE_VIOLET_RED, 95); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_ORCHID, 70); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.KHAKI, EnumFlowerColor.MISTY_ROSE, 70); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LAVENDER, EnumFlowerColor.THISTLE, 105); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.MISTY_ROSE, 80); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.THISTLE, 100); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.SKY_BLUE, 80); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.THISTLE, 105); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 45); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 50); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 105); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MAROON, EnumFlowerColor.MEDIUM_VIOLET_RED, 70); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.VIOLET, 105); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.VIOLET, 105); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 80); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MEDIUM_ORCHID, 100); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.THISTLE, 105); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.NAVY, EnumFlowerColor.SLATE_BLUE, 65); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.OLIVE, EnumFlowerColor.TAN, 65); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.TAN, 60); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.ORANGE, EnumFlowerColor.SANDY_BROWN, 75); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 55); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LAVENDER, 90); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.HOT_PINK, 110); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.PERU, EnumFlowerColor.ROSY_BROWN, 85); + addMix(EnumFlowerColor.PLUM, EnumFlowerColor.PINK, EnumFlowerColor.THISTLE, 110); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_PURPLE, 50); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.BLACK, EnumFlowerColor.INDIGO, 95); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.BLUE, EnumFlowerColor.INDIGO, 105); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.BROWN, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 80); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.BROWN, 75); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.CORAL, EnumFlowerColor.MEDIUM_VIOLET_RED, 70); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.CYAN, EnumFlowerColor.STEEL_BLUE, 50); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.BROWN, 60); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CRIMSON, 60); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.INDIGO, 110); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.INDIGO, 105); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.ROYAL_BLUE, 60); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.INDIGO, 115); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 100); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.ROYAL_BLUE, 60); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_BLUE, 80); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.INDIAN_RED, 50); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.LAVENDER, EnumFlowerColor.MEDIUM_ORCHID, 65); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PALE_VIOLET_RED, 50); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.MEDIUM_ORCHID, 70); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, 65); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.MEDIUM_ORCHID, 70); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_VIOLET, 95); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.SLATE_BLUE, 60); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DARK_VIOLET, 105); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_VIOLET, 100); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PALE_VIOLET_RED, 65); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.NAVY, EnumFlowerColor.INDIGO, 110); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.OLIVE, EnumFlowerColor.BROWN, 55); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.ORANGE, EnumFlowerColor.INDIAN_RED, 50); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MEDIUM_PURPLE, 65); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_VIOLET_RED, 95); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.PERU, EnumFlowerColor.MEDIUM_VIOLET_RED, 70); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_ORCHID, 70); + addMix(EnumFlowerColor.PURPLE, EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_ORCHID, 80); + addMix(EnumFlowerColor.RED, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SALMON, 50); + addMix(EnumFlowerColor.RED, EnumFlowerColor.BLACK, EnumFlowerColor.MAROON, 75); + addMix(EnumFlowerColor.RED, EnumFlowerColor.BLUE, EnumFlowerColor.MAGENTA, 70); + addMix(EnumFlowerColor.RED, EnumFlowerColor.BROWN, EnumFlowerColor.CRIMSON, 110); + addMix(EnumFlowerColor.RED, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.INDIAN_RED, 75); + addMix(EnumFlowerColor.RED, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 115); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.CHOCOLATE, 90); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.INDIAN_RED, 90); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.MAROON, 55); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CHOCOLATE, 80); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.BROWN, 70); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CORAL, 100); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.INDIAN_RED, 105); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.INDIAN_RED, 65); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.BROWN, 80); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.BROWN, 75); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DIM_GRAY, 60); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CRIMSON, 95); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.PLUM, 60); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.BROWN, 95); + addMix(EnumFlowerColor.RED, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); + addMix(EnumFlowerColor.RED, EnumFlowerColor.GOLD, EnumFlowerColor.CHOCOLATE, 75); + addMix(EnumFlowerColor.RED, EnumFlowerColor.GOLDENROD, EnumFlowerColor.CHOCOLATE, 85); + addMix(EnumFlowerColor.RED, EnumFlowerColor.GRAY, EnumFlowerColor.CRIMSON, 95); + addMix(EnumFlowerColor.RED, EnumFlowerColor.GREEN, EnumFlowerColor.SIENNA, 50); + addMix(EnumFlowerColor.RED, EnumFlowerColor.HOT_PINK, EnumFlowerColor.INDIAN_RED, 95); + addMix(EnumFlowerColor.RED, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CRIMSON, 110); + addMix(EnumFlowerColor.RED, EnumFlowerColor.INDIGO, EnumFlowerColor.BROWN, 75); + addMix(EnumFlowerColor.RED, EnumFlowerColor.KHAKI, EnumFlowerColor.CORAL, 75); + addMix(EnumFlowerColor.RED, EnumFlowerColor.LAVENDER, EnumFlowerColor.SALMON, 80); + addMix(EnumFlowerColor.RED, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.SALMON, 75); + addMix(EnumFlowerColor.RED, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.INDIAN_RED, 85); + addMix(EnumFlowerColor.RED, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.SIENNA, 60); + addMix(EnumFlowerColor.RED, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.INDIAN_RED, 80); + addMix(EnumFlowerColor.RED, EnumFlowerColor.MAGENTA, EnumFlowerColor.DEEP_PINK, 85); + addMix(EnumFlowerColor.RED, EnumFlowerColor.MAROON, EnumFlowerColor.BROWN, 100); + addMix(EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.INDIAN_RED, 60); + addMix(EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DEEP_PINK, 85); + addMix(EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); + addMix(EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.SIENNA, 55); + addMix(EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.CRIMSON, 95); + addMix(EnumFlowerColor.RED, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.SALMON, 85); + addMix(EnumFlowerColor.RED, EnumFlowerColor.OLIVE, EnumFlowerColor.SIENNA, 75); + addMix(EnumFlowerColor.RED, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.SIENNA, 65); + addMix(EnumFlowerColor.RED, EnumFlowerColor.ORANGE, EnumFlowerColor.CORAL, 90); + addMix(EnumFlowerColor.RED, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.PERU, 50); + addMix(EnumFlowerColor.RED, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.INDIAN_RED, 65); + addMix(EnumFlowerColor.RED, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.CRIMSON, 100); + addMix(EnumFlowerColor.RED, EnumFlowerColor.PERU, EnumFlowerColor.CHOCOLATE, 105); + addMix(EnumFlowerColor.RED, EnumFlowerColor.PINK, EnumFlowerColor.SALMON, 90); + addMix(EnumFlowerColor.RED, EnumFlowerColor.PLUM, EnumFlowerColor.INDIAN_RED, 85); + addMix(EnumFlowerColor.RED, EnumFlowerColor.PURPLE, EnumFlowerColor.CRIMSON, 80); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 80); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 95); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_GRAY, 90); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 105); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 105); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 100); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 75); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.PERU, 95); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 75); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.TAN, 95); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.PERU, 100); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SALMON, 115); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_GRAY, 85); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DIM_GRAY, 80); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 80); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 85); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 105); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 85); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.GRAY, 100); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 90); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 85); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.PERU, 95); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 75); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PALE_VIOLET_RED, 105); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PALE_VIOLET_RED, 110); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.INDIGO, EnumFlowerColor.PURPLE, 80); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.KHAKI, EnumFlowerColor.TAN, 90); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LAVENDER, EnumFlowerColor.THISTLE, 100); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.TAN, 90); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_GRAY, 105); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 85); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.THISTLE, 100); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 65); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 95); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MAROON, EnumFlowerColor.BROWN, 85); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PALE_VIOLET_RED, 100); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PLUM, 100); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DEEP_PINK, 100); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PINK, 105); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 75); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GOLDENROD, 90); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.OLIVE, 85); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.ORANGE, EnumFlowerColor.SANDY_BROWN, 95); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_GRAY, 85); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.HOT_PINK, 115); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PERU, EnumFlowerColor.DARK_SALMON, 105); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PINK, EnumFlowerColor.THISTLE, 110); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PLUM, EnumFlowerColor.THISTLE, 105); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_VIOLET_RED, 85); + addMix(EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.RED, EnumFlowerColor.INDIAN_RED, 100); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DEEP_SKY_BLUE, 70); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_BLUE, 80); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 105); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_SLATE_BLUE, 85); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.STEEL_BLUE, 95); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PURPLE, 85); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DEEP_SKY_BLUE, 75); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GRAY, 65); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.STEEL_BLUE, 95); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, 70); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.SLATE_GRAY, 60); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.STEEL_BLUE, 70); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.ROSY_BROWN, 65); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.MEDIUM_PURPLE, 80); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 75); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.SLATE_BLUE, 110); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.SLATE_BLUE, 95); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 85); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.BLUE, 105); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.DARK_VIOLET, 90); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 95); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SLATE_BLUE, 100); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 110); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, 50); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.GRAY, 60); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.GRAY, EnumFlowerColor.STEEL_BLUE, 100); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.GREEN, EnumFlowerColor.TEAL, 65); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.MEDIUM_PURPLE, 90); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.MEDIUM_PURPLE, 85); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 100); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_GRAY, 55); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.LIGHT_STEEL_BLUE, 65); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 85); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DODGER_BLUE, 100); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIME, EnumFlowerColor.MEDIUM_SEA_GREEN, 55); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, 60); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_VIOLET, 95); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MAROON, EnumFlowerColor.PURPLE, 80); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DODGER_BLUE, 80); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.SLATE_BLUE, 105); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.SLATE_BLUE, 115); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 75); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_VIOLET, 95); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_STEEL_BLUE, 80); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 95); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.OLIVE, EnumFlowerColor.DIM_GRAY, 60); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.SLATE_GRAY, 65); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.CADET_BLUE, 60); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 80); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_PURPLE, 90); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_PURPLE, 85); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_PURPLE, 95); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, 95); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); + addMix(EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_PURPLE, 90); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_KHAKI, 60); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.BLACK, EnumFlowerColor.BROWN, 65); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 70); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 95); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.ROSY_BROWN, 80); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.CORAL, 110); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 120); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 105); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.CYAN, EnumFlowerColor.LIGHT_SEA_GREEN, 65); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.PERU, 95); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.ROSY_BROWN, 100); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE, 60); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.SANDY_BROWN, 90); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.PERU, 75); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CORAL, 105); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CORAL, 120); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.TAN, 75); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 70); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 105); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SLATE_GRAY, 70); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.INDIAN_RED, 95); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 80); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.GOLD, EnumFlowerColor.ORANGE, 80); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.GOLDENROD, EnumFlowerColor.SANDY_BROWN, 95); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.GRAY, EnumFlowerColor.ROSY_BROWN, 100); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE, 60); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PALE_VIOLET_RED, 105); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SALMON, 115); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_VIOLET_RED, 70); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.KHAKI, EnumFlowerColor.SANDY_BROWN, 85); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LAVENDER, EnumFlowerColor.PINK, 95); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SALMON, 85); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SALMON, 100); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_GRAY, 70); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.ROSY_BROWN, 90); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LIME, EnumFlowerColor.YELLOW_GREEN, 50); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_KHAKI, 55); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MAGENTA, EnumFlowerColor.HOT_PINK, 90); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MAROON, EnumFlowerColor.CRIMSON, 85); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.TAN, 70); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PALE_VIOLET_RED, 90); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PALE_VIOLET_RED, 90); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 65); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DEEP_PINK, 95); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PINK, 100); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.NAVY, EnumFlowerColor.PURPLE, 65); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.OLIVE, EnumFlowerColor.PERU, 80); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.PERU, 75); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_ORANGE, 95); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_KHAKI, 60); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MISTY_ROSE, 80); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.INDIAN_RED, 110); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PERU, EnumFlowerColor.CORAL, 105); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PINK, EnumFlowerColor.DARK_SALMON, 110); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PLUM, EnumFlowerColor.PALE_VIOLET_RED, 100); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.RED, EnumFlowerColor.INDIAN_RED, 110); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_SALMON, 110); + addMix(EnumFlowerColor.SALMON, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 80); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.BLACK, EnumFlowerColor.SIENNA, 60); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 55); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.BROWN, EnumFlowerColor.CHOCOLATE, 85); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.TAN, 85); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 110); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 115); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 90); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 75); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.PERU, 110); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.TAN, 100); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE, 70); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.TAN, 105); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GOLDENROD, 85); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.ORANGE, 120); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CORAL, 115); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 90); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.ROSY_BROWN, 65); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, 65); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 80); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 75); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.PERU, 90); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_GRAY, 75); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 105); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.ORANGE, 115); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.GRAY, EnumFlowerColor.PERU, 95); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 75); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.HOT_PINK, EnumFlowerColor.SALMON, 85); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CORAL, 100); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_VIOLET_RED, 55); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.KHAKI, EnumFlowerColor.TAN, 100); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LAVENDER, EnumFlowerColor.TAN, 95); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.WHEAT, 100); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.TAN, 100); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.TAN, 90); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LIME, EnumFlowerColor.YELLOW_GREEN, 75); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.YELLOW_GREEN, 80); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MAGENTA, EnumFlowerColor.HOT_PINK, 70); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MAROON, EnumFlowerColor.SIENNA, 75); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PALE_VIOLET_RED, 75); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.ROSY_BROWN, 75); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.INDIAN_RED, 75); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.TAN, 105); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GOLDENROD, 95); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_GOLDENROD, 90); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_ORANGE, 115); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.WHEAT, 85); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.SALMON, 90); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PERU, EnumFlowerColor.DARK_ORANGE, 115); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PINK, EnumFlowerColor.DARK_SALMON, 100); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PLUM, EnumFlowerColor.DARK_SALMON, 85); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PURPLE, EnumFlowerColor.PALE_VIOLET_RED, 60); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.RED, EnumFlowerColor.CORAL, 100); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_SALMON, 105); + addMix(EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SALMON, 105); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 70); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 105); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.OLIVE, 75); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.OLIVE, 70); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 55); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 90); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CADET_BLUE, 100); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.GREEN, 110); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 100); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.GREEN, 110); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.OLIVE, 75); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 110); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, 80); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.LIGHT_SEA_GREEN, 100); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_SLATE_BLUE, 75); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 45); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 85); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.TEAL, 100); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 80); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 85); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 90); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_GREEN, 115); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.HOT_PINK, EnumFlowerColor.ROSY_BROWN, 50); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DIM_GRAY, 65); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 70); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 90); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.MEDIUM_AQUAMARINE, 85); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 90); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 105); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CADET_BLUE, 90); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 95); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 105); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_VIOLET, 75); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.MEDIUM_SEA_GREEN, 105); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.SLATE_GRAY, 80); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 70); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.OLIVE, EnumFlowerColor.OLIVE_DRAB, 105); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.GREEN, 110); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.ORANGE, EnumFlowerColor.OLIVE, 80); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.GRAY, 60); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PERU, EnumFlowerColor.OLIVE_DRAB, 85); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PINK, EnumFlowerColor.DARK_SEA_GREEN, 70); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PLUM, EnumFlowerColor.SLATE_GRAY, 80); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, 75); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.RED, EnumFlowerColor.SIENNA, 60); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.STEEL_BLUE, 80); + addMix(EnumFlowerColor.SEA_GREEN, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.OLIVE_DRAB, 80); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 60); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 75); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.BROWN, EnumFlowerColor.MAROON, 115); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.GRAY, 85); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.CORAL, EnumFlowerColor.CHOCOLATE, 105); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.CRIMSON, EnumFlowerColor.BROWN, 110); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.CYAN, EnumFlowerColor.LIGHT_SEA_GREEN, 60); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.PERU, 100); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.ROSY_BROWN, 95); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 80); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.PERU, 90); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.CHOCOLATE, 100); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CHOCOLATE, 100); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 70); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.PURPLE, 80); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.CRIMSON, 90); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 70); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SLATE_GRAY, 75); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 80); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.GOLDENROD, EnumFlowerColor.PERU, 95); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 75); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.HOT_PINK, EnumFlowerColor.INDIAN_RED, 90); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.BROWN, 110); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.INDIGO, EnumFlowerColor.PURPLE, 80); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.KHAKI, EnumFlowerColor.TAN, 80); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LAVENDER, EnumFlowerColor.ROSY_BROWN, 80); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.TAN, 75); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.ROSY_BROWN, 85); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.SEA_GREEN, 75); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.ROSY_BROWN, 80); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LIME, EnumFlowerColor.OLIVE_DRAB, 55); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.OLIVE_DRAB, 65); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.MAROON, EnumFlowerColor.BROWN, 110); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MEDIUM_VIOLET_RED, 85); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 70); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.CRIMSON, 95); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_SALMON, 85); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.NAVY, EnumFlowerColor.PURPLE, 75); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_GOLDENROD, 95); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.OLIVE, 85); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.ORANGE, EnumFlowerColor.PERU, 95); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_KHAKI, 65); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_GRAY, 70); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.INDIAN_RED, 95); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PERU, EnumFlowerColor.CHOCOLATE, 105); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PINK, EnumFlowerColor.DARK_SALMON, 90); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PLUM, EnumFlowerColor.PALE_VIOLET_RED, 85); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_VIOLET_RED, 85); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.RED, EnumFlowerColor.CRIMSON, 110); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.INDIAN_RED, 100); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.SALMON, EnumFlowerColor.INDIAN_RED, 100); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PERU, 100); + addMix(EnumFlowerColor.SIENNA, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, 80); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.TURQUOISE, 100); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_GRAY, 55); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 75); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 60); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_TURQUOISE, 110); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.TAN, 75); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CORAL, EnumFlowerColor.ROSY_BROWN, 75); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 60); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 110); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_STEEL_BLUE, 105); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 70); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.CADET_BLUE, 80); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.TAN, 80); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_GRAY, 80); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 75); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CADET_BLUE, 80); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.TURQUOISE, 115); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_PURPLE, 80); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_ORCHID, 65); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CADET_BLUE, 90); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 105); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.GRAY, EnumFlowerColor.CADET_BLUE, 100); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 75); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 75); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 70); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.INDIGO, EnumFlowerColor.SLATE_BLUE, 60); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_STEEL_BLUE, 105); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PALE_TURQUOISE, 95); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LIGHT_STEEL_BLUE, 110); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, 110); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 115); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LIME, EnumFlowerColor.SPRING_GREEN, 80); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 80); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 85); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_TURQUOISE, 100); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MEDIUM_PURPLE, 90); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIGHT_STEEL_BLUE, 95); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MEDIUM_ORCHID, 70); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.NAVY, EnumFlowerColor.ROYAL_BLUE, 55); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 85); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.DARK_TURQUOISE, 115); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.THISTLE, 75); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PERU, EnumFlowerColor.DARK_GRAY, 80); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PINK, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PLUM, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_PURPLE, 65); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.RED, EnumFlowerColor.INDIAN_RED, 65); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DODGER_BLUE, 95); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.SALMON, EnumFlowerColor.ROSY_BROWN, 75); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_GRAY, 85); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, 90); + addMix(EnumFlowerColor.SKY_BLUE, EnumFlowerColor.SIENNA, EnumFlowerColor.GRAY, 70); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DEEP_SKY_BLUE, 70); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_BLUE, 85); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_VIOLET, 110); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.BROWN, EnumFlowerColor.PURPLE, 90); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.STEEL_BLUE, 95); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.CORAL, EnumFlowerColor.PALE_VIOLET_RED, 75); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DEEP_SKY_BLUE, 70); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.ROSY_BROWN, 65); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.MEDIUM_PURPLE, 90); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, 70); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.GRAY, 60); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.INDIAN_RED, 65); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PALE_VIOLET_RED, 80); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.SLATE_GRAY, 75); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 100); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 80); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.BLUE, 115); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_ORCHID, 95); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 90); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, 100); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.ROYAL_BLUE, 105); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.GOLD, EnumFlowerColor.TAN, 50); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.ROSY_BROWN, 60); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.GRAY, EnumFlowerColor.MEDIUM_PURPLE, 100); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.GREEN, EnumFlowerColor.TEAL, 70); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.MEDIUM_ORCHID, 95); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.MEDIUM_ORCHID, 90); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 105); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_GRAY, 55); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.THISTLE, 60); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.MEDIUM_PURPLE, 85); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 85); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 95); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIME, EnumFlowerColor.MEDIUM_SEA_GREEN, 55); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.CADET_BLUE, 60); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 100); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MAROON, EnumFlowerColor.PURPLE, 80); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.STEEL_BLUE, 75); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MEDIUM_PURPLE, 110); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.ROYAL_BLUE, 115); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 75); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_VIOLET, 100); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PLUM, 80); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 100); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.OLIVE, EnumFlowerColor.DIM_GRAY, 60); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DIM_GRAY, 55); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_SALMON, 60); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.CADET_BLUE, 60); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_STEEL_BLUE, 80); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.MEDIUM_ORCHID, 95); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PINK, EnumFlowerColor.PLUM, 85); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_PURPLE, 95); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_VIOLET, 105); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_PURPLE, 90); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 120); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.SALMON, EnumFlowerColor.PALE_VIOLET_RED, 85); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.ROSY_BROWN, 70); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.STEEL_BLUE, 80); + addMix(EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 85); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_GRAY, 85); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 100); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SIENNA, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.CORAL, EnumFlowerColor.ROSY_BROWN, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.GRAY, 110); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.PERU, 85); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.ROSY_BROWN, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 95); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.SLATE_BLUE, 105); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DIM_GRAY, 105); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 100); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 105); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_VIOLET_RED, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.STEEL_BLUE, 105); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.GRAY, 115); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 110); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_GOLDENROD, 85); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.GRAY, EnumFlowerColor.DIM_GRAY, 120); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PALE_VIOLET_RED, 95); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 95); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 95); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_STEEL_BLUE, 95); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.DARK_GRAY, 85); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_GRAY, 100); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 100); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_GRAY, 105); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 75); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 100); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CADET_BLUE, 95); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MEDIUM_PURPLE, 110); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.SLATE_BLUE, 115); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.SEA_GREEN, 95); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.DARK_GRAY, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.OLIVE, EnumFlowerColor.OLIVE_DRAB, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.SEA_GREEN, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_GOLDENROD, 85); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.SKY_BLUE, 95); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.ROSY_BROWN, 95); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.PINK, EnumFlowerColor.ROSY_BROWN, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, 95); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.RED, EnumFlowerColor.CRIMSON, 85); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.GRAY, 100); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.STEEL_BLUE, 115); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.SALMON, EnumFlowerColor.ROSY_BROWN, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.TAN, 90); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.TEAL, 100); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CADET_BLUE, 100); + addMix(EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 115); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_GREEN, 110); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.BLUE, EnumFlowerColor.STEEL_BLUE, 45); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.LIME_GREEN, 60); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SEA_GREEN, 55); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.AQUAMARINE, 100); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.LIME_GREEN, 80); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.LIME_GREEN, 100); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.YELLOW_GREEN, 65); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_SEA_GREEN, 65); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.PALE_GREEN, 105); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 50); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 65); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.STEEL_BLUE, 55); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.TURQUOISE, 75); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_TURQUOISE, 65); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.LIME, 90); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.LIME_GREEN, 85); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.LIME_GREEN, 90); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.MEDIUM_SEA_GREEN, 45); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.PALE_GREEN, 100); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.AQUAMARINE, 90); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PALE_GREEN, 100); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.AQUAMARINE, 95); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 85); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIME, EnumFlowerColor.PALE_GREEN, 120); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIME, 115); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_PURPLE, 60); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.PALE_GREEN, 110); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.CADET_BLUE, 65); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.LIGHT_SEA_GREEN, 65); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LIME_GREEN, 110); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.AQUAMARINE, 80); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.OLIVE, EnumFlowerColor.LIME_GREEN, 90); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIME_GREEN, 95); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.ORANGE, EnumFlowerColor.YELLOW_GREEN, 75); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIME, 120); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.AQUAMARINE, 100); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PERU, EnumFlowerColor.LIME_GREEN, 75); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PINK, EnumFlowerColor.MEDIUM_AQUAMARINE, 65); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_AQUAMARINE, 75); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PURPLE, EnumFlowerColor.TEAL, 50); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MEDIUM_SEA_GREEN, 70); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 60); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SEA_GREEN, 50); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.LIME_GREEN, 75); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SIENNA, EnumFlowerColor.MEDIUM_SEA_GREEN, 55); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.AQUAMARINE, 85); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 60); + addMix(EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_TURQUOISE, 80); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_BLUE, 85); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 100); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.SLATE_GRAY, 105); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.GRAY, 80); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.CORAL, EnumFlowerColor.ROSY_BROWN, 80); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.CRIMSON, EnumFlowerColor.MEDIUM_VIOLET_RED, 80); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 90); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.SLATE_GRAY, 105); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 75); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.CADET_BLUE, 75); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.TEAL, 80); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_GOLDENROD, 75); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.GRAY, 85); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 85); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.ROYAL_BLUE, 100); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.ROYAL_BLUE, 100); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CADET_BLUE, 100); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.SLATE_BLUE, 95); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_ORCHID, 80); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 105); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.SLATE_GRAY, 105); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.GOLD, EnumFlowerColor.DARK_KHAKI, 60); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.GRAY, EnumFlowerColor.SLATE_GRAY, 110); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 75); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.MEDIUM_PURPLE, 80); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 90); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 70); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.SKY_BLUE, 75); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LIGHT_STEEL_BLUE, 95); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 100); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DODGER_BLUE, 105); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIME, EnumFlowerColor.MEDIUM_SEA_GREEN, 65); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 70); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 85); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.CADET_BLUE, 90); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MEDIUM_PURPLE, 95); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.ROYAL_BLUE, 105); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 85); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_VIOLET, 80); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 90); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.OLIVE, EnumFlowerColor.SEA_GREEN, 75); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.SEA_GREEN, 75); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 70); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.SKY_BLUE, 90); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.PERU, EnumFlowerColor.GRAY, 80); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.PINK, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.PLUM, EnumFlowerColor.MEDIUM_PURPLE, 90); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, 85); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.RED, EnumFlowerColor.MEDIUM_VIOLET_RED, 75); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.SLATE_GRAY, 95); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DODGER_BLUE, 115); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SALMON, EnumFlowerColor.ROSY_BROWN, 80); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_GRAY, 80); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.TEAL, 90); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SIENNA, EnumFlowerColor.DIM_GRAY, 85); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 105); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.ROYAL_BLUE, 110); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.ROYAL_BLUE, 115); + addMix(EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 70); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 95); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.BLACK, EnumFlowerColor.DIM_GRAY, 60); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 60); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.BROWN, EnumFlowerColor.INDIAN_RED, 85); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 95); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PERU, 105); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 105); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.CRIMSON, EnumFlowerColor.INDIAN_RED, 85); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 90); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 110); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 80); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.WHEAT, 115); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE, 90); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 105); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.SANDY_BROWN, 110); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 105); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.GRAY, 75); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 65); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 80); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 85); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.GRAY, 95); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 80); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.GOLD, EnumFlowerColor.GOLDENROD, 105); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 110); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 100); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 85); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PALE_VIOLET_RED, 85); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SALMON, 95); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.KHAKI, EnumFlowerColor.WHEAT, 110); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_GRAY, 100); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.WHEAT, 110); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.WHEAT, 110); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_GRAY, 100); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 90); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.YELLOW_GREEN, 95); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.MAGENTA, EnumFlowerColor.HOT_PINK, 75); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.MAROON, EnumFlowerColor.SIENNA, 70); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 95); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PALE_VIOLET_RED, 75); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PLUM, 80); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 95); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.PALE_VIOLET_RED, 75); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.WHEAT, 110); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 50); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_KHAKI, 100); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_KHAKI, 100); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.ORANGE, EnumFlowerColor.GOLDENROD, 110); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 95); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_GRAY, 95); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.ROSY_BROWN, 90); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.PERU, EnumFlowerColor.SANDY_BROWN, 110); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.PINK, EnumFlowerColor.DARK_SALMON, 100); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.PLUM, EnumFlowerColor.PINK, 90); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_VIOLET_RED, 60); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.RED, EnumFlowerColor.INDIAN_RED, 90); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_SALMON, 105); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.SLATE_GRAY, 75); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SALMON, 100); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PERU, 115); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 90); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.SIENNA, EnumFlowerColor.PERU, 95); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_GRAY, 95); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 95); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PALE_GREEN, 90); + addMix(EnumFlowerColor.TAN, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_GRAY, 85); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.LIGHT_SEA_GREEN, 90); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_SLATE_GRAY, 85); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.BLUE, EnumFlowerColor.DARK_SLATE_BLUE, 85); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.BROWN, EnumFlowerColor.DIM_GRAY, 75); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 115); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_OLIVE_GREEN, 80); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.CORAL, EnumFlowerColor.GRAY, 75); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 90); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 85); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.CADET_BLUE, 100); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 100); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.SEA_GREEN, 90); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.SEA_GREEN, 100); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.OLIVE_DRAB, 75); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.CADET_BLUE, 80); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, 100); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.LIGHT_SEA_GREEN, 105); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.DARK_SLATE_BLUE, 90); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PURPLE, 70); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.CADET_BLUE, 100); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.STEEL_BLUE, 95); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.GOLD, EnumFlowerColor.OLIVE_DRAB, 75); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.GOLDENROD, EnumFlowerColor.OLIVE_DRAB, 80); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.GRAY, EnumFlowerColor.CADET_BLUE, 105); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.GREEN, EnumFlowerColor.SEA_GREEN, 100); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DIM_GRAY, 75); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_SLATE_BLUE, 85); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LAVENDER, EnumFlowerColor.CADET_BLUE, 85); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.MEDIUM_AQUAMARINE, 80); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.CADET_BLUE, 90); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 110); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.CADET_BLUE, 95); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 80); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 90); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MAGENTA, EnumFlowerColor.DARK_VIOLET, 85); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MAROON, EnumFlowerColor.GRAY, 70); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIGHT_SEA_GREEN, 100); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.ROYAL_BLUE, 85); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.STEEL_BLUE, 90); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.SEA_GREEN, 100); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.DARK_SLATE_BLUE, 75); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.CADET_BLUE, 75); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_SLATE_BLUE, 80); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.OLIVE, EnumFlowerColor.SEA_GREEN, 95); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.SEA_GREEN, 95); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.ORANGE, EnumFlowerColor.OLIVE_DRAB, 75); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_SEA_GREEN, 95); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.SLATE_GRAY, 70); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PERU, EnumFlowerColor.SEA_GREEN, 85); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PINK, EnumFlowerColor.CADET_BLUE, 65); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PLUM, EnumFlowerColor.STEEL_BLUE, 80); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.PURPLE, EnumFlowerColor.DARK_SLATE_BLUE, 80); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.RED, EnumFlowerColor.BROWN, 70); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CADET_BLUE, 85); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.STEEL_BLUE, 95); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SALMON, EnumFlowerColor.GRAY, 70); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.SEA_GREEN, 80); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_OLIVE_GREEN, 80); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.CADET_BLUE, 100); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 95); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.CADET_BLUE, 105); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); + addMix(EnumFlowerColor.TEAL, EnumFlowerColor.TAN, EnumFlowerColor.CADET_BLUE, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.BLACK, EnumFlowerColor.DIM_GRAY, 55); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 75); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.BROWN, EnumFlowerColor.PALE_VIOLET_RED, 80); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_SALMON, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 95); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 80); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.TAN, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_GRAY, 110); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.SEA_GREEN, 60); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.TAN, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_GRAY, 75); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.PINK, 100); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_GRAY, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 75); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.SLATE_GRAY, 70); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.SKY_BLUE, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 95); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 80); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.TAN, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_GRAY, 100); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 65); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 105); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.ROSY_BROWN, 95); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_ORCHID, 60); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.KHAKI, EnumFlowerColor.WHEAT, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LAVENDER, EnumFlowerColor.MISTY_ROSE, 115); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.MISTY_ROSE, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LAVENDER, 110); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.CADET_BLUE, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LAVENDER, 110); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 65); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 70); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 95); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MAROON, EnumFlowerColor.INDIAN_RED, 65); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PLUM, 95); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.PLUM, 100); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.HOT_PINK, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PINK, 115); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.NAVY, EnumFlowerColor.SLATE_BLUE, 55); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.ORANGE, EnumFlowerColor.SANDY_BROWN, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.PLUM, 105); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PERU, EnumFlowerColor.DARK_SALMON, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PINK, EnumFlowerColor.MISTY_ROSE, 115); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PLUM, EnumFlowerColor.PINK, 115); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_ORCHID, 75); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.RED, EnumFlowerColor.INDIAN_RED, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PINK, 110); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SALMON, EnumFlowerColor.PINK, 100); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_SALMON, 95); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.CADET_BLUE, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SIENNA, EnumFlowerColor.ROSY_BROWN, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 100); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 85); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 90); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.TAN, EnumFlowerColor.MISTY_ROSE, 100); + addMix(EnumFlowerColor.THISTLE, EnumFlowerColor.TEAL, EnumFlowerColor.CADET_BLUE, 80); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.MEDIUM_AQUAMARINE, 115); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.BLACK, EnumFlowerColor.TEAL, 50); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.BLUE, EnumFlowerColor.ROYAL_BLUE, 60); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.BROWN, EnumFlowerColor.GRAY, 55); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 110); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.DARK_SEA_GREEN, 70); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SEA_GREEN, 70); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.CRIMSON, EnumFlowerColor.GRAY, 50); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.CYAN, EnumFlowerColor.DARK_TURQUOISE, 120); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_TURQUOISE, 100); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 80); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 110); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.STEEL_BLUE, 65); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.CADET_BLUE, 75); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.CYAN, 120); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.ROYAL_BLUE, 65); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_PURPLE, 55); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DARK_TURQUOISE, 100); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.CADET_BLUE, 85); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 90); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW_GREEN, 85); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.GRAY, EnumFlowerColor.LIGHT_SEA_GREEN, 95); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 90); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.LIGHT_STEEL_BLUE, 65); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.CADET_BLUE, 60); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.INDIGO, EnumFlowerColor.ROYAL_BLUE, 50); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.KHAKI, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LAVENDER, EnumFlowerColor.PALE_TURQUOISE, 95); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.AQUAMARINE, 100); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PALE_TURQUOISE, 100); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.DARK_TURQUOISE, 115); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_TURQUOISE, 100); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LIME, EnumFlowerColor.SPRING_GREEN, 95); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 100); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_PURPLE, 75); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MAROON, EnumFlowerColor.DIM_GRAY, 45); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_TURQUOISE, 120); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.DODGER_BLUE, 75); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DEEP_SKY_BLUE, 80); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 110); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MEDIUM_PURPLE, 60); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PALE_TURQUOISE, 90); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.NAVY, EnumFlowerColor.STEEL_BLUE, 45); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.OLIVE, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.MEDIUM_SEA_GREEN, 90); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.ORANGE, EnumFlowerColor.YELLOW_GREEN, 80); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.AQUAMARINE, 105); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.CYAN, 115); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.DARK_GRAY, 60); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PERU, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PINK, EnumFlowerColor.PALE_TURQUOISE, 75); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PLUM, EnumFlowerColor.SKY_BLUE, 80); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.PURPLE, EnumFlowerColor.ROYAL_BLUE, 55); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.RED, EnumFlowerColor.ROSY_BROWN, 55); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.CADET_BLUE, 80); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.DEEP_SKY_BLUE, 80); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SALMON, EnumFlowerColor.DARK_GRAY, 65); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 100); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_SEA_GREEN, 65); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_TURQUOISE, 110); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.DODGER_BLUE, 75); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIGHT_SEA_GREEN, 95); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.AQUAMARINE, 105); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.CADET_BLUE, 90); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.TAN, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.TEAL, EnumFlowerColor.LIGHT_SEA_GREEN, 100); + addMix(EnumFlowerColor.TURQUOISE, EnumFlowerColor.THISTLE, EnumFlowerColor.PALE_TURQUOISE, 85); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.LIGHT_STEEL_BLUE, 75); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.BLACK, EnumFlowerColor.PURPLE, 60); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.BLUE, EnumFlowerColor.SLATE_BLUE, 85); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.BROWN, EnumFlowerColor.PALE_VIOLET_RED, 85); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.PLUM, 95); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.PALE_VIOLET_RED, 80); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.CORAL, EnumFlowerColor.PALE_VIOLET_RED, 85); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.CRIMSON, EnumFlowerColor.DEEP_PINK, 90); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.CYAN, EnumFlowerColor.DEEP_SKY_BLUE, 70); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.SALMON, 65); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.PLUM, 100); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.ROSY_BROWN, 65); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.ROSY_BROWN, 55); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SALMON, 75); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.HOT_PINK, 90); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.THISTLE, 60); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.MEDIUM_ORCHID, 85); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.MEDIUM_PURPLE, 80); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.DODGER_BLUE, 75); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 95); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 110); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.DODGER_BLUE, 75); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.MEDIUM_ORCHID, 90); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 90); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.GOLD, EnumFlowerColor.SANDY_BROWN, 55); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_SALMON, 65); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.GRAY, EnumFlowerColor.PLUM, 95); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PLUM, 115); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PALE_VIOLET_RED, 95); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.INDIGO, EnumFlowerColor.DARK_VIOLET, 80); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.KHAKI, EnumFlowerColor.PINK, 60); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.LAVENDER, EnumFlowerColor.PLUM, 100); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.PINK, 70); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PLUM, 95); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.PLUM, 100); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MAGENTA, EnumFlowerColor.MEDIUM_ORCHID, 115); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MAROON, EnumFlowerColor.MEDIUM_VIOLET_RED, 70); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.THISTLE, 80); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.MAGENTA, 115); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.MEDIUM_ORCHID, 110); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_GRAY, 75); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.MEDIUM_ORCHID, 100); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.PLUM, 95); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.NAVY, EnumFlowerColor.DARK_VIOLET, 75); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.OLIVE, EnumFlowerColor.ROSY_BROWN, 55); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.ROSY_BROWN, 50); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.ORANGE, EnumFlowerColor.DARK_SALMON, 65); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.THISTLE, 90); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.HOT_PINK, 110); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.PERU, EnumFlowerColor.PALE_VIOLET_RED, 80); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.PINK, EnumFlowerColor.PLUM, 105); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.PLUM, EnumFlowerColor.HOT_PINK, 120); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.PURPLE, EnumFlowerColor.MEDIUM_ORCHID, 85); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.RED, EnumFlowerColor.DEEP_PINK, 85); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.PLUM, 100); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 95); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SALMON, EnumFlowerColor.HOT_PINK, 95); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.PALE_VIOLET_RED, 80); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SIENNA, EnumFlowerColor.PALE_VIOLET_RED, 80); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PLUM, 90); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 100); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.PLUM, 100); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, 70); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.MEDIUM_PURPLE, 90); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.TAN, EnumFlowerColor.PLUM, 80); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_PURPLE, 80); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.THISTLE, EnumFlowerColor.PLUM, 105); + addMix(EnumFlowerColor.VIOLET, EnumFlowerColor.TURQUOISE, EnumFlowerColor.LIGHT_STEEL_BLUE, 75); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_GREEN, 100); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.BLUE, EnumFlowerColor.MEDIUM_PURPLE, 50); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_SALMON, 75); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 90); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.SANDY_BROWN, 95); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.CORAL, EnumFlowerColor.SANDY_BROWN, 100); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.CRIMSON, EnumFlowerColor.SALMON, 80); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.CYAN, EnumFlowerColor.TURQUOISE, 90); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLDENROD, 100); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.TAN, 105); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 75); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.KHAKI, 110); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.ORANGE, 100); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.TAN, 105); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.DARK_KHAKI, 105); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_SLATE_BLUE, EnumFlowerColor.ROSY_BROWN, 60); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 70); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.MEDIUM_ORCHID, 60); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.PALE_VIOLET_RED, 75); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 80); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.TAN, 85); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SKY_BLUE, 75); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 110); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 105); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.GRAY, EnumFlowerColor.TAN, 95); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PINK, 80); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_SALMON, 85); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.KHAKI, EnumFlowerColor.LEMON_CHIFFON, 115); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_GRAY, 100); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.KHAKI, 120); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LEMON_CHIFFON, 110); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LIGHT_GRAY, 95); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LIME, EnumFlowerColor.PALE_GREEN, 95); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.YELLOW_GREEN, 95); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 70); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MAROON, EnumFlowerColor.INDIAN_RED, 60); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.DARK_SEA_GREEN, 100); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PLUM, 70); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.THISTLE, 75); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 95); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.PALE_VIOLET_RED, 70); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.TAN, 110); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_KHAKI, 95); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_KHAKI, 95); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.ORANGE, EnumFlowerColor.GOLDENROD, 105); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LEMON_CHIFFON, 100); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.LEMON_CHIFFON, 100); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.PINK, 85); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PERU, EnumFlowerColor.TAN, 100); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PINK, EnumFlowerColor.MISTY_ROSE, 100); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PLUM, EnumFlowerColor.PINK, 85); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.PURPLE, EnumFlowerColor.PALE_VIOLET_RED, 55); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.RED, EnumFlowerColor.SALMON, 85); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.TAN, 100); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 70); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SALMON, EnumFlowerColor.DARK_SALMON, 95); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.TAN, 110); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 90); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SIENNA, EnumFlowerColor.PERU, 85); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PALE_TURQUOISE, 95); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.PLUM, 65); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 90); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.PALE_GREEN, 95); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_GRAY, 75); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.TAN, EnumFlowerColor.DARK_KHAKI, 115); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.TEAL, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.THISTLE, EnumFlowerColor.MISTY_ROSE, 95); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.TURQUOISE, EnumFlowerColor.MEDIUM_AQUAMARINE, 95); + addMix(EnumFlowerColor.WHEAT, EnumFlowerColor.VIOLET, EnumFlowerColor.PINK, 75); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 100); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.BLUE, EnumFlowerColor.MEDIUM_PURPLE, 60); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.BROWN, EnumFlowerColor.ROSY_BROWN, 70); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.PALE_TURQUOISE, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.TAN, 85); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.CORAL, EnumFlowerColor.DARK_SALMON, 90); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.CRIMSON, EnumFlowerColor.PALE_VIOLET_RED, 75); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.CYAN, EnumFlowerColor.PALE_TURQUOISE, 100); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.TAN, 85); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.LIGHT_GRAY, 105); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 70); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.LEMON_CHIFFON, 100); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.SANDY_BROWN, 90); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.MISTY_ROSE, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_GRAY, 70); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.PALE_TURQUOISE, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DARK_VIOLET, EnumFlowerColor.VIOLET, 70); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.HOT_PINK, 85); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.SKY_BLUE, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_GRAY, 85); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.SKY_BLUE, 85); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.GOLDENROD, EnumFlowerColor.WHEAT, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.GRAY, EnumFlowerColor.LIGHT_GRAY, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.GREEN, EnumFlowerColor.DARK_SEA_GREEN, 75); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.HOT_PINK, EnumFlowerColor.PINK, 90); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.PINK, 85); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.INDIGO, EnumFlowerColor.MEDIUM_PURPLE, 50); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.KHAKI, EnumFlowerColor.LEMON_CHIFFON, 105); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LAVENDER, EnumFlowerColor.LIGHT_GRAY, 115); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.WHEAT, 110); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.LAVENDER, 120); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.PALE_TURQUOISE, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.LAVENDER, 110); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LIME, EnumFlowerColor.PALE_GREEN, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.PALE_GREEN, 90); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MAGENTA, EnumFlowerColor.VIOLET, 85); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MAROON, EnumFlowerColor.ROSY_BROWN, 55); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.PALE_TURQUOISE, 100); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.PLUM, 80); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.THISTLE, 85); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, 90); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.PLUM, 75); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.LIGHT_GRAY, 115); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_KHAKI, 85); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.ORANGE, EnumFlowerColor.WHEAT, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.AQUAMARINE, 100); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.PINK, 90); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.PERU, EnumFlowerColor.TAN, 90); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.PINK, EnumFlowerColor.MISTY_ROSE, 105); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.PLUM, EnumFlowerColor.THISTLE, 100); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.PURPLE, EnumFlowerColor.PLUM, 60); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.RED, EnumFlowerColor.SALMON, 80); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.MISTY_ROSE, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 80); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SALMON, EnumFlowerColor.PINK, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.WHEAT, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SIENNA, EnumFlowerColor.DARK_SALMON, 75); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.PALE_TURQUOISE, 105); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 75); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.LIGHT_GRAY, 90); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.AQUAMARINE, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.LIGHT_STEEL_BLUE, 85); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.TAN, EnumFlowerColor.WHEAT, 105); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.TEAL, EnumFlowerColor.DARK_TURQUOISE, 80); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.THISTLE, EnumFlowerColor.LAVENDER, 105); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.TURQUOISE, EnumFlowerColor.PALE_TURQUOISE, 100); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.VIOLET, EnumFlowerColor.PLUM, 95); + addMix(EnumFlowerColor.WHITE, EnumFlowerColor.WHEAT, EnumFlowerColor.LEMON_CHIFFON, 110); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_GREEN, 95); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.BROWN, EnumFlowerColor.GOLDENROD, 55); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.YELLOW_GREEN, 80); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.GOLDENROD, 80); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.CORAL, EnumFlowerColor.GOLDENROD, 75); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.CRIMSON, EnumFlowerColor.DARK_ORANGE, 55); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.CYAN, EnumFlowerColor.PALE_GREEN, 85); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.GOLD, 95); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.KHAKI, 90); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.YELLOW_GREEN, 70); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_KHAKI, EnumFlowerColor.KHAKI, 105); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.YELLOW_GREEN, 80); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.GOLD, 90); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.GOLD, 80); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.YELLOW_GREEN, 95); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.DARK_KHAKI, 60); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.PALE_GREEN, 80); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.PALE_GREEN, 60); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 45); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.GOLD, EnumFlowerColor.KHAKI, 115); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.GOLDENROD, EnumFlowerColor.GOLD, 100); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.GRAY, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.GREEN, EnumFlowerColor.YELLOW_GREEN, 80); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.HOT_PINK, EnumFlowerColor.SANDY_BROWN, 50); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.GOLDENROD, 65); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.KHAKI, EnumFlowerColor.GOLD, 115); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LAVENDER, EnumFlowerColor.KHAKI, 80); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.KHAKI, 105); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.KHAKI, 95); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.YELLOW_GREEN, 80); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.KHAKI, 75); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LIME, EnumFlowerColor.SPRING_GREEN, 105); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.YELLOW_GREEN, 100); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.MAROON, EnumFlowerColor.DARK_GOLDENROD, 45); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.YELLOW_GREEN, 90); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.YELLOW_GREEN, 90); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.KHAKI, 90); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.OLIVE, EnumFlowerColor.DARK_KHAKI, 90); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.YELLOW_GREEN, 90); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.ORANGE, EnumFlowerColor.GOLD, 95); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.YELLOW_GREEN, 105); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.KHAKI, 90); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.GOLDENROD, 55); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.PERU, EnumFlowerColor.GOLD, 90); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.PINK, EnumFlowerColor.GOLD, 75); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.PLUM, EnumFlowerColor.KHAKI, 55); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.RED, EnumFlowerColor.DARK_ORANGE, 60); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.GOLD, 75); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SALMON, EnumFlowerColor.GOLDENROD, 70); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.GOLD, 90); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.YELLOW_GREEN, 85); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SIENNA, EnumFlowerColor.GOLDENROD, 70); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.YELLOW_GREEN, 75); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_KHAKI, 70); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIME, 100); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.YELLOW_GREEN, 55); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.TAN, EnumFlowerColor.GOLD, 100); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.TEAL, EnumFlowerColor.YELLOW_GREEN, 70); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.THISTLE, EnumFlowerColor.KHAKI, 75); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.TURQUOISE, EnumFlowerColor.PALE_GREEN, 85); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.WHEAT, EnumFlowerColor.KHAKI, 105); + addMix(EnumFlowerColor.YELLOW, EnumFlowerColor.WHITE, EnumFlowerColor.KHAKI, 95); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.AQUAMARINE, EnumFlowerColor.PALE_GREEN, 100); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.BLACK, EnumFlowerColor.DARK_OLIVE_GREEN, 55); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.BROWN, EnumFlowerColor.DARK_GOLDENROD, 55); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.CADET_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 90); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.CHOCOLATE, EnumFlowerColor.GOLDENROD, 75); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.CORAL, EnumFlowerColor.GOLDENROD, 75); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.CRIMSON, EnumFlowerColor.CHOCOLATE, 50); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.CYAN, EnumFlowerColor.SPRING_GREEN, 90); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_GOLDENROD, EnumFlowerColor.DARK_KHAKI, 95); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_GRAY, EnumFlowerColor.DARK_KHAKI, 100); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_GREEN, EnumFlowerColor.OLIVE_DRAB, 85); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_OLIVE_GREEN, EnumFlowerColor.OLIVE_DRAB, 95); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.GOLDENROD, 85); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_SALMON, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_SEA_GREEN, EnumFlowerColor.LIME_GREEN, 110); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_SLATE_GRAY, EnumFlowerColor.OLIVE_DRAB, 70); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DARK_TURQUOISE, EnumFlowerColor.MEDIUM_SEA_GREEN, 90); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DEEP_SKY_BLUE, EnumFlowerColor.MEDIUM_AQUAMARINE, 70); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DIM_GRAY, EnumFlowerColor.OLIVE_DRAB, 85); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.DODGER_BLUE, EnumFlowerColor.LIGHT_SEA_GREEN, 55); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.GOLD, EnumFlowerColor.YELLOW, 105); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.GOLDENROD, EnumFlowerColor.DARK_KHAKI, 100); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.GRAY, EnumFlowerColor.OLIVE_DRAB, 90); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.GREEN, EnumFlowerColor.OLIVE_DRAB, 100); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.HOT_PINK, EnumFlowerColor.TAN, 45); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.INDIAN_RED, EnumFlowerColor.DARK_GOLDENROD, 65); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.KHAKI, EnumFlowerColor.DARK_KHAKI, 110); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LAVENDER, EnumFlowerColor.DARK_SEA_GREEN, 85); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LEMON_CHIFFON, EnumFlowerColor.KHAKI, 105); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.DARK_KHAKI, 100); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LIGHT_SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 95); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LIGHT_STEEL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LIME, EnumFlowerColor.LIME_GREEN, 110); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.LIME_GREEN, EnumFlowerColor.LIME, 115); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.MEDIUM_AQUAMARINE, EnumFlowerColor.LIME_GREEN, 105); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.DARK_GRAY, 45); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, EnumFlowerColor.LIME_GREEN, 110); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.MISTY_ROSE, EnumFlowerColor.KHAKI, 90); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.OLIVE, EnumFlowerColor.OLIVE_DRAB, 105); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.OLIVE_DRAB, EnumFlowerColor.LIME_GREEN, 110); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.ORANGE, EnumFlowerColor.GOLD, 90); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.PALE_GREEN, EnumFlowerColor.LIME_GREEN, 110); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.PALE_TURQUOISE, EnumFlowerColor.PALE_GREEN, 95); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.PALE_VIOLET_RED, EnumFlowerColor.TAN, 60); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.PERU, EnumFlowerColor.DARK_KHAKI, 90); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.PINK, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.PLUM, EnumFlowerColor.DARK_KHAKI, 55); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.RED, EnumFlowerColor.CHOCOLATE, 55); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.ROSY_BROWN, EnumFlowerColor.DARK_KHAKI, 80); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.ROYAL_BLUE, EnumFlowerColor.CADET_BLUE, 55); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SALMON, EnumFlowerColor.GOLDENROD, 70); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SANDY_BROWN, EnumFlowerColor.DARK_KHAKI, 90); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SEA_GREEN, EnumFlowerColor.MEDIUM_SEA_GREEN, 100); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SIENNA, EnumFlowerColor.OLIVE, 70); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SKY_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SLATE_GRAY, EnumFlowerColor.DARK_SEA_GREEN, 80); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.SPRING_GREEN, EnumFlowerColor.LIME_GREEN, 110); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.STEEL_BLUE, EnumFlowerColor.DARK_SEA_GREEN, 65); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.TAN, EnumFlowerColor.DARK_KHAKI, 100); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.TEAL, EnumFlowerColor.MEDIUM_SEA_GREEN, 85); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.THISTLE, EnumFlowerColor.DARK_KHAKI, 75); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.TURQUOISE, EnumFlowerColor.PALE_GREEN, 95); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.WHEAT, EnumFlowerColor.KHAKI, 100); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.WHITE, EnumFlowerColor.KHAKI, 95); + addMix(EnumFlowerColor.YELLOW_GREEN, EnumFlowerColor.YELLOW, EnumFlowerColor.KHAKI, 110); + } - public static EnumFlowerColor get(int i) { - return values()[Math.max(0, i) % values().length]; - } + 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 int getColor(boolean dis) { + return dis ? colorDis : color; + } - @Override - public IAlleleInteger getAllele() { - return allele; - } + @Override + public IAlleleInteger getAllele() { + return allele; + } - @Override - public int getID() { - return ordinal(); - } + @Override + public int getID() { + return ordinal(); + } - @Override - public String getName() { - return I18N.localise("botany.colour." + name.toLowerCase(Locale.ENGLISH)); - } + @Override + public String getName() { + return I18N.localise("botany.colour." + name.toLowerCase(Locale.ENGLISH)); + } } diff --git a/src/main/java/binnie/botany/genetics/EnumFlowerType.java b/src/main/java/binnie/botany/genetics/EnumFlowerType.java index 18ef197c..bb6c3268 100644 --- a/src/main/java/binnie/botany/genetics/EnumFlowerType.java +++ b/src/main/java/binnie/botany/genetics/EnumFlowerType.java @@ -7,146 +7,146 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; public enum EnumFlowerType implements IFlowerType { - DANDELION, - POPPY, - ORCHID, - ALLIUM, - BLUET, - TULIP, - DAISY, - CORNFLOWER, - PANSY, - IRIS, - LAVENDER(2), - VIOLA, - DAFFODIL, - DAHLIA, - PEONY(2), - ROSE(2), - LILAC(2), - HYDRANGEA(2), - FOXGLOVE(2), - ZINNIA, - MUMS, - MARIGOLD, - GERANIUM, - AZALEA, - PRIMROSE, - ASTER, - CARNATION, - LILY, - YARROW, - PETUNIA, - AGAPANTHUS, - FUCHSIA, - DIANTHUS, - FORGET, - ANEMONE, - AQUILEGIA, - EDELWEISS, - SCABIOUS, - CONEFLOWER, - GAILLARDIA, - AURICULA, - CAMELLIA(2), - GOLDENROD(2), - ALTHEA(2), - PENSTEMON(2), - DELPHINIUM(2), - HOLLYHOCK(2); + DANDELION, + POPPY, + ORCHID, + ALLIUM, + BLUET, + TULIP, + DAISY, + CORNFLOWER, + PANSY, + IRIS, + LAVENDER(2), + VIOLA, + DAFFODIL, + DAHLIA, + PEONY(2), + ROSE(2), + LILAC(2), + HYDRANGEA(2), + FOXGLOVE(2), + ZINNIA, + MUMS, + MARIGOLD, + GERANIUM, + AZALEA, + PRIMROSE, + ASTER, + CARNATION, + LILY, + YARROW, + PETUNIA, + AGAPANTHUS, + FUCHSIA, + DIANTHUS, + FORGET, + ANEMONE, + AQUILEGIA, + EDELWEISS, + SCABIOUS, + CONEFLOWER, + GAILLARDIA, + AURICULA, + CAMELLIA(2), + GOLDENROD(2), + ALTHEA(2), + PENSTEMON(2), + DELPHINIUM(2), + HOLLYHOCK(2); - 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; + 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; - EnumFlowerType() { - this(1); - } + EnumFlowerType() { + this(1); + } - EnumFlowerType(int sections) { - this.sections = sections; - stem = new IIcon[sections]; - petal = new IIcon[sections]; - variant = new IIcon[sections]; - unflowered = new IIcon[sections]; - } + EnumFlowerType(int sections) { + this.sections = sections; + stem = new IIcon[sections]; + petal = new IIcon[sections]; + variant = new IIcon[sections]; + unflowered = new IIcon[sections]; + } - @Override - public IIcon getStem(EnumFlowerStage stage, boolean flowered, int section) { - if (stage == EnumFlowerStage.SEED) { - return seedStem; - } - if (stage == EnumFlowerStage.POLLEN) { - return pollenStem; - } - return stem[section % sections]; - } + @Override + public IIcon getStem(EnumFlowerStage stage, boolean flowered, int section) { + if (stage == EnumFlowerStage.SEED) { + return seedStem; + } + 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 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) { - if (stage == EnumFlowerStage.SEED) { - return seedVariant; - } - if (stage == EnumFlowerStage.POLLEN) { - return pollenVariant; - } - return flowered ? variant[section % sections] : blank; - } + @Override + public IIcon getVariantIcon(EnumFlowerStage stage, boolean flowered, int section) { + if (stage == EnumFlowerStage.SEED) { + return seedVariant; + } + if (stage == EnumFlowerStage.POLLEN) { + return pollenVariant; + } + return 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"); - } + 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"); - } + 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 ordinal(); - } + @Override + public int getID() { + return ordinal(); + } - @Override - public int getSections() { - return sections; - } + @Override + public int getSections() { + return sections; + } - public IIcon getBlank() { - return blank; - } + public IIcon getBlank() { + return blank; + } } diff --git a/src/main/java/binnie/botany/genetics/Flower.java b/src/main/java/binnie/botany/genetics/Flower.java index fd43d90e..273a4273 100644 --- a/src/main/java/binnie/botany/genetics/Flower.java +++ b/src/main/java/binnie/botany/genetics/Flower.java @@ -15,249 +15,265 @@ import forestry.api.genetics.IAllele; import forestry.api.genetics.IChromosome; import forestry.core.genetics.Chromosome; import forestry.core.genetics.Individual; +import java.util.List; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -import java.util.List; - public class Flower extends Individual implements IFlower { - public IFlowerGenome genome; - public IFlowerGenome mate; + public IFlowerGenome genome; + public IFlowerGenome mate; - protected int age; - protected boolean wilting; - protected boolean flowered; + protected int age; + protected boolean wilting; + protected boolean flowered; - public Flower(NBTTagCompound nbttagcompound) { - age = 0; - wilting = false; - readFromNBT(nbttagcompound); - } + public Flower(NBTTagCompound nbttagcompound) { + age = 0; + wilting = false; + readFromNBT(nbttagcompound); + } - public Flower(IFlowerGenome genome, int age) { - this.genome = genome; - this.age = age; - wilting = false; - flowered = age > 0; - } + public Flower(IFlowerGenome genome, int age) { + this.genome = genome; + this.age = age; + wilting = false; + flowered = age > 0; + } - @Override - public String getDisplayName() { - IAlleleFlowerSpecies species = getGenome().getPrimary(); - String name = ""; - if (species != null) { - name += species.getName(); - } - return name; - } + @Override + public String getDisplayName() { + IAlleleFlowerSpecies species = getGenome().getPrimary(); + String name = ""; + if (species != null) { + name += species.getName(); + } + return name; + } - @Override - public void addTooltip(List list) { - IAlleleFlowerSpecies primary = genome.getPrimary(); - IAlleleFlowerSpecies secondary = genome.getSecondary(); - if (!isPureBred(EnumFlowerChromosome.SPECIES)) { - list.add(EnumChatFormatting.BLUE + I18N.localise("botany.item.tooltip.hybrid", primary.getName(), secondary.getName())); - } + @Override + public void addTooltip(List list) { + IAlleleFlowerSpecies primary = genome.getPrimary(); + IAlleleFlowerSpecies secondary = genome.getSecondary(); + if (!isPureBred(EnumFlowerChromosome.SPECIES)) { + list.add(EnumChatFormatting.BLUE + + I18N.localise("botany.item.tooltip.hybrid", primary.getName(), secondary.getName())); + } - list.add(EnumChatFormatting.GRAY + I18N.localise("botany.item.tooltip.age", getAge())); - list.add(EnumChatFormatting.GREEN + I18N.localise("botany.item.tooltip.temperature", AlleleHelper.toDisplay(primary.getTemperature()), AlleleHelper.toDisplay(genome.getToleranceTemperature()))); - list.add(EnumChatFormatting.GREEN + I18N.localise("botany.item.tooltip.moisture", AlleleHelper.toDisplay(primary.getMoisture()), AlleleHelper.toDisplay(genome.getToleranceMoisture()))); - list.add(EnumChatFormatting.GREEN + I18N.localise("botany.item.tooltip.pH", AlleleHelper.toDisplay(primary.getHumidity()), AlleleHelper.toDisplay(genome.getTolerancePH()))); - list.add(EnumChatFormatting.GRAY + I18N.localise("botany.item.tooltip.fertility", genome.getFertility())); - } + list.add(EnumChatFormatting.GRAY + I18N.localise("botany.item.tooltip.age", getAge())); + list.add(EnumChatFormatting.GREEN + + I18N.localise( + "botany.item.tooltip.temperature", + AlleleHelper.toDisplay(primary.getTemperature()), + AlleleHelper.toDisplay(genome.getToleranceTemperature()))); + list.add(EnumChatFormatting.GREEN + + I18N.localise( + "botany.item.tooltip.moisture", + AlleleHelper.toDisplay(primary.getMoisture()), + AlleleHelper.toDisplay(genome.getToleranceMoisture()))); + list.add(EnumChatFormatting.GREEN + + I18N.localise( + "botany.item.tooltip.pH", + AlleleHelper.toDisplay(primary.getHumidity()), + AlleleHelper.toDisplay(genome.getTolerancePH()))); + list.add(EnumChatFormatting.GRAY + I18N.localise("botany.item.tooltip.fertility", genome.getFertility())); + } - @Override - public String getIdent() { - return getGenome().getPrimary().getUID(); - } + @Override + public String getIdent() { + return getGenome().getPrimary().getUID(); + } - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - if (nbttagcompound == null) { - genome = BotanyCore.getFlowerRoot().templateAsGenome(BotanyCore.getFlowerRoot().getDefaultTemplate()); - return; - } + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + super.readFromNBT(nbttagcompound); + if (nbttagcompound == null) { + genome = BotanyCore.getFlowerRoot() + .templateAsGenome(BotanyCore.getFlowerRoot().getDefaultTemplate()); + return; + } - age = nbttagcompound.getInteger("Age"); - wilting = nbttagcompound.getBoolean("Wilt"); - flowered = nbttagcompound.getBoolean("Flowered"); - if (nbttagcompound.hasKey("Genome")) { - genome = new FlowerGenome(nbttagcompound.getCompoundTag("Genome")); - } - if (nbttagcompound.hasKey("Mate")) { - mate = new FlowerGenome(nbttagcompound.getCompoundTag("Mate")); - } - } + age = nbttagcompound.getInteger("Age"); + wilting = nbttagcompound.getBoolean("Wilt"); + flowered = nbttagcompound.getBoolean("Flowered"); + if (nbttagcompound.hasKey("Genome")) { + genome = new FlowerGenome(nbttagcompound.getCompoundTag("Genome")); + } + if (nbttagcompound.hasKey("Mate")) { + mate = new FlowerGenome(nbttagcompound.getCompoundTag("Mate")); + } + } - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - nbttagcompound.setInteger("Age", age); - nbttagcompound.setBoolean("Wilt", wilting); - nbttagcompound.setBoolean("Flowered", flowered); + @Override + public void writeToNBT(NBTTagCompound nbttagcompound) { + super.writeToNBT(nbttagcompound); + 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 (genome != null) { + NBTTagCompound NBTmachine = new NBTTagCompound(); + genome.writeToNBT(NBTmachine); + nbttagcompound.setTag("Genome", NBTmachine); + } - if (mate != null) { - NBTTagCompound NBTmachine = new NBTTagCompound(); - mate.writeToNBT(NBTmachine); - nbttagcompound.setTag("Mate", NBTmachine); - } - } + if (mate != null) { + NBTTagCompound NBTmachine = new NBTTagCompound(); + mate.writeToNBT(NBTmachine); + nbttagcompound.setTag("Mate", NBTmachine); + } + } - public int getMetadata() { - return 0; - } + public int getMetadata() { + return 0; + } - @Override - public IFlowerGenome getGenome() { - return genome; - } + @Override + public IFlowerGenome getGenome() { + return genome; + } - @Override - public void mate(IFlower other) { - mate = new FlowerGenome(other.getGenome().getChromosomes()); - } + @Override + public void mate(IFlower other) { + mate = new FlowerGenome(other.getGenome().getChromosomes()); + } - @Override - public IFlowerGenome getMate() { - return mate; - } + @Override + public IFlowerGenome getMate() { + return mate; + } - @Override - public IFlower copy() { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - writeToNBT(nbttagcompound); - return new Flower(nbttagcompound); - } + @Override + public IFlower copy() { + NBTTagCompound nbttagcompound = new NBTTagCompound(); + writeToNBT(nbttagcompound); + return new Flower(nbttagcompound); + } - @Override - public int getAge() { - return age; - } + @Override + public int getAge() { + return age; + } - @Override - public void setAge(int age) { - this.age = age; - } + @Override + public void setAge(int age) { + this.age = age; + } - @Override - public void age() { - if (age < 15) { - age++; - } - } + @Override + public void age() { + if (age < 15) { + age++; + } + } - @Override - public int getMaxAge() { - return getGenome().getLifespan(); - } + @Override + public int getMaxAge() { + return getGenome().getLifespan(); + } - @Override - public boolean isWilted() { - return wilting; - } + @Override + public boolean isWilted() { + return wilting; + } - @Override - public void setWilted(boolean value) { - wilting = value; - } + @Override + public void setWilted(boolean value) { + wilting = value; + } - @Override - public boolean hasFlowered() { - return flowered; - } + @Override + public boolean hasFlowered() { + return flowered; + } - @Override - public void setFlowered(boolean value) { - flowered = value; - } + @Override + public void setFlowered(boolean value) { + flowered = value; + } - @Override - public void removeMate() { - mate = null; - } + @Override + public void removeMate() { + mate = null; + } - @Override - 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]); - } - } - return new Flower(new FlowerGenome(chromosomes), 0); - } + @Override + 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]); + } + } + return new Flower(new FlowerGenome(chromosomes), 0); + } - private IChromosome[] mutateSpecies(World world, IFlowerGenome genomeOne, IFlowerGenome genomeTwo) { - IChromosome[] parent1 = genomeOne.getChromosomes(); - IChromosome[] parent2 = genomeTwo.getChromosomes(); - IAllele allele0; - IAllele allele2; - IFlowerGenome genome0; - IFlowerGenome genome2; + private IChromosome[] mutateSpecies(World world, IFlowerGenome genomeOne, IFlowerGenome genomeTwo) { + IChromosome[] parent1 = genomeOne.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 { - allele0 = parent2[EnumTreeChromosome.SPECIES.ordinal()].getPrimaryAllele(); - allele2 = parent1[EnumTreeChromosome.SPECIES.ordinal()].getSecondaryAllele(); - genome0 = genomeTwo; - genome2 = genomeOne; - } + if (world.rand.nextBoolean()) { + allele0 = parent1[EnumTreeChromosome.SPECIES.ordinal()].getPrimaryAllele(); + allele2 = parent2[EnumTreeChromosome.SPECIES.ordinal()].getSecondaryAllele(); + genome0 = genomeOne; + genome2 = genomeTwo; + } else { + allele0 = parent2[EnumTreeChromosome.SPECIES.ordinal()].getPrimaryAllele(); + allele2 = parent1[EnumTreeChromosome.SPECIES.ordinal()].getSecondaryAllele(); + genome0 = genomeTwo; + genome2 = genomeOne; + } - IFlowerColor colour1 = genome0.getPrimaryColor(); - IFlowerColor colour2 = genome2.getPrimaryColor(); - if (colour1 != colour2) { - 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()); - } - } - } + IFlowerColor colour1 = genome0.getPrimaryColor(); + IFlowerColor colour2 = genome2.getPrimaryColor(); + if (colour1 != colour2) { + 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 (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.getSecondaryColor(); + colour2 = genome2.getSecondaryColor(); + if (colour1 != colour2) { + 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 (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()); - } - } - } + colour1 = genome0.getStemColor(); + colour2 = genome2.getStemColor(); + if (colour1 != colour2) { + 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 (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()); - } - } + IChromosome[] template = null; + 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; - } - return parent1; - } + if (template != null) { + parent1 = template; + } + return parent1; + } } diff --git a/src/main/java/binnie/botany/genetics/FlowerGenome.java b/src/main/java/binnie/botany/genetics/FlowerGenome.java index 6ddc36ed..39e60b36 100644 --- a/src/main/java/binnie/botany/genetics/FlowerGenome.java +++ b/src/main/java/binnie/botany/genetics/FlowerGenome.java @@ -19,112 +19,110 @@ import forestry.core.genetics.Genome; import net.minecraft.nbt.NBTTagCompound; public class FlowerGenome extends Genome implements IFlowerGenome { - public FlowerGenome(NBTTagCompound nbttagcompound) { - super(nbttagcompound); - } + public FlowerGenome(NBTTagCompound nbttagcompound) { + super(nbttagcompound); + } - public FlowerGenome(IChromosome[] chromosomes) { - super(chromosomes); - } + public FlowerGenome(IChromosome[] chromosomes) { + super(chromosomes); + } - @Override - public IAlleleFlowerSpecies getPrimary() { - return (IAlleleFlowerSpecies) getChromosomes()[EnumFlowerChromosome.SPECIES.ordinal()].getPrimaryAllele(); - } + @Override + public IAlleleFlowerSpecies getPrimary() { + return (IAlleleFlowerSpecies) getChromosomes()[EnumFlowerChromosome.SPECIES.ordinal()].getPrimaryAllele(); + } - @Override - public IAlleleFlowerSpecies getSecondary() { - return (IAlleleFlowerSpecies) getChromosomes()[EnumFlowerChromosome.SPECIES.ordinal()].getSecondaryAllele(); - } + @Override + public IAlleleFlowerSpecies getSecondary() { + return (IAlleleFlowerSpecies) getChromosomes()[EnumFlowerChromosome.SPECIES.ordinal()].getSecondaryAllele(); + } - @Override - public ISpeciesRoot getSpeciesRoot() { - return BotanyCore.getFlowerRoot(); - } + @Override + public ISpeciesRoot getSpeciesRoot() { + return BotanyCore.getFlowerRoot(); + } - @Override - public EnumFlowerColor getPrimaryColor() { - return ((AlleleColor) getActiveAllele(EnumFlowerChromosome.PRIMARY)).getColor(); - } + @Override + public EnumFlowerColor getPrimaryColor() { + return ((AlleleColor) getActiveAllele(EnumFlowerChromosome.PRIMARY)).getColor(); + } - @Override - public EnumFlowerColor getSecondaryColor() { - return ((AlleleColor) getActiveAllele(EnumFlowerChromosome.SECONDARY)).getColor(); - } + @Override + public EnumFlowerColor getSecondaryColor() { + return ((AlleleColor) getActiveAllele(EnumFlowerChromosome.SECONDARY)).getColor(); + } - @Override - public EnumFlowerColor getStemColor() { - return ((AlleleColor) getActiveAllele(EnumFlowerChromosome.STEM)).getColor(); - } + @Override + public EnumFlowerColor getStemColor() { + return ((AlleleColor) getActiveAllele(EnumFlowerChromosome.STEM)).getColor(); + } - @Override - public int getFertility() { - return ((IAlleleInteger) getActiveAllele(EnumFlowerChromosome.FERTILITY)).getValue(); - } + @Override + public int getFertility() { + return ((IAlleleInteger) getActiveAllele(EnumFlowerChromosome.FERTILITY)).getValue(); + } - @Override - public int getLifespan() { - return ((IAlleleInteger) getActiveAllele(EnumFlowerChromosome.LIFESPAN)).getValue() / 5; - } + @Override + public int getLifespan() { + return ((IAlleleInteger) getActiveAllele(EnumFlowerChromosome.LIFESPAN)).getValue() / 5; + } - @Override - public IFlowerType getType() { - return getPrimary().getType(); - } + @Override + public IFlowerType getType() { + return getPrimary().getType(); + } - @Override - public EnumTolerance getToleranceTemperature() { - return ((IAlleleTolerance) getActiveAllele(EnumFlowerChromosome.TEMPERATURE_TOLERANCE)).getValue(); - } + @Override + public EnumTolerance getToleranceTemperature() { + return ((IAlleleTolerance) getActiveAllele(EnumFlowerChromosome.TEMPERATURE_TOLERANCE)).getValue(); + } - @Override - public EnumTolerance getToleranceMoisture() { - return ((IAlleleTolerance) getActiveAllele(EnumFlowerChromosome.HUMIDITY_TOLERANCE)).getValue(); - } + @Override + public EnumTolerance getToleranceMoisture() { + return ((IAlleleTolerance) getActiveAllele(EnumFlowerChromosome.HUMIDITY_TOLERANCE)).getValue(); + } - @Override - public EnumTolerance getTolerancePH() { - return ((IAlleleTolerance) getActiveAllele(EnumFlowerChromosome.PH_TOLERANCE)).getValue(); - } + @Override + public EnumTolerance getTolerancePH() { + return ((IAlleleTolerance) getActiveAllele(EnumFlowerChromosome.PH_TOLERANCE)).getValue(); + } - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - } + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + super.readFromNBT(nbttagcompound); + } - @Override - public float getAgeChance() { - return 1.0f * (float) Math.sqrt(2.0f / getLifespan()); - } + @Override + public float getAgeChance() { + return 1.0f * (float) Math.sqrt(2.0f / getLifespan()); + } - @Override - public float getSappiness() { - return ((IAlleleFloat) getActiveAllele(EnumFlowerChromosome.SAPPINESS)).getValue(); - } + @Override + public float getSappiness() { + return ((IAlleleFloat) getActiveAllele(EnumFlowerChromosome.SAPPINESS)).getValue(); + } - @Override - 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(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(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(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(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]; - } + @Override + 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 e180d394..efcc3299 100644 --- a/src/main/java/binnie/botany/genetics/FlowerHelper.java +++ b/src/main/java/binnie/botany/genetics/FlowerHelper.java @@ -18,257 +18,261 @@ 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 net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; public class FlowerHelper extends SpeciesRoot implements IFlowerRoot { - public static int flowerSpeciesCount = -1; - public static ArrayList flowerTemplates = new ArrayList<>(); + public static int flowerSpeciesCount = -1; + public static ArrayList flowerTemplates = new ArrayList<>(); - protected static String UID = "rootFlowers"; + protected static String UID = "rootFlowers"; - private static ArrayList flowerMutations = new ArrayList<>(); - private static ArrayList colourMixes = new ArrayList<>(); + private static ArrayList flowerMutations = new ArrayList<>(); + private static ArrayList colourMixes = new ArrayList<>(); - protected Map conversions; + protected Map conversions; - public FlowerHelper() { - conversions = new HashMap<>(); - } + public FlowerHelper() { + conversions = new HashMap<>(); + } - @Override - public String getUID() { - return UID; - } + @Override + public String getUID() { + return UID; + } - @Override - public int getSpeciesCount() { - if (FlowerHelper.flowerSpeciesCount < 0) { - FlowerHelper.flowerSpeciesCount = 0; - for (Map.Entry entry : AlleleManager.alleleRegistry.getRegisteredAlleles().entrySet()) { - if (entry.getValue() instanceof IAlleleFlowerSpecies && ((IAlleleFlowerSpecies) entry.getValue()).isCounted()) { - FlowerHelper.flowerSpeciesCount++; - } - } - } - return FlowerHelper.flowerSpeciesCount; - } + @Override + public int getSpeciesCount() { + if (FlowerHelper.flowerSpeciesCount < 0) { + FlowerHelper.flowerSpeciesCount = 0; + for (Map.Entry entry : + AlleleManager.alleleRegistry.getRegisteredAlleles().entrySet()) { + if (entry.getValue() instanceof IAlleleFlowerSpecies + && ((IAlleleFlowerSpecies) entry.getValue()).isCounted()) { + FlowerHelper.flowerSpeciesCount++; + } + } + } + return FlowerHelper.flowerSpeciesCount; + } - @Override - public boolean isMember(ItemStack stack) { - return stack != null - && getStageType(stack) != EnumFlowerStage.NONE; - } + @Override + public boolean isMember(ItemStack stack) { + return stack != null && getStageType(stack) != EnumFlowerStage.NONE; + } - @Override - public boolean isMember(ItemStack stack, int type) { - return getStageType(stack).ordinal() == type; - } + @Override + public boolean isMember(ItemStack stack, int type) { + return getStageType(stack).ordinal() == type; + } - @Override - public boolean isMember(IIndividual individual) { - return individual instanceof IFlower; - } + @Override + public boolean isMember(IIndividual individual) { + return individual instanceof IFlower; + } - @Override - public ItemStack getMemberStack(IIndividual flower, int type) { - if (!isMember(flower)) { - return null; - } + @Override + public ItemStack getMemberStack(IIndividual flower, int type) { + if (!isMember(flower)) { + return null; + } - Item flowerItem = Botany.flowerItem; - if (type == EnumFlowerStage.SEED.ordinal()) { - flowerItem = Botany.seed; - } + Item flowerItem = Botany.flowerItem; + if (type == EnumFlowerStage.SEED.ordinal()) { + flowerItem = Botany.seed; + } - if (type == EnumFlowerStage.POLLEN.ordinal()) { - flowerItem = Botany.pollen; - } + if (type == EnumFlowerStage.POLLEN.ordinal()) { + flowerItem = Botany.pollen; + } - if (flowerItem != Botany.flowerItem) { - ((IFlower) flower).setAge(0); - } + if (flowerItem != Botany.flowerItem) { + ((IFlower) flower).setAge(0); + } - NBTTagCompound nbttagcompound = new NBTTagCompound(); - flower.writeToNBT(nbttagcompound); - ItemStack flowerStack = new ItemStack(flowerItem); - flowerStack.setTagCompound(nbttagcompound); - return flowerStack; - } + NBTTagCompound nbttagcompound = new NBTTagCompound(); + flower.writeToNBT(nbttagcompound); + ItemStack flowerStack = new ItemStack(flowerItem); + flowerStack.setTagCompound(nbttagcompound); + return flowerStack; + } - @Override - 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 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(ItemStack stack) { - if (!isMember(stack)) { - return null; - } - return new Flower(stack.getTagCompound()); - } + @Override + public IFlower getMember(ItemStack stack) { + if (!isMember(stack)) { + return null; + } + return new Flower(stack.getTagCompound()); + } - @Override - public IFlower getFlower(World world, IFlowerGenome genome) { - return new Flower(genome, 2); - } + @Override + public IFlower getFlower(World world, IFlowerGenome genome) { + return new Flower(genome, 2); + } - @Override - public IFlowerGenome templateAsGenome(IAllele[] template) { - return new FlowerGenome(templateAsChromosomes(template)); - } + @Override + public IFlowerGenome templateAsGenome(IAllele[] template) { + return new FlowerGenome(templateAsChromosomes(template)); + } - @Override - public IFlowerGenome templateAsGenome(IAllele[] templateActive, IAllele[] templateInactive) { - return new FlowerGenome(templateAsChromosomes(templateActive, templateInactive)); - } + @Override + public IFlowerGenome templateAsGenome(IAllele[] templateActive, IAllele[] templateInactive) { + return new FlowerGenome(templateAsChromosomes(templateActive, templateInactive)); + } - @Override - public IFlower templateAsIndividual(IAllele[] template) { - return new Flower(templateAsGenome(template), 2); - } + @Override + public IFlower templateAsIndividual(IAllele[] template) { + return new Flower(templateAsGenome(template), 2); + } - @Override - public IFlower templateAsIndividual(IAllele[] templateActive, IAllele[] templateInactive) { - return new Flower(templateAsGenome(templateActive, templateInactive), 2); - } + @Override + public IFlower templateAsIndividual(IAllele[] templateActive, IAllele[] templateInactive) { + return new Flower(templateAsGenome(templateActive, templateInactive), 2); + } - @Override - public ArrayList getIndividualTemplates() { - return FlowerHelper.flowerTemplates; - } + @Override + public ArrayList getIndividualTemplates() { + return FlowerHelper.flowerTemplates; + } - @Override - public void registerTemplate(IAllele[] template) { - registerTemplate(template[0].getUID(), template); - } + @Override + public void registerTemplate(IAllele[] template) { + registerTemplate(template[0].getUID(), template); + } - @Override - 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 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(String identifier) { - return speciesTemplates.get(identifier); - } + @Override + public IAllele[] getTemplate(String identifier) { + return speciesTemplates.get(identifier); + } - @Override - public IAllele[] getDefaultTemplate() { - return FlowerTemplates.getDefaultTemplate(); - } + @Override + public IAllele[] getDefaultTemplate() { + return FlowerTemplates.getDefaultTemplate(); + } - @Override - public IAllele[] getRandomTemplate(Random rand) { - return speciesTemplates.values().toArray(new IAllele[0][])[rand.nextInt(speciesTemplates.values().size())]; - } + @Override + public IAllele[] getRandomTemplate(Random rand) { + return speciesTemplates.values() + .toArray(new IAllele[0][])[ + rand.nextInt(speciesTemplates.values().size())]; + } - @Override - public Collection getMutations(boolean shuffle) { - if (shuffle) { - Collections.shuffle(FlowerHelper.flowerMutations); - } - return FlowerHelper.flowerMutations; - } + @Override + public Collection getMutations(boolean shuffle) { + if (shuffle) { + Collections.shuffle(FlowerHelper.flowerMutations); + } + return FlowerHelper.flowerMutations; + } - @Override - 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 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(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); - world.setItemData(filename, tracker); - } - return tracker; - } + @Override + 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); + world.setItemData(filename, tracker); + } + return tracker; + } - @Override - public IIndividual getMember(NBTTagCompound compound) { - return new Flower(compound); - } + @Override + public IIndividual getMember(NBTTagCompound compound) { + return new Flower(compound); + } - @Override - public Class getMemberClass() { - return IFlower.class; - } + @Override + public Class getMemberClass() { + return IFlower.class; + } - @Override - public IChromosomeType[] getKaryotype() { - return EnumFlowerChromosome.values(); - } + @Override + public IChromosomeType[] getKaryotype() { + return EnumFlowerChromosome.values(); + } - @Override - public IChromosomeType getKaryotypeKey() { - return EnumFlowerChromosome.SPECIES; - } + @Override + public IChromosomeType getKaryotypeKey() { + return EnumFlowerChromosome.SPECIES; + } - @Override - public void addConversion(ItemStack stack, IAllele[] template) { - IFlower flower = getFlower(null, templateAsGenome(template)); - conversions.put(stack, flower); - } + @Override + public void addConversion(ItemStack stack, IAllele[] template) { + IFlower flower = getFlower(null, templateAsGenome(template)); + conversions.put(stack, flower); + } - @Override - public IFlower getConversion(ItemStack stack) { - for (Map.Entry entry : conversions.entrySet()) { - if (entry.getKey().isItemEqual(stack)) { - return (IFlower) entry.getValue().copy(); - } - } - return null; - } + @Override + public IFlower getConversion(ItemStack stack) { + for (Map.Entry entry : conversions.entrySet()) { + if (entry.getKey().isItemEqual(stack)) { + return (IFlower) entry.getValue().copy(); + } + } + return null; + } - @Override - public void registerColourMix(IColourMix colorMix) { - FlowerHelper.colourMixes.add(colorMix); - } + @Override + public void registerColourMix(IColourMix colorMix) { + FlowerHelper.colourMixes.add(colorMix); + } - @Override - public Collection getColourMixes(boolean shuffle) { - if (shuffle) { - Collections.shuffle(FlowerHelper.colourMixes); - } - return FlowerHelper.colourMixes; - } + @Override + public Collection getColourMixes(boolean shuffle) { + if (shuffle) { + Collections.shuffle(FlowerHelper.colourMixes); + } + return FlowerHelper.colourMixes; + } - // ?? - @Override - public ISpeciesType getType(ItemStack stack) { - return null; - } + // ?? + @Override + 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 6cfbef27..33e37059 100644 --- a/src/main/java/binnie/botany/genetics/FlowerMutation.java +++ b/src/main/java/binnie/botany/genetics/FlowerMutation.java @@ -6,80 +6,80 @@ 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; public class FlowerMutation implements IFlowerMutation { - protected IAlleleFlowerSpecies allele0; - protected IAlleleFlowerSpecies allele1; - protected IAllele[] template; - protected int chance; + protected IAlleleFlowerSpecies allele0; + protected IAlleleFlowerSpecies allele1; + protected IAllele[] template; + protected int chance; - FlowerMutation(IAlleleFlowerSpecies allele0, IAlleleFlowerSpecies allele1, IAllele[] template, int chance) { - this.allele0 = allele0; - this.allele1 = allele1; - this.template = template; - this.chance = chance; - } + FlowerMutation(IAlleleFlowerSpecies allele0, IAlleleFlowerSpecies allele1, IAllele[] template, int chance) { + this.allele0 = allele0; + this.allele1 = allele1; + this.template = template; + this.chance = chance; + } - @Override - public IAlleleFlowerSpecies getAllele0() { - return allele0; - } + @Override + public IAlleleFlowerSpecies getAllele0() { + return allele0; + } - @Override - public IAlleleFlowerSpecies getAllele1() { - return allele1; - } + @Override + public IAlleleFlowerSpecies getAllele1() { + return allele1; + } - @Override - public IAllele[] getTemplate() { - return template; - } + @Override + public IAllele[] getTemplate() { + return template; + } - @Override - public float getBaseChance() { - return chance; - } + @Override + public float getBaseChance() { + return chance; + } - @Override - public boolean isPartner(IAllele allele) { - return allele.getUID().equals(allele0.getUID()) - || allele.getUID().equals(allele1.getUID()); - } + @Override + public boolean isPartner(IAllele allele) { + return allele.getUID().equals(allele0.getUID()) || allele.getUID().equals(allele1.getUID()); + } - @Override - public IAllele getPartner(IAllele allele) { - return allele.getUID().equals(allele0.getUID()) ? allele1 : allele0; - } + @Override + public IAllele getPartner(IAllele allele) { + return allele.getUID().equals(allele0.getUID()) ? allele1 : allele0; + } - @Override - public boolean isSecret() { - return false; - } + @Override + public boolean isSecret() { + return false; + } - @Override - 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 getBaseChance(); - } - if (this.allele1.getUID().equals(allele0.getUID()) && this.allele0.getUID().equals(allele1.getUID())) { - return getBaseChance(); - } - return 0.0f; - } + @Override + 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 getBaseChance(); + } + if (this.allele1.getUID().equals(allele0.getUID()) + && this.allele0.getUID().equals(allele1.getUID())) { + return getBaseChance(); + } + return 0.0f; + } - @Override - public ISpeciesRoot getRoot() { - return BotanyCore.getFlowerRoot(); - } + @Override + public ISpeciesRoot getRoot() { + return BotanyCore.getFlowerRoot(); + } - @Override - public Collection getSpecialConditions() { - return new ArrayList<>(); - } + @Override + public Collection getSpecialConditions() { + return new ArrayList<>(); + } } diff --git a/src/main/java/binnie/botany/genetics/FlowerSpecies.java b/src/main/java/binnie/botany/genetics/FlowerSpecies.java index d7a730be..0920d0bd 100644 --- a/src/main/java/binnie/botany/genetics/FlowerSpecies.java +++ b/src/main/java/binnie/botany/genetics/FlowerSpecies.java @@ -22,630 +22,726 @@ import forestry.api.genetics.IClassification; import forestry.api.genetics.IIndividual; import forestry.api.genetics.ISpeciesRoot; import forestry.core.genetics.alleles.EnumAllele; +import java.util.ArrayList; +import java.util.List; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -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.DEEP_SKY_BLUE), - ALLIUM("allium", "allium", "giganteum", EnumFlowerType.ALLIUM, EnumFlowerColor.MEDIUM_PURPLE), - BLUET("bluet", "houstonia", "caerulea", EnumFlowerType.BLUET, EnumFlowerColor.LAVENDER, EnumFlowerColor.KHAKI), - TULIP("tulip", "tulipa", "agenensis", EnumFlowerType.TULIP, EnumFlowerColor.VIOLET), - DAISY("daisy", "leucanthemum", "vulgare", EnumFlowerType.DAISY, EnumFlowerColor.WHITE, EnumFlowerColor.YELLOW), - CORNFLOWER("cornflower", "centaurea", "cyanus", EnumFlowerType.CORNFLOWER, EnumFlowerColor.SKY_BLUE), - PANSY("pansy", "viola", "tricolor", EnumFlowerType.PANSY, EnumFlowerColor.PINK, EnumFlowerColor.PURPLE), - IRIS("iris", "iris", "germanica", EnumFlowerType.IRIS, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PURPLE), - LAVENDER("lavender", "Lavandula", "angustifolia", EnumFlowerType.LAVENDER, EnumFlowerColor.MEDIUM_ORCHID), - VIOLA("viola", "viola", "odorata", EnumFlowerType.VIOLA, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.SLATE_BLUE), - DAFFODIL("daffodil", "narcissus", "pseudonarcissus", EnumFlowerType.DAFFODIL, EnumFlowerColor.YELLOW, EnumFlowerColor.GOLD), - DAHLIA("dahlia", "dahlia", "variabilis", EnumFlowerType.DAHLIA, EnumFlowerColor.HOT_PINK, EnumFlowerColor.DEEP_PINK), - PEONY("peony", "paeonia", "suffruticosa", EnumFlowerType.PEONY, EnumFlowerColor.THISTLE), - ROSE("rose", "rosa", "rubiginosa", EnumFlowerType.ROSE, EnumFlowerColor.RED), - LILAC("lilac", "syringa", "vulgaris", EnumFlowerType.LILAC, EnumFlowerColor.PLUM), - HYDRANGEA("hydrangea", "hydrangea", "macrophylla", EnumFlowerType.HYDRANGEA, EnumFlowerColor.DEEP_SKY_BLUE), - FOXGLOVE("foxglove", "digitalis", "purpurea", EnumFlowerType.FOXGLOVE, EnumFlowerColor.HOT_PINK), - ZINNIA("zinnia", "zinnia", "elegans", EnumFlowerType.ZINNIA, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.YELLOW), - CHRYSANTHEMUM("chrysanthemum", "chrysanthemum", "\u00ef?? grandiflorum", EnumFlowerType.MUMS, EnumFlowerColor.VIOLET), - MARIGOLD("marigold", "calendula", "officinalis", EnumFlowerType.MARIGOLD, EnumFlowerColor.GOLD, EnumFlowerColor.DARK_ORANGE), - GERANIUM("geranium", "geranium", "maderense", EnumFlowerType.GERANIUM, EnumFlowerColor.DEEP_PINK), - AZALEA("azalea", "rhododendrons", "aurigeranum", EnumFlowerType.AZALEA, EnumFlowerColor.HOT_PINK), - PRIMROSE("primrose", "primula", "vulgaris", EnumFlowerType.PRIMROSE, EnumFlowerColor.RED, EnumFlowerColor.GOLD), - ASTER("aster", "aster", "amellus", EnumFlowerType.ASTER, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.GOLDENROD), - CARNATION("carnation", "dianthus", "caryophyllus", EnumFlowerType.CARNATION, EnumFlowerColor.CRIMSON, EnumFlowerColor.WHITE), - LILY("lily", "lilium", "auratum", EnumFlowerType.LILY, EnumFlowerColor.PINK, EnumFlowerColor.GOLD), - YARROW("yarrow", "achillea", "millefolium", EnumFlowerType.YARROW, EnumFlowerColor.YELLOW), - PETUNIA("petunia", "petunia", "\u00ef?? atkinsiana", EnumFlowerType.PETUNIA, EnumFlowerColor.MEDIUM_VIOLET_RED, EnumFlowerColor.THISTLE), - AGAPANTHUS("agapanthus", "agapanthus", "praecox", EnumFlowerType.AGAPANTHUS, EnumFlowerColor.DEEP_SKY_BLUE), - FUCHSIA("fuchsia", "fuchsia", "magellanica", EnumFlowerType.FUCHSIA, EnumFlowerColor.DEEP_PINK, EnumFlowerColor.MEDIUM_ORCHID), - DIANTHUS("dianthus", "dianthus", "barbatus", EnumFlowerType.DIANTHUS, EnumFlowerColor.CRIMSON, EnumFlowerColor.HOT_PINK), - FORGET("forget-me-nots", "myosotis", "arvensis", EnumFlowerType.FORGET, EnumFlowerColor.LIGHT_STEEL_BLUE), - ANEMONE("anemone", "anemone", "coronaria", EnumFlowerType.ANEMONE, EnumFlowerColor.RED, EnumFlowerColor.MISTY_ROSE), - AQUILEGIA("aquilegia", "aquilegia", "vulgaris", EnumFlowerType.AQUILEGIA, EnumFlowerColor.SLATE_BLUE, EnumFlowerColor.THISTLE), - EDELWEISS("edelweiss", "leontopodium", "alpinum", EnumFlowerType.EDELWEISS, EnumFlowerColor.WHITE, EnumFlowerColor.KHAKI), - SCABIOUS("scabious", "scabiosa", "columbaria", EnumFlowerType.SCABIOUS, EnumFlowerColor.ROYAL_BLUE), - CONEFLOWER("coneflower", "echinacea", "purpurea", EnumFlowerType.CONEFLOWER, EnumFlowerColor.VIOLET, EnumFlowerColor.DARK_ORANGE), - GAILLARDIA("gaillardia", "gaillardia", "aristata", EnumFlowerType.GAILLARDIA, EnumFlowerColor.DARK_ORANGE, EnumFlowerColor.YELLOW), - AURICULA("auricula", "primula", "auricula", EnumFlowerType.AURICULA, EnumFlowerColor.RED, EnumFlowerColor.YELLOW), - CAMELLIA("camellia", "camellia", "japonica", EnumFlowerType.CAMELLIA, EnumFlowerColor.CRIMSON), - GOLDENROD("goldenrod", "solidago", "canadensis", EnumFlowerType.GOLDENROD, EnumFlowerColor.GOLD), - ALTHEA("althea", "althaea", "officinalis", EnumFlowerType.ALTHEA, EnumFlowerColor.THISTLE, EnumFlowerColor.MEDIUM_ORCHID), - PENSTEMON("penstemon", "penstemon", "digitalis", EnumFlowerType.PENSTEMON, EnumFlowerColor.MEDIUM_ORCHID, EnumFlowerColor.THISTLE), - DELPHINIUM("delphinium", "delphinium", "staphisagria", EnumFlowerType.DELPHINIUM, EnumFlowerColor.DARK_SLATE_BLUE), - HOLLYHOCK("hollyhock", "Alcea", "rosea", EnumFlowerType.HOLLYHOCK, EnumFlowerColor.BLACK, EnumFlowerColor.GOLD); - - protected EnumFlowerColor stemColor; - protected EnumAllele.Fertility fert; - protected EnumAllele.Lifespan life; - protected EnumAllele.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) { - this.name = name; - this.binomial = binomial; - this.type = type; - this.primaryColor = primaryColor; - this.secondaryColor = 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<>(); - branchName = branch; - } - - public static void setupVariants() { - FlowerSpecies.DANDELION - .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.SHORTENED, EnumAllele.Sappiness.LOWER) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.BOTH_1) - .setStemColor(EnumFlowerColor.GREEN); - - FlowerSpecies.POPPY - .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.SHORTER, EnumAllele.Sappiness.AVERAGE) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) - .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_2) - .setStemColor(EnumFlowerColor.GREEN); - - FlowerSpecies.ORCHID - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.LOW) - .setPH(EnumAcidity.ACID, EnumTolerance.NONE) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.BOTH_1) - .setStemColor(EnumFlowerColor.GREEN); - - FlowerSpecies.ALLIUM - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOW) - .setPH(EnumAcidity.ALKALINE, EnumTolerance.DOWN_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1); - - FlowerSpecies.BLUET - .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOWER) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) - .setMoisture(EnumMoisture.DAMP, EnumTolerance.NONE) - .setStemColor(EnumFlowerColor.OLIVE_DRAB); - - FlowerSpecies.TULIP - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.AVERAGE) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.BOTH_1) - .setStemColor(EnumFlowerColor.OLIVE_DRAB); - - FlowerSpecies.DAISY - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOW) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) - .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_2) - .setStemColor(EnumFlowerColor.OLIVE_DRAB); - - FlowerSpecies.CORNFLOWER - .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.SHORTER, EnumAllele.Sappiness.LOW) - .setMutation(FlowerSpecies.DANDELION, FlowerSpecies.TULIP, 10) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) - .setStemColor(EnumFlowerColor.OLIVE_DRAB); - - FlowerSpecies.PANSY - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORTENED, EnumAllele.Sappiness.AVERAGE) - .setMutation(FlowerSpecies.TULIP, FlowerSpecies.VIOLA, 5) - .setPH(EnumAcidity.ACID, EnumTolerance.NONE) - .setTemperature(EnumTemperature.WARM, EnumTolerance.DOWN_1) - .setStemColor(EnumFlowerColor.SEA_GREEN); - - FlowerSpecies.IRIS - .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.AVERAGE) - .setMutation(FlowerSpecies.ORCHID, FlowerSpecies.VIOLA, 10) - .setPH(EnumAcidity.ACID, EnumTolerance.NONE) - .setTemperature(EnumTemperature.WARM, EnumTolerance.DOWN_1) - .setStemColor(EnumFlowerColor.SEA_GREEN); - - FlowerSpecies.LAVENDER - .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOW) - .setMutation(FlowerSpecies.ALLIUM, FlowerSpecies.VIOLA, 10) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.UP_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) - .setTemperature(EnumTemperature.WARM, EnumTolerance.DOWN_1) - .setStemColor(EnumFlowerColor.GREEN); - - FlowerSpecies.VIOLA - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORTENED, EnumAllele.Sappiness.AVERAGE) - .setMutation(FlowerSpecies.ORCHID, FlowerSpecies.POPPY, 15) - .setPH(EnumAcidity.ACID, EnumTolerance.NONE) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) - .setStemColor(EnumFlowerColor.OLIVE_DRAB); - - FlowerSpecies.DAFFODIL - .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.ELONGATED, EnumAllele.Sappiness.AVERAGE) - .setMutation(FlowerSpecies.DANDELION, FlowerSpecies.POPPY, 10) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) - .setStemColor(EnumFlowerColor.GREEN); - - FlowerSpecies.ASTER - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.HIGHER) - .setMutation(FlowerSpecies.DAISY, FlowerSpecies.TULIP, 10) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) - .setStemColor(EnumFlowerColor.GREEN); - - FlowerSpecies.LILAC - .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONGER, EnumAllele.Sappiness.AVERAGE) - .setPH(EnumAcidity.ALKALINE, EnumTolerance.DOWN_1) - .setStemColor(EnumFlowerColor.OLIVE_DRAB); - - FlowerSpecies.ROSE - .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONGER, EnumAllele.Sappiness.HIGH) - .setPH(EnumAcidity.ACID, EnumTolerance.UP_1) - .setStemColor(EnumFlowerColor.GREEN); - - FlowerSpecies.PEONY - .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.AVERAGE) - .setPH(EnumAcidity.ALKALINE, EnumTolerance.DOWN_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) - .setStemColor(EnumFlowerColor.DARK_GREEN); - - FlowerSpecies.MARIGOLD - .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.SHORTER, EnumAllele.Sappiness.AVERAGE) - .setMutation(FlowerSpecies.DAISY, FlowerSpecies.DANDELION, 10) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) - .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_2) - .setStemColor(EnumFlowerColor.GREEN); - - FlowerSpecies.HYDRANGEA - .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONGER, EnumAllele.Sappiness.HIGH) - .setMutation(FlowerSpecies.PEONY, FlowerSpecies.BLUET, 10) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) - .setMoisture(EnumMoisture.DAMP, EnumTolerance.NONE) - .setStemColor(EnumFlowerColor.DARK_GREEN); - - FlowerSpecies.FOXGLOVE - .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.SHORTENED, EnumAllele.Sappiness.LOW) - .setMutation(FlowerSpecies.LILAC, FlowerSpecies.ZINNIA, 5) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) - .setStemColor(EnumFlowerColor.DARK_GREEN); - - FlowerSpecies.DAHLIA - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.AVERAGE) - .setMutation(FlowerSpecies.DAISY, FlowerSpecies.ALLIUM, 15) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) - .setTemperature(EnumTemperature.NORMAL, EnumTolerance.BOTH_2) - .setStemColor(EnumFlowerColor.OLIVE_DRAB); - - FlowerSpecies.CHRYSANTHEMUM - .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.HIGH) - .setMutation(FlowerSpecies.GERANIUM, FlowerSpecies.ROSE, 10) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) - .setStemColor(EnumFlowerColor.MEDIUM_SEA_GREEN); - - FlowerSpecies.CARNATION - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.HIGH) - .setMutation(FlowerSpecies.DIANTHUS, FlowerSpecies.ROSE, 5) - .setPH(EnumAcidity.ALKALINE, EnumTolerance.DOWN_1) - .setStemColor(EnumFlowerColor.SEA_GREEN); - - FlowerSpecies.ZINNIA - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORTER, EnumAllele.Sappiness.AVERAGE) - .setMutation(FlowerSpecies.DAHLIA, FlowerSpecies.MARIGOLD, 5) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) - .setTemperature(EnumTemperature.NORMAL, EnumTolerance.BOTH_2) - .setStemColor(EnumFlowerColor.MEDIUM_SEA_GREEN); - - FlowerSpecies.PRIMROSE - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.AVERAGE) - .setMutation(FlowerSpecies.CHRYSANTHEMUM, FlowerSpecies.AURICULA, 5) - .setPH(EnumAcidity.ACID, EnumTolerance.UP_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) - .setStemColor(EnumFlowerColor.GREEN); - - FlowerSpecies.AZALEA - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.AVERAGE) - .setMutation(FlowerSpecies.ORCHID, FlowerSpecies.GERANIUM, 5) - .setPH(EnumAcidity.ACID, EnumTolerance.NONE) - .setStemColor(EnumFlowerColor.GREEN); - - FlowerSpecies.GERANIUM - .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.LOW) - .setMutation(FlowerSpecies.TULIP, FlowerSpecies.ORCHID, 15) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) - .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_1) - .setStemColor(EnumFlowerColor.MEDIUM_SEA_GREEN); - - FlowerSpecies.LILY - .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.LOW) - .setMutation(FlowerSpecies.TULIP, FlowerSpecies.CHRYSANTHEMUM, 5) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) - .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_1) - .setStemColor(EnumFlowerColor.GREEN); - - FlowerSpecies.YARROW - .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOW) - .setMutation(FlowerSpecies.DANDELION, FlowerSpecies.ORCHID, 10) - .setPH(EnumAcidity.ACID, EnumTolerance.UP_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) - .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); - - FlowerSpecies.PETUNIA - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORTER, EnumAllele.Sappiness.AVERAGE) - .setMutation(FlowerSpecies.TULIP, FlowerSpecies.DAHLIA, 5) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) - .setTemperature(EnumTemperature.WARM, EnumTolerance.UP_1) - .setStemColor(EnumFlowerColor.GREEN); - - FlowerSpecies.AGAPANTHUS - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOW) - .setMutation(FlowerSpecies.ALLIUM, FlowerSpecies.GERANIUM, 5) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) - .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_1) - .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); - - FlowerSpecies.FUCHSIA - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORTENED, EnumAllele.Sappiness.AVERAGE) - .setMutation(FlowerSpecies.FOXGLOVE, FlowerSpecies.DAHLIA, 5) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) - .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_1) - .setStemColor(EnumFlowerColor.SEA_GREEN); - - FlowerSpecies.DIANTHUS - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORT, EnumAllele.Sappiness.HIGH) - .setMutation(FlowerSpecies.TULIP, FlowerSpecies.POPPY, 15) - .setPH(EnumAcidity.ALKALINE, EnumTolerance.DOWN_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) - .setTemperature(EnumTemperature.NORMAL, EnumTolerance.BOTH_2) - .setStemColor(EnumFlowerColor.OLIVE_DRAB); - - FlowerSpecies.FORGET - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORT, EnumAllele.Sappiness.LOWER) - .setMutation(FlowerSpecies.ORCHID, FlowerSpecies.BLUET, 10) - .setPH(EnumAcidity.ACID, EnumTolerance.NONE) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) - .setTemperature(EnumTemperature.NORMAL, EnumTolerance.UP_1) - .setStemColor(EnumFlowerColor.GREEN); - - FlowerSpecies.ANEMONE - .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOW) - .setMutation(FlowerSpecies.AQUILEGIA, FlowerSpecies.ROSE, 5) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) - .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); - - FlowerSpecies.AQUILEGIA - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.AVERAGE) - .setMutation(FlowerSpecies.IRIS, FlowerSpecies.POPPY, 5) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) - .setStemColor(EnumFlowerColor.MEDIUM_SEA_GREEN); - - FlowerSpecies.EDELWEISS - .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOWEST) - .setMutation(FlowerSpecies.PEONY, FlowerSpecies.BLUET, 5) - .setPH(EnumAcidity.ALKALINE, EnumTolerance.DOWN_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) - .setTemperature(EnumTemperature.NORMAL, EnumTolerance.DOWN_1) - .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); - - FlowerSpecies.SCABIOUS - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORTENED, EnumAllele.Sappiness.LOW) - .setMutation(FlowerSpecies.ALLIUM, FlowerSpecies.CORNFLOWER, 5) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.UP_1) - .setTemperature(EnumTemperature.NORMAL, EnumTolerance.DOWN_1) - .setStemColor(EnumFlowerColor.OLIVE_DRAB); - - FlowerSpecies.CONEFLOWER - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.HIGHER) - .setMutation(FlowerSpecies.TULIP, FlowerSpecies.CORNFLOWER, 5) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) - .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); - - FlowerSpecies.GAILLARDIA - .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.HIGHER) - .setMutation(FlowerSpecies.DANDELION, FlowerSpecies.MARIGOLD, 5) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) - .setMoisture(EnumMoisture.DAMP, EnumTolerance.DOWN_1) - .setTemperature(EnumTemperature.NORMAL, EnumTolerance.BOTH_2) - .setStemColor(EnumFlowerColor.OLIVE_DRAB); - - FlowerSpecies.AURICULA - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.ELONGATED, EnumAllele.Sappiness.HIGH) - .setMutation(FlowerSpecies.POPPY, FlowerSpecies.GERANIUM, 10) - .setPH(EnumAcidity.ACID, EnumTolerance.UP_1) - .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) - .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); - - FlowerSpecies.CAMELLIA - .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.HIGH) - .setMutation(FlowerSpecies.HYDRANGEA, FlowerSpecies.ROSE, 5) - .setPH(EnumAcidity.ACID, EnumTolerance.NONE) - .setMoisture(EnumMoisture.DAMP, EnumTolerance.NONE) - .setTemperature(EnumTemperature.WARM, EnumTolerance.UP_1) - .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); - - FlowerSpecies.GOLDENROD - .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.HIGHER) - .setMutation(FlowerSpecies.LILAC, FlowerSpecies.MARIGOLD, 10) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) - .setStemColor(EnumFlowerColor.MEDIUM_SEA_GREEN); - - FlowerSpecies.ALTHEA - .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.ELONGATED, EnumAllele.Sappiness.HIGH) - .setMutation(FlowerSpecies.HYDRANGEA, FlowerSpecies.IRIS, 5) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) - .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_1) - .setStemColor(EnumFlowerColor.DARK_GREEN); - - FlowerSpecies.PENSTEMON - .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.LOW) - .setMutation(FlowerSpecies.PEONY, FlowerSpecies.LILAC, 5) - .setMoisture(EnumMoisture.DRY, EnumTolerance.UP_1) - .setTemperature(EnumTemperature.WARM, EnumTolerance.UP_1) - .setStemColor(EnumFlowerColor.OLIVE_DRAB); - - FlowerSpecies.DELPHINIUM - .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONGER, EnumAllele.Sappiness.LOW) - .setMutation(FlowerSpecies.LILAC, FlowerSpecies.BLUET, 5) - .setMoisture(EnumMoisture.DAMP, EnumTolerance.DOWN_1) - .setTemperature(EnumTemperature.NORMAL, EnumTolerance.DOWN_1) - .setStemColor(EnumFlowerColor.DARK_SEA_GREEN); - - FlowerSpecies.HOLLYHOCK - .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.HIGH) - .setMutation(FlowerSpecies.DELPHINIUM, FlowerSpecies.LAVENDER, 5) - .setPH(EnumAcidity.NEUTRAL, EnumTolerance.UP_1) - .setStemColor(EnumFlowerColor.GREEN); - - IFlowerRoot flowerRoot = BotanyCore.getFlowerRoot(); - flowerRoot.addConversion(new ItemStack(Blocks.yellow_flower, 1, 0), FlowerSpecies.DANDELION.getTemplate()); - flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 0), FlowerSpecies.POPPY.getTemplate()); - flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 1), FlowerSpecies.ORCHID.getTemplate()); - flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 2), FlowerSpecies.ALLIUM.getTemplate()); - flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 3), FlowerSpecies.BLUET.getTemplate()); - flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 7), FlowerSpecies.TULIP.getTemplate()); - flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 8), FlowerSpecies.DAISY.getTemplate()); - flowerRoot.addConversion(new ItemStack(Blocks.double_plant, 1, 1), FlowerSpecies.LILAC.getTemplate()); - flowerRoot.addConversion(new ItemStack(Blocks.double_plant, 1, 4), FlowerSpecies.ROSE.getTemplate()); - flowerRoot.addConversion(new ItemStack(Blocks.double_plant, 1, 5), FlowerSpecies.PEONY.getTemplate()); - flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 6), FlowerSpecies.TULIP.addVariant(EnumFlowerColor.WHITE)); - flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 4), FlowerSpecies.TULIP.addVariant(EnumFlowerColor.CRIMSON)); - flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 5), FlowerSpecies.TULIP.addVariant(EnumFlowerColor.DARK_ORANGE)); - - 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; - branch.addMemberSpecies(species); - } - } - - private FlowerSpecies setStemColor(EnumFlowerColor green) { - stemColor = green; - return this; - } - - private FlowerSpecies setTraits(EnumAllele.Fertility fertility, EnumAllele.Lifespan shortened, EnumAllele.Sappiness lower) { - fert = fertility; - life = shortened; - sap = lower; - return this; - } - - private FlowerSpecies setMutation(FlowerSpecies dandelion2, FlowerSpecies tulip2, int chance) { - BotanyCore.getFlowerRoot().registerMutation(new FlowerMutation(dandelion2, tulip2, getTemplate(), chance)); - return this; - } - - private IAllele[] addVariant(EnumFlowerColor a, EnumFlowerColor b) { - IAllele[] template = getTemplate(); - template[EnumFlowerChromosome.PRIMARY.ordinal()] = a.getAllele(); - template[EnumFlowerChromosome.SECONDARY.ordinal()] = b.getAllele(); - variantTemplates.add(template); - return template; - } - - private FlowerSpecies setTemperature(EnumTemperature temperature, EnumTolerance tolerance) { - this.temperature = temperature; - tempTolerance = tolerance; - return this; - } - - private FlowerSpecies setPH(EnumAcidity temperature, EnumTolerance tolerance) { - pH = temperature; - pHTolerance = tolerance; - return this; - } - - private FlowerSpecies setMoisture(EnumMoisture temperature, EnumTolerance tolerance) { - moisture = temperature; - moistureTolerance = tolerance; - return this; - } - - private IAllele[] addVariant(EnumFlowerColor a) { - return addVariant(a, a); - } - - public List getVariants() { - return variantTemplates; - } - - @Override - public String getName() { - return I18N.localise("botany.flower." + name); - } - - @Override - public String getDescription() { - return ""; - } - - @Override - public EnumTemperature getTemperature() { - return temperature; - } - - @Override - public EnumHumidity getHumidity() { - return EnumHumidity.values()[getMoisture().ordinal()]; - } - - @Override - public EnumAcidity getPH() { - return pH; - } - - @Override - public EnumMoisture getMoisture() { - return moisture; - } - - @Override - public boolean hasEffect() { - return false; - } - - @Override - public boolean isSecret() { - return false; - } - - @Override - public boolean isCounted() { - return true; - } - - @Override - public String getBinomial() { - return binomial; - } - - @Override - public String getAuthority() { - return "Binnie"; - } - - @Override - public IClassification getBranch() { - return branch; - } - - public void setBranch(IClassification branch) { - this.branch = branch; - } - - @Override - public String getUID() { - return "botany.flowers.species." + toString().toLowerCase(); - } - - @Override - public boolean isDominant() { - return false; - } - - public IAllele[] getTemplate() { - forestry.core.genetics.alleles.AlleleHelper alleleHelper = forestry.core.genetics.alleles.AlleleHelper.instance; - IAllele[] template = FlowerTemplates.getDefaultTemplate(); - template[0] = this; - alleleHelper.set(template, EnumFlowerChromosome.PRIMARY, AlleleHelper.getAllele(primaryColor)); - alleleHelper.set(template, EnumFlowerChromosome.SECONDARY, AlleleHelper.getAllele(secondaryColor)); - alleleHelper.set(template, EnumFlowerChromosome.TEMPERATURE_TOLERANCE, AlleleHelper.getAllele(tempTolerance)); - alleleHelper.set(template, EnumFlowerChromosome.PH_TOLERANCE, AlleleHelper.getAllele(pHTolerance)); - alleleHelper.set(template, EnumFlowerChromosome.HUMIDITY_TOLERANCE, AlleleHelper.getAllele(moistureTolerance)); - alleleHelper.set(template, EnumFlowerChromosome.FERTILITY, AlleleHelper.getAllele(fert)); - alleleHelper.set(template, EnumFlowerChromosome.LIFESPAN, AlleleHelper.getAllele(life)); - alleleHelper.set(template, EnumFlowerChromosome.SAPPINESS, AlleleHelper.getAllele(sap)); - alleleHelper.set(template, EnumFlowerChromosome.STEM, AlleleHelper.getAllele(stemColor)); - return template; - } - - @Override - @SideOnly(Side.CLIENT) - public IIconProvider getIconProvider() { - return null; - } - - @Override - public ISpeciesRoot getRoot() { - return BotanyCore.getFlowerRoot(); - } - - @Override - public int getIconColour(int renderPass) { - return 0; - } - - @Override - public int getComplexity() { - return 0; - } - - @Override - public float getResearchSuitability(ItemStack itemstack) { - return 0.0f; - } - - @Override - public ItemStack[] getResearchBounty(World world, GameProfile researcher, IIndividual individual, int bountyLevel) { - return null; - } - - @Override - public IFlowerType getType() { - return type; - } - - @Override - public String getUnlocalizedName() { - return getUID(); - } + DANDELION("dandelion", "taraxacum", "officinale", EnumFlowerType.DANDELION, EnumFlowerColor.YELLOW), + POPPY("poppy", "papaver", "rhoeas", EnumFlowerType.POPPY, EnumFlowerColor.RED), + ORCHID("orchid", "vanda", "coerulea", EnumFlowerType.ORCHID, EnumFlowerColor.DEEP_SKY_BLUE), + ALLIUM("allium", "allium", "giganteum", EnumFlowerType.ALLIUM, EnumFlowerColor.MEDIUM_PURPLE), + BLUET("bluet", "houstonia", "caerulea", EnumFlowerType.BLUET, EnumFlowerColor.LAVENDER, EnumFlowerColor.KHAKI), + TULIP("tulip", "tulipa", "agenensis", EnumFlowerType.TULIP, EnumFlowerColor.VIOLET), + DAISY("daisy", "leucanthemum", "vulgare", EnumFlowerType.DAISY, EnumFlowerColor.WHITE, EnumFlowerColor.YELLOW), + CORNFLOWER("cornflower", "centaurea", "cyanus", EnumFlowerType.CORNFLOWER, EnumFlowerColor.SKY_BLUE), + PANSY("pansy", "viola", "tricolor", EnumFlowerType.PANSY, EnumFlowerColor.PINK, EnumFlowerColor.PURPLE), + IRIS("iris", "iris", "germanica", EnumFlowerType.IRIS, EnumFlowerColor.LIGHT_GRAY, EnumFlowerColor.PURPLE), + LAVENDER("lavender", "Lavandula", "angustifolia", EnumFlowerType.LAVENDER, EnumFlowerColor.MEDIUM_ORCHID), + VIOLA("viola", "viola", "odorata", EnumFlowerType.VIOLA, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.SLATE_BLUE), + DAFFODIL( + "daffodil", + "narcissus", + "pseudonarcissus", + EnumFlowerType.DAFFODIL, + EnumFlowerColor.YELLOW, + EnumFlowerColor.GOLD), + DAHLIA( + "dahlia", + "dahlia", + "variabilis", + EnumFlowerType.DAHLIA, + EnumFlowerColor.HOT_PINK, + EnumFlowerColor.DEEP_PINK), + PEONY("peony", "paeonia", "suffruticosa", EnumFlowerType.PEONY, EnumFlowerColor.THISTLE), + ROSE("rose", "rosa", "rubiginosa", EnumFlowerType.ROSE, EnumFlowerColor.RED), + LILAC("lilac", "syringa", "vulgaris", EnumFlowerType.LILAC, EnumFlowerColor.PLUM), + HYDRANGEA("hydrangea", "hydrangea", "macrophylla", EnumFlowerType.HYDRANGEA, EnumFlowerColor.DEEP_SKY_BLUE), + FOXGLOVE("foxglove", "digitalis", "purpurea", EnumFlowerType.FOXGLOVE, EnumFlowerColor.HOT_PINK), + ZINNIA( + "zinnia", + "zinnia", + "elegans", + EnumFlowerType.ZINNIA, + EnumFlowerColor.MEDIUM_VIOLET_RED, + EnumFlowerColor.YELLOW), + CHRYSANTHEMUM( + "chrysanthemum", "chrysanthemum", "\u00ef?? grandiflorum", EnumFlowerType.MUMS, EnumFlowerColor.VIOLET), + MARIGOLD( + "marigold", + "calendula", + "officinalis", + EnumFlowerType.MARIGOLD, + EnumFlowerColor.GOLD, + EnumFlowerColor.DARK_ORANGE), + GERANIUM("geranium", "geranium", "maderense", EnumFlowerType.GERANIUM, EnumFlowerColor.DEEP_PINK), + AZALEA("azalea", "rhododendrons", "aurigeranum", EnumFlowerType.AZALEA, EnumFlowerColor.HOT_PINK), + PRIMROSE("primrose", "primula", "vulgaris", EnumFlowerType.PRIMROSE, EnumFlowerColor.RED, EnumFlowerColor.GOLD), + ASTER("aster", "aster", "amellus", EnumFlowerType.ASTER, EnumFlowerColor.MEDIUM_PURPLE, EnumFlowerColor.GOLDENROD), + CARNATION( + "carnation", + "dianthus", + "caryophyllus", + EnumFlowerType.CARNATION, + EnumFlowerColor.CRIMSON, + EnumFlowerColor.WHITE), + LILY("lily", "lilium", "auratum", EnumFlowerType.LILY, EnumFlowerColor.PINK, EnumFlowerColor.GOLD), + YARROW("yarrow", "achillea", "millefolium", EnumFlowerType.YARROW, EnumFlowerColor.YELLOW), + PETUNIA( + "petunia", + "petunia", + "\u00ef?? atkinsiana", + EnumFlowerType.PETUNIA, + EnumFlowerColor.MEDIUM_VIOLET_RED, + EnumFlowerColor.THISTLE), + AGAPANTHUS("agapanthus", "agapanthus", "praecox", EnumFlowerType.AGAPANTHUS, EnumFlowerColor.DEEP_SKY_BLUE), + FUCHSIA( + "fuchsia", + "fuchsia", + "magellanica", + EnumFlowerType.FUCHSIA, + EnumFlowerColor.DEEP_PINK, + EnumFlowerColor.MEDIUM_ORCHID), + DIANTHUS( + "dianthus", + "dianthus", + "barbatus", + EnumFlowerType.DIANTHUS, + EnumFlowerColor.CRIMSON, + EnumFlowerColor.HOT_PINK), + FORGET("forget-me-nots", "myosotis", "arvensis", EnumFlowerType.FORGET, EnumFlowerColor.LIGHT_STEEL_BLUE), + ANEMONE("anemone", "anemone", "coronaria", EnumFlowerType.ANEMONE, EnumFlowerColor.RED, EnumFlowerColor.MISTY_ROSE), + AQUILEGIA( + "aquilegia", + "aquilegia", + "vulgaris", + EnumFlowerType.AQUILEGIA, + EnumFlowerColor.SLATE_BLUE, + EnumFlowerColor.THISTLE), + EDELWEISS( + "edelweiss", + "leontopodium", + "alpinum", + EnumFlowerType.EDELWEISS, + EnumFlowerColor.WHITE, + EnumFlowerColor.KHAKI), + SCABIOUS("scabious", "scabiosa", "columbaria", EnumFlowerType.SCABIOUS, EnumFlowerColor.ROYAL_BLUE), + CONEFLOWER( + "coneflower", + "echinacea", + "purpurea", + EnumFlowerType.CONEFLOWER, + EnumFlowerColor.VIOLET, + EnumFlowerColor.DARK_ORANGE), + GAILLARDIA( + "gaillardia", + "gaillardia", + "aristata", + EnumFlowerType.GAILLARDIA, + EnumFlowerColor.DARK_ORANGE, + EnumFlowerColor.YELLOW), + AURICULA("auricula", "primula", "auricula", EnumFlowerType.AURICULA, EnumFlowerColor.RED, EnumFlowerColor.YELLOW), + CAMELLIA("camellia", "camellia", "japonica", EnumFlowerType.CAMELLIA, EnumFlowerColor.CRIMSON), + GOLDENROD("goldenrod", "solidago", "canadensis", EnumFlowerType.GOLDENROD, EnumFlowerColor.GOLD), + ALTHEA( + "althea", + "althaea", + "officinalis", + EnumFlowerType.ALTHEA, + EnumFlowerColor.THISTLE, + EnumFlowerColor.MEDIUM_ORCHID), + PENSTEMON( + "penstemon", + "penstemon", + "digitalis", + EnumFlowerType.PENSTEMON, + EnumFlowerColor.MEDIUM_ORCHID, + EnumFlowerColor.THISTLE), + DELPHINIUM("delphinium", "delphinium", "staphisagria", EnumFlowerType.DELPHINIUM, EnumFlowerColor.DARK_SLATE_BLUE), + HOLLYHOCK("hollyhock", "Alcea", "rosea", EnumFlowerType.HOLLYHOCK, EnumFlowerColor.BLACK, EnumFlowerColor.GOLD); + + protected EnumFlowerColor stemColor; + protected EnumAllele.Fertility fert; + protected EnumAllele.Lifespan life; + protected EnumAllele.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) { + this.name = name; + this.binomial = binomial; + this.type = type; + this.primaryColor = primaryColor; + this.secondaryColor = 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<>(); + branchName = branch; + } + + public static void setupVariants() { + FlowerSpecies.DANDELION + .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.SHORTENED, EnumAllele.Sappiness.LOWER) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.BOTH_1) + .setStemColor(EnumFlowerColor.GREEN); + + FlowerSpecies.POPPY + .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.SHORTER, EnumAllele.Sappiness.AVERAGE) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) + .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_2) + .setStemColor(EnumFlowerColor.GREEN); + + FlowerSpecies.ORCHID + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.LOW) + .setPH(EnumAcidity.ACID, EnumTolerance.NONE) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.BOTH_1) + .setStemColor(EnumFlowerColor.GREEN); + + FlowerSpecies.ALLIUM + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOW) + .setPH(EnumAcidity.ALKALINE, EnumTolerance.DOWN_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1); + + FlowerSpecies.BLUET + .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOWER) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) + .setMoisture(EnumMoisture.DAMP, EnumTolerance.NONE) + .setStemColor(EnumFlowerColor.OLIVE_DRAB); + + FlowerSpecies.TULIP + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.AVERAGE) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.BOTH_1) + .setStemColor(EnumFlowerColor.OLIVE_DRAB); + + FlowerSpecies.DAISY + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOW) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) + .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_2) + .setStemColor(EnumFlowerColor.OLIVE_DRAB); + + FlowerSpecies.CORNFLOWER + .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.SHORTER, EnumAllele.Sappiness.LOW) + .setMutation(FlowerSpecies.DANDELION, FlowerSpecies.TULIP, 10) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) + .setStemColor(EnumFlowerColor.OLIVE_DRAB); + + FlowerSpecies.PANSY + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORTENED, EnumAllele.Sappiness.AVERAGE) + .setMutation(FlowerSpecies.TULIP, FlowerSpecies.VIOLA, 5) + .setPH(EnumAcidity.ACID, EnumTolerance.NONE) + .setTemperature(EnumTemperature.WARM, EnumTolerance.DOWN_1) + .setStemColor(EnumFlowerColor.SEA_GREEN); + + FlowerSpecies.IRIS + .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.AVERAGE) + .setMutation(FlowerSpecies.ORCHID, FlowerSpecies.VIOLA, 10) + .setPH(EnumAcidity.ACID, EnumTolerance.NONE) + .setTemperature(EnumTemperature.WARM, EnumTolerance.DOWN_1) + .setStemColor(EnumFlowerColor.SEA_GREEN); + + FlowerSpecies.LAVENDER + .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOW) + .setMutation(FlowerSpecies.ALLIUM, FlowerSpecies.VIOLA, 10) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.UP_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) + .setTemperature(EnumTemperature.WARM, EnumTolerance.DOWN_1) + .setStemColor(EnumFlowerColor.GREEN); + + FlowerSpecies.VIOLA + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORTENED, EnumAllele.Sappiness.AVERAGE) + .setMutation(FlowerSpecies.ORCHID, FlowerSpecies.POPPY, 15) + .setPH(EnumAcidity.ACID, EnumTolerance.NONE) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) + .setStemColor(EnumFlowerColor.OLIVE_DRAB); + + FlowerSpecies.DAFFODIL + .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.ELONGATED, EnumAllele.Sappiness.AVERAGE) + .setMutation(FlowerSpecies.DANDELION, FlowerSpecies.POPPY, 10) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) + .setStemColor(EnumFlowerColor.GREEN); + + FlowerSpecies.ASTER + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.HIGHER) + .setMutation(FlowerSpecies.DAISY, FlowerSpecies.TULIP, 10) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) + .setStemColor(EnumFlowerColor.GREEN); + + FlowerSpecies.LILAC + .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONGER, EnumAllele.Sappiness.AVERAGE) + .setPH(EnumAcidity.ALKALINE, EnumTolerance.DOWN_1) + .setStemColor(EnumFlowerColor.OLIVE_DRAB); + + FlowerSpecies.ROSE + .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONGER, EnumAllele.Sappiness.HIGH) + .setPH(EnumAcidity.ACID, EnumTolerance.UP_1) + .setStemColor(EnumFlowerColor.GREEN); + + FlowerSpecies.PEONY + .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.AVERAGE) + .setPH(EnumAcidity.ALKALINE, EnumTolerance.DOWN_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) + .setStemColor(EnumFlowerColor.DARK_GREEN); + + FlowerSpecies.MARIGOLD + .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.SHORTER, EnumAllele.Sappiness.AVERAGE) + .setMutation(FlowerSpecies.DAISY, FlowerSpecies.DANDELION, 10) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) + .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_2) + .setStemColor(EnumFlowerColor.GREEN); + + FlowerSpecies.HYDRANGEA + .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONGER, EnumAllele.Sappiness.HIGH) + .setMutation(FlowerSpecies.PEONY, FlowerSpecies.BLUET, 10) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) + .setMoisture(EnumMoisture.DAMP, EnumTolerance.NONE) + .setStemColor(EnumFlowerColor.DARK_GREEN); + + FlowerSpecies.FOXGLOVE + .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.SHORTENED, EnumAllele.Sappiness.LOW) + .setMutation(FlowerSpecies.LILAC, FlowerSpecies.ZINNIA, 5) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) + .setStemColor(EnumFlowerColor.DARK_GREEN); + + FlowerSpecies.DAHLIA + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.AVERAGE) + .setMutation(FlowerSpecies.DAISY, FlowerSpecies.ALLIUM, 15) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) + .setTemperature(EnumTemperature.NORMAL, EnumTolerance.BOTH_2) + .setStemColor(EnumFlowerColor.OLIVE_DRAB); + + FlowerSpecies.CHRYSANTHEMUM + .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.HIGH) + .setMutation(FlowerSpecies.GERANIUM, FlowerSpecies.ROSE, 10) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) + .setStemColor(EnumFlowerColor.MEDIUM_SEA_GREEN); + + FlowerSpecies.CARNATION + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.HIGH) + .setMutation(FlowerSpecies.DIANTHUS, FlowerSpecies.ROSE, 5) + .setPH(EnumAcidity.ALKALINE, EnumTolerance.DOWN_1) + .setStemColor(EnumFlowerColor.SEA_GREEN); + + FlowerSpecies.ZINNIA + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORTER, EnumAllele.Sappiness.AVERAGE) + .setMutation(FlowerSpecies.DAHLIA, FlowerSpecies.MARIGOLD, 5) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) + .setTemperature(EnumTemperature.NORMAL, EnumTolerance.BOTH_2) + .setStemColor(EnumFlowerColor.MEDIUM_SEA_GREEN); + + FlowerSpecies.PRIMROSE + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.AVERAGE) + .setMutation(FlowerSpecies.CHRYSANTHEMUM, FlowerSpecies.AURICULA, 5) + .setPH(EnumAcidity.ACID, EnumTolerance.UP_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) + .setStemColor(EnumFlowerColor.GREEN); + + FlowerSpecies.AZALEA + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.AVERAGE) + .setMutation(FlowerSpecies.ORCHID, FlowerSpecies.GERANIUM, 5) + .setPH(EnumAcidity.ACID, EnumTolerance.NONE) + .setStemColor(EnumFlowerColor.GREEN); + + FlowerSpecies.GERANIUM + .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.LOW) + .setMutation(FlowerSpecies.TULIP, FlowerSpecies.ORCHID, 15) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) + .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_1) + .setStemColor(EnumFlowerColor.MEDIUM_SEA_GREEN); + + FlowerSpecies.LILY + .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.LOW) + .setMutation(FlowerSpecies.TULIP, FlowerSpecies.CHRYSANTHEMUM, 5) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) + .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_1) + .setStemColor(EnumFlowerColor.GREEN); + + FlowerSpecies.YARROW + .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOW) + .setMutation(FlowerSpecies.DANDELION, FlowerSpecies.ORCHID, 10) + .setPH(EnumAcidity.ACID, EnumTolerance.UP_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) + .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); + + FlowerSpecies.PETUNIA + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORTER, EnumAllele.Sappiness.AVERAGE) + .setMutation(FlowerSpecies.TULIP, FlowerSpecies.DAHLIA, 5) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) + .setTemperature(EnumTemperature.WARM, EnumTolerance.UP_1) + .setStemColor(EnumFlowerColor.GREEN); + + FlowerSpecies.AGAPANTHUS + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOW) + .setMutation(FlowerSpecies.ALLIUM, FlowerSpecies.GERANIUM, 5) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) + .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_1) + .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); + + FlowerSpecies.FUCHSIA + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORTENED, EnumAllele.Sappiness.AVERAGE) + .setMutation(FlowerSpecies.FOXGLOVE, FlowerSpecies.DAHLIA, 5) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) + .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_1) + .setStemColor(EnumFlowerColor.SEA_GREEN); + + FlowerSpecies.DIANTHUS + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORT, EnumAllele.Sappiness.HIGH) + .setMutation(FlowerSpecies.TULIP, FlowerSpecies.POPPY, 15) + .setPH(EnumAcidity.ALKALINE, EnumTolerance.DOWN_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) + .setTemperature(EnumTemperature.NORMAL, EnumTolerance.BOTH_2) + .setStemColor(EnumFlowerColor.OLIVE_DRAB); + + FlowerSpecies.FORGET + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORT, EnumAllele.Sappiness.LOWER) + .setMutation(FlowerSpecies.ORCHID, FlowerSpecies.BLUET, 10) + .setPH(EnumAcidity.ACID, EnumTolerance.NONE) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) + .setTemperature(EnumTemperature.NORMAL, EnumTolerance.UP_1) + .setStemColor(EnumFlowerColor.GREEN); + + FlowerSpecies.ANEMONE + .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOW) + .setMutation(FlowerSpecies.AQUILEGIA, FlowerSpecies.ROSE, 5) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) + .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); + + FlowerSpecies.AQUILEGIA + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.AVERAGE) + .setMutation(FlowerSpecies.IRIS, FlowerSpecies.POPPY, 5) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) + .setStemColor(EnumFlowerColor.MEDIUM_SEA_GREEN); + + FlowerSpecies.EDELWEISS + .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.LOWEST) + .setMutation(FlowerSpecies.PEONY, FlowerSpecies.BLUET, 5) + .setPH(EnumAcidity.ALKALINE, EnumTolerance.DOWN_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.DOWN_1) + .setTemperature(EnumTemperature.NORMAL, EnumTolerance.DOWN_1) + .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); + + FlowerSpecies.SCABIOUS + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.SHORTENED, EnumAllele.Sappiness.LOW) + .setMutation(FlowerSpecies.ALLIUM, FlowerSpecies.CORNFLOWER, 5) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.UP_1) + .setTemperature(EnumTemperature.NORMAL, EnumTolerance.DOWN_1) + .setStemColor(EnumFlowerColor.OLIVE_DRAB); + + FlowerSpecies.CONEFLOWER + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.HIGHER) + .setMutation(FlowerSpecies.TULIP, FlowerSpecies.CORNFLOWER, 5) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) + .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); + + FlowerSpecies.GAILLARDIA + .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.HIGHER) + .setMutation(FlowerSpecies.DANDELION, FlowerSpecies.MARIGOLD, 5) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) + .setMoisture(EnumMoisture.DAMP, EnumTolerance.DOWN_1) + .setTemperature(EnumTemperature.NORMAL, EnumTolerance.BOTH_2) + .setStemColor(EnumFlowerColor.OLIVE_DRAB); + + FlowerSpecies.AURICULA + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.ELONGATED, EnumAllele.Sappiness.HIGH) + .setMutation(FlowerSpecies.POPPY, FlowerSpecies.GERANIUM, 10) + .setPH(EnumAcidity.ACID, EnumTolerance.UP_1) + .setMoisture(EnumMoisture.NORMAL, EnumTolerance.UP_1) + .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); + + FlowerSpecies.CAMELLIA + .setTraits(EnumAllele.Fertility.NORMAL, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.HIGH) + .setMutation(FlowerSpecies.HYDRANGEA, FlowerSpecies.ROSE, 5) + .setPH(EnumAcidity.ACID, EnumTolerance.NONE) + .setMoisture(EnumMoisture.DAMP, EnumTolerance.NONE) + .setTemperature(EnumTemperature.WARM, EnumTolerance.UP_1) + .setStemColor(EnumFlowerColor.DARK_OLIVE_GREEN); + + FlowerSpecies.GOLDENROD + .setTraits(EnumAllele.Fertility.HIGH, EnumAllele.Lifespan.NORMAL, EnumAllele.Sappiness.HIGHER) + .setMutation(FlowerSpecies.LILAC, FlowerSpecies.MARIGOLD, 10) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.BOTH_1) + .setStemColor(EnumFlowerColor.MEDIUM_SEA_GREEN); + + FlowerSpecies.ALTHEA + .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.ELONGATED, EnumAllele.Sappiness.HIGH) + .setMutation(FlowerSpecies.HYDRANGEA, FlowerSpecies.IRIS, 5) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.DOWN_1) + .setTemperature(EnumTemperature.WARM, EnumTolerance.BOTH_1) + .setStemColor(EnumFlowerColor.DARK_GREEN); + + FlowerSpecies.PENSTEMON + .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.LOW) + .setMutation(FlowerSpecies.PEONY, FlowerSpecies.LILAC, 5) + .setMoisture(EnumMoisture.DRY, EnumTolerance.UP_1) + .setTemperature(EnumTemperature.WARM, EnumTolerance.UP_1) + .setStemColor(EnumFlowerColor.OLIVE_DRAB); + + FlowerSpecies.DELPHINIUM + .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONGER, EnumAllele.Sappiness.LOW) + .setMutation(FlowerSpecies.LILAC, FlowerSpecies.BLUET, 5) + .setMoisture(EnumMoisture.DAMP, EnumTolerance.DOWN_1) + .setTemperature(EnumTemperature.NORMAL, EnumTolerance.DOWN_1) + .setStemColor(EnumFlowerColor.DARK_SEA_GREEN); + + FlowerSpecies.HOLLYHOCK + .setTraits(EnumAllele.Fertility.LOW, EnumAllele.Lifespan.LONG, EnumAllele.Sappiness.HIGH) + .setMutation(FlowerSpecies.DELPHINIUM, FlowerSpecies.LAVENDER, 5) + .setPH(EnumAcidity.NEUTRAL, EnumTolerance.UP_1) + .setStemColor(EnumFlowerColor.GREEN); + + IFlowerRoot flowerRoot = BotanyCore.getFlowerRoot(); + flowerRoot.addConversion(new ItemStack(Blocks.yellow_flower, 1, 0), FlowerSpecies.DANDELION.getTemplate()); + flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 0), FlowerSpecies.POPPY.getTemplate()); + flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 1), FlowerSpecies.ORCHID.getTemplate()); + flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 2), FlowerSpecies.ALLIUM.getTemplate()); + flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 3), FlowerSpecies.BLUET.getTemplate()); + flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 7), FlowerSpecies.TULIP.getTemplate()); + flowerRoot.addConversion(new ItemStack(Blocks.red_flower, 1, 8), FlowerSpecies.DAISY.getTemplate()); + flowerRoot.addConversion(new ItemStack(Blocks.double_plant, 1, 1), FlowerSpecies.LILAC.getTemplate()); + flowerRoot.addConversion(new ItemStack(Blocks.double_plant, 1, 4), FlowerSpecies.ROSE.getTemplate()); + flowerRoot.addConversion(new ItemStack(Blocks.double_plant, 1, 5), FlowerSpecies.PEONY.getTemplate()); + flowerRoot.addConversion( + new ItemStack(Blocks.red_flower, 1, 6), FlowerSpecies.TULIP.addVariant(EnumFlowerColor.WHITE)); + flowerRoot.addConversion( + new ItemStack(Blocks.red_flower, 1, 4), FlowerSpecies.TULIP.addVariant(EnumFlowerColor.CRIMSON)); + flowerRoot.addConversion( + new ItemStack(Blocks.red_flower, 1, 5), FlowerSpecies.TULIP.addVariant(EnumFlowerColor.DARK_ORANGE)); + + 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; + branch.addMemberSpecies(species); + } + } + + private FlowerSpecies setStemColor(EnumFlowerColor green) { + stemColor = green; + return this; + } + + private FlowerSpecies setTraits( + EnumAllele.Fertility fertility, EnumAllele.Lifespan shortened, EnumAllele.Sappiness lower) { + fert = fertility; + life = shortened; + sap = lower; + return this; + } + + private FlowerSpecies setMutation(FlowerSpecies dandelion2, FlowerSpecies tulip2, int chance) { + BotanyCore.getFlowerRoot().registerMutation(new FlowerMutation(dandelion2, tulip2, getTemplate(), chance)); + return this; + } + + private IAllele[] addVariant(EnumFlowerColor a, EnumFlowerColor b) { + IAllele[] template = getTemplate(); + template[EnumFlowerChromosome.PRIMARY.ordinal()] = a.getAllele(); + template[EnumFlowerChromosome.SECONDARY.ordinal()] = b.getAllele(); + variantTemplates.add(template); + return template; + } + + private FlowerSpecies setTemperature(EnumTemperature temperature, EnumTolerance tolerance) { + this.temperature = temperature; + tempTolerance = tolerance; + return this; + } + + private FlowerSpecies setPH(EnumAcidity temperature, EnumTolerance tolerance) { + pH = temperature; + pHTolerance = tolerance; + return this; + } + + private FlowerSpecies setMoisture(EnumMoisture temperature, EnumTolerance tolerance) { + moisture = temperature; + moistureTolerance = tolerance; + return this; + } + + private IAllele[] addVariant(EnumFlowerColor a) { + return addVariant(a, a); + } + + public List getVariants() { + return variantTemplates; + } + + @Override + public String getName() { + return I18N.localise("botany.flower." + name); + } + + @Override + public String getDescription() { + return ""; + } + + @Override + public EnumTemperature getTemperature() { + return temperature; + } + + @Override + public EnumHumidity getHumidity() { + return EnumHumidity.values()[getMoisture().ordinal()]; + } + + @Override + public EnumAcidity getPH() { + return pH; + } + + @Override + public EnumMoisture getMoisture() { + return moisture; + } + + @Override + public boolean hasEffect() { + return false; + } + + @Override + public boolean isSecret() { + return false; + } + + @Override + public boolean isCounted() { + return true; + } + + @Override + public String getBinomial() { + return binomial; + } + + @Override + public String getAuthority() { + return "Binnie"; + } + + @Override + public IClassification getBranch() { + return branch; + } + + public void setBranch(IClassification branch) { + this.branch = branch; + } + + @Override + public String getUID() { + return "botany.flowers.species." + toString().toLowerCase(); + } + + @Override + public boolean isDominant() { + return false; + } + + public IAllele[] getTemplate() { + forestry.core.genetics.alleles.AlleleHelper alleleHelper = forestry.core.genetics.alleles.AlleleHelper.instance; + IAllele[] template = FlowerTemplates.getDefaultTemplate(); + template[0] = this; + alleleHelper.set(template, EnumFlowerChromosome.PRIMARY, AlleleHelper.getAllele(primaryColor)); + alleleHelper.set(template, EnumFlowerChromosome.SECONDARY, AlleleHelper.getAllele(secondaryColor)); + alleleHelper.set(template, EnumFlowerChromosome.TEMPERATURE_TOLERANCE, AlleleHelper.getAllele(tempTolerance)); + alleleHelper.set(template, EnumFlowerChromosome.PH_TOLERANCE, AlleleHelper.getAllele(pHTolerance)); + alleleHelper.set(template, EnumFlowerChromosome.HUMIDITY_TOLERANCE, AlleleHelper.getAllele(moistureTolerance)); + alleleHelper.set(template, EnumFlowerChromosome.FERTILITY, AlleleHelper.getAllele(fert)); + alleleHelper.set(template, EnumFlowerChromosome.LIFESPAN, AlleleHelper.getAllele(life)); + alleleHelper.set(template, EnumFlowerChromosome.SAPPINESS, AlleleHelper.getAllele(sap)); + alleleHelper.set(template, EnumFlowerChromosome.STEM, AlleleHelper.getAllele(stemColor)); + return template; + } + + @Override + @SideOnly(Side.CLIENT) + public IIconProvider getIconProvider() { + return null; + } + + @Override + public ISpeciesRoot getRoot() { + return BotanyCore.getFlowerRoot(); + } + + @Override + public int getIconColour(int renderPass) { + return 0; + } + + @Override + public int getComplexity() { + return 0; + } + + @Override + public float getResearchSuitability(ItemStack itemstack) { + return 0.0f; + } + + @Override + public ItemStack[] getResearchBounty(World world, GameProfile researcher, IIndividual individual, int bountyLevel) { + return null; + } + + @Override + public IFlowerType getType() { + return type; + } + + @Override + public String getUnlocalizedName() { + return getUID(); + } } diff --git a/src/main/java/binnie/botany/genetics/FlowerTemplates.java b/src/main/java/binnie/botany/genetics/FlowerTemplates.java index e14d3a34..07d926ac 100644 --- a/src/main/java/binnie/botany/genetics/FlowerTemplates.java +++ b/src/main/java/binnie/botany/genetics/FlowerTemplates.java @@ -7,20 +7,20 @@ import forestry.api.genetics.IAllele; import forestry.core.genetics.alleles.EnumAllele; public class FlowerTemplates { - public static IAllele[] getDefaultTemplate() { - IAllele[] alleles = new IAllele[EnumFlowerChromosome.values().length]; - alleles[EnumFlowerChromosome.SPECIES.ordinal()] = FlowerSpecies.POPPY; - alleles[EnumFlowerChromosome.PRIMARY.ordinal()] = AlleleHelper.getAllele(EnumFlowerColor.RED); - alleles[EnumFlowerChromosome.SECONDARY.ordinal()] = AlleleHelper.getAllele(EnumFlowerColor.RED); - alleles[EnumFlowerChromosome.FERTILITY.ordinal()] = AlleleHelper.getAllele(EnumAllele.Fertility.NORMAL); - alleles[EnumFlowerChromosome.TERRITORY.ordinal()] = AlleleHelper.getAllele(EnumAllele.Territory.AVERAGE); - alleles[EnumFlowerChromosome.EFFECT.ordinal()] = ModuleGenetics.alleleEffectNone; - alleles[EnumFlowerChromosome.LIFESPAN.ordinal()] = AlleleHelper.getAllele(EnumAllele.Lifespan.NORMAL); - alleles[EnumFlowerChromosome.TEMPERATURE_TOLERANCE.ordinal()] = AlleleHelper.getAllele(EnumTolerance.NONE); - alleles[EnumFlowerChromosome.HUMIDITY_TOLERANCE.ordinal()] = AlleleHelper.getAllele(EnumTolerance.NONE); - alleles[EnumFlowerChromosome.PH_TOLERANCE.ordinal()] = AlleleHelper.getAllele(EnumTolerance.NONE); - alleles[EnumFlowerChromosome.SAPPINESS.ordinal()] = AlleleHelper.getAllele(EnumAllele.Sappiness.AVERAGE); - alleles[EnumFlowerChromosome.STEM.ordinal()] = AlleleHelper.getAllele(EnumFlowerColor.GREEN); - return alleles; - } + public static IAllele[] getDefaultTemplate() { + IAllele[] alleles = new IAllele[EnumFlowerChromosome.values().length]; + alleles[EnumFlowerChromosome.SPECIES.ordinal()] = FlowerSpecies.POPPY; + alleles[EnumFlowerChromosome.PRIMARY.ordinal()] = AlleleHelper.getAllele(EnumFlowerColor.RED); + alleles[EnumFlowerChromosome.SECONDARY.ordinal()] = AlleleHelper.getAllele(EnumFlowerColor.RED); + alleles[EnumFlowerChromosome.FERTILITY.ordinal()] = AlleleHelper.getAllele(EnumAllele.Fertility.NORMAL); + alleles[EnumFlowerChromosome.TERRITORY.ordinal()] = AlleleHelper.getAllele(EnumAllele.Territory.AVERAGE); + alleles[EnumFlowerChromosome.EFFECT.ordinal()] = ModuleGenetics.alleleEffectNone; + alleles[EnumFlowerChromosome.LIFESPAN.ordinal()] = AlleleHelper.getAllele(EnumAllele.Lifespan.NORMAL); + alleles[EnumFlowerChromosome.TEMPERATURE_TOLERANCE.ordinal()] = AlleleHelper.getAllele(EnumTolerance.NONE); + alleles[EnumFlowerChromosome.HUMIDITY_TOLERANCE.ordinal()] = AlleleHelper.getAllele(EnumTolerance.NONE); + alleles[EnumFlowerChromosome.PH_TOLERANCE.ordinal()] = AlleleHelper.getAllele(EnumTolerance.NONE); + alleles[EnumFlowerChromosome.SAPPINESS.ordinal()] = AlleleHelper.getAllele(EnumAllele.Sappiness.AVERAGE); + alleles[EnumFlowerChromosome.STEM.ordinal()] = AlleleHelper.getAllele(EnumFlowerColor.GREEN); + return alleles; + } } diff --git a/src/main/java/binnie/botany/genetics/ItemDictionary.java b/src/main/java/binnie/botany/genetics/ItemDictionary.java index 26bd2b07..4b69d207 100644 --- a/src/main/java/binnie/botany/genetics/ItemDictionary.java +++ b/src/main/java/binnie/botany/genetics/ItemDictionary.java @@ -6,6 +6,7 @@ import binnie.botany.core.BotanyGUI; import binnie.core.util.I18N; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -14,54 +15,52 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import java.util.List; - public class ItemDictionary extends Item { - protected IIcon iconMaster; + protected IIcon iconMaster; - public ItemDictionary() { - setCreativeTab(CreativeTabBotany.instance); - setUnlocalizedName("database"); - setMaxStackSize(1); - } + public ItemDictionary() { + setCreativeTab(CreativeTabBotany.instance); + setUnlocalizedName("database"); + setMaxStackSize(1); + } - @Override - @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 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 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 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 + @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) { - BotanyGUI guiId = (stack.getItemDamage() == 0) ? BotanyGUI.Database : BotanyGUI.DatabaseNEI; - Botany.proxy.openGui(guiId, player, (int) player.posX, (int) player.posY, (int) player.posZ); - return stack; - } + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + BotanyGUI guiId = (stack.getItemDamage() == 0) ? BotanyGUI.Database : BotanyGUI.DatabaseNEI; + Botany.proxy.openGui(guiId, player, (int) player.posX, (int) player.posY, (int) player.posZ); + return stack; + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return (stack.getItemDamage() == 0) - ? I18N.localise("botany.item.database.0.name") - : I18N.localise("botany.item.database.1.name"); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return (stack.getItemDamage() == 0) + ? I18N.localise("botany.item.database.0.name") + : I18N.localise("botany.item.database.1.name"); + } } diff --git a/src/main/java/binnie/botany/genetics/ModuleGenetics.java b/src/main/java/binnie/botany/genetics/ModuleGenetics.java index 73c00fcc..f4420e02 100644 --- a/src/main/java/binnie/botany/genetics/ModuleGenetics.java +++ b/src/main/java/binnie/botany/genetics/ModuleGenetics.java @@ -22,56 +22,63 @@ import net.minecraft.init.Items; import net.minecraft.item.ItemStack; public class ModuleGenetics implements IInitializable { - static AlleleEffectNone alleleEffectNone = new AlleleEffectNone(); + static AlleleEffectNone alleleEffectNone = new AlleleEffectNone(); - @Override - public void preInit() { - EnumFlowerColor.setupMutations(); - Botany.flower = new BlockFlower(); - Botany.flowerItem = new ItemFlower(); - Botany.pollen = new ItemPollen(); - Botany.seed = new ItemSeed(); - AlleleManager.alleleRegistry.registerSpeciesRoot(BotanyCore.speciesRoot); - AlleleManager.alleleRegistry.registerAllele(ModuleGenetics.alleleEffectNone); - GameRegistry.registerBlock(Botany.flower, "flower"); - BinnieCore.proxy.registerTileEntity(TileEntityFlower.class, "botany.tile.flower", null); - Botany.database = new ItemDictionary(); - } + @Override + public void preInit() { + EnumFlowerColor.setupMutations(); + Botany.flower = new BlockFlower(); + Botany.flowerItem = new ItemFlower(); + Botany.pollen = new ItemPollen(); + Botany.seed = new ItemSeed(); + AlleleManager.alleleRegistry.registerSpeciesRoot(BotanyCore.speciesRoot); + AlleleManager.alleleRegistry.registerAllele(ModuleGenetics.alleleEffectNone); + GameRegistry.registerBlock(Botany.flower, "flower"); + BinnieCore.proxy.registerTileEntity(TileEntityFlower.class, "botany.tile.flower", null); + Botany.database = new ItemDictionary(); + } - @Override - public void init() { - for (EnumFlowerColor color : EnumFlowerColor.values()) { - AlleleManager.alleleRegistry.registerAllele(color.getAllele()); - } + @Override + public void init() { + for (EnumFlowerColor color : EnumFlowerColor.values()) { + AlleleManager.alleleRegistry.registerAllele(color.getAllele()); + } - FlowerSpecies.setupVariants(); - for (FlowerSpecies species : FlowerSpecies.values()) { - AlleleManager.alleleRegistry.registerAllele(species); - BotanyCore.getFlowerRoot().registerTemplate(species.getUID(), species.getTemplate()); - for (IAllele[] variant : species.getVariants()) { - BotanyCore.getFlowerRoot().registerTemplate(variant); - } - } + FlowerSpecies.setupVariants(); + for (FlowerSpecies species : FlowerSpecies.values()) { + AlleleManager.alleleRegistry.registerAllele(species); + BotanyCore.getFlowerRoot().registerTemplate(species.getUID(), species.getTemplate()); + for (IAllele[] variant : species.getVariants()) { + BotanyCore.getFlowerRoot().registerTemplate(variant); + } + } - RendererBotany.renderID = RenderingRegistry.getNextAvailableRenderId(); - BinnieCore.proxy.registerBlockRenderer(new RendererBotany()); - } + RendererBotany.renderID = RenderingRegistry.getNextAvailableRenderId(); + BinnieCore.proxy.registerBlockRenderer(new RendererBotany()); + } - @Override - public void postInit() { - 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 - ); - } + @Override + public void postInit() { + 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 eb721be3..24a9e8ea 100644 --- a/src/main/java/binnie/botany/items/BotanyItems.java +++ b/src/main/java/binnie/botany/items/BotanyItems.java @@ -3,58 +3,57 @@ package binnie.botany.items; import binnie.botany.Botany; import binnie.core.item.IItemMisc; import binnie.core.util.I18N; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import java.util.List; - public enum BotanyItems implements IItemMisc { - AshPowder("powderAsh"), - PulpPowder("powderPulp"), - MulchPowder("powderMulch"), - SulphurPowder("powderSulphur"), - FertiliserPowder("powderFertiliser"), - CompostPowder("powderCompost"), - Mortar("mortar"), - Weedkiller("weedkiller"); + AshPowder("powderAsh"), + PulpPowder("powderPulp"), + MulchPowder("powderMulch"), + SulphurPowder("powderSulphur"), + FertiliserPowder("powderFertiliser"), + CompostPowder("powderCompost"), + Mortar("mortar"), + Weedkiller("weedkiller"); - protected IIcon icon; - protected String name; - protected String iconPath; + protected IIcon icon; + protected String name; + protected String iconPath; - BotanyItems(String name) { - this.name = name; - this.iconPath = name; - } + BotanyItems(String name) { + this.name = name; + this.iconPath = name; + } - @Override - public IIcon getIcon(ItemStack itemStack) { - return icon; - } + @Override + public IIcon getIcon(ItemStack itemStack) { + return icon; + } - @Override - public void registerIcons(IIconRegister register) { - icon = Botany.proxy.getIcon(register, iconPath); - } + @Override + public void registerIcons(IIconRegister register) { + icon = Botany.proxy.getIcon(register, iconPath); + } - @Override - public void addInformation(List data) { - // ignored - } + @Override + public void addInformation(List data) { + // ignored + } - @Override - public String getName(ItemStack itemStack) { - return I18N.localise("botany.item." + name + ".name"); - } + @Override + public String getName(ItemStack itemStack) { + return I18N.localise("botany.item." + name + ".name"); + } - @Override - public ItemStack get(int count) { - return new ItemStack(Botany.misc, count, ordinal()); - } + @Override + public ItemStack get(int count) { + return new ItemStack(Botany.misc, count, ordinal()); + } - @Override - public boolean isActive() { - return true; - } + @Override + public boolean isActive() { + return true; + } } diff --git a/src/main/java/binnie/botany/items/ItemClay.java b/src/main/java/binnie/botany/items/ItemClay.java index deaf1501..079de92d 100644 --- a/src/main/java/binnie/botany/items/ItemClay.java +++ b/src/main/java/binnie/botany/items/ItemClay.java @@ -6,6 +6,7 @@ import binnie.botany.genetics.EnumFlowerColor; import binnie.core.util.I18N; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -13,44 +14,43 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; - public class ItemClay extends Item { - public ItemClay() { - setUnlocalizedName("clay"); - setHasSubtypes(true); - setCreativeTab(CreativeTabBotany.instance); - } + public ItemClay() { + setUnlocalizedName("clay"); + setHasSubtypes(true); + setCreativeTab(CreativeTabBotany.instance); + } - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { - super.addInformation(stack, player, tooltip, advanced); - tooltip.add(EnumChatFormatting.GRAY + EnumFlowerColor.get(stack.getItemDamage()).getName()); - } + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { + super.addInformation(stack, player, tooltip, advanced); + tooltip.add(EnumChatFormatting.GRAY + + EnumFlowerColor.get(stack.getItemDamage()).getName()); + } - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int index) { - int damage = stack.getItemDamage(); - return EnumFlowerColor.get(damage).getColor(false); - } + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int index) { + int damage = stack.getItemDamage(); + return EnumFlowerColor.get(damage).getColor(false); + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return I18N.localise("botany.item.clay.name"); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return I18N.localise("botany.item.clay.name"); + } - @Override - @SideOnly(Side.CLIENT) - 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 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(IIconRegister register) { - itemIcon = Botany.proxy.getIcon(register, "clay"); - } + @Override + @SideOnly(Side.CLIENT) + 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 b115f6d4..c860b652 100644 --- a/src/main/java/binnie/botany/items/ItemPigment.java +++ b/src/main/java/binnie/botany/items/ItemPigment.java @@ -6,6 +6,7 @@ import binnie.botany.genetics.EnumFlowerColor; import binnie.core.util.I18N; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -13,44 +14,43 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.List; - public class ItemPigment extends Item { - public ItemPigment() { - setUnlocalizedName("pigment"); - setHasSubtypes(true); - setCreativeTab(CreativeTabBotany.instance); - } + public ItemPigment() { + setUnlocalizedName("pigment"); + setHasSubtypes(true); + setCreativeTab(CreativeTabBotany.instance); + } - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { - super.addInformation(stack, player, tooltip, advanced); - tooltip.add(EnumChatFormatting.GRAY + EnumFlowerColor.get(stack.getItemDamage()).getName()); - } + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { + super.addInformation(stack, player, tooltip, advanced); + tooltip.add(EnumChatFormatting.GRAY + + EnumFlowerColor.get(stack.getItemDamage()).getName()); + } - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int index) { - int damage = stack.getItemDamage(); - return EnumFlowerColor.get(damage).getColor(false); - } + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int index) { + int damage = stack.getItemDamage(); + return EnumFlowerColor.get(damage).getColor(false); + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return I18N.localise("botany.item.pigment.name"); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return I18N.localise("botany.item.pigment.name"); + } - @Override - @SideOnly(Side.CLIENT) - 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 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(IIconRegister register) { - itemIcon = Botany.proxy.getIcon(register, "pigment"); - } + @Override + @SideOnly(Side.CLIENT) + 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 aaf57546..62337391 100644 --- a/src/main/java/binnie/botany/network/MessageFlowerUpdate.java +++ b/src/main/java/binnie/botany/network/MessageFlowerUpdate.java @@ -6,45 +6,44 @@ import binnie.botany.genetics.EnumFlowerType; import binnie.core.network.packet.MessageBinnie; import binnie.core.network.packet.MessageCoordinates; import io.netty.buffer.ByteBuf; - import java.io.IOException; public class MessageFlowerUpdate extends MessageCoordinates { - public TileEntityFlower.RenderInfo render; + public 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(int posX, int posY, int posZ, TileEntityFlower.RenderInfo render) { + super(PacketID.FlowerUpdate.ordinal(), posX, posY, posZ); + this.render = render; + } - public MessageFlowerUpdate(MessageBinnie message) { - super(message); - } + public MessageFlowerUpdate(MessageBinnie message) { + super(message); + } - @Override - public void writeData(ByteBuf data) throws IOException { - super.writeData(data); - 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 writeData(ByteBuf data) throws IOException { + super.writeData(data); + 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(ByteBuf data) throws IOException { - super.readData(data); - 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(); - } + @Override + public void readData(ByteBuf data) throws IOException { + super.readData(data); + 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 bccbeb23..17460563 100644 --- a/src/main/java/binnie/botany/network/PacketID.java +++ b/src/main/java/binnie/botany/network/PacketID.java @@ -17,74 +17,76 @@ import net.minecraft.util.ChatComponentText; import net.minecraft.util.IChatComponent; public enum PacketID implements IPacketID { - FieldKit, - FlowerUpdate; + FieldKit, + FlowerUpdate; - @Override - public void onMessage(MessageBinnie message, MessageContext context) { - if (this == PacketID.FieldKit && context.side == Side.CLIENT) { - onFieldKitPacket(message); - } else if (this == PacketID.FlowerUpdate) { - onFlowerUpdatePacket(message); - } - } + @Override + public void onMessage(MessageBinnie message, MessageContext context) { + if (this == PacketID.FieldKit && context.side == Side.CLIENT) { + onFieldKitPacket(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 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 onFieldKitPacket(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; - } + private void onFieldKitPacket(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"; - } + 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 (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 (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); - } + 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 97b6e4ec..30e0d89f 100644 --- a/src/main/java/binnie/botany/proxy/IBotanyProxy.java +++ b/src/main/java/binnie/botany/proxy/IBotanyProxy.java @@ -2,5 +2,4 @@ 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 4090238b..6de8dd66 100644 --- a/src/main/java/binnie/botany/proxy/Proxy.java +++ b/src/main/java/binnie/botany/proxy/Proxy.java @@ -4,7 +4,7 @@ import binnie.botany.Botany; import binnie.core.proxy.BinnieModProxy; public class Proxy extends BinnieModProxy implements IBotanyProxy { - public Proxy() { - super(Botany.instance); - } + 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 34fbba75..fa2382c1 100644 --- a/src/main/java/binnie/botany/proxy/ProxyClient.java +++ b/src/main/java/binnie/botany/proxy/ProxyClient.java @@ -1,4 +1,3 @@ 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 6dc31b56..f4809475 100644 --- a/src/main/java/binnie/botany/proxy/ProxyServer.java +++ b/src/main/java/binnie/botany/proxy/ProxyServer.java @@ -1,4 +1,3 @@ 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/core/AbstractMod.java b/src/main/java/binnie/core/AbstractMod.java index fc865875..43919073 100644 --- a/src/main/java/binnie/core/AbstractMod.java +++ b/src/main/java/binnie/core/AbstractMod.java @@ -11,133 +11,132 @@ import binnie.core.proxy.IProxyCore; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; import cpw.mods.fml.relauncher.Side; -import net.minecraftforge.common.MinecraftForge; - import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedHashSet; import java.util.List; +import net.minecraftforge.common.MinecraftForge; public abstract class AbstractMod implements IPacketProvider, IInitializable { - private SimpleNetworkWrapper wrapper; - private final LinkedHashSet fields; - protected final List modules; + private SimpleNetworkWrapper wrapper; + private final LinkedHashSet fields; + protected final List modules; - public AbstractMod() { - fields = new LinkedHashSet<>(); - modules = new ArrayList<>(); - BinnieCore.registerMod(this); - MinecraftForge.EVENT_BUS.register(this); - } + public AbstractMod() { + fields = new LinkedHashSet<>(); + modules = new ArrayList<>(); + BinnieCore.registerMod(this); + MinecraftForge.EVENT_BUS.register(this); + } - public abstract boolean isActive(); + public abstract boolean isActive(); - @Override - public abstract String getChannel(); + @Override + public abstract String getChannel(); - @Override - public IPacketID[] getPacketIDs() { - return new IPacketID[0]; - } + @Override + public IPacketID[] getPacketIDs() { + return new IPacketID[0]; + } - public IBinnieGUID[] getGUIDs() { - return new IBinnieGUID[0]; - } + public IBinnieGUID[] getGUIDs() { + return new IBinnieGUID[0]; + } - public Class[] getConfigs() { - return new Class[0]; - } + public Class[] getConfigs() { + return new Class[0]; + } - public abstract IProxyCore getProxy(); + public abstract IProxyCore getProxy(); - public abstract String getModID(); + public abstract String getModID(); - public SimpleNetworkWrapper getNetworkWrapper() { - return wrapper; - } + public SimpleNetworkWrapper getNetworkWrapper() { + return wrapper; + } - protected abstract Class getPacketHandler(); + protected abstract Class getPacketHandler(); - @Override - public void preInit() { - if (!isActive()) { - return; - } + @Override + public void preInit() { + if (!isActive()) { + return; + } - if (getConfigs() != null) { - for (Class cls : getConfigs()) { - Binnie.Configuration.registerConfiguration(cls, this); - } - } + if (getConfigs() != null) { + for (Class cls : getConfigs()) { + Binnie.Configuration.registerConfiguration(cls, this); + } + } - getProxy().preInit(); - for (IInitializable module : modules) { - module.preInit(); - } - - // TODO what does it mean? - Collections.addAll(fields, getClass().getFields()); - for (Class cls : getClass().getClasses()) { - Collections.addAll(fields, getClass().getFields()); - } - for (IInitializable module : modules) { - Collections.addAll(fields, module.getClass().getFields()); - } - for (Field field4 : fields) { - try { - FieldParser.preInitParse(field4, this); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - } + getProxy().preInit(); + for (IInitializable module : modules) { + module.preInit(); + } - @Override - public void init() { - if (!isActive()) { - return; - } - getProxy().init(); + // TODO what does it mean? + Collections.addAll(fields, getClass().getFields()); + for (Class cls : getClass().getClasses()) { + Collections.addAll(fields, getClass().getFields()); + } + for (IInitializable module : modules) { + Collections.addAll(fields, module.getClass().getFields()); + } + for (Field field4 : fields) { + try { + FieldParser.preInitParse(field4, this); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } - wrapper = NetworkRegistry.INSTANCE.newSimpleChannel(getChannel()); - wrapper.registerMessage(getPacketHandler(), MessageBinnie.class, 1, Side.CLIENT); - wrapper.registerMessage(getPacketHandler(), MessageBinnie.class, 1, Side.SERVER); - for (IInitializable module : modules) { - module.init(); - } + @Override + public void init() { + if (!isActive()) { + return; + } + getProxy().init(); - for (Field field : fields) { - try { - FieldParser.initParse(field, this); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - } + wrapper = NetworkRegistry.INSTANCE.newSimpleChannel(getChannel()); + wrapper.registerMessage(getPacketHandler(), MessageBinnie.class, 1, Side.CLIENT); + wrapper.registerMessage(getPacketHandler(), MessageBinnie.class, 1, Side.SERVER); + for (IInitializable module : modules) { + module.init(); + } - @Override - public void postInit() { - if (!isActive()) { - return; - } + for (Field field : fields) { + try { + FieldParser.initParse(field, this); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } - getProxy().postInit(); - for (IInitializable module : modules) { - module.postInit(); - } + @Override + public void postInit() { + if (!isActive()) { + return; + } - for (Field field : fields) { - try { - FieldParser.postInitParse(field, this); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - } + getProxy().postInit(); + for (IInitializable module : modules) { + module.postInit(); + } - protected void addModule(IInitializable init) { - modules.add(init); - MinecraftForge.EVENT_BUS.register(init); - } + for (Field field : fields) { + try { + FieldParser.postInitParse(field, this); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } + + protected void addModule(IInitializable init) { + modules.add(init); + MinecraftForge.EVENT_BUS.register(init); + } } diff --git a/src/main/java/binnie/core/BinnieCore.java b/src/main/java/binnie/core/BinnieCore.java index 51bc5b72..8907daed 100644 --- a/src/main/java/binnie/core/BinnieCore.java +++ b/src/main/java/binnie/core/BinnieCore.java @@ -1,5 +1,7 @@ package binnie.core; +import static binnie.core.BinnieCore.*; + import binnie.Binnie; import binnie.core.block.MultipassBlockRenderer; import binnie.core.block.TileEntityMetadata; @@ -38,194 +40,199 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.ForestryEvent; import forestry.plugins.PluginManager; +import java.util.ArrayList; +import java.util.List; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.server.MinecraftServer; import net.minecraftforge.client.event.TextureStitchEvent; -import java.util.ArrayList; -import java.util.List; - -import static binnie.core.BinnieCore.*; - -@Mod(modid = "BinnieCore", name = "Binnie Core", version = VERSION, useMetadata = true, dependencies = "after:Forestry@[4.2,)") +@Mod( + modid = "BinnieCore", + name = "Binnie Core", + version = VERSION, + useMetadata = true, + dependencies = "after:Forestry@[4.2,)") public class BinnieCore extends AbstractMod { - @Mod.Instance("BinnieCore") - public static BinnieCore instance; - @SidedProxy(clientSide = "binnie.core.proxy.BinnieProxyClient", serverSide = "binnie.core.proxy.BinnieProxyServer") - public static BinnieProxy proxy; - public static int multipassRenderID; - private static List modList = new ArrayList<>(); - public static MachineGroup packageCompartment; - public static ItemGenesis genesis; - public static ItemFieldKit fieldKit; - public static final String VERSION = "GRADLETOKEN_VERSION"; + @Mod.Instance("BinnieCore") + public static BinnieCore instance; - @Mod.EventHandler - public void preInit(FMLPreInitializationEvent evt) { - Binnie.Configuration.registerConfiguration(ConfigurationMods.class, this); - for (ManagerBase baseManager : Binnie.Managers) { - addModule(baseManager); - } + @SidedProxy(clientSide = "binnie.core.proxy.BinnieProxyClient", serverSide = "binnie.core.proxy.BinnieProxyServer") + public static BinnieProxy proxy; - addModule(new ModuleCraftGUI()); - addModule(new ModuleStorage()); - addModule(new ModuleItems()); - if (Loader.isModLoaded("BuildCraft|Silicon")) { - addModule(new ModuleTrigger()); - } - preInit(); - } + public static int multipassRenderID; + private static List modList = new ArrayList<>(); + public static MachineGroup packageCompartment; + public static ItemGenesis genesis; + public static ItemFieldKit fieldKit; + public static final String VERSION = "GRADLETOKEN_VERSION"; - @Mod.EventHandler - public void init(FMLInitializationEvent evt) { - init(); - } + @Mod.EventHandler + public void preInit(FMLPreInitializationEvent evt) { + Binnie.Configuration.registerConfiguration(ConfigurationMods.class, this); + for (ManagerBase baseManager : Binnie.Managers) { + addModule(baseManager); + } - @Mod.EventHandler - public void postInit(FMLPostInitializationEvent evt) { - postInit(); - } + addModule(new ModuleCraftGUI()); + addModule(new ModuleStorage()); + addModule(new ModuleItems()); + if (Loader.isModLoaded("BuildCraft|Silicon")) { + addModule(new ModuleTrigger()); + } + preInit(); + } - @Override - public IBinnieGUID[] getGUIDs() { - return BinnieCoreGUI.values(); - } + @Mod.EventHandler + public void init(FMLInitializationEvent evt) { + init(); + } - @Override - public void preInit() { - instance = this; - for (FluidContainer container : FluidContainer.values()) { - Item item = new ItemFluidContainer(container); - GameRegistry.registerItem(item, item.getUnlocalizedName().substring(5)); - } - FieldParser.parsers.add(new ItemParser()); - super.preInit(); - } + @Mod.EventHandler + public void postInit(FMLPostInitializationEvent evt) { + postInit(); + } - @Override - public void init() { - super.init(); - for (AbstractMod mod : getActiveMods()) { - NetworkRegistry.INSTANCE.registerGuiHandler(mod, new BinnieGUIHandler(mod)); - } + @Override + public IBinnieGUID[] getGUIDs() { + return BinnieCoreGUI.values(); + } - multipassRenderID = RenderingRegistry.getNextAvailableRenderId(); - RenderingRegistry.registerBlockHandler(new MultipassBlockRenderer()); - GameRegistry.registerTileEntity(TileEntityMetadata.class, "binnie.tile.metadata"); - } + @Override + public void preInit() { + instance = this; + for (FluidContainer container : FluidContainer.values()) { + Item item = new ItemFluidContainer(container); + GameRegistry.registerItem(item, item.getUnlocalizedName().substring(5)); + } + FieldParser.parsers.add(new ItemParser()); + super.preInit(); + } - public static boolean isLepidopteryActive() { - return PluginManager.Module.LEPIDOPTEROLOGY.isEnabled(); - } + @Override + public void init() { + super.init(); + for (AbstractMod mod : getActiveMods()) { + NetworkRegistry.INSTANCE.registerGuiHandler(mod, new BinnieGUIHandler(mod)); + } - public static boolean isApicultureActive() { - return PluginManager.Module.APICULTURE.isEnabled(); - } + multipassRenderID = RenderingRegistry.getNextAvailableRenderId(); + RenderingRegistry.registerBlockHandler(new MultipassBlockRenderer()); + GameRegistry.registerTileEntity(TileEntityMetadata.class, "binnie.tile.metadata"); + } - public static boolean isArboricultureActive() { - return PluginManager.Module.ARBORICULTURE.isEnabled(); - } + public static boolean isLepidopteryActive() { + return PluginManager.Module.LEPIDOPTEROLOGY.isEnabled(); + } - public static boolean isBotanyActive() { - return ConfigurationMods.botany; - } + public static boolean isApicultureActive() { + return PluginManager.Module.APICULTURE.isEnabled(); + } - public static boolean isGeneticsActive() { - return ConfigurationMods.genetics; - } + public static boolean isArboricultureActive() { + return PluginManager.Module.ARBORICULTURE.isEnabled(); + } - public static boolean isExtraBeesActive() { - return ConfigurationMods.extraBees && isApicultureActive(); - } + public static boolean isBotanyActive() { + return ConfigurationMods.botany; + } - public static boolean isExtraTreesActive() { - return ConfigurationMods.extraTrees && isArboricultureActive(); - } + public static boolean isGeneticsActive() { + return ConfigurationMods.genetics; + } - @Override - public void postInit() { - super.postInit(); - } + public static boolean isExtraBeesActive() { + return ConfigurationMods.extraBees && isApicultureActive(); + } - static void registerMod(AbstractMod mod) { - modList.add(mod); - } + public static boolean isExtraTreesActive() { + return ConfigurationMods.extraTrees && isArboricultureActive(); + } - private static List getActiveMods() { - List list = new ArrayList<>(); - for (AbstractMod mod : modList) { - if (mod.isActive()) { - list.add(mod); - } - } - return list; - } + @Override + public void postInit() { + super.postInit(); + } - @SubscribeEvent - @SideOnly(Side.CLIENT) - public void handleSpeciesDiscovered(ForestryEvent.SpeciesDiscovered event) { - try { - EntityPlayerMP player = MinecraftServer.getServer().getConfigurationManager().func_152612_a(event.username.getName()); - if (player == null) { - return; - } - event.tracker.synchToPlayer(player); - NBTTagCompound nbt = new NBTTagCompound(); - nbt.setString("species", event.species.getUID()); - } catch (Exception ex) { - // ignored - } - } + static void registerMod(AbstractMod mod) { + modList.add(mod); + } - @Override - public String getChannel() { - return "BIN"; - } + private static List getActiveMods() { + List list = new ArrayList<>(); + for (AbstractMod mod : modList) { + if (mod.isActive()) { + list.add(mod); + } + } + return list; + } - @Override - public IBinnieProxy getProxy() { - return proxy; - } + @SubscribeEvent + @SideOnly(Side.CLIENT) + public void handleSpeciesDiscovered(ForestryEvent.SpeciesDiscovered event) { + try { + EntityPlayerMP player = + MinecraftServer.getServer().getConfigurationManager().func_152612_a(event.username.getName()); + if (player == null) { + return; + } + event.tracker.synchToPlayer(player); + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setString("species", event.species.getUID()); + } catch (Exception ex) { + // ignored + } + } - @Override - public String getModID() { - return "binniecore"; - } + @Override + public String getChannel() { + return "BIN"; + } - @Override - public IPacketID[] getPacketIDs() { - return BinnieCorePacketID.values(); - } + @Override + public IBinnieProxy getProxy() { + return proxy; + } - @SubscribeEvent - @SideOnly(Side.CLIENT) - public void handleTextureRemap(TextureStitchEvent.Pre event) { - if (event.map.getTextureType() == 0) { - Binnie.Liquid.reloadIcons(event.map); - } - Binnie.Resource.registerIcons(event.map, event.map.getTextureType()); - } + @Override + public String getModID() { + return "binniecore"; + } - @Override - public Class[] getConfigs() { - return new Class[]{ConfigurationMain.class}; - } + @Override + public IPacketID[] getPacketIDs() { + return BinnieCorePacketID.values(); + } - @Override - protected Class getPacketHandler() { - return PacketHandler.class; - } + @SubscribeEvent + @SideOnly(Side.CLIENT) + public void handleTextureRemap(TextureStitchEvent.Pre event) { + if (event.map.getTextureType() == 0) { + Binnie.Liquid.reloadIcons(event.map); + } + Binnie.Resource.registerIcons(event.map, event.map.getTextureType()); + } - @Override - public boolean isActive() { - return true; - } + @Override + public Class[] getConfigs() { + return new Class[] {ConfigurationMain.class}; + } - public static class PacketHandler extends BinniePacketHandler { - public PacketHandler() { - super(instance); - } - } + @Override + protected Class getPacketHandler() { + return PacketHandler.class; + } + + @Override + public boolean isActive() { + return true; + } + + public static class PacketHandler extends BinniePacketHandler { + public PacketHandler() { + super(instance); + } + } } diff --git a/src/main/java/binnie/core/IInitializable.java b/src/main/java/binnie/core/IInitializable.java index 725046cc..25d68268 100644 --- a/src/main/java/binnie/core/IInitializable.java +++ b/src/main/java/binnie/core/IInitializable.java @@ -1,9 +1,9 @@ package binnie.core; public interface IInitializable { - void preInit(); + void preInit(); - void init(); + void init(); - void postInit(); + void postInit(); } diff --git a/src/main/java/binnie/core/ManagerBase.java b/src/main/java/binnie/core/ManagerBase.java index 7615f463..565c391f 100644 --- a/src/main/java/binnie/core/ManagerBase.java +++ b/src/main/java/binnie/core/ManagerBase.java @@ -3,22 +3,22 @@ package binnie.core; import binnie.Binnie; public abstract class ManagerBase implements IInitializable { - public ManagerBase() { - Binnie.Managers.add(this); - } + public ManagerBase() { + Binnie.Managers.add(this); + } - @Override - public void preInit() { - // ignored - } + @Override + public void preInit() { + // ignored + } - @Override - public void init() { - // ignored - } + @Override + public void init() { + // ignored + } - @Override - public void postInit() { - // ignored - } + @Override + public void postInit() { + // ignored + } } diff --git a/src/main/java/binnie/core/Mods.java b/src/main/java/binnie/core/Mods.java index 28717c15..34f0ae79 100644 --- a/src/main/java/binnie/core/Mods.java +++ b/src/main/java/binnie/core/Mods.java @@ -7,69 +7,69 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; public class Mods { - public static Mod forestry; - public static Mod ic2; - public static Mod botania; + public static Mod forestry; + public static Mod ic2; + public static Mod botania; - private static Item findItem(String modId, String name) { - Item stack = GameRegistry.findItem(modId, name); - if (stack == null && modId.equals("Forestry")) { - throw new RuntimeException("Item not found: " + modId + ":" + name); - } - return stack; - } + private static Item findItem(String modId, String name) { + Item stack = GameRegistry.findItem(modId, name); + if (stack == null && modId.equals("Forestry")) { + throw new RuntimeException("Item not found: " + modId + ":" + name); + } + return stack; + } - private static ItemStack findItemStack(String modId, String name, int stackSize) { - ItemStack stack = GameRegistry.findItemStack(modId, name, stackSize); - if (stack == null && modId.equals("Forestry")) { - throw new RuntimeException("Stack not found: " + modId + ":" + name); - } - return stack; - } + private static ItemStack findItemStack(String modId, String name, int stackSize) { + ItemStack stack = GameRegistry.findItemStack(modId, name, stackSize); + if (stack == null && modId.equals("Forestry")) { + throw new RuntimeException("Stack not found: " + modId + ":" + name); + } + return stack; + } - private static Block findBlock(String modId, String name) { - Block stack = GameRegistry.findBlock(modId, name); - if (stack == null && modId.equals("Forestry")) { - throw new RuntimeException("Block not found: " + modId + ":" + name); - } - return stack; - } + private static Block findBlock(String modId, String name) { + Block stack = GameRegistry.findBlock(modId, name); + if (stack == null && modId.equals("Forestry")) { + throw new RuntimeException("Block not found: " + modId + ":" + name); + } + return stack; + } - static { - Mods.forestry = new Mod("Forestry"); - Mods.ic2 = new Mod("IC2"); - Mods.botania = new Mod("Botania"); - } + static { + Mods.forestry = new Mod("Forestry"); + Mods.ic2 = new Mod("IC2"); + Mods.botania = new Mod("Botania"); + } - public static class Mod { - private String id; + public static class Mod { + private String id; - private Mod(String id) { - this.id = id; - } + private Mod(String id) { + this.id = id; + } - public Item item(String name) { - return findItem(id, name); - } + public Item item(String name) { + return findItem(id, name); + } - public Block block(String name) { - return findBlock(id, name); - } + public Block block(String name) { + return findBlock(id, name); + } - public ItemStack stack(String name, int stackSize) { - return findItemStack(id, name, stackSize); - } + public ItemStack stack(String name, int stackSize) { + return findItemStack(id, name, stackSize); + } - public ItemStack stack(String name) { - return stack(name, 1); - } + public ItemStack stack(String name) { + return stack(name, 1); + } - public ItemStack stack(String string, int i, int j) { - return new ItemStack(item(string), i, j); - } + public ItemStack stack(String string, int i, int j) { + return new ItemStack(item(string), i, j); + } - public boolean active() { - return Loader.isModLoaded(id); - } - } + public boolean active() { + return Loader.isModLoaded(id); + } + } } diff --git a/src/main/java/binnie/core/block/BlockMetadata.java b/src/main/java/binnie/core/block/BlockMetadata.java index 36557d84..9ae5e110 100644 --- a/src/main/java/binnie/core/block/BlockMetadata.java +++ b/src/main/java/binnie/core/block/BlockMetadata.java @@ -1,6 +1,8 @@ package binnie.core.block; import binnie.core.BinnieCore; +import java.util.ArrayList; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -13,114 +15,115 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; - public class BlockMetadata extends BlockContainer implements IBlockMetadata { - public BlockMetadata(Material material) { - super(material); - } + public BlockMetadata(Material material) { + super(material); + } - @Override - public ArrayList getDrops(World world, int x, int y, int z, int blockMeta, int fortune) { - return getBlockDropped(this, world, x, y, z, blockMeta); - } + @Override + public ArrayList getDrops(World world, int x, int y, int z, int blockMeta, int fortune) { + return getBlockDropped(this, world, x, y, z, blockMeta); + } - @Override - public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { - return breakBlock(this, player, world, x, y, z); - } + @Override + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { + return breakBlock(this, player, world, x, y, z); + } - @Override - public TileEntity createNewTileEntity(World world, int i) { - return new TileEntityMetadata(); - } + @Override + public TileEntity createNewTileEntity(World world, int i) { + return new TileEntityMetadata(); + } - @Override - public boolean hasTileEntity(int meta) { - return true; - } + @Override + public boolean hasTileEntity(int meta) { + return true; + } - @Override - public boolean onBlockEventReceived(World world, int x, int y, int z, int par5, int par6) { - super.onBlockEventReceived(world, x, y, z, par5, par6); - TileEntity tileentity = world.getTileEntity(x, y, z); - return tileentity != null && tileentity.receiveClientEvent(par5, par6); - } + @Override + public boolean onBlockEventReceived(World world, int x, int y, int z, int par5, int par6) { + super.onBlockEventReceived(world, x, y, z, par5, par6); + TileEntity tileentity = world.getTileEntity(x, y, z); + return tileentity != null && tileentity.receiveClientEvent(par5, par6); + } - @Override - public IIcon getIcon(IBlockAccess block, int x, int y, int z, int par5) { - int metadata = TileEntityMetadata.getTileMetadata(block, x, y, z); - return getIcon(par5, metadata); - } + @Override + public IIcon getIcon(IBlockAccess block, int x, int y, int z, int par5) { + int metadata = TileEntityMetadata.getTileMetadata(block, x, y, z); + return getIcon(par5, metadata); + } - @Override - public String getBlockName(ItemStack itemStack) { - return getLocalizedName(); - } + @Override + public String getBlockName(ItemStack itemStack) { + return getLocalizedName(); + } - @Override - public void addBlockTooltip(ItemStack itemStack, List tooltip) { - // ignored - } + @Override + public void addBlockTooltip(ItemStack itemStack, List tooltip) { + // ignored + } - @Override - public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { - return TileEntityMetadata.getItemDamage(itemStack); - } + @Override + public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { + return TileEntityMetadata.getItemDamage(itemStack); + } - @Override - public int getDroppedMeta(int blockMeta, int tileMeta) { - return blockMeta; - } + @Override + public int getDroppedMeta(int blockMeta, int tileMeta) { + return blockMeta; + } - public static ArrayList getBlockDropped(IBlockMetadata block, World world, int x, int y, int z, int blockMeta) { - ArrayList array = new ArrayList<>(); - TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); - if (tile != null && !tile.hasDroppedBlock()) { - int meta = block.getDroppedMeta(world.getBlockMetadata(x, y, z), tile.getTileMetadata()); - array.add(TileEntityMetadata.getItemStack((Block) block, meta)); - } - return array; - } + public static ArrayList getBlockDropped( + IBlockMetadata block, World world, int x, int y, int z, int blockMeta) { + ArrayList array = new ArrayList<>(); + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + if (tile != null && !tile.hasDroppedBlock()) { + int meta = block.getDroppedMeta(world.getBlockMetadata(x, y, z), tile.getTileMetadata()); + array.add(TileEntityMetadata.getItemStack((Block) block, meta)); + } + return array; + } - public static boolean breakBlock(IBlockMetadata block, EntityPlayer player, World world, int i, int j, int k) { - List drops = new ArrayList<>(); - Block block2 = (Block) block; - TileEntityMetadata tile = TileEntityMetadata.getTile(world, i, j, k); - if (tile != null && !tile.hasDroppedBlock()) { - drops = block2.getDrops(world, i, j, k, world.getBlockMetadata(i, j, k), 0); - } + public static boolean breakBlock(IBlockMetadata block, EntityPlayer player, World world, int i, int j, int k) { + List drops = new ArrayList<>(); + Block block2 = (Block) block; + TileEntityMetadata tile = TileEntityMetadata.getTile(world, i, j, k); + if (tile != null && !tile.hasDroppedBlock()) { + drops = block2.getDrops(world, i, j, k, world.getBlockMetadata(i, j, k), 0); + } - boolean hasBeenBroken = world.setBlockToAir(i, j, k); - if (hasBeenBroken && BinnieCore.proxy.isSimulating(world) && drops.size() > 0 && (player == null || !player.capabilities.isCreativeMode)) { - for (ItemStack drop : drops) { - block.dropAsStack(world, i, j, k, drop); - } - tile.dropBlock(); - } - return hasBeenBroken; - } + boolean hasBeenBroken = world.setBlockToAir(i, j, k); + if (hasBeenBroken + && BinnieCore.proxy.isSimulating(world) + && drops.size() > 0 + && (player == null || !player.capabilities.isCreativeMode)) { + for (ItemStack drop : drops) { + block.dropAsStack(world, i, j, k, drop); + } + tile.dropBlock(); + } + return hasBeenBroken; + } - @Override - public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { - dropBlockAsItem(world, x, y, z, itemStack); - } + @Override + public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { + dropBlockAsItem(world, x, y, z, itemStack); + } - @Override - public void breakBlock(World world, int x, int y, int z, Block block, int meta) { - super.breakBlock(world, x, y, z, block, meta); - world.removeTileEntity(x, y, z); - } + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + super.breakBlock(world, x, y, z, block, meta); + world.removeTileEntity(x, y, z); + } - public static ItemStack getPickBlock(World world, int x, int y, int z) { - IBlockMetadata block = (IBlockMetadata) world.getBlock(x, y, z); - List list = getBlockDropped(block, world, x, y, z, world.getBlockMetadata(x, y, z)); - return list.isEmpty() ? null : list.get(0); - } + public static ItemStack getPickBlock(World world, int x, int y, int z) { + IBlockMetadata block = (IBlockMetadata) world.getBlock(x, y, z); + List list = getBlockDropped(block, world, x, y, z, world.getBlockMetadata(x, y, z)); + return list.isEmpty() ? null : list.get(0); + } - @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { - return getPickBlock(world, x, y, z); - } + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + return getPickBlock(world, x, y, z); + } } diff --git a/src/main/java/binnie/core/block/IBlockMetadata.java b/src/main/java/binnie/core/block/IBlockMetadata.java index 98e5f762..f27f6d0c 100644 --- a/src/main/java/binnie/core/block/IBlockMetadata.java +++ b/src/main/java/binnie/core/block/IBlockMetadata.java @@ -1,20 +1,19 @@ package binnie.core.block; +import java.util.List; import net.minecraft.block.ITileEntityProvider; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.List; - public interface IBlockMetadata extends ITileEntityProvider { - int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction); + int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction); - int getDroppedMeta(int blockMeta, int tileMeta); + int getDroppedMeta(int blockMeta, int tileMeta); - String getBlockName(ItemStack itemStack); + String getBlockName(ItemStack itemStack); - void addBlockTooltip(ItemStack itemStack, List tooltip); + void addBlockTooltip(ItemStack itemStack, List tooltip); - void dropAsStack(World world, int x, int y, int z, ItemStack itemStack); + void dropAsStack(World world, int x, int y, int z, ItemStack itemStack); } diff --git a/src/main/java/binnie/core/block/IMultipassBlock.java b/src/main/java/binnie/core/block/IMultipassBlock.java index ee2a9b6f..20f86eeb 100644 --- a/src/main/java/binnie/core/block/IMultipassBlock.java +++ b/src/main/java/binnie/core/block/IMultipassBlock.java @@ -1,7 +1,7 @@ package binnie.core.block; public interface IMultipassBlock { - int getNumberOfPasses(); + int getNumberOfPasses(); - int colorMultiplier(int meta); + int colorMultiplier(int meta); } diff --git a/src/main/java/binnie/core/block/ItemMetadata.java b/src/main/java/binnie/core/block/ItemMetadata.java index a38b8b40..10bdf222 100644 --- a/src/main/java/binnie/core/block/ItemMetadata.java +++ b/src/main/java/binnie/core/block/ItemMetadata.java @@ -2,6 +2,7 @@ package binnie.core.block; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; @@ -10,55 +11,64 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.List; - public class ItemMetadata extends ItemBlock { - public ItemMetadata(Block block) { - super(block); - } + public ItemMetadata(Block block) { + super(block); + } - @Override - public int getMetadata(int damage) { - return 0; - } + @Override + public int getMetadata(int damage) { + return 0; + } - @Override - 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 block = field_150939_a; - if (!(block instanceof IBlockMetadata)) { - return false; - } + @Override + 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 block = field_150939_a; + if (!(block instanceof IBlockMetadata)) { + return false; + } - int placedMeta = ((IBlockMetadata) block).getPlacedMeta(stack, world, x, y, z, ForgeDirection.values()[side]); - if (placedMeta < 0 || !world.setBlock(x, y, z, block, metadata, 3)) { - return false; - } + int placedMeta = ((IBlockMetadata) block).getPlacedMeta(stack, world, x, y, z, ForgeDirection.values()[side]); + if (placedMeta < 0 || !world.setBlock(x, y, z, block, metadata, 3)) { + return false; + } - if (world.getBlock(x, y, z) == block) { - TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); - if (tile != null) { - tile.setTileMetadata(placedMeta, false); - } - block.onBlockPlacedBy(world, x, y, z, player, stack); - block.onPostBlockPlaced(world, x, y, z, metadata); - } - return true; - } + if (world.getBlock(x, y, z) == block) { + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + if (tile != null) { + tile.setTileMetadata(placedMeta, false); + } + block.onBlockPlacedBy(world, x, y, z, player, stack); + block.onPostBlockPlaced(world, x, y, z, metadata); + } + return true; + } - @Override - @SideOnly(Side.CLIENT) - public String getItemStackDisplayName(ItemStack par1ItemStack) { - return ((IBlockMetadata) field_150939_a).getBlockName(par1ItemStack); - } + @Override + @SideOnly(Side.CLIENT) + public String getItemStackDisplayName(ItemStack par1ItemStack) { + return ((IBlockMetadata) field_150939_a).getBlockName(par1ItemStack); + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack itemStack, EntityPlayer player, List tooltip, boolean advanced) { - ((IBlockMetadata) field_150939_a).addBlockTooltip(itemStack, tooltip); - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack itemStack, EntityPlayer player, List tooltip, boolean advanced) { + ((IBlockMetadata) field_150939_a).addBlockTooltip(itemStack, tooltip); + } - @Override - public IIcon getIconFromDamage(int damage) { - return field_150939_a.getIcon(1, damage); - } + @Override + public IIcon getIconFromDamage(int damage) { + return field_150939_a.getIcon(1, damage); + } } diff --git a/src/main/java/binnie/core/block/ItemMetadataRenderer.java b/src/main/java/binnie/core/block/ItemMetadataRenderer.java index 3b08cdb8..424eb8a9 100644 --- a/src/main/java/binnie/core/block/ItemMetadataRenderer.java +++ b/src/main/java/binnie/core/block/ItemMetadataRenderer.java @@ -8,43 +8,45 @@ import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; public class ItemMetadataRenderer implements IItemRenderer { - @Override - public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type) { - return type == IItemRenderer.ItemRenderType.INVENTORY - || type == IItemRenderer.ItemRenderType.ENTITY - || type == IItemRenderer.ItemRenderType.EQUIPPED - || type == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON; - } + @Override + public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type) { + return type == IItemRenderer.ItemRenderType.INVENTORY + || type == IItemRenderer.ItemRenderType.ENTITY + || type == IItemRenderer.ItemRenderType.EQUIPPED + || type == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON; + } - @Override - public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper) { - if (type == IItemRenderer.ItemRenderType.INVENTORY) { - return helper == IItemRenderer.ItemRendererHelper.INVENTORY_BLOCK; - } - if (type == IItemRenderer.ItemRenderType.ENTITY) { - return helper == IItemRenderer.ItemRendererHelper.ENTITY_BOBBING - || helper == IItemRenderer.ItemRendererHelper.ENTITY_ROTATION; - } - return (type == IItemRenderer.ItemRenderType.EQUIPPED || type == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON) - && helper == IItemRenderer.ItemRendererHelper.EQUIPPED_BLOCK; - } + @Override + public boolean shouldUseRenderHelper( + IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper) { + if (type == IItemRenderer.ItemRenderType.INVENTORY) { + return helper == IItemRenderer.ItemRendererHelper.INVENTORY_BLOCK; + } + if (type == IItemRenderer.ItemRenderType.ENTITY) { + return helper == IItemRenderer.ItemRendererHelper.ENTITY_BOBBING + || helper == IItemRenderer.ItemRendererHelper.ENTITY_ROTATION; + } + return (type == IItemRenderer.ItemRenderType.EQUIPPED + || type == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON) + && helper == IItemRenderer.ItemRendererHelper.EQUIPPED_BLOCK; + } - @Override - public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data) { - GL11.glPushMatrix(); - Block block = Block.getBlockFromItem(item.getItem()); - if (type == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON) { - GL11.glTranslated(0.5, 0.5, 0.5); - } + @Override + public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data) { + GL11.glPushMatrix(); + Block block = Block.getBlockFromItem(item.getItem()); + if (type == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON) { + GL11.glTranslated(0.5, 0.5, 0.5); + } - if (type == IItemRenderer.ItemRenderType.INVENTORY && block.getRenderBlockPass() != 0) { - GL11.glAlphaFunc(516, 0.1f); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); - } - GL11.glPushMatrix(); - ((RenderBlocks) data[0]).renderBlockAsItem(block, TileEntityMetadata.getItemDamage(item), 1.0f); - GL11.glPopMatrix(); - GL11.glPopMatrix(); - } + if (type == IItemRenderer.ItemRenderType.INVENTORY && block.getRenderBlockPass() != 0) { + GL11.glAlphaFunc(516, 0.1f); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); + } + GL11.glPushMatrix(); + ((RenderBlocks) data[0]).renderBlockAsItem(block, TileEntityMetadata.getItemDamage(item), 1.0f); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } } diff --git a/src/main/java/binnie/core/block/MultipassBlockRenderer.java b/src/main/java/binnie/core/block/MultipassBlockRenderer.java index 2539e5d1..09ffe296 100644 --- a/src/main/java/binnie/core/block/MultipassBlockRenderer.java +++ b/src/main/java/binnie/core/block/MultipassBlockRenderer.java @@ -9,91 +9,92 @@ import net.minecraft.world.IBlockAccess; import org.lwjgl.opengl.GL11; public class MultipassBlockRenderer implements ISimpleBlockRenderingHandler { - public static MultipassBlockRenderer instance; - private static int layer = 0; + public static MultipassBlockRenderer instance; + private static int layer = 0; - public MultipassBlockRenderer() { - MultipassBlockRenderer.instance = this; - } + public MultipassBlockRenderer() { + MultipassBlockRenderer.instance = this; + } - public static int getLayer() { - return MultipassBlockRenderer.layer; - } + public static int getLayer() { + return MultipassBlockRenderer.layer; + } - @Override - public void renderInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer) { - block.setBlockBoundsForItemRender(); - renderer.setRenderBoundsFromBlock(block); - GL11.glTranslatef(-0.5f, -0.5f, -0.5f); + @Override + public void renderInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer) { + block.setBlockBoundsForItemRender(); + renderer.setRenderBoundsFromBlock(block); + GL11.glTranslatef(-0.5f, -0.5f, -0.5f); - MultipassBlockRenderer.layer = 0; - while (MultipassBlockRenderer.layer < ((IMultipassBlock) block).getNumberOfPasses()) { - renderItem(block, renderer, meta); - MultipassBlockRenderer.layer++; - } - MultipassBlockRenderer.layer = 0; - } + MultipassBlockRenderer.layer = 0; + while (MultipassBlockRenderer.layer < ((IMultipassBlock) block).getNumberOfPasses()) { + renderItem(block, renderer, meta); + MultipassBlockRenderer.layer++; + } + MultipassBlockRenderer.layer = 0; + } - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - boolean r = true; - MultipassBlockRenderer.layer = 0; - while (MultipassBlockRenderer.layer < ((IMultipassBlock) block).getNumberOfPasses()) { - r = renderer.renderStandardBlock(block, x, y, z); - MultipassBlockRenderer.layer++; - } - MultipassBlockRenderer.layer = 0; - return r; - } + @Override + public boolean renderWorldBlock( + IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + boolean r = true; + MultipassBlockRenderer.layer = 0; + while (MultipassBlockRenderer.layer < ((IMultipassBlock) block).getNumberOfPasses()) { + r = renderer.renderStandardBlock(block, x, y, z); + MultipassBlockRenderer.layer++; + } + MultipassBlockRenderer.layer = 0; + return r; + } - @Override - public boolean shouldRender3DInInventory(int i) { - return true; - } + @Override + public boolean shouldRender3DInInventory(int i) { + return true; + } - @Override - public int getRenderId() { - return BinnieCore.multipassRenderID; - } + @Override + public int getRenderId() { + return BinnieCore.multipassRenderID; + } - public void renderItem(Block block, RenderBlocks renderer, int meta) { - setColor(((IMultipassBlock) block).colorMultiplier(meta)); - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0f, -1.0f, 0.0f); - renderer.renderFaceYNeg(block, 0.0, 0.0, 0.0, renderer.getBlockIconFromSideAndMetadata(block, 0, meta)); - tessellator.draw(); + public void renderItem(Block block, RenderBlocks renderer, int meta) { + setColor(((IMultipassBlock) block).colorMultiplier(meta)); + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0f, -1.0f, 0.0f); + renderer.renderFaceYNeg(block, 0.0, 0.0, 0.0, renderer.getBlockIconFromSideAndMetadata(block, 0, meta)); + tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0f, 1.0f, 0.0f); - renderer.renderFaceYPos(block, 0.0, 0.0, 0.0, renderer.getBlockIconFromSideAndMetadata(block, 1, meta)); - tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0f, 1.0f, 0.0f); + renderer.renderFaceYPos(block, 0.0, 0.0, 0.0, renderer.getBlockIconFromSideAndMetadata(block, 1, meta)); + tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0f, 0.0f, -1.0f); - renderer.renderFaceZNeg(block, 0.0, 0.0, 0.0, renderer.getBlockIconFromSideAndMetadata(block, 2, meta)); - tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0f, 0.0f, -1.0f); + renderer.renderFaceZNeg(block, 0.0, 0.0, 0.0, renderer.getBlockIconFromSideAndMetadata(block, 2, meta)); + tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0f, 0.0f, 1.0f); - renderer.renderFaceZPos(block, 0.0, 0.0, 0.0, renderer.getBlockIconFromSideAndMetadata(block, 3, meta)); - tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0f, 0.0f, 1.0f); + renderer.renderFaceZPos(block, 0.0, 0.0, 0.0, renderer.getBlockIconFromSideAndMetadata(block, 3, meta)); + tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0f, 0.0f, 0.0f); - renderer.renderFaceXNeg(block, 0.0, 0.0, 0.0, renderer.getBlockIconFromSideAndMetadata(block, 4, meta)); - tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0f, 0.0f, 0.0f); + renderer.renderFaceXNeg(block, 0.0, 0.0, 0.0, renderer.getBlockIconFromSideAndMetadata(block, 4, meta)); + tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0f, 0.0f, 0.0f); - renderer.renderFaceXPos(block, 0.0, 0.0, 0.0, renderer.getBlockIconFromSideAndMetadata(block, 5, meta)); - tessellator.draw(); - } + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0f, 0.0f, 0.0f); + renderer.renderFaceXPos(block, 0.0, 0.0, 0.0, renderer.getBlockIconFromSideAndMetadata(block, 5, meta)); + tessellator.draw(); + } - public void setColor(int l) { - float f = (l >> 16 & 0xFF) / 255.0f; - float f2 = (l >> 8 & 0xFF) / 255.0f; - float f3 = (l & 0xFF) / 255.0f; - GL11.glColor3f(f, f2, f3); - } + public void setColor(int l) { + float f = (l >> 16 & 0xFF) / 255.0f; + float f2 = (l >> 8 & 0xFF) / 255.0f; + float f3 = (l & 0xFF) / 255.0f; + GL11.glColor3f(f, f2, f3); + } } diff --git a/src/main/java/binnie/core/block/MultipassItemRenderer.java b/src/main/java/binnie/core/block/MultipassItemRenderer.java index b3372f0b..987ddfba 100644 --- a/src/main/java/binnie/core/block/MultipassItemRenderer.java +++ b/src/main/java/binnie/core/block/MultipassItemRenderer.java @@ -9,55 +9,57 @@ import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; public class MultipassItemRenderer implements IItemRenderer { - private void render(RenderBlocks renderer, ItemStack item, float f, float g, float h) { - GL11.glTranslatef(f, g, h); - Block block = ((ItemBlock) item.getItem()).field_150939_a; - GL11.glEnable(3008); - if (block.getRenderBlockPass() != 0) { - GL11.glAlphaFunc(516, 0.1f); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); - } else { - GL11.glAlphaFunc(516, 0.5f); - GL11.glDisable(GL11.GL_BLEND); - } + private void render(RenderBlocks renderer, ItemStack item, float f, float g, float h) { + GL11.glTranslatef(f, g, h); + Block block = ((ItemBlock) item.getItem()).field_150939_a; + GL11.glEnable(3008); + if (block.getRenderBlockPass() != 0) { + GL11.glAlphaFunc(516, 0.1f); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); + } else { + GL11.glAlphaFunc(516, 0.5f); + GL11.glDisable(GL11.GL_BLEND); + } - MultipassBlockRenderer.instance.renderInventoryBlock(block, TileEntityMetadata.getItemDamage(item), 0, renderer); - if (block.getRenderBlockPass() == 0) { - GL11.glAlphaFunc(516, 0.1f); - } - GL11.glTranslatef(-f, -g, -h); - } + MultipassBlockRenderer.instance.renderInventoryBlock( + block, TileEntityMetadata.getItemDamage(item), 0, renderer); + if (block.getRenderBlockPass() == 0) { + GL11.glAlphaFunc(516, 0.1f); + } + GL11.glTranslatef(-f, -g, -h); + } - @Override - public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type) { - switch (type) { - case ENTITY: - case EQUIPPED: - case INVENTORY: - case EQUIPPED_FIRST_PERSON: - return true; - } - return false; - } + @Override + public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type) { + switch (type) { + case ENTITY: + case EQUIPPED: + case INVENTORY: + case EQUIPPED_FIRST_PERSON: + return true; + } + return false; + } - @Override - public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper) { - return true; - } + @Override + public boolean shouldUseRenderHelper( + IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper) { + return true; + } - @Override - public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data) { - switch (type) { - case INVENTORY: - case ENTITY: - render((RenderBlocks) data[0], item, 0.0f, 0.0f, 0.0f); - break; + @Override + public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data) { + switch (type) { + case INVENTORY: + case ENTITY: + render((RenderBlocks) data[0], item, 0.0f, 0.0f, 0.0f); + break; - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - render((RenderBlocks) data[0], item, 0.5f, 0.5f, 0.5f); - break; - } - } + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + render((RenderBlocks) data[0], item, 0.5f, 0.5f, 0.5f); + break; + } + } } diff --git a/src/main/java/binnie/core/block/TileEntityMetadata.java b/src/main/java/binnie/core/block/TileEntityMetadata.java index c0205e92..e88b7a77 100644 --- a/src/main/java/binnie/core/block/TileEntityMetadata.java +++ b/src/main/java/binnie/core/block/TileEntityMetadata.java @@ -10,96 +10,96 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.IBlockAccess; public class TileEntityMetadata extends TileEntity { - private int meta; - private boolean droppedBlock; + private int meta; + private boolean droppedBlock; - public TileEntityMetadata() { - droppedBlock = false; - } + public TileEntityMetadata() { + droppedBlock = false; + } - @Override - public boolean receiveClientEvent(int id, int meta) { - // TODO fix magic const - if (id == 42) { - this.meta = meta; - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - return true; - } + @Override + public boolean receiveClientEvent(int id, int meta) { + // TODO fix magic const + if (id == 42) { + this.meta = meta; + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); + } + return true; + } - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - meta = nbt.getInteger("meta"); - } + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + meta = nbt.getInteger("meta"); + } - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setInteger("meta", meta); - } + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("meta", meta); + } - @Override - public boolean canUpdate() { - return false; - } + @Override + public boolean canUpdate() { + return false; + } - public int getTileMetadata() { - return meta; - } + public int getTileMetadata() { + return meta; + } - public void setTileMetadata(int meta, boolean notify) { - if (this.meta == meta) { - return; - } + public void setTileMetadata(int meta, boolean notify) { + if (this.meta == meta) { + return; + } - this.meta = meta; - if (notify) { - worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - } - } + this.meta = meta; + if (notify) { + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); + } + } - @Override - public Packet getDescriptionPacket() { - MessageMetadata message = new MessageMetadata(xCoord, yCoord, zCoord, meta); - return BinnieCore.instance.getNetworkWrapper().getPacketFrom(message.getMessage()); - } + @Override + public Packet getDescriptionPacket() { + MessageMetadata message = new MessageMetadata(xCoord, yCoord, zCoord, meta); + return BinnieCore.instance.getNetworkWrapper().getPacketFrom(message.getMessage()); + } - public static TileEntityMetadata getTile(IBlockAccess world, int x, int y, int z) { - TileEntity tile = world.getTileEntity(x, y, z); - if (tile instanceof TileEntityMetadata) { - return (TileEntityMetadata) tile; - } - return null; - } + public static TileEntityMetadata getTile(IBlockAccess world, int x, int y, int z) { + TileEntity tile = world.getTileEntity(x, y, z); + if (tile instanceof TileEntityMetadata) { + return (TileEntityMetadata) tile; + } + return null; + } - public static ItemStack getItemStack(Block block, int damage) { - NBTTagCompound tag = new NBTTagCompound(); - tag.setInteger("meta", damage); + public static ItemStack getItemStack(Block block, int damage) { + NBTTagCompound tag = new NBTTagCompound(); + tag.setInteger("meta", damage); - ItemStack item = new ItemStack(block, 1, 0); - item.setItemDamage(Math.min(damage, 16387)); - item.setTagCompound(tag); - return item; - } + ItemStack item = new ItemStack(block, 1, 0); + item.setItemDamage(Math.min(damage, 16387)); + item.setTagCompound(tag); + return item; + } - public static int getItemDamage(ItemStack item) { - if (item.hasTagCompound() && item.getTagCompound().hasKey("meta")) { - return item.getTagCompound().getInteger("meta"); - } - return item.getItemDamage(); - } + public static int getItemDamage(ItemStack item) { + if (item.hasTagCompound() && item.getTagCompound().hasKey("meta")) { + return item.getTagCompound().getInteger("meta"); + } + return item.getItemDamage(); + } - public static int getTileMetadata(IBlockAccess world, int x, int y, int z) { - TileEntityMetadata tile = getTile(world, x, y, z); - return (tile == null) ? 0 : tile.getTileMetadata(); - } + public static int getTileMetadata(IBlockAccess world, int x, int y, int z) { + TileEntityMetadata tile = getTile(world, x, y, z); + return (tile == null) ? 0 : tile.getTileMetadata(); + } - public boolean hasDroppedBlock() { - return droppedBlock; - } + public boolean hasDroppedBlock() { + return droppedBlock; + } - public void dropBlock() { - droppedBlock = true; - } + public void dropBlock() { + droppedBlock = true; + } } diff --git a/src/main/java/binnie/core/circuits/BinnieCircuit.java b/src/main/java/binnie/core/circuits/BinnieCircuit.java index 015ea6ec..622d87c8 100644 --- a/src/main/java/binnie/core/circuits/BinnieCircuit.java +++ b/src/main/java/binnie/core/circuits/BinnieCircuit.java @@ -3,85 +3,84 @@ package binnie.core.circuits; import forestry.api.circuits.ChipsetManager; import forestry.api.circuits.ICircuit; import forestry.api.circuits.ICircuitLayout; +import java.util.ArrayList; +import java.util.List; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import java.util.ArrayList; -import java.util.List; - public class BinnieCircuit implements ICircuit { - private String uid; - private int limit; - private List tooltips; + private String uid; + private int limit; + private List tooltips; - public BinnieCircuit(String uid, int limit, ICircuitLayout layout, ItemStack itemStack) { - tooltips = new ArrayList<>(); - this.uid = "binnie.circuit." + uid; - this.limit = limit; + public BinnieCircuit(String uid, int limit, ICircuitLayout layout, ItemStack itemStack) { + tooltips = new ArrayList<>(); + this.uid = "binnie.circuit." + uid; + this.limit = limit; - ChipsetManager.circuitRegistry.registerCircuit(this); - if (itemStack != null) { - ChipsetManager.solderManager.addRecipe(layout, itemStack, this); - } - } + ChipsetManager.circuitRegistry.registerCircuit(this); + if (itemStack != null) { + ChipsetManager.solderManager.addRecipe(layout, itemStack, this); + } + } - public BinnieCircuit(String uid, int limit, ICircuitLayout layout, Item item, int itemMeta) { - this(uid, limit, layout, new ItemStack(item, 1, itemMeta)); - } + public BinnieCircuit(String uid, int limit, ICircuitLayout layout, Item item, int itemMeta) { + this(uid, limit, layout, new ItemStack(item, 1, itemMeta)); + } - public void addTooltipString(String string) { - tooltips.add(string); - } + public void addTooltipString(String string) { + tooltips.add(string); + } - @Override - public String getUID() { - return uid; - } + @Override + public String getUID() { + return uid; + } - @Override - public boolean requiresDiscovery() { - return false; - } + @Override + public boolean requiresDiscovery() { + return false; + } - @Override - public int getLimit() { - return limit; - } + @Override + public int getLimit() { + return limit; + } - @Override - public String getName() { - return uid; - } + @Override + public String getName() { + return uid; + } - @Override - public void addTooltip(List list) { - for (String string : tooltips) { - list.add(" - " + string); - } - } + @Override + public void addTooltip(List list) { + for (String string : tooltips) { + list.add(" - " + string); + } + } - @Override - public boolean isCircuitable(Object arg0) { - return false; - } + @Override + public boolean isCircuitable(Object arg0) { + return false; + } - @Override - public void onInsertion(int arg0, Object arg1) { - // ignored - } + @Override + public void onInsertion(int arg0, Object arg1) { + // ignored + } - @Override - public void onLoad(int arg0, Object arg1) { - // ignored - } + @Override + public void onLoad(int arg0, Object arg1) { + // ignored + } - @Override - public void onRemoval(int arg0, Object arg1) { - // ignored - } + @Override + public void onRemoval(int arg0, Object arg1) { + // ignored + } - @Override - public void onTick(int arg0, Object arg1) { - // ignored - } + @Override + public void onTick(int arg0, Object arg1) { + // ignored + } } diff --git a/src/main/java/binnie/core/circuits/BinnieCircuitLayout.java b/src/main/java/binnie/core/circuits/BinnieCircuitLayout.java index 73bc6d35..5bfe28e6 100644 --- a/src/main/java/binnie/core/circuits/BinnieCircuitLayout.java +++ b/src/main/java/binnie/core/circuits/BinnieCircuitLayout.java @@ -8,33 +8,33 @@ import forestry.api.circuits.ICircuitLayout; import forestry.api.circuits.ICircuitSocketType; public class BinnieCircuitLayout implements ICircuitLayout { - private String uid; - private AbstractMod mod; + private String uid; + private AbstractMod mod; - public BinnieCircuitLayout(AbstractMod mod, String uid) { - this.uid = uid; - this.mod = mod; - ChipsetManager.circuitRegistry.registerLayout(this); - } + public BinnieCircuitLayout(AbstractMod mod, String uid) { + this.uid = uid; + this.mod = mod; + ChipsetManager.circuitRegistry.registerLayout(this); + } - @Override - public String getUID() { - return "binnie.circuitLayout" + uid; - } + @Override + public String getUID() { + return "binnie.circuitLayout" + uid; + } - @Override - public String getName() { - return I18N.localise(mod.getModID() + ".circuit.layout." + uid.toLowerCase()); - } + @Override + public String getName() { + return I18N.localise(mod.getModID() + ".circuit.layout." + uid.toLowerCase()); + } - @Override - public String getUsage() { - return I18N.localise(mod.getModID() + ".circuit.layout." + uid.toLowerCase() + ".usage"); - } + @Override + public String getUsage() { + return I18N.localise(mod.getModID() + ".circuit.layout." + uid.toLowerCase() + ".usage"); + } - @Override - public ICircuitSocketType getSocketType() { - // TODO hmm? CircuitSocketType - return CircuitSocketType.NONE; - } + @Override + public ICircuitSocketType getSocketType() { + // TODO hmm? CircuitSocketType + return CircuitSocketType.NONE; + } } diff --git a/src/main/java/binnie/core/craftgui/CraftGUI.java b/src/main/java/binnie/core/craftgui/CraftGUI.java index 79866a28..20d65028 100644 --- a/src/main/java/binnie/core/craftgui/CraftGUI.java +++ b/src/main/java/binnie/core/craftgui/CraftGUI.java @@ -4,6 +4,6 @@ import binnie.core.craftgui.renderer.Renderer; import binnie.core.craftgui.resource.minecraft.CraftGUIResourceManager; public class CraftGUI { - public static CraftGUIResourceManager resourceManager; - public static Renderer render; + public static CraftGUIResourceManager resourceManager; + public static Renderer render; } diff --git a/src/main/java/binnie/core/craftgui/ITooltip.java b/src/main/java/binnie/core/craftgui/ITooltip.java index 16e540fe..1be020a9 100644 --- a/src/main/java/binnie/core/craftgui/ITooltip.java +++ b/src/main/java/binnie/core/craftgui/ITooltip.java @@ -1,5 +1,5 @@ package binnie.core.craftgui; public interface ITooltip { - void getTooltip(Tooltip tooltip); + void getTooltip(Tooltip tooltip); } diff --git a/src/main/java/binnie/core/craftgui/ITooltipHelp.java b/src/main/java/binnie/core/craftgui/ITooltipHelp.java index 1d91f66e..38723e88 100644 --- a/src/main/java/binnie/core/craftgui/ITooltipHelp.java +++ b/src/main/java/binnie/core/craftgui/ITooltipHelp.java @@ -1,5 +1,5 @@ package binnie.core.craftgui; public interface ITooltipHelp { - void getHelpTooltip(Tooltip tooltip); + void getHelpTooltip(Tooltip tooltip); } diff --git a/src/main/java/binnie/core/craftgui/ITopLevelWidget.java b/src/main/java/binnie/core/craftgui/ITopLevelWidget.java index db0324e2..9e94ffa3 100644 --- a/src/main/java/binnie/core/craftgui/ITopLevelWidget.java +++ b/src/main/java/binnie/core/craftgui/ITopLevelWidget.java @@ -3,25 +3,25 @@ package binnie.core.craftgui; import binnie.core.craftgui.geometry.IPoint; public interface ITopLevelWidget extends IWidget { - void setMousePosition(int x, int y); + void setMousePosition(int x, int y); - IPoint getAbsoluteMousePosition(); + IPoint getAbsoluteMousePosition(); - IWidget getFocusedWidget(); + IWidget getFocusedWidget(); - IWidget getMousedOverWidget(); + IWidget getMousedOverWidget(); - IWidget getDraggedWidget(); + IWidget getDraggedWidget(); - boolean isFocused(IWidget widget); + boolean isFocused(IWidget widget); - boolean isMouseOver(IWidget widget); + boolean isMouseOver(IWidget widget); - boolean isDragged(IWidget widget); + boolean isDragged(IWidget widget); - void updateTopLevel(); + void updateTopLevel(); - void widgetDeleted(IWidget widget); + void widgetDeleted(IWidget widget); - IPoint getDragDistance(); + IPoint getDragDistance(); } diff --git a/src/main/java/binnie/core/craftgui/IWidget.java b/src/main/java/binnie/core/craftgui/IWidget.java index c4cfd32b..61f9aa9c 100644 --- a/src/main/java/binnie/core/craftgui/IWidget.java +++ b/src/main/java/binnie/core/craftgui/IWidget.java @@ -4,135 +4,134 @@ import binnie.core.craftgui.events.Event; import binnie.core.craftgui.events.EventHandler; import binnie.core.craftgui.geometry.IArea; import binnie.core.craftgui.geometry.IPoint; - import java.util.List; public interface IWidget { - IWidget getParent(); + IWidget getParent(); - void deleteChild(IWidget child); + void deleteChild(IWidget child); - void deleteAllChildren(); + void deleteAllChildren(); - ITopLevelWidget getSuperParent(); + ITopLevelWidget getSuperParent(); - boolean isTopLevel(); + boolean isTopLevel(); - IPoint getPosition(); + IPoint getPosition(); - IPoint pos(); + IPoint pos(); - void setPosition(IPoint position); + void setPosition(IPoint position); - IPoint getSize(); + IPoint getSize(); - IPoint size(); + IPoint size(); - void setSize(IPoint size); + void setSize(IPoint size); - IPoint getOriginalPosition(); + IPoint getOriginalPosition(); - IPoint getAbsolutePosition(); + IPoint getAbsolutePosition(); - IPoint getOriginalAbsolutePosition(); + IPoint getOriginalAbsolutePosition(); - IPoint getOffset(); + IPoint getOffset(); - IArea getArea(); + IArea getArea(); - IArea area(); + IArea area(); - void setOffset(IPoint offset); + void setOffset(IPoint offset); - IPoint getMousePosition(); + IPoint getMousePosition(); - IPoint getRelativeMousePosition(); + IPoint getRelativeMousePosition(); - void setColor(int color); + void setColor(int color); - int getColor(); + int getColor(); - void render(); + void render(); - void updateClient(); + void updateClient(); - void enable(); + void enable(); - void disable(); + void disable(); - void show(); + void show(); - void hide(); + void hide(); - boolean calculateIsMouseOver(); + boolean calculateIsMouseOver(); - boolean isEnabled(); + boolean isEnabled(); - boolean isVisible(); + boolean isVisible(); - boolean isFocused(); + boolean isFocused(); - boolean isMouseOver(); + boolean isMouseOver(); - boolean isDragged(); + boolean isDragged(); - boolean isChildVisible(IWidget child); + boolean isChildVisible(IWidget child); - boolean isChildEnabled(IWidget child); + boolean isChildEnabled(IWidget child); - boolean canMouseOver(); + boolean canMouseOver(); - boolean canFocus(); + boolean canFocus(); - IWidget addWidget(IWidget widget); + IWidget addWidget(IWidget widget); - List getWidgets(); + List getWidgets(); - void callEvent(Event event); + void callEvent(Event event); - void recieveEvent(Event event); + void recieveEvent(Event event); - void onUpdateClient(); + void onUpdateClient(); - void delete(); + void delete(); - void onDelete(); + void onDelete(); - T getWidget(Class p0); + T getWidget(Class p0); - IArea getCroppedZone(); + IArea getCroppedZone(); - void setCroppedZone(IWidget relative, IArea area); + void setCroppedZone(IWidget relative, IArea area); - boolean isCroppedWidget(); + boolean isCroppedWidget(); - IWidget getCropWidget(); + IWidget getCropWidget(); - boolean isMouseOverWidget(IPoint p0); + boolean isMouseOverWidget(IPoint p0); - int getLevel(); + int getLevel(); - boolean isDescendant(IWidget widget); + boolean isDescendant(IWidget widget); - List getAttributes(); + List getAttributes(); - boolean hasAttribute(WidgetAttribute attribute); + boolean hasAttribute(WidgetAttribute attribute); - boolean addAttribute(WidgetAttribute attribute); + boolean addAttribute(WidgetAttribute attribute); - void addEventHandler(EventHandler handler); + void addEventHandler(EventHandler handler); - void addSelfEventHandler(EventHandler handler); + void addSelfEventHandler(EventHandler handler); - boolean contains(IPoint p0); + boolean contains(IPoint p0); - float x(); + float x(); - float y(); + float y(); - float w(); + float w(); - float h(); + float h(); - void onRender(RenderStage stage); + void onRender(RenderStage stage); } diff --git a/src/main/java/binnie/core/craftgui/RenderStage.java b/src/main/java/binnie/core/craftgui/RenderStage.java index 66432c25..0d897375 100644 --- a/src/main/java/binnie/core/craftgui/RenderStage.java +++ b/src/main/java/binnie/core/craftgui/RenderStage.java @@ -1,7 +1,7 @@ package binnie.core.craftgui; public enum RenderStage { - PreChildren, - PostChildren, - PostSiblings + PreChildren, + PostChildren, + PostSiblings } diff --git a/src/main/java/binnie/core/craftgui/Tooltip.java b/src/main/java/binnie/core/craftgui/Tooltip.java index 2ec82ef3..c8528171 100644 --- a/src/main/java/binnie/core/craftgui/Tooltip.java +++ b/src/main/java/binnie/core/craftgui/Tooltip.java @@ -1,76 +1,74 @@ package binnie.core.craftgui; +import java.util.ArrayList; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidStack; -import java.util.ArrayList; -import java.util.List; - public class Tooltip { - public int maxWidth; + public int maxWidth; - protected List tooltip; - protected ITooltipType type; + protected List tooltip; + protected ITooltipType type; - public Tooltip() { - tooltip = new ArrayList<>(); - type = Type.STANDARD; - maxWidth = 256; - } + public Tooltip() { + tooltip = new ArrayList<>(); + type = Type.STANDARD; + maxWidth = 256; + } - public void add(String string) { - tooltip.add(string); - } + public void add(String string) { + tooltip.add(string); + } - public void add(ItemStack item, String string) { - NBTTagCompound nbt = new NBTTagCompound(); - item.writeToNBT(nbt); - nbt.setByte("nbt-type", (byte) 105); - add("~~~" + nbt.toString() + "~~~" + string); - } + public void add(ItemStack item, String string) { + NBTTagCompound nbt = new NBTTagCompound(); + item.writeToNBT(nbt); + nbt.setByte("nbt-type", (byte) 105); + add("~~~" + nbt.toString() + "~~~" + string); + } - public void add(FluidStack item, String string) { - NBTTagCompound nbt = new NBTTagCompound(); - item.writeToNBT(nbt); - nbt.setByte("nbt-type", (byte) 102); - add("~~~" + nbt.toString() + "~~~" + string); - } + public void add(FluidStack item, String string) { + NBTTagCompound nbt = new NBTTagCompound(); + item.writeToNBT(nbt); + nbt.setByte("nbt-type", (byte) 102); + add("~~~" + nbt.toString() + "~~~" + string); + } - public boolean exists() { - return tooltip.size() > 0; - } + public boolean exists() { + return tooltip.size() > 0; + } - public void add(List list) { - for (Object obj : list) { - tooltip.add((String) obj); - } - } + public void add(List list) { + for (Object obj : list) { + tooltip.add((String) obj); + } + } - public List getList() { - return tooltip; - } + public List getList() { + return tooltip; + } - public void setType(ITooltipType type) { - this.type = type; - } + public void setType(ITooltipType type) { + this.type = type; + } - public void setMaxWidth(int w) { - maxWidth = w; - } + public void setMaxWidth(int w) { + maxWidth = w; + } - public ITooltipType getType() { - return type; - } + public ITooltipType getType() { + return type; + } - public enum Type implements ITooltipType { - STANDARD, - HELP, - INFORMATION, - USER, - POWER - } + public enum Type implements ITooltipType { + STANDARD, + HELP, + INFORMATION, + USER, + POWER + } - public interface ITooltipType { - } + public interface ITooltipType {} } diff --git a/src/main/java/binnie/core/craftgui/TopLevelWidget.java b/src/main/java/binnie/core/craftgui/TopLevelWidget.java index 132317e2..ab671f6b 100644 --- a/src/main/java/binnie/core/craftgui/TopLevelWidget.java +++ b/src/main/java/binnie/core/craftgui/TopLevelWidget.java @@ -3,229 +3,234 @@ package binnie.core.craftgui; import binnie.core.craftgui.events.EventMouse; import binnie.core.craftgui.events.EventWidget; import binnie.core.craftgui.geometry.IPoint; -import org.lwjgl.input.Mouse; - import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collection; import java.util.Deque; import java.util.List; import java.util.ListIterator; +import org.lwjgl.input.Mouse; public abstract class TopLevelWidget extends Widget implements ITopLevelWidget { - protected IWidget mousedOverWidget; - protected IWidget draggedWidget; - protected IWidget focusedWidget; - protected IPoint mousePosition; - protected IPoint dragStart; + protected IWidget mousedOverWidget; + protected IWidget draggedWidget; + protected IWidget focusedWidget; + protected IPoint mousePosition; + protected IPoint dragStart; - public TopLevelWidget() { - super(null); - mousePosition = new IPoint(0.0f, 0.0f); - dragStart = IPoint.ZERO; + public TopLevelWidget() { + super(null); + mousePosition = new IPoint(0.0f, 0.0f); + dragStart = IPoint.ZERO; - addEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - setDraggedWidget(mousedOverWidget, event.getButton()); - setFocusedWidget(mousedOverWidget); - } - }); + addEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + setDraggedWidget(mousedOverWidget, event.getButton()); + setFocusedWidget(mousedOverWidget); + } + }); - addEventHandler(new EventMouse.Up.Handler() { - @Override - public void onEvent(EventMouse.Up event) { - setDraggedWidget(null); - } - }); + addEventHandler(new EventMouse.Up.Handler() { + @Override + public void onEvent(EventMouse.Up event) { + setDraggedWidget(null); + } + }); - addEventHandler(new EventWidget.StartDrag.Handler() { - @Override - public void onEvent(EventWidget.StartDrag event) { - dragStart = getRelativeMousePosition(); - } - }); - } + addEventHandler(new EventWidget.StartDrag.Handler() { + @Override + public void onEvent(EventWidget.StartDrag event) { + dragStart = getRelativeMousePosition(); + } + }); + } - public void setMousedOverWidget(IWidget widget) { - if (mousedOverWidget == widget) { - return; - } + public void setMousedOverWidget(IWidget widget) { + if (mousedOverWidget == widget) { + return; + } - if (mousedOverWidget != null) { - callEvent(new EventWidget.EndMouseOver(mousedOverWidget)); - } + if (mousedOverWidget != null) { + callEvent(new EventWidget.EndMouseOver(mousedOverWidget)); + } - mousedOverWidget = widget; - if (mousedOverWidget != null) { - callEvent(new EventWidget.StartMouseOver(mousedOverWidget)); - } - } + mousedOverWidget = widget; + if (mousedOverWidget != null) { + callEvent(new EventWidget.StartMouseOver(mousedOverWidget)); + } + } - public void setDraggedWidget(IWidget widget) { - setDraggedWidget(widget, -1); - } + public void setDraggedWidget(IWidget widget) { + setDraggedWidget(widget, -1); + } - public void setDraggedWidget(IWidget widget, int button) { - if (draggedWidget == widget) { - return; - } + public void setDraggedWidget(IWidget widget, int button) { + if (draggedWidget == widget) { + return; + } - if (draggedWidget != null) { - callEvent(new EventWidget.EndDrag(draggedWidget)); - } + if (draggedWidget != null) { + callEvent(new EventWidget.EndDrag(draggedWidget)); + } - draggedWidget = widget; - if (draggedWidget != null) { - callEvent(new EventWidget.StartDrag(draggedWidget, button)); - } - } + draggedWidget = widget; + if (draggedWidget != null) { + callEvent(new EventWidget.StartDrag(draggedWidget, button)); + } + } - public void setFocusedWidget(IWidget widget) { - IWidget newWidget = widget; - if (focusedWidget == newWidget) { - return; - } + public void setFocusedWidget(IWidget widget) { + IWidget newWidget = widget; + if (focusedWidget == newWidget) { + return; + } - if (newWidget != null && !newWidget.canFocus()) { - newWidget = null; - } - if (focusedWidget != null) { - callEvent(new EventWidget.LoseFocus(focusedWidget)); - } + if (newWidget != null && !newWidget.canFocus()) { + newWidget = null; + } + if (focusedWidget != null) { + callEvent(new EventWidget.LoseFocus(focusedWidget)); + } - focusedWidget = newWidget; - if (focusedWidget != null) { - callEvent(new EventWidget.GainFocus(focusedWidget)); - } - } + focusedWidget = newWidget; + if (focusedWidget != null) { + callEvent(new EventWidget.GainFocus(focusedWidget)); + } + } - @Override - public IWidget getMousedOverWidget() { - return mousedOverWidget; - } + @Override + public IWidget getMousedOverWidget() { + return mousedOverWidget; + } - @Override - public IWidget getDraggedWidget() { - return draggedWidget; - } + @Override + public IWidget getDraggedWidget() { + return draggedWidget; + } - @Override - public IWidget getFocusedWidget() { - return focusedWidget; - } + @Override + public IWidget getFocusedWidget() { + return focusedWidget; + } - @Override - public boolean isMouseOver(IWidget widget) { - return getMousedOverWidget() == widget; - } + @Override + public boolean isMouseOver(IWidget widget) { + return getMousedOverWidget() == widget; + } - @Override - public boolean isDragged(IWidget widget) { - return getDraggedWidget() == widget; - } + @Override + public boolean isDragged(IWidget widget) { + return getDraggedWidget() == widget; + } - @Override - public boolean isFocused(IWidget widget) { - return getFocusedWidget() == widget; - } + @Override + public boolean isFocused(IWidget widget) { + return getFocusedWidget() == widget; + } - @Override - public void updateTopLevel() { - setMousedOverWidget(calculateMousedOverWidget()); - if (getFocusedWidget() != null && (!getFocusedWidget().isVisible() || !getFocusedWidget().isEnabled())) { - setFocusedWidget(null); - } + @Override + public void updateTopLevel() { + setMousedOverWidget(calculateMousedOverWidget()); + if (getFocusedWidget() != null + && (!getFocusedWidget().isVisible() || !getFocusedWidget().isEnabled())) { + setFocusedWidget(null); + } - if (!Mouse.isButtonDown(0)) { - if (draggedWidget != null) { - setDraggedWidget(null); - } - } - } + if (!Mouse.isButtonDown(0)) { + if (draggedWidget != null) { + setDraggedWidget(null); + } + } + } - private IWidget calculateMousedOverWidget() { - Deque queue = calculateMousedOverWidgets(); - while (!queue.isEmpty()) { - IWidget widget = queue.removeFirst(); - if (widget.isEnabled() && widget.isVisible()) { - if (!widget.canMouseOver()) { - continue; - } - if (widget.isEnabled() && widget.isVisible() && widget.canMouseOver() && widget.calculateIsMouseOver()) { - return widget; - } - } - } - return null; - } + private IWidget calculateMousedOverWidget() { + Deque queue = calculateMousedOverWidgets(); + while (!queue.isEmpty()) { + IWidget widget = queue.removeFirst(); + if (widget.isEnabled() && widget.isVisible()) { + if (!widget.canMouseOver()) { + continue; + } + if (widget.isEnabled() + && widget.isVisible() + && widget.canMouseOver() + && widget.calculateIsMouseOver()) { + return widget; + } + } + } + return null; + } - public Deque calculateMousedOverWidgets() { - Deque list = new ArrayDeque<>(); - for (IWidget widget : getQueuedWidgets(this)) { - if (widget.calculateIsMouseOver()) { - list.addLast(widget); - } - } - return list; - } + public Deque calculateMousedOverWidgets() { + Deque list = new ArrayDeque<>(); + for (IWidget widget : getQueuedWidgets(this)) { + if (widget.calculateIsMouseOver()) { + list.addLast(widget); + } + } + return list; + } - private Collection getQueuedWidgets(IWidget widget) { - List widgets = new ArrayList<>(); - boolean addChildren = true; - if (widget.isCroppedWidget()) { - addChildren = widget.getCroppedZone().contains(widget.getCropWidget().getRelativeMousePosition()); - } + private Collection getQueuedWidgets(IWidget widget) { + List widgets = new ArrayList<>(); + boolean addChildren = true; + if (widget.isCroppedWidget()) { + addChildren = + widget.getCroppedZone().contains(widget.getCropWidget().getRelativeMousePosition()); + } - if (addChildren) { - ListIterator li = widget.getWidgets().listIterator(widget.getWidgets().size()); - while (li.hasPrevious()) { - IWidget child = li.previous(); - widgets.addAll(getQueuedWidgets(child)); - } - } - widgets.add(widget); - return widgets; - } + if (addChildren) { + ListIterator li = + widget.getWidgets().listIterator(widget.getWidgets().size()); + while (li.hasPrevious()) { + IWidget child = li.previous(); + widgets.addAll(getQueuedWidgets(child)); + } + } + widgets.add(widget); + return widgets; + } - @Override - public void setMousePosition(int x, int y) { - float dx = x - mousePosition.x(); - float dy = y - mousePosition.y(); - if (dx != 0.0f || dy != 0.0f) { - if (getDraggedWidget() != null) { - callEvent(new EventMouse.Drag(getDraggedWidget(), dx, dy)); - } else { - callEvent(new EventMouse.Move(this, dx, dy)); - } - } - - if (mousePosition.x() != x || mousePosition.y() != y) { - mousePosition = new IPoint(x, y); - setMousedOverWidget(calculateMousedOverWidget()); - } - } + @Override + public void setMousePosition(int x, int y) { + float dx = x - mousePosition.x(); + float dy = y - mousePosition.y(); + if (dx != 0.0f || dy != 0.0f) { + if (getDraggedWidget() != null) { + callEvent(new EventMouse.Drag(getDraggedWidget(), dx, dy)); + } else { + callEvent(new EventMouse.Move(this, dx, dy)); + } + } - @Override - public IPoint getAbsoluteMousePosition() { - return mousePosition; - } + if (mousePosition.x() != x || mousePosition.y() != y) { + mousePosition = new IPoint(x, y); + setMousedOverWidget(calculateMousedOverWidget()); + } + } - @Override - public void widgetDeleted(IWidget widget) { - if (isMouseOver(widget)) { - setMousedOverWidget(null); - } - if (isDragged(widget)) { - setDraggedWidget(null); - } - if (isFocused(widget)) { - setFocusedWidget(null); - } - } + @Override + public IPoint getAbsoluteMousePosition() { + return mousePosition; + } - @Override - public IPoint getDragDistance() { - return getRelativeMousePosition().sub(dragStart); - } + @Override + public void widgetDeleted(IWidget widget) { + if (isMouseOver(widget)) { + setMousedOverWidget(null); + } + if (isDragged(widget)) { + setDraggedWidget(null); + } + if (isFocused(widget)) { + setFocusedWidget(null); + } + } + + @Override + public IPoint getDragDistance() { + return getRelativeMousePosition().sub(dragStart); + } } diff --git a/src/main/java/binnie/core/craftgui/Widget.java b/src/main/java/binnie/core/craftgui/Widget.java index 01222dd3..11c1c574 100644 --- a/src/main/java/binnie/core/craftgui/Widget.java +++ b/src/main/java/binnie/core/craftgui/Widget.java @@ -5,511 +5,514 @@ import binnie.core.craftgui.events.EventHandler; import binnie.core.craftgui.events.EventWidget; import binnie.core.craftgui.geometry.IArea; import binnie.core.craftgui.geometry.IPoint; - import java.util.ArrayList; import java.util.Collection; import java.util.ConcurrentModificationException; import java.util.List; public class Widget implements IWidget { - protected IArea cropArea; - protected IWidget cropWidget; - protected boolean cropped; - protected int color; - - private IWidget parent; - private List subWidgets; - private List attributes; - private IPoint position; - private IPoint size; - private IPoint offset; - private Collection globalEventHandlers; - private boolean enabled; - private boolean visible; - - public Widget(IWidget parent) { - this.parent = null; - subWidgets = new ArrayList<>(); - attributes = new ArrayList<>(); - position = new IPoint(0.0f, 0.0f); - size = new IPoint(0.0f, 0.0f); - offset = new IPoint(0.0f, 0.0f); - cropped = false; - color = 0xffffff; - globalEventHandlers = new ArrayList<>(); - enabled = true; - visible = true; - - this.parent = parent; - if (parent != null) { - parent.addWidget(this); - } - } - - @Override - public List getAttributes() { - return attributes; - } - - @Override - public boolean hasAttribute(WidgetAttribute attribute) { - return attributes.contains(attribute); - } - - @Override - public boolean addAttribute(WidgetAttribute attribute) { - return attributes.add(attribute); - } - - @Override - public void deleteChild(IWidget child) { - if (child == null) { - return; - } - - child.delete(); - subWidgets.remove(child); - } - - @Override - public void deleteAllChildren() { - while (!subWidgets.isEmpty()) { - deleteChild(subWidgets.get(0)); - } - } - - @Override - public IWidget getParent() { - return parent; - } - - @Override - public ITopLevelWidget getSuperParent() { - return (ITopLevelWidget) (isTopLevel() ? this : parent.getSuperParent()); - } - - @Override - public IWidget addWidget(IWidget widget) { - if (subWidgets.size() != 0 && subWidgets.get(subWidgets.size() - 1).hasAttribute(WidgetAttribute.ALWAYS_ON_TOP)) { - subWidgets.add(subWidgets.size() - 1, widget); - } else { - subWidgets.add(widget); - } - onAddChild(widget); - return widget; - } - - protected void onAddChild(IWidget widget) { - // ignored - } - - @Override - public List getWidgets() { - return subWidgets; - } - - @Override - public boolean isTopLevel() { - return this instanceof ITopLevelWidget; - } - - @Override - public IPoint pos() { - return position.add(offset); - } - - @Override - public IPoint size() { - return size; - } - - @Override - public IArea area() { - return getArea(); - } - - @Override - public IPoint getPosition() { - return pos(); - } - - @Override - public IArea getArea() { - return new IArea(IPoint.ZERO, size()); - } - - @Override - public IPoint getOriginalPosition() { - return position; - } - - @Override - public IArea getCroppedZone() { - return cropArea; - } - - @Override - public void setCroppedZone(IWidget relative, IArea area) { - cropArea = area; - cropped = true; - cropWidget = relative; - } - - @Override - public IPoint getAbsolutePosition() { - return isTopLevel() ? getPosition() : getParent().getAbsolutePosition().add(getPosition()); - } - - @Override - public IPoint getOriginalAbsolutePosition() { - return isTopLevel() ? getOriginalPosition() : getParent().getOriginalPosition().sub(getOriginalPosition()); - } - - @Override - public IPoint getSize() { - return size(); - } - - @Override - public IPoint getOffset() { - return offset; - } - - @Override - public void setPosition(IPoint position) { - if (!position.equals(this.position)) { - this.position = new IPoint(position); - callEvent(new EventWidget.ChangePosition(this)); - } - } - - @Override - public void setSize(IPoint size) { - if (!size.equals(this.size)) { - this.size = new IPoint(size); - callEvent(new EventWidget.ChangeSize(this)); - } - } - - @Override - public void setOffset(IPoint offset) { - if (offset != this.offset) { - this.offset = new IPoint(offset); - callEvent(new EventWidget.ChangeOffset(this)); - } - } - - @Override - public void setColor(int color) { - if (this.color != color) { - this.color = color; - callEvent(new EventWidget.ChangeColour(this)); - } - } - - @Override - public int getColor() { - return color; - } - - @Override - public boolean canMouseOver() { - return hasAttribute(WidgetAttribute.MOUSE_OVER); - } - - @Override - public boolean canFocus() { - return hasAttribute(WidgetAttribute.CAN_FOCUS); - } - - @Override - public void addEventHandler(EventHandler handler) { - globalEventHandlers.add(handler); - } - - @Override - public void addSelfEventHandler(EventHandler handler) { - addEventHandler(handler.setOrigin(EventHandler.Origin.Self, this)); - } - - @Override - public void callEvent(Event event) { - getSuperParent().recieveEvent(event); - } - - @Override - public void recieveEvent(Event event) { - for (EventHandler handler : globalEventHandlers) { - if (handler.handles(event)) { - handler.onEvent(event); - } - } - - try { - for (IWidget child : getWidgets()) { - child.recieveEvent(event); - } - } catch (ConcurrentModificationException e) { - // ignored - } - } - - @Override - public IPoint getMousePosition() { - return getSuperParent().getAbsoluteMousePosition(); - } - - @Override - public IPoint getRelativeMousePosition() { - return isTopLevel() ? getMousePosition() : getParent().getRelativeMousePosition().sub(getPosition()); - } - - @Override - public boolean isCroppedWidget() { - return cropped; - } - - @Override - public IWidget getCropWidget() { - return (cropWidget == null) ? this : cropWidget; - } - - @Override - public void render() { - if (!isVisible()) { - return; - } - - CraftGUI.render.preRender(this); - onRender(RenderStage.PreChildren); - - for (IWidget widget : getWidgets()) { - widget.render(); - CraftGUI.render.preRender(widget); - widget.onRender(RenderStage.PostSiblings); - CraftGUI.render.postRender(widget); - } - - onRender(RenderStage.PostChildren); - CraftGUI.render.postRender(this); - } - - @Override - public void updateClient() { - if (!isVisible()) { - return; - } - - if (getSuperParent() == this) { - ((ITopLevelWidget) this).updateTopLevel(); - } - - onUpdateClient(); - List deletedWidgets = new ArrayList<>(); - for (IWidget widget : getWidgets()) { - if (widget.hasAttribute(WidgetAttribute.NEEDS_DELETION)) { - deletedWidgets.add(widget); - } else { - widget.updateClient(); - } - } - - for (IWidget widget : deletedWidgets) { - deleteChild(widget); - } - } - - @Override - public boolean calculateIsMouseOver() { - IPoint mouse = getRelativeMousePosition(); - if (!cropped) { - return isMouseOverWidget(mouse); - } - - IWidget cropRelative = (cropWidget != null) ? cropWidget : this; - IPoint pos = IPoint.sub(cropRelative.getAbsolutePosition(), getAbsolutePosition()); - IPoint size = new IPoint(cropArea.size().x(), cropArea.size().y()); - return mouse.x() > pos.x() - && mouse.y() > pos.y() - && mouse.x() < pos.x() + size.x() - && mouse.y() < pos.y() + size.y() - && isMouseOverWidget(mouse); - } - - @Override - public boolean isMouseOverWidget(IPoint relativeMouse) { - return getArea().contains(relativeMouse); - } - - @Override - public void enable() { - enabled = true; - callEvent(new EventWidget.Enable(this)); - } - - @Override - public void disable() { - enabled = false; - callEvent(new EventWidget.Disable(this)); - } - - @Override - public void show() { - visible = true; - callEvent(new EventWidget.Show(this)); - } - - @Override - public void hide() { - visible = false; - callEvent(new EventWidget.Hide(this)); - } - - @Override - public boolean isEnabled() { - if (!enabled) { - return false; - } - if (isTopLevel()) { - return true; - } - return getParent().isEnabled() && getParent().isChildEnabled(this); - } - - @Override - public boolean isVisible() { - if (!visible) { - return false; - } - if (isTopLevel()) { - return true; - } - return getParent().isVisible() && getParent().isChildVisible(this); - } - - @Override - public boolean isFocused() { - return getSuperParent().isFocused(this); - } - - @Override - public boolean isDragged() { - return getSuperParent().isDragged(this); - } - - @Override - public boolean isMouseOver() { - return getSuperParent().isMouseOver(this); - } - - @Override - public boolean isChildVisible(IWidget child) { - return true; - } - - @Override - public boolean isChildEnabled(IWidget child) { - return true; - } - - @Override - public void onRender(RenderStage stage) { - if (stage == RenderStage.PreChildren) { - onRenderBackground(); - } else if (stage == RenderStage.PostChildren) { - onRenderForeground(); - } else if (stage == RenderStage.PostSiblings) { - onRenderOverlay(); - } - } - - public void onRenderBackground() { - // ignored - } - - public void onRenderForeground() { - // ignored - } - - public void onRenderOverlay() { - // ignored - } - - @Override - public void onUpdateClient() { - // ignored - } - - @Override - public void delete() { - getSuperParent().widgetDeleted(this); - onDelete(); - } - - @Override - public void onDelete() { - } - - @Override - public T getWidget(Class x) { - for (IWidget child : getWidgets()) { - if (x.isInstance(child)) { - return (T) child; - } - - T found = child.getWidget(x); - if (found != null) { - return found; - } - } - return null; - } - - @Override - public boolean contains(IPoint position) { - return getArea().contains(position); - } - - @Override - public int getLevel() { - int level = (getParent() == null) ? 0 : getParent().getLevel(); - int index = (getParent() == null) ? 0 : getParent().getWidgets().indexOf(this); - return level + index; - } - - @Override - public boolean isDescendant(IWidget widget) { - IWidget clss = this; - while (clss != widget) { - clss = clss.getParent(); - if (clss == null) { - return false; - } - } - return true; - } - - @Override - public float x() { - return pos().x(); - } - - @Override - public float y() { - return pos().y(); - } - - @Override - public float w() { - return size().x(); - } - - @Override - public float h() { - return size().y(); - } - - public IWidget getWidget() { - return this; - } + protected IArea cropArea; + protected IWidget cropWidget; + protected boolean cropped; + protected int color; + + private IWidget parent; + private List subWidgets; + private List attributes; + private IPoint position; + private IPoint size; + private IPoint offset; + private Collection globalEventHandlers; + private boolean enabled; + private boolean visible; + + public Widget(IWidget parent) { + this.parent = null; + subWidgets = new ArrayList<>(); + attributes = new ArrayList<>(); + position = new IPoint(0.0f, 0.0f); + size = new IPoint(0.0f, 0.0f); + offset = new IPoint(0.0f, 0.0f); + cropped = false; + color = 0xffffff; + globalEventHandlers = new ArrayList<>(); + enabled = true; + visible = true; + + this.parent = parent; + if (parent != null) { + parent.addWidget(this); + } + } + + @Override + public List getAttributes() { + return attributes; + } + + @Override + public boolean hasAttribute(WidgetAttribute attribute) { + return attributes.contains(attribute); + } + + @Override + public boolean addAttribute(WidgetAttribute attribute) { + return attributes.add(attribute); + } + + @Override + public void deleteChild(IWidget child) { + if (child == null) { + return; + } + + child.delete(); + subWidgets.remove(child); + } + + @Override + public void deleteAllChildren() { + while (!subWidgets.isEmpty()) { + deleteChild(subWidgets.get(0)); + } + } + + @Override + public IWidget getParent() { + return parent; + } + + @Override + public ITopLevelWidget getSuperParent() { + return (ITopLevelWidget) (isTopLevel() ? this : parent.getSuperParent()); + } + + @Override + public IWidget addWidget(IWidget widget) { + if (subWidgets.size() != 0 + && subWidgets.get(subWidgets.size() - 1).hasAttribute(WidgetAttribute.ALWAYS_ON_TOP)) { + subWidgets.add(subWidgets.size() - 1, widget); + } else { + subWidgets.add(widget); + } + onAddChild(widget); + return widget; + } + + protected void onAddChild(IWidget widget) { + // ignored + } + + @Override + public List getWidgets() { + return subWidgets; + } + + @Override + public boolean isTopLevel() { + return this instanceof ITopLevelWidget; + } + + @Override + public IPoint pos() { + return position.add(offset); + } + + @Override + public IPoint size() { + return size; + } + + @Override + public IArea area() { + return getArea(); + } + + @Override + public IPoint getPosition() { + return pos(); + } + + @Override + public IArea getArea() { + return new IArea(IPoint.ZERO, size()); + } + + @Override + public IPoint getOriginalPosition() { + return position; + } + + @Override + public IArea getCroppedZone() { + return cropArea; + } + + @Override + public void setCroppedZone(IWidget relative, IArea area) { + cropArea = area; + cropped = true; + cropWidget = relative; + } + + @Override + public IPoint getAbsolutePosition() { + return isTopLevel() ? getPosition() : getParent().getAbsolutePosition().add(getPosition()); + } + + @Override + public IPoint getOriginalAbsolutePosition() { + return isTopLevel() + ? getOriginalPosition() + : getParent().getOriginalPosition().sub(getOriginalPosition()); + } + + @Override + public IPoint getSize() { + return size(); + } + + @Override + public IPoint getOffset() { + return offset; + } + + @Override + public void setPosition(IPoint position) { + if (!position.equals(this.position)) { + this.position = new IPoint(position); + callEvent(new EventWidget.ChangePosition(this)); + } + } + + @Override + public void setSize(IPoint size) { + if (!size.equals(this.size)) { + this.size = new IPoint(size); + callEvent(new EventWidget.ChangeSize(this)); + } + } + + @Override + public void setOffset(IPoint offset) { + if (offset != this.offset) { + this.offset = new IPoint(offset); + callEvent(new EventWidget.ChangeOffset(this)); + } + } + + @Override + public void setColor(int color) { + if (this.color != color) { + this.color = color; + callEvent(new EventWidget.ChangeColour(this)); + } + } + + @Override + public int getColor() { + return color; + } + + @Override + public boolean canMouseOver() { + return hasAttribute(WidgetAttribute.MOUSE_OVER); + } + + @Override + public boolean canFocus() { + return hasAttribute(WidgetAttribute.CAN_FOCUS); + } + + @Override + public void addEventHandler(EventHandler handler) { + globalEventHandlers.add(handler); + } + + @Override + public void addSelfEventHandler(EventHandler handler) { + addEventHandler(handler.setOrigin(EventHandler.Origin.Self, this)); + } + + @Override + public void callEvent(Event event) { + getSuperParent().recieveEvent(event); + } + + @Override + public void recieveEvent(Event event) { + for (EventHandler handler : globalEventHandlers) { + if (handler.handles(event)) { + handler.onEvent(event); + } + } + + try { + for (IWidget child : getWidgets()) { + child.recieveEvent(event); + } + } catch (ConcurrentModificationException e) { + // ignored + } + } + + @Override + public IPoint getMousePosition() { + return getSuperParent().getAbsoluteMousePosition(); + } + + @Override + public IPoint getRelativeMousePosition() { + return isTopLevel() + ? getMousePosition() + : getParent().getRelativeMousePosition().sub(getPosition()); + } + + @Override + public boolean isCroppedWidget() { + return cropped; + } + + @Override + public IWidget getCropWidget() { + return (cropWidget == null) ? this : cropWidget; + } + + @Override + public void render() { + if (!isVisible()) { + return; + } + + CraftGUI.render.preRender(this); + onRender(RenderStage.PreChildren); + + for (IWidget widget : getWidgets()) { + widget.render(); + CraftGUI.render.preRender(widget); + widget.onRender(RenderStage.PostSiblings); + CraftGUI.render.postRender(widget); + } + + onRender(RenderStage.PostChildren); + CraftGUI.render.postRender(this); + } + + @Override + public void updateClient() { + if (!isVisible()) { + return; + } + + if (getSuperParent() == this) { + ((ITopLevelWidget) this).updateTopLevel(); + } + + onUpdateClient(); + List deletedWidgets = new ArrayList<>(); + for (IWidget widget : getWidgets()) { + if (widget.hasAttribute(WidgetAttribute.NEEDS_DELETION)) { + deletedWidgets.add(widget); + } else { + widget.updateClient(); + } + } + + for (IWidget widget : deletedWidgets) { + deleteChild(widget); + } + } + + @Override + public boolean calculateIsMouseOver() { + IPoint mouse = getRelativeMousePosition(); + if (!cropped) { + return isMouseOverWidget(mouse); + } + + IWidget cropRelative = (cropWidget != null) ? cropWidget : this; + IPoint pos = IPoint.sub(cropRelative.getAbsolutePosition(), getAbsolutePosition()); + IPoint size = new IPoint(cropArea.size().x(), cropArea.size().y()); + return mouse.x() > pos.x() + && mouse.y() > pos.y() + && mouse.x() < pos.x() + size.x() + && mouse.y() < pos.y() + size.y() + && isMouseOverWidget(mouse); + } + + @Override + public boolean isMouseOverWidget(IPoint relativeMouse) { + return getArea().contains(relativeMouse); + } + + @Override + public void enable() { + enabled = true; + callEvent(new EventWidget.Enable(this)); + } + + @Override + public void disable() { + enabled = false; + callEvent(new EventWidget.Disable(this)); + } + + @Override + public void show() { + visible = true; + callEvent(new EventWidget.Show(this)); + } + + @Override + public void hide() { + visible = false; + callEvent(new EventWidget.Hide(this)); + } + + @Override + public boolean isEnabled() { + if (!enabled) { + return false; + } + if (isTopLevel()) { + return true; + } + return getParent().isEnabled() && getParent().isChildEnabled(this); + } + + @Override + public boolean isVisible() { + if (!visible) { + return false; + } + if (isTopLevel()) { + return true; + } + return getParent().isVisible() && getParent().isChildVisible(this); + } + + @Override + public boolean isFocused() { + return getSuperParent().isFocused(this); + } + + @Override + public boolean isDragged() { + return getSuperParent().isDragged(this); + } + + @Override + public boolean isMouseOver() { + return getSuperParent().isMouseOver(this); + } + + @Override + public boolean isChildVisible(IWidget child) { + return true; + } + + @Override + public boolean isChildEnabled(IWidget child) { + return true; + } + + @Override + public void onRender(RenderStage stage) { + if (stage == RenderStage.PreChildren) { + onRenderBackground(); + } else if (stage == RenderStage.PostChildren) { + onRenderForeground(); + } else if (stage == RenderStage.PostSiblings) { + onRenderOverlay(); + } + } + + public void onRenderBackground() { + // ignored + } + + public void onRenderForeground() { + // ignored + } + + public void onRenderOverlay() { + // ignored + } + + @Override + public void onUpdateClient() { + // ignored + } + + @Override + public void delete() { + getSuperParent().widgetDeleted(this); + onDelete(); + } + + @Override + public void onDelete() {} + + @Override + public T getWidget(Class x) { + for (IWidget child : getWidgets()) { + if (x.isInstance(child)) { + return (T) child; + } + + T found = child.getWidget(x); + if (found != null) { + return found; + } + } + return null; + } + + @Override + public boolean contains(IPoint position) { + return getArea().contains(position); + } + + @Override + public int getLevel() { + int level = (getParent() == null) ? 0 : getParent().getLevel(); + int index = (getParent() == null) ? 0 : getParent().getWidgets().indexOf(this); + return level + index; + } + + @Override + public boolean isDescendant(IWidget widget) { + IWidget clss = this; + while (clss != widget) { + clss = clss.getParent(); + if (clss == null) { + return false; + } + } + return true; + } + + @Override + public float x() { + return pos().x(); + } + + @Override + public float y() { + return pos().y(); + } + + @Override + public float w() { + return size().x(); + } + + @Override + public float h() { + return size().y(); + } + + public IWidget getWidget() { + return this; + } } diff --git a/src/main/java/binnie/core/craftgui/WidgetAttribute.java b/src/main/java/binnie/core/craftgui/WidgetAttribute.java index ce03ada8..bb30284a 100644 --- a/src/main/java/binnie/core/craftgui/WidgetAttribute.java +++ b/src/main/java/binnie/core/craftgui/WidgetAttribute.java @@ -1,9 +1,9 @@ package binnie.core.craftgui; public enum WidgetAttribute { - MOUSE_OVER, - CAN_FOCUS, - NEEDS_DELETION, - ALWAYS_ON_TOP, - BLOCK_TOOLTIP + MOUSE_OVER, + CAN_FOCUS, + NEEDS_DELETION, + ALWAYS_ON_TOP, + BLOCK_TOOLTIP } diff --git a/src/main/java/binnie/core/craftgui/WindowFieldKit.java b/src/main/java/binnie/core/craftgui/WindowFieldKit.java index 1d78b669..48dee866 100644 --- a/src/main/java/binnie/core/craftgui/WindowFieldKit.java +++ b/src/main/java/binnie/core/craftgui/WindowFieldKit.java @@ -31,6 +31,11 @@ import forestry.api.genetics.IAllele; import forestry.api.genetics.IChromosomeType; import forestry.api.genetics.IIndividual; import forestry.api.genetics.ISpeciesRoot; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Items; @@ -38,263 +43,272 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Random; - public class WindowFieldKit extends Window { - private float glassOffsetX; - private float glassOffsetY; - private float glassVX; - private float glassVY; - private Random glassRand; - private Control GlassControl; - private ControlChromosome chromo; - private ControlText text; - private float analyseProgress; - private boolean isAnalysing; - private Map info; + private float glassOffsetX; + private float glassOffsetY; + private float glassVX; + private float glassVY; + private Random glassRand; + private Control GlassControl; + private ControlChromosome chromo; + private ControlText text; + private float analyseProgress; + private boolean isAnalysing; + private Map info; - public WindowFieldKit(EntityPlayer player, IInventory inventory, Side side) { - super(280.0f, 230.0f, player, inventory, side); - glassOffsetX = 0.0f; - glassOffsetY = 0.0f; - glassVX = 0.0f; - glassVY = 0.0f; - glassRand = new Random(); - analyseProgress = 1.0f; - isAnalysing = false; - info = new HashMap<>(); - } + public WindowFieldKit(EntityPlayer player, IInventory inventory, Side side) { + super(280.0f, 230.0f, player, inventory, side); + glassOffsetX = 0.0f; + glassOffsetY = 0.0f; + glassVX = 0.0f; + glassVY = 0.0f; + glassRand = new Random(); + analyseProgress = 1.0f; + isAnalysing = false; + info = new HashMap<>(); + } - @Override - protected AbstractMod getMod() { - return BinnieCore.instance; - } + @Override + protected AbstractMod getMod() { + return BinnieCore.instance; + } - @Override - protected String getName() { - return I18N.localise("binniecore.gui.fieldKit"); - } + @Override + protected String getName() { + return I18N.localise("binniecore.gui.fieldKit"); + } - private void setupValidators() { - getWindowInventory().setValidator(0, new SlotValidator(null) { - @Override - public boolean isValid(ItemStack object) { - return AlleleManager.alleleRegistry.isIndividual(object) - || Binnie.Genetics.getConversion(object) != null; - } + private void setupValidators() { + getWindowInventory().setValidator(0, new SlotValidator(null) { + @Override + public boolean isValid(ItemStack object) { + return AlleleManager.alleleRegistry.isIndividual(object) + || Binnie.Genetics.getConversion(object) != null; + } - @Override - public String getTooltip() { - return I18N.localise("binniecore.gui.tooltip.individual"); - } - }); + @Override + public String getTooltip() { + return I18N.localise("binniecore.gui.tooltip.individual"); + } + }); - getWindowInventory().setValidator(1, new SlotValidator(null) { - @Override - public boolean isValid(ItemStack object) { - return object.getItem() == Items.paper; - } + getWindowInventory().setValidator(1, new SlotValidator(null) { + @Override + public boolean isValid(ItemStack object) { + return object.getItem() == Items.paper; + } - @Override - public String getTooltip() { - return I18N.localise("binniecore.gui.tooltip.paper"); - } - }); - getWindowInventory().disableAutoDispense(1); - } + @Override + public String getTooltip() { + return I18N.localise("binniecore.gui.tooltip.paper"); + } + }); + getWindowInventory().disableAutoDispense(1); + } - @Override - public void initialiseClient() { - setTitle(getName()); - CraftGUI.render.stylesheet(new StyleSheetPunnett()); - getWindowInventory().createSlot(0); - getWindowInventory().createSlot(1); - setupValidators(); - new ControlPlayerInventory(this); - IPoint handGlass = new IPoint(16.0f, 32.0f); - GlassControl = new ControlImage(this, handGlass.x(), handGlass.y(), new StandardTexture(0, 160, 96, 96, ExtraBeeTexture.GUIPunnett)); - new ControlSlot(this, handGlass.x() + 54.0f, handGlass.y() + 26.0f).assign(InventoryType.Window, 0); - new ControlSlot(this, 208.0f, 8.0f).assign(InventoryType.Window, 1); - (text = new ControlText(this, new IPoint(232.0f, 13.0f), I18N.localise("binniecore.gui.tooltip.paper"))).setColor(0x222222); - (text = new ControlText(this, new IArea(0.0f, 120.0f, w(), 24.0f), "", TextJustification.MIDDLE_CENTER)).setColor(0x222222); - chromo = new ControlChromosome(this, 150.0f, 24.0f); + @Override + public void initialiseClient() { + setTitle(getName()); + CraftGUI.render.stylesheet(new StyleSheetPunnett()); + getWindowInventory().createSlot(0); + getWindowInventory().createSlot(1); + setupValidators(); + new ControlPlayerInventory(this); + IPoint handGlass = new IPoint(16.0f, 32.0f); + GlassControl = new ControlImage( + this, handGlass.x(), handGlass.y(), new StandardTexture(0, 160, 96, 96, ExtraBeeTexture.GUIPunnett)); + new ControlSlot(this, handGlass.x() + 54.0f, handGlass.y() + 26.0f).assign(InventoryType.Window, 0); + new ControlSlot(this, 208.0f, 8.0f).assign(InventoryType.Window, 1); + (text = new ControlText(this, new IPoint(232.0f, 13.0f), I18N.localise("binniecore.gui.tooltip.paper"))) + .setColor(0x222222); + (text = new ControlText(this, new IArea(0.0f, 120.0f, w(), 24.0f), "", TextJustification.MIDDLE_CENTER)) + .setColor(0x222222); + chromo = new ControlChromosome(this, 150.0f, 24.0f); - addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(EventValueChanged event) { - IChromosomeType type = (IChromosomeType) event.getValue(); - if (type != null && info.containsKey(type)) { - String t = info.get(type); - text.setValue(t); - } else { - text.setValue(""); - } - } - }.setOrigin(EventHandler.Origin.DirectChild, chromo)); - } + addEventHandler( + new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + IChromosomeType type = (IChromosomeType) event.getValue(); + if (type != null && info.containsKey(type)) { + String t = info.get(type); + text.setValue(t); + } else { + text.setValue(""); + } + } + }.setOrigin(EventHandler.Origin.DirectChild, chromo)); + } - @Override - public void initialiseServer() { - ItemStack kit = getPlayer().getHeldItem(); - int sheets = 64 - kit.getItemDamage(); - if (sheets != 0) { - getWindowInventory().setInventorySlotContents(1, new ItemStack(Items.paper, sheets)); - } - setupValidators(); - } + @Override + public void initialiseServer() { + ItemStack kit = getPlayer().getHeldItem(); + int sheets = 64 - kit.getItemDamage(); + if (sheets != 0) { + getWindowInventory().setInventorySlotContents(1, new ItemStack(Items.paper, sheets)); + } + setupValidators(); + } - @Override - public void onUpdateClient() { - super.onUpdateClient(); - if (isAnalysing) { - analyseProgress += 0.01f; - if (analyseProgress >= 1.0f) { - isAnalysing = false; - analyseProgress = 1.0f; - ItemStack stack = getWindowInventory().getStackInSlot(0); - if (stack != null) { - sendClientAction("analyse", new NBTTagCompound()); - } - refreshSpecies(); - } - } + @Override + public void onUpdateClient() { + super.onUpdateClient(); + if (isAnalysing) { + analyseProgress += 0.01f; + if (analyseProgress >= 1.0f) { + isAnalysing = false; + analyseProgress = 1.0f; + ItemStack stack = getWindowInventory().getStackInSlot(0); + if (stack != null) { + sendClientAction("analyse", new NBTTagCompound()); + } + refreshSpecies(); + } + } - glassVX += glassRand.nextFloat() - 0.5f - glassOffsetX * 0.2f; - glassVY += glassRand.nextFloat() - 0.5f - glassOffsetY * 0.2f; - glassOffsetX += glassVX; - glassOffsetX *= 1.0f - analyseProgress; - glassOffsetY += glassVY; - glassOffsetY *= 1.0f - analyseProgress; - GlassControl.setOffset(new IPoint(glassOffsetX, glassOffsetY)); - } + glassVX += glassRand.nextFloat() - 0.5f - glassOffsetX * 0.2f; + glassVY += glassRand.nextFloat() - 0.5f - glassOffsetY * 0.2f; + glassOffsetX += glassVX; + glassOffsetX *= 1.0f - analyseProgress; + glassOffsetY += glassVY; + glassOffsetY *= 1.0f - analyseProgress; + GlassControl.setOffset(new IPoint(glassOffsetX, glassOffsetY)); + } - private void refreshSpecies() { - ItemStack item = getWindowInventory().getStackInSlot(0); - if (item == null || !AlleleManager.alleleRegistry.isIndividual(item)) { - return; - } + private void refreshSpecies() { + ItemStack item = getWindowInventory().getStackInSlot(0); + if (item == null || !AlleleManager.alleleRegistry.isIndividual(item)) { + return; + } - IIndividual ind = AlleleManager.alleleRegistry.getIndividual(item); - if (ind == null) { - return; - } + IIndividual ind = AlleleManager.alleleRegistry.getIndividual(item); + if (ind == null) { + return; + } - ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(item); - chromo.setRoot(root); - Random rand = new Random(); - info.clear(); - for (IChromosomeType type : root.getKaryotype()) { - if (!Binnie.Genetics.isInvalidChromosome(type)) { - IAllele allele = ind.getGenome().getActiveAllele(type); - List infos = new ArrayList<>(); + ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(item); + chromo.setRoot(root); + Random rand = new Random(); + info.clear(); + for (IChromosomeType type : root.getKaryotype()) { + if (!Binnie.Genetics.isInvalidChromosome(type)) { + IAllele allele = ind.getGenome().getActiveAllele(type); + List infos = new ArrayList<>(); - int i = 0; - for (String pref = root.getUID() + ".fieldkit." + type.getName().toLowerCase() + "."; I18N.canLocalise(pref + i); ++i) { - infos.add(I18N.localise(pref + i)); - } + int i = 0; + for (String pref = root.getUID() + ".fieldkit." + type.getName().toLowerCase() + "."; + I18N.canLocalise(pref + i); + ++i) { + infos.add(I18N.localise(pref + i)); + } - String text = Binnie.Genetics.getSystem(root).getAlleleName(type, allele); - if (!infos.isEmpty()) { - text = infos.get(rand.nextInt(infos.size())); - } + String text = Binnie.Genetics.getSystem(root).getAlleleName(type, allele); + if (!infos.isEmpty()) { + text = infos.get(rand.nextInt(infos.size())); + } - info.put(type, text); - chromo.setRoot(root); - } - } - } + info.put(type, text); + chromo.setRoot(root); + } + } + } - @Override - public void onWindowInventoryChanged() { - super.onWindowInventoryChanged(); - if (isServer()) { - ItemStack kit = getPlayer().getHeldItem(); - if(kit == null || !kit.getItem().equals(BinnieCore.fieldKit)) { - return; - } + @Override + public void onWindowInventoryChanged() { + super.onWindowInventoryChanged(); + if (isServer()) { + ItemStack kit = getPlayer().getHeldItem(); + if (kit == null || !kit.getItem().equals(BinnieCore.fieldKit)) { + return; + } - int sheets = 64 - kit.getItemDamage(); - int size = (getWindowInventory().getStackInSlot(1) == null) ? 0 : getWindowInventory().getStackInSlot(1).stackSize; - if (sheets != size) { - kit.setItemDamage(64 - size); - } - ((EntityPlayerMP) getPlayer()).updateHeldItem(); - } + int sheets = 64 - kit.getItemDamage(); + int size = (getWindowInventory().getStackInSlot(1) == null) + ? 0 + : getWindowInventory().getStackInSlot(1).stackSize; + if (sheets != size) { + kit.setItemDamage(64 - size); + } + ((EntityPlayerMP) getPlayer()).updateHeldItem(); + } - if (!isClient()) { - return; - } + if (!isClient()) { + return; + } - ItemStack item = getWindowInventory().getStackInSlot(0); - text.setValue(""); + ItemStack item = getWindowInventory().getStackInSlot(0); + text.setValue(""); - if (item != null && !Analyser.isAnalysed(item)) { - if (getWindowInventory().getStackInSlot(1) == null) { - text.setValue(I18N.localise("binniecore.gui.tooltip.noPaper")); - isAnalysing = false; - analyseProgress = 1.0f; - } else { - startAnalysing(); - chromo.setRoot(null); - } - } else if (item != null) { - isAnalysing = false; - analyseProgress = 1.0f; - refreshSpecies(); - } else { - isAnalysing = false; - analyseProgress = 1.0f; - chromo.setRoot(null); - } - } + if (item != null && !Analyser.isAnalysed(item)) { + if (getWindowInventory().getStackInSlot(1) == null) { + text.setValue(I18N.localise("binniecore.gui.tooltip.noPaper")); + isAnalysing = false; + analyseProgress = 1.0f; + } else { + startAnalysing(); + chromo.setRoot(null); + } + } else if (item != null) { + isAnalysing = false; + analyseProgress = 1.0f; + refreshSpecies(); + } else { + isAnalysing = false; + analyseProgress = 1.0f; + chromo.setRoot(null); + } + } - private void startAnalysing() { - glassVX = 0.0f; - glassVY = 0.0f; - glassOffsetX = 0.0f; - glassOffsetY = 0.0f; - isAnalysing = true; - analyseProgress = 0.0f; - } + private void startAnalysing() { + glassVX = 0.0f; + glassVY = 0.0f; + glassOffsetX = 0.0f; + glassOffsetY = 0.0f; + isAnalysing = true; + analyseProgress = 0.0f; + } - @Override - public boolean showHelpButton() { - return true; - } + @Override + public boolean showHelpButton() { + return true; + } - @Override - public String showInfoButton() { - return I18N.localise("binniecore.gui.fieldKit.info"); - } + @Override + public String showInfoButton() { + return I18N.localise("binniecore.gui.fieldKit.info"); + } - @Override - public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { - super.recieveGuiNBT(side, player, name, nbt); - if (side != Side.SERVER || !name.equals("analyse")) { - return; - } + @Override + public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { + super.recieveGuiNBT(side, player, name, nbt); + if (side != Side.SERVER || !name.equals("analyse")) { + return; + } - ItemStack stack = getWindowInventory().getStackInSlot(0); - if (stack == null) { - return; - } + ItemStack stack = getWindowInventory().getStackInSlot(0); + if (stack == null) { + return; + } - getWindowInventory().setInventorySlotContents(0, Analyser.analyse(stack)); - getWindowInventory().decrStackSize(1, 1); - } + getWindowInventory().setInventorySlotContents(0, Analyser.analyse(stack)); + getWindowInventory().decrStackSize(1, 1); + } - static class StyleSheetPunnett extends StyleSheet { - public StyleSheetPunnett() { - textures.put(CraftGUITexture.Window, new PaddedTexture(0, 0, 160, 160, 0, ExtraBeeTexture.GUIPunnett, 32, 32, 32, 32)); - textures.put(CraftGUITexture.Slot, new StandardTexture(160, 0, 18, 18, 0, ExtraBeeTexture.GUIPunnett)); - textures.put(ExtraBeeGUITexture.Chromosome, new StandardTexture(160, 36, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); - textures.put(ExtraBeeGUITexture.Chromosome2, new StandardTexture(160, 52, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); - textures.put(CraftGUITexture.HelpButton, new StandardTexture(178, 0, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); - textures.put(CraftGUITexture.InfoButton, new StandardTexture(178, 16, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); - } - } + static class StyleSheetPunnett extends StyleSheet { + public StyleSheetPunnett() { + textures.put( + CraftGUITexture.Window, + new PaddedTexture(0, 0, 160, 160, 0, ExtraBeeTexture.GUIPunnett, 32, 32, 32, 32)); + textures.put(CraftGUITexture.Slot, new StandardTexture(160, 0, 18, 18, 0, ExtraBeeTexture.GUIPunnett)); + textures.put( + ExtraBeeGUITexture.Chromosome, new StandardTexture(160, 36, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); + textures.put( + ExtraBeeGUITexture.Chromosome2, + new StandardTexture(160, 52, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); + textures.put( + CraftGUITexture.HelpButton, new StandardTexture(178, 0, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); + textures.put( + CraftGUITexture.InfoButton, new StandardTexture(178, 16, 16, 16, 0, ExtraBeeTexture.GUIPunnett)); + } + } } diff --git a/src/main/java/binnie/core/craftgui/WindowGenesis.java b/src/main/java/binnie/core/craftgui/WindowGenesis.java index e488321d..e434e3cf 100644 --- a/src/main/java/binnie/core/craftgui/WindowGenesis.java +++ b/src/main/java/binnie/core/craftgui/WindowGenesis.java @@ -27,6 +27,9 @@ import forestry.api.genetics.IAllele; import forestry.api.genetics.IChromosomeType; import forestry.api.genetics.IIndividual; import forestry.api.genetics.ISpeciesRoot; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; @@ -34,212 +37,216 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - public class WindowGenesis extends Window { - private ISpeciesRoot root; - private IAllele[] template; - private ControlListBox geneList; - private ControlListBox geneOptions; - private Panel panelPickup; + private ISpeciesRoot root; + private IAllele[] template; + private ControlListBox geneList; + private ControlListBox geneOptions; + private Panel panelPickup; - public WindowGenesis(EntityPlayer player, IInventory inventory, Side side) { - super(342.0f, 228.0f, player, inventory, side); - } + public WindowGenesis(EntityPlayer player, IInventory inventory, Side side) { + super(342.0f, 228.0f, player, inventory, side); + } - @Override - protected AbstractMod getMod() { - return BinnieCore.instance; - } + @Override + protected AbstractMod getMod() { + return BinnieCore.instance; + } - @Override - protected String getName() { - return I18N.localise("binniecore.gui.genesis"); - } + @Override + protected String getName() { + return I18N.localise("binniecore.gui.genesis"); + } - @Override - public void initialiseClient() { - new ControlPlayerInventory(this); - setTitle(getName()); + @Override + public void initialiseClient() { + new ControlPlayerInventory(this); + setTitle(getName()); - ControlTabBar tabSystems = new BreedingSystemControlTabBar(); - tabSystems.setValues(Binnie.Genetics.getActiveSystems()); - root = Binnie.Genetics.getActiveSystems().iterator().next().getSpeciesRoot(); - template = root.getDefaultTemplate(); - IArea one = new IArea(32.0f, 28.0f, 170.0f, 100.0f); - IArea two = new IArea(214.0f, 28.0f, 100.0f, 100.0f); - new Panel(this, one.outset(1), MinecraftGUI.PanelType.Black); - new Panel(this, two.outset(1), MinecraftGUI.PanelType.Black); + ControlTabBar tabSystems = new BreedingSystemControlTabBar(); + tabSystems.setValues(Binnie.Genetics.getActiveSystems()); + root = Binnie.Genetics.getActiveSystems().iterator().next().getSpeciesRoot(); + template = root.getDefaultTemplate(); + IArea one = new IArea(32.0f, 28.0f, 170.0f, 100.0f); + IArea two = new IArea(214.0f, 28.0f, 100.0f, 100.0f); + new Panel(this, one.outset(1), MinecraftGUI.PanelType.Black); + new Panel(this, two.outset(1), MinecraftGUI.PanelType.Black); - geneList = new ControlListBox(this, one.x(), one.y(), one.w(), one.h(), 10.0f) { - @Override - public IWidget createOption(Gene value, int y) { - return new ControlGenesisOption(getContent(), value, y); - } - }; + geneList = new ControlListBox(this, one.x(), one.y(), one.w(), one.h(), 10.0f) { + @Override + public IWidget createOption(Gene value, int y) { + return new ControlGenesisOption(getContent(), value, y); + } + }; - geneOptions = new ControlListBox(this, two.x(), two.y(), two.w(), two.h(), 10.0f) { - @Override - public IWidget createOption(Gene value, int y) { - return new ControlTextOption<>(getContent(), value, y); - } - }; + geneOptions = new ControlListBox(this, two.x(), two.y(), two.w(), two.h(), 10.0f) { + @Override + public IWidget createOption(Gene value, int y) { + return new ControlTextOption<>(getContent(), value, y); + } + }; - tabSystems.addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(EventValueChanged event) { - root = ((BreedingSystem) event.getValue()).getSpeciesRoot(); - template = root.getDefaultTemplate(); - refreshTemplate(null); - } - }.setOrigin(EventHandler.Origin.Self, tabSystems)); + tabSystems.addEventHandler( + new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + root = ((BreedingSystem) event.getValue()).getSpeciesRoot(); + template = root.getDefaultTemplate(); + refreshTemplate(null); + } + }.setOrigin(EventHandler.Origin.Self, tabSystems)); - geneList.addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(EventValueChanged event) { - Map> map = Binnie.Genetics.getChromosomeMap(root); - List opts = new ArrayList<>(); - IChromosomeType chromo = event.value != null ? ((Gene) event.value).getChromosome() : null; - if (chromo != null) {// fix NPE - for (IAllele allele : map.get(chromo)) { - opts.add(new Gene(allele, chromo, root)); - } - } - geneOptions.setOptions(opts); - } - }.setOrigin(EventHandler.Origin.Self, geneList)); + geneList.addEventHandler( + new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + Map> map = Binnie.Genetics.getChromosomeMap(root); + List opts = new ArrayList<>(); + IChromosomeType chromo = event.value != null ? ((Gene) event.value).getChromosome() : null; + if (chromo != null) { // fix NPE + for (IAllele allele : map.get(chromo)) { + opts.add(new Gene(allele, chromo, root)); + } + } + geneOptions.setOptions(opts); + } + }.setOrigin(EventHandler.Origin.Self, geneList)); - geneOptions.addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(EventValueChanged event) { - if (event.value == null) { - return; - } + geneOptions.addEventHandler( + new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + if (event.value == null) { + return; + } - IChromosomeType chromo = ((Gene) event.value).getChromosome(); - template[chromo.ordinal()] = ((Gene) event.value).getAllele(); - if (chromo == ((Gene) event.value).getSpeciesRoot().getKaryotypeKey()) { - template = ((Gene) event.value).getSpeciesRoot().getTemplate(((Gene) event.value).getAllele().getUID()); - } - refreshTemplate(chromo); - } - }.setOrigin(EventHandler.Origin.Self, geneOptions)); - panelPickup = new Panel(this, 16.0f, 140.0f, 60.0f, 42.0f, MinecraftGUI.PanelType.Black); - refreshTemplate(null); - } + IChromosomeType chromo = ((Gene) event.value).getChromosome(); + template[chromo.ordinal()] = ((Gene) event.value).getAllele(); + if (chromo == ((Gene) event.value).getSpeciesRoot().getKaryotypeKey()) { + template = ((Gene) event.value) + .getSpeciesRoot() + .getTemplate( + ((Gene) event.value).getAllele().getUID()); + } + refreshTemplate(chromo); + } + }.setOrigin(EventHandler.Origin.Self, geneOptions)); + panelPickup = new Panel(this, 16.0f, 140.0f, 60.0f, 42.0f, MinecraftGUI.PanelType.Black); + refreshTemplate(null); + } - private void refreshTemplate(IChromosomeType selection) { - List genes = new ArrayList<>(); - IChromosomeType[] chromos = Binnie.Genetics.getChromosomeMap(root).keySet().toArray(new IChromosomeType[0]); + private void refreshTemplate(IChromosomeType selection) { + List genes = new ArrayList<>(); + IChromosomeType[] chromos = + Binnie.Genetics.getChromosomeMap(root).keySet().toArray(new IChromosomeType[0]); - for (IChromosomeType type : chromos) { - IAllele allele = template[type.ordinal()]; - if (allele == null) { - throw new NullPointerException("Allele missing for Chromosome " + type.getName()); - } - genes.add(new Gene(allele, type, root)); - } + for (IChromosomeType type : chromos) { + IAllele allele = template[type.ordinal()]; + if (allele == null) { + throw new NullPointerException("Allele missing for Chromosome " + type.getName()); + } + genes.add(new Gene(allele, type, root)); + } - geneList.setOptions(genes); - if (selection != null) { - geneList.setValue(new Gene(template[selection.ordinal()], selection, root)); - } else { - geneOptions.setOptions(new ArrayList<>()); - } - refreshPickup(); - } + geneList.setOptions(genes); + if (selection != null) { + geneList.setValue(new Gene(template[selection.ordinal()], selection, root)); + } else { + geneOptions.setOptions(new ArrayList<>()); + } + refreshPickup(); + } - private void refreshPickup() { - panelPickup.deleteAllChildren(); - int i = 0; - for (int type : Binnie.Genetics.getSystem(root).getActiveTypes()) { - IIndividual ind = root.templateAsIndividual(template); - ind.analyze(); - ItemStack stack = root.getMemberStack(ind, type); - ControlItemDisplay display = new ControlItemDisplay(panelPickup, 4 + i % 3 * 18, 4 + i / 3 * 18); - display.setItemStack(stack); - display.setTooltip(); - display.addEventHandler(new MouseDownHandler(stack).setOrigin(EventHandler.Origin.Self, display)); - i++; - } - } + private void refreshPickup() { + panelPickup.deleteAllChildren(); + int i = 0; + for (int type : Binnie.Genetics.getSystem(root).getActiveTypes()) { + IIndividual ind = root.templateAsIndividual(template); + ind.analyze(); + ItemStack stack = root.getMemberStack(ind, type); + ControlItemDisplay display = new ControlItemDisplay(panelPickup, 4 + i % 3 * 18, 4 + i / 3 * 18); + display.setItemStack(stack); + display.setTooltip(); + display.addEventHandler(new MouseDownHandler(stack).setOrigin(EventHandler.Origin.Self, display)); + i++; + } + } - @Override - public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { - super.recieveGuiNBT(side, player, name, nbt); - if (side == Side.SERVER && name.equals("genesis")) { - ItemStack stack = ItemStack.loadItemStackFromNBT(nbt); - InventoryPlayer playerInv = player.inventory; - if (stack == null) { - return; - } + @Override + public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { + super.recieveGuiNBT(side, player, name, nbt); + if (side == Side.SERVER && name.equals("genesis")) { + ItemStack stack = ItemStack.loadItemStackFromNBT(nbt); + InventoryPlayer playerInv = player.inventory; + if (stack == null) { + return; + } - if (playerInv.getItemStack() == null) { - playerInv.setItemStack(stack); - } else if (playerInv.getItemStack().isItemEqual(stack) && ItemStack.areItemStackTagsEqual(playerInv.getItemStack(), stack)) { - int fit = stack.getMaxStackSize() - (stack.stackSize + playerInv.getItemStack().stackSize); - if (fit >= 0) { - ItemStack itemStack; - ItemStack rec = itemStack = stack; - itemStack.stackSize += playerInv.getItemStack().stackSize; - playerInv.setItemStack(rec); - } - } + if (playerInv.getItemStack() == null) { + playerInv.setItemStack(stack); + } else if (playerInv.getItemStack().isItemEqual(stack) + && ItemStack.areItemStackTagsEqual(playerInv.getItemStack(), stack)) { + int fit = stack.getMaxStackSize() - (stack.stackSize + playerInv.getItemStack().stackSize); + if (fit >= 0) { + ItemStack itemStack; + ItemStack rec = itemStack = stack; + itemStack.stackSize += playerInv.getItemStack().stackSize; + playerInv.setItemStack(rec); + } + } - player.openContainer.detectAndSendChanges(); - if (player instanceof EntityPlayerMP) { - ((EntityPlayerMP) player).updateHeldItem(); - } - } - } + player.openContainer.detectAndSendChanges(); + if (player instanceof EntityPlayerMP) { + ((EntityPlayerMP) player).updateHeldItem(); + } + } + } - private static class MouseDownHandler extends EventMouse.Down.Handler { - private final ItemStack stack; + private static class MouseDownHandler extends EventMouse.Down.Handler { + private final ItemStack stack; - public MouseDownHandler(ItemStack stack) { - this.stack = stack; - } + public MouseDownHandler(ItemStack stack) { + this.stack = stack; + } - @Override - public void onEvent(EventMouse.Down event) { - NBTTagCompound nbt = new NBTTagCompound(); - stack.writeToNBT(nbt); - Window.get(event.getOrigin()).sendClientAction("genesis", nbt); - } - } + @Override + public void onEvent(EventMouse.Down event) { + NBTTagCompound nbt = new NBTTagCompound(); + stack.writeToNBT(nbt); + Window.get(event.getOrigin()).sendClientAction("genesis", nbt); + } + } - private class BreedingSystemControlTabBar extends ControlTabBar { - public BreedingSystemControlTabBar() { - super(WindowGenesis.this, 8.0f, 28.0f, 23.0f, 100.0f, Position.LEFT); - } + private class BreedingSystemControlTabBar extends ControlTabBar { + public BreedingSystemControlTabBar() { + super(WindowGenesis.this, 8.0f, 28.0f, 23.0f, 100.0f, Position.LEFT); + } - @Override - public ControlTab createTab(float x, float y, float w, float h, BreedingSystem value) { - return new ControlTabIcon(this, x, y, w, h, value) { - @Override - public ItemStack getItemStack() { - int type = value.getDefaultType(); - IIndividual ind = value.getDefaultIndividual(); - return value.getSpeciesRoot().getMemberStack(ind, type); - } + @Override + public ControlTab createTab(float x, float y, float w, float h, BreedingSystem value) { + return new ControlTabIcon(this, x, y, w, h, value) { + @Override + public ItemStack getItemStack() { + int type = value.getDefaultType(); + IIndividual ind = value.getDefaultIndividual(); + return value.getSpeciesRoot().getMemberStack(ind, type); + } - @Override - public String getName() { - return value.getName(); - } + @Override + public String getName() { + return value.getName(); + } - @Override - public int getOutlineColor() { - return value.getColor(); - } + @Override + public int getOutlineColor() { + return value.getColor(); + } - @Override - public boolean hasOutline() { - return true; - } - }; - } - } + @Override + public boolean hasOutline() { + return true; + } + }; + } + } } diff --git a/src/main/java/binnie/core/craftgui/controls/ControlButton.java b/src/main/java/binnie/core/craftgui/controls/ControlButton.java index b28b2d6d..8c77f021 100644 --- a/src/main/java/binnie/core/craftgui/controls/ControlButton.java +++ b/src/main/java/binnie/core/craftgui/controls/ControlButton.java @@ -11,53 +11,53 @@ import binnie.core.craftgui.geometry.TextJustification; import binnie.core.craftgui.resource.minecraft.CraftGUITexture; public class ControlButton extends Control { - private ControlText textWidget; - private String text; + private ControlText textWidget; + private String text; - public ControlButton(IWidget parent, float x, float y, float width, float height) { - super(parent, x, y, width, height); - addAttribute(WidgetAttribute.MOUSE_OVER); - mouseHandler.setOrigin(EventHandler.Origin.Self, this); - addEventHandler(mouseHandler); - } + public ControlButton(IWidget parent, float x, float y, float width, float height) { + super(parent, x, y, width, height); + addAttribute(WidgetAttribute.MOUSE_OVER); + mouseHandler.setOrigin(EventHandler.Origin.Self, this); + addEventHandler(mouseHandler); + } - public ControlButton(IWidget parent, float x, float y, float width, float height, String text) { - this(parent, x, y, width, height); - this.text = text; - textWidget = new ControlText(this, getArea(), text, TextJustification.MIDDLE_CENTER); - } - - private EventMouse.Down.Handler mouseHandler = new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - callEvent(new EventButtonClicked(getWidget())); - onMouseClick(event); - } - }; + public ControlButton(IWidget parent, float x, float y, float width, float height, String text) { + this(parent, x, y, width, height); + this.text = text; + textWidget = new ControlText(this, getArea(), text, TextJustification.MIDDLE_CENTER); + } - protected void onMouseClick(EventMouse.Down event) { - // ignored - } + private EventMouse.Down.Handler mouseHandler = new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + callEvent(new EventButtonClicked(getWidget())); + onMouseClick(event); + } + }; - @Override - public void onUpdateClient() { - if (textWidget != null) { - textWidget.setValue(getText()); - } - } + protected void onMouseClick(EventMouse.Down event) { + // ignored + } - @Override - public void onRenderBackground() { - Object texture = CraftGUITexture.ButtonDisabled; - if (isMouseOver()) { - texture = CraftGUITexture.ButtonHighlighted; - } else if (isEnabled()) { - texture = CraftGUITexture.Button; - } - CraftGUI.render.texture(texture, getArea()); - } + @Override + public void onUpdateClient() { + if (textWidget != null) { + textWidget.setValue(getText()); + } + } - public String getText() { - return text; - } + @Override + public void onRenderBackground() { + Object texture = CraftGUITexture.ButtonDisabled; + if (isMouseOver()) { + texture = CraftGUITexture.ButtonHighlighted; + } else if (isEnabled()) { + texture = CraftGUITexture.Button; + } + CraftGUI.render.texture(texture, getArea()); + } + + public String getText() { + return text; + } } diff --git a/src/main/java/binnie/core/craftgui/controls/ControlCheckbox.java b/src/main/java/binnie/core/craftgui/controls/ControlCheckbox.java index 558c4579..076960f6 100644 --- a/src/main/java/binnie/core/craftgui/controls/ControlCheckbox.java +++ b/src/main/java/binnie/core/craftgui/controls/ControlCheckbox.java @@ -14,56 +14,58 @@ import binnie.core.craftgui.geometry.TextJustification; import binnie.core.craftgui.resource.minecraft.CraftGUITexture; public class ControlCheckbox extends Control implements IControlValue { - boolean value; - String text; + boolean value; + String text; - public ControlCheckbox(IWidget parent, float x, float y, boolean bool) { - this(parent, x, y, 0.0f, "", bool); - } + public ControlCheckbox(IWidget parent, float x, float y, boolean bool) { + this(parent, x, y, 0.0f, "", bool); + } - public ControlCheckbox(IWidget parent, float x, float y, float w, String text, boolean bool) { - super(parent, x, y, (w > 16.0f) ? w : 16.0f, 16.0f); - this.text = text; - value = bool; - if (w > 16.0f) { - new ControlText(this, new IArea(16.0f, 1.0f, w - 16.0f, 16.0f), text, TextJustification.MIDDLE_CENTER).setColor(4473924); - } + public ControlCheckbox(IWidget parent, float x, float y, float w, String text, boolean bool) { + super(parent, x, y, (w > 16.0f) ? w : 16.0f, 16.0f); + this.text = text; + value = bool; + if (w > 16.0f) { + new ControlText(this, new IArea(16.0f, 1.0f, w - 16.0f, 16.0f), text, TextJustification.MIDDLE_CENTER) + .setColor(4473924); + } - addAttribute(WidgetAttribute.MOUSE_OVER); - addEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - toggleValue(); - } - }.setOrigin(EventHandler.Origin.Self, this)); - } + addAttribute(WidgetAttribute.MOUSE_OVER); + addEventHandler( + new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + toggleValue(); + } + }.setOrigin(EventHandler.Origin.Self, this)); + } - @Override - public void onRenderBackground() { - Object texture = getValue() ? CraftGUITexture.CheckboxChecked : CraftGUITexture.Checkbox; - if (isMouseOver()) { - texture = (getValue() ? CraftGUITexture.CheckboxCheckedHighlighted : CraftGUITexture.CheckboxHighlighted); - } - CraftGUI.render.texture(texture, IPoint.ZERO); - } + @Override + public void onRenderBackground() { + Object texture = getValue() ? CraftGUITexture.CheckboxChecked : CraftGUITexture.Checkbox; + if (isMouseOver()) { + texture = (getValue() ? CraftGUITexture.CheckboxCheckedHighlighted : CraftGUITexture.CheckboxHighlighted); + } + CraftGUI.render.texture(texture, IPoint.ZERO); + } - protected void onValueChanged(boolean value) { - // ignored - } + protected void onValueChanged(boolean value) { + // ignored + } - public void toggleValue() { - setValue(!getValue()); - } + public void toggleValue() { + setValue(!getValue()); + } - @Override - public Boolean getValue() { - return value; - } + @Override + public Boolean getValue() { + return value; + } - @Override - public void setValue(Boolean value) { - this.value = value; - onValueChanged(value); - callEvent(new EventValueChanged(this, value)); - } + @Override + public void setValue(Boolean value) { + this.value = value; + onValueChanged(value); + callEvent(new EventValueChanged(this, value)); + } } diff --git a/src/main/java/binnie/core/craftgui/controls/ControlText.java b/src/main/java/binnie/core/craftgui/controls/ControlText.java index 037f6be6..396fb428 100644 --- a/src/main/java/binnie/core/craftgui/controls/ControlText.java +++ b/src/main/java/binnie/core/craftgui/controls/ControlText.java @@ -9,35 +9,40 @@ import binnie.core.craftgui.geometry.IPoint; import binnie.core.craftgui.geometry.TextJustification; public class ControlText extends Control implements IControlValue { - private String text; - private TextJustification align; + private String text; + private TextJustification align; - public ControlText(IWidget parent, IPoint pos, String text) { - this(parent, new IArea(pos, new IPoint(500.0f, 0.0f)), text, TextJustification.TOP_LEFT); - } + public ControlText(IWidget parent, IPoint pos, String text) { + this(parent, new IArea(pos, new IPoint(500.0f, 0.0f)), text, TextJustification.TOP_LEFT); + } - public ControlText(IWidget parent, String text, TextJustification align) { - this(parent, parent.getArea(), text, align); - } + public ControlText(IWidget parent, String text, TextJustification align) { + this(parent, parent.getArea(), text, align); + } - public ControlText(IWidget parent, IArea area, String text, TextJustification align) { - super(parent, area.pos().x(), area.pos().y(), area.size().x(), area.size().y()); - setValue(text); - this.align = align; - } + public ControlText(IWidget parent, IArea area, String text, TextJustification align) { + super( + parent, + area.pos().x(), + area.pos().y(), + area.size().x(), + area.size().y()); + setValue(text); + this.align = align; + } - @Override - public void onRenderBackground() { - CraftGUI.render.text(getArea(), align, text, getColor()); - } + @Override + public void onRenderBackground() { + CraftGUI.render.text(getArea(), align, text, getColor()); + } - @Override - public void setValue(String text) { - this.text = text; - } + @Override + public void setValue(String text) { + this.text = text; + } - @Override - public String getValue() { - return text; - } + @Override + public String getValue() { + return text; + } } diff --git a/src/main/java/binnie/core/craftgui/controls/ControlTextCentered.java b/src/main/java/binnie/core/craftgui/controls/ControlTextCentered.java index 79441894..a8470819 100644 --- a/src/main/java/binnie/core/craftgui/controls/ControlTextCentered.java +++ b/src/main/java/binnie/core/craftgui/controls/ControlTextCentered.java @@ -6,7 +6,11 @@ import binnie.core.craftgui.geometry.IPoint; import binnie.core.craftgui.geometry.TextJustification; public class ControlTextCentered extends ControlText { - public ControlTextCentered(IWidget parent, float y, String text) { - super(parent, new IArea(new IPoint(0.0f, y), new IPoint(parent.size().x(), 0.0f)), text, TextJustification.TOP_CENTER); - } + public ControlTextCentered(IWidget parent, float y, String text) { + super( + parent, + new IArea(new IPoint(0.0f, y), new IPoint(parent.size().x(), 0.0f)), + text, + TextJustification.TOP_CENTER); + } } diff --git a/src/main/java/binnie/core/craftgui/controls/ControlTextEdit.java b/src/main/java/binnie/core/craftgui/controls/ControlTextEdit.java index 5dbbf679..e2aaf8c1 100644 --- a/src/main/java/binnie/core/craftgui/controls/ControlTextEdit.java +++ b/src/main/java/binnie/core/craftgui/controls/ControlTextEdit.java @@ -14,85 +14,92 @@ import binnie.core.craftgui.resource.minecraft.CraftGUITexture; import net.minecraft.client.gui.GuiTextField; public class ControlTextEdit extends Control implements IControlValue { - GuiTextField field; - private String cachedValue; + GuiTextField field; + private String cachedValue; - public ControlTextEdit(IWidget parent, float x, float y, float width, float height) { - super(parent, x, y, width, height); - cachedValue = ""; - field = new GuiTextField(getWindow().getGui().getFontRenderer(), 0, 0, 10, 10); - addAttribute(WidgetAttribute.CAN_FOCUS); - addAttribute(WidgetAttribute.MOUSE_OVER); - field.setEnableBackgroundDrawing(false); + public ControlTextEdit(IWidget parent, float x, float y, float width, float height) { + super(parent, x, y, width, height); + cachedValue = ""; + field = new GuiTextField(getWindow().getGui().getFontRenderer(), 0, 0, 10, 10); + addAttribute(WidgetAttribute.CAN_FOCUS); + addAttribute(WidgetAttribute.MOUSE_OVER); + field.setEnableBackgroundDrawing(false); - addEventHandler(new EventKey.Down.Handler() { - @Override - public void onEvent(EventKey.Down event) { - field.textboxKeyTyped(event.getCharacter(), event.getKey()); - String text = getValue(); - if (!text.equals(cachedValue)) { - cachedValue = text; - callEvent(new EventTextEdit(ControlTextEdit.this, cachedValue)); - onTextEdit(cachedValue); - } - } - }.setOrigin(EventHandler.Origin.Self, this)); + addEventHandler( + new EventKey.Down.Handler() { + @Override + public void onEvent(EventKey.Down event) { + field.textboxKeyTyped(event.getCharacter(), event.getKey()); + String text = getValue(); + if (!text.equals(cachedValue)) { + cachedValue = text; + callEvent(new EventTextEdit(ControlTextEdit.this, cachedValue)); + onTextEdit(cachedValue); + } + } + }.setOrigin(EventHandler.Origin.Self, this)); - addEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - field.mouseClicked((int) getRelativeMousePosition().x(), (int) getRelativeMousePosition().y(), event.getButton()); - } - }.setOrigin(EventHandler.Origin.Self, this)); + addEventHandler( + new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + field.mouseClicked( + (int) getRelativeMousePosition().x(), + (int) getRelativeMousePosition().y(), + event.getButton()); + } + }.setOrigin(EventHandler.Origin.Self, this)); - addEventHandler(new EventWidget.GainFocus.Handler() { - @Override - public void onEvent(EventWidget.GainFocus event) { - field.setFocused(true); - } - }.setOrigin(EventHandler.Origin.Self, this)); + addEventHandler( + new EventWidget.GainFocus.Handler() { + @Override + public void onEvent(EventWidget.GainFocus event) { + field.setFocused(true); + } + }.setOrigin(EventHandler.Origin.Self, this)); - addEventHandler(new EventWidget.LoseFocus.Handler() { - @Override - public void onEvent(EventWidget.LoseFocus event) { - field.setFocused(false); - } - }.setOrigin(EventHandler.Origin.Self, this)); - } + addEventHandler( + new EventWidget.LoseFocus.Handler() { + @Override + public void onEvent(EventWidget.LoseFocus event) { + field.setFocused(false); + } + }.setOrigin(EventHandler.Origin.Self, this)); + } - @Override - public void onUpdateClient() { - // ignored - } + @Override + public void onUpdateClient() { + // ignored + } - protected void onTextEdit(String value) { - // ignored - } + protected void onTextEdit(String value) { + // ignored + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(CraftGUITexture.Slot, getArea()); - renderTextField(); - } + @Override + public void onRenderBackground() { + CraftGUI.render.texture(CraftGUITexture.Slot, getArea()); + renderTextField(); + } - protected void renderTextField() { - field.width = (int) w(); - field.height = (int) h(); - field.xPosition = (int) ((h() - 8.0f) / 2.0f); - field.yPosition = (int) ((h() - 8.0f) / 2.0f); - field.drawTextBox(); - } + protected void renderTextField() { + field.width = (int) w(); + field.height = (int) h(); + field.xPosition = (int) ((h() - 8.0f) / 2.0f); + field.yPosition = (int) ((h() - 8.0f) / 2.0f); + field.drawTextBox(); + } - @Override - public String getValue() { - return (field.getText() == null) ? "" : field.getText(); - } + @Override + public String getValue() { + return (field.getText() == null) ? "" : field.getText(); + } - @Override - public void setValue(String value) { - if (!getValue().equals(value)) { - field.setText(value); - field.setCursorPosition(0); - } - } + @Override + public void setValue(String value) { + if (!getValue().equals(value)) { + field.setText(value); + field.setCursorPosition(0); + } + } } diff --git a/src/main/java/binnie/core/craftgui/controls/IControlSelectionOption.java b/src/main/java/binnie/core/craftgui/controls/IControlSelectionOption.java index 7a22ade5..43a2ff91 100644 --- a/src/main/java/binnie/core/craftgui/controls/IControlSelectionOption.java +++ b/src/main/java/binnie/core/craftgui/controls/IControlSelectionOption.java @@ -1,5 +1,5 @@ package binnie.core.craftgui.controls; public interface IControlSelectionOption { - T getValue(); + T getValue(); } diff --git a/src/main/java/binnie/core/craftgui/controls/core/Control.java b/src/main/java/binnie/core/craftgui/controls/core/Control.java index 62db03b7..21d7cb1b 100644 --- a/src/main/java/binnie/core/craftgui/controls/core/Control.java +++ b/src/main/java/binnie/core/craftgui/controls/core/Control.java @@ -9,70 +9,69 @@ import binnie.core.craftgui.WidgetAttribute; import binnie.core.craftgui.geometry.IArea; import binnie.core.craftgui.geometry.IPoint; import binnie.core.craftgui.minecraft.Window; - import java.util.ArrayList; import java.util.List; public class Control extends Widget implements ITooltipHelp, ITooltip { - public int extraLevel; + public int extraLevel; - protected List helpStrings; - protected List tooltipStrings; + protected List helpStrings; + protected List tooltipStrings; - public Control(IWidget parent, float x, float y, float w, float h) { - super(parent); - helpStrings = new ArrayList<>(); - tooltipStrings = new ArrayList<>(); - extraLevel = 0; - setPosition(new IPoint(x, y)); - setSize(new IPoint(w, h)); - initialise(); - } + public Control(IWidget parent, float x, float y, float w, float h) { + super(parent); + helpStrings = new ArrayList<>(); + tooltipStrings = new ArrayList<>(); + extraLevel = 0; + setPosition(new IPoint(x, y)); + setSize(new IPoint(w, h)); + initialise(); + } - public Control(IWidget parent, IArea area) { - this(parent, area.x(), area.y(), area.w(), area.h()); - } + public Control(IWidget parent, IArea area) { + this(parent, area.x(), area.y(), area.w(), area.h()); + } - protected void initialise() { - // ignored - } + protected void initialise() { + // ignored + } - @Override - public void onUpdateClient() { - // ignored - } + @Override + public void onUpdateClient() { + // ignored + } - public void addHelp(String string) { - helpStrings.add(string); - } + public void addHelp(String string) { + helpStrings.add(string); + } - public void addHelp(String[] strings) { - for (String string : strings) { - addHelp(string); - } - } + public void addHelp(String[] strings) { + for (String string : strings) { + addHelp(string); + } + } - public void addTooltip(String string) { - addAttribute(WidgetAttribute.MOUSE_OVER); - tooltipStrings.add(string); - } + public void addTooltip(String string) { + addAttribute(WidgetAttribute.MOUSE_OVER); + tooltipStrings.add(string); + } - @Override - public int getLevel() { - return extraLevel + super.getLevel(); - } + @Override + public int getLevel() { + return extraLevel + super.getLevel(); + } - @Override - public void getHelpTooltip(Tooltip tooltip) { - tooltip.add(helpStrings); - } + @Override + public void getHelpTooltip(Tooltip tooltip) { + tooltip.add(helpStrings); + } - @Override - public void getTooltip(Tooltip tooltip) { - tooltip.add(tooltipStrings); - } + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.add(tooltipStrings); + } - public Window getWindow() { - return (Window) getSuperParent(); - } + public Window getWindow() { + return (Window) getSuperParent(); + } } diff --git a/src/main/java/binnie/core/craftgui/controls/core/IControlValue.java b/src/main/java/binnie/core/craftgui/controls/core/IControlValue.java index d301721d..c8025ede 100644 --- a/src/main/java/binnie/core/craftgui/controls/core/IControlValue.java +++ b/src/main/java/binnie/core/craftgui/controls/core/IControlValue.java @@ -3,7 +3,7 @@ package binnie.core.craftgui.controls.core; import binnie.core.craftgui.IWidget; public interface IControlValue extends IWidget { - T getValue(); + T getValue(); - void setValue(T value); + void setValue(T value); } diff --git a/src/main/java/binnie/core/craftgui/controls/core/IControlValues.java b/src/main/java/binnie/core/craftgui/controls/core/IControlValues.java index 2487a687..4d0a8a1e 100644 --- a/src/main/java/binnie/core/craftgui/controls/core/IControlValues.java +++ b/src/main/java/binnie/core/craftgui/controls/core/IControlValues.java @@ -3,7 +3,7 @@ package binnie.core.craftgui.controls.core; import java.util.Collection; public interface IControlValues extends IControlValue { - Collection getValues(); + Collection getValues(); - void setValues(Collection values); + void setValues(Collection values); } diff --git a/src/main/java/binnie/core/craftgui/controls/listbox/ControlList.java b/src/main/java/binnie/core/craftgui/controls/listbox/ControlList.java index aca09ecb..0195a07f 100644 --- a/src/main/java/binnie/core/craftgui/controls/listbox/ControlList.java +++ b/src/main/java/binnie/core/craftgui/controls/listbox/ControlList.java @@ -6,115 +6,114 @@ import binnie.core.craftgui.controls.core.IControlValue; import binnie.core.craftgui.events.EventValueChanged; import binnie.core.craftgui.geometry.IPoint; import binnie.core.util.IValidator; - import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; public class ControlList extends Control implements IControlValue { - protected ControlListBox parent; - protected T value; - protected Map allOptions = new LinkedHashMap<>(); - protected Map optionWidgets = new LinkedHashMap<>(); - protected boolean creating; - protected IValidator validator; + protected ControlListBox parent; + protected T value; + protected Map allOptions = new LinkedHashMap<>(); + protected Map optionWidgets = new LinkedHashMap<>(); + protected boolean creating; + protected IValidator validator; - protected ControlList(ControlListBox parent, float x, float y, float w, float h) { - super(parent, x, y, w, h); - this.parent = parent; - } + protected ControlList(ControlListBox parent, float x, float y, float w, float h) { + super(parent, x, y, w, h); + this.parent = parent; + } - @Override - public T getValue() { - return value; - } + @Override + public T getValue() { + return value; + } - @Override - public void setValue(T value) { - if (value == this.value) { - return; - } + @Override + public void setValue(T value) { + if (value == this.value) { + return; + } - this.value = value; - if (value != null && optionWidgets.containsKey(value)) { - IWidget child = optionWidgets.get(value); - parent.ensureVisible(child.y(), child.y() + child.h(), h()); - } - getParent().callEvent(new EventValueChanged(getParent(), value)); - } + this.value = value; + if (value != null && optionWidgets.containsKey(value)) { + IWidget child = optionWidgets.get(value); + parent.ensureVisible(child.y(), child.y() + child.h(), h()); + } + getParent().callEvent(new EventValueChanged(getParent(), value)); + } - public void setOptions(Collection options) { - deleteAllChildren(); - allOptions.clear(); + public void setOptions(Collection options) { + deleteAllChildren(); + allOptions.clear(); - for (T option : options) { - IWidget optionWidget = ((ControlListBox) getParent()).createOption(option, 0); - if (optionWidget != null) { - allOptions.put(option, optionWidget); - } - } - filterOptions(); - } + for (T option : options) { + IWidget optionWidget = ((ControlListBox) getParent()).createOption(option, 0); + if (optionWidget != null) { + allOptions.put(option, optionWidget); + } + } + filterOptions(); + } - public void filterOptions() { - int height = 0; - optionWidgets.clear(); + public void filterOptions() { + int height = 0; + optionWidgets.clear(); - for (Map.Entry entry : allOptions.entrySet()) { - if (isValidOption(entry.getValue())) { - entry.getValue().show(); - optionWidgets.put(entry.getKey(), entry.getValue()); - entry.getValue().setPosition(new IPoint(0.0f, height)); - height += (int) entry.getValue().getSize().y(); - } else { - entry.getValue().hide(); - } - } + for (Map.Entry entry : allOptions.entrySet()) { + if (isValidOption(entry.getValue())) { + entry.getValue().show(); + optionWidgets.put(entry.getKey(), entry.getValue()); + entry.getValue().setPosition(new IPoint(0.0f, height)); + height += (int) entry.getValue().getSize().y(); + } else { + entry.getValue().hide(); + } + } - creating = true; - setValue(getValue()); - setSize(new IPoint(getSize().x(), height)); - } + creating = true; + setValue(getValue()); + setSize(new IPoint(getSize().x(), height)); + } - public Collection getOptions() { - return optionWidgets.keySet(); - } + public Collection getOptions() { + return optionWidgets.keySet(); + } - public int getIndexOf(T value) { - int index = 0; - for (T option : getOptions()) { - if (option.equals(value)) { - return index; - } - index++; - } - return -1; - } + public int getIndexOf(T value) { + int index = 0; + for (T option : getOptions()) { + if (option.equals(value)) { + return index; + } + index++; + } + return -1; + } - public int getCurrentIndex() { - return getIndexOf(getValue()); - } + public int getCurrentIndex() { + return getIndexOf(getValue()); + } - public void setIndex(int currentIndex) { - int index = 0; - for (T option : getOptions()) { - if (index == currentIndex) { - setValue(option); - return; - } - index++; - } - setValue(null); - } + public void setIndex(int currentIndex) { + int index = 0; + for (T option : getOptions()) { + if (index == currentIndex) { + setValue(option); + return; + } + index++; + } + setValue(null); + } - private boolean isValidOption(IWidget widget) { - return validator == null || validator.isValid(widget); - } + private boolean isValidOption(IWidget widget) { + return validator == null || validator.isValid(widget); + } - public void setValidator(IValidator validator) { - if (this.validator != validator) { - this.validator = validator; - filterOptions(); - } - } + public void setValidator(IValidator validator) { + if (this.validator != validator) { + this.validator = validator; + filterOptions(); + } + } } diff --git a/src/main/java/binnie/core/craftgui/controls/listbox/ControlListBox.java b/src/main/java/binnie/core/craftgui/controls/listbox/ControlListBox.java index c480d182..cc3a3fc5 100644 --- a/src/main/java/binnie/core/craftgui/controls/listbox/ControlListBox.java +++ b/src/main/java/binnie/core/craftgui/controls/listbox/ControlListBox.java @@ -5,54 +5,53 @@ import binnie.core.craftgui.controls.core.IControlValue; import binnie.core.craftgui.controls.scroll.ControlScrollableContent; import binnie.core.craftgui.events.EventKey; import binnie.core.util.IValidator; - import java.util.Collection; public class ControlListBox extends ControlScrollableContent> implements IControlValue { - public ControlListBox(IWidget parent, float x, float y, float w, float h, float scrollBarSize) { - super(parent, x, y, w, h, scrollBarSize); - } + public ControlListBox(IWidget parent, float x, float y, float w, float h, float scrollBarSize) { + super(parent, x, y, w, h, scrollBarSize); + } - @Override - public void initialise() { - setScrollableContent(new ControlList<>(this, 1.0f, 1.0f, w() - 2.0f - scrollBarSize, h() - 2.0f)); - addEventHandler(new EventKey.Down.Handler() { - @Override - public void onEvent(EventKey.Down event) { - if (calculateIsMouseOver()) { - int currentIndex = getContent().getCurrentIndex(); - if (event.getKey() == 208) { - if (++currentIndex >= getContent().getOptions().size()) { - currentIndex = 0; - } - } else if (event.getKey() == 200 && --currentIndex < 0) { - currentIndex = getContent().getOptions().size() - 1; - } - getContent().setIndex(currentIndex); - } - } - }); - } + @Override + public void initialise() { + setScrollableContent(new ControlList<>(this, 1.0f, 1.0f, w() - 2.0f - scrollBarSize, h() - 2.0f)); + addEventHandler(new EventKey.Down.Handler() { + @Override + public void onEvent(EventKey.Down event) { + if (calculateIsMouseOver()) { + int currentIndex = getContent().getCurrentIndex(); + if (event.getKey() == 208) { + if (++currentIndex >= getContent().getOptions().size()) { + currentIndex = 0; + } + } else if (event.getKey() == 200 && --currentIndex < 0) { + currentIndex = getContent().getOptions().size() - 1; + } + getContent().setIndex(currentIndex); + } + } + }); + } - public IWidget createOption(T value, int y) { - return new ControlOption<>(getContent(), value, y); - } + public IWidget createOption(T value, int y) { + return new ControlOption<>(getContent(), value, y); + } - @Override - public T getValue() { - return getContent().getValue(); - } + @Override + public T getValue() { + return getContent().getValue(); + } - @Override - public void setValue(T value) { - getContent().setValue(value); - } + @Override + public void setValue(T value) { + getContent().setValue(value); + } - public void setOptions(Collection options) { - getContent().setOptions(options); - } + public void setOptions(Collection options) { + getContent().setOptions(options); + } - public void setValidator(IValidator validator) { - getContent().setValidator(validator); - } + public void setValidator(IValidator validator) { + getContent().setValidator(validator); + } } diff --git a/src/main/java/binnie/core/craftgui/controls/listbox/ControlOption.java b/src/main/java/binnie/core/craftgui/controls/listbox/ControlOption.java index d116d0fa..e86e2a85 100644 --- a/src/main/java/binnie/core/craftgui/controls/listbox/ControlOption.java +++ b/src/main/java/binnie/core/craftgui/controls/listbox/ControlOption.java @@ -8,60 +8,59 @@ import binnie.core.craftgui.events.EventMouse; import binnie.core.craftgui.resource.minecraft.CraftGUITexture; public class ControlOption extends Control implements IControlValue { - protected T value; + protected T value; - public ControlOption(ControlList controlList, T option) { - this(controlList, option, 16); - } + public ControlOption(ControlList controlList, T option) { + this(controlList, option, 16); + } - public ControlOption(ControlList controlList, T option, int height) { - super(controlList, 0.0f, height, controlList.getSize().x(), 20.0f); - value = option; - if (value != null) { - addAttribute(WidgetAttribute.MOUSE_OVER); - } - addSelfEventHandler(mouseHandler); - } + public ControlOption(ControlList controlList, T option, int height) { + super(controlList, 0.0f, height, controlList.getSize().x(), 20.0f); + value = option; + if (value != null) { + addAttribute(WidgetAttribute.MOUSE_OVER); + } + addSelfEventHandler(mouseHandler); + } - @Override - public void onUpdateClient() { - if (getValue() == null) { - return; - } + @Override + public void onUpdateClient() { + if (getValue() == null) { + return; + } - int color = 0xa0a0a0; - if (isCurrentSelection()) { - color = 0xffffff; - } - setColor(color); - } + int color = 0xa0a0a0; + if (isCurrentSelection()) { + color = 0xffffff; + } + setColor(color); + } - private EventMouse.Down.Handler mouseHandler = new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - ((IControlValue) getParent()).setValue(getValue()); - } - }; + private EventMouse.Down.Handler mouseHandler = new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + ((IControlValue) getParent()).setValue(getValue()); + } + }; - @Override - public void onRenderForeground() { - if (isCurrentSelection()) { - CraftGUI.render.texture(CraftGUITexture.Outline, getArea()); - } - } + @Override + public void onRenderForeground() { + if (isCurrentSelection()) { + CraftGUI.render.texture(CraftGUITexture.Outline, getArea()); + } + } - @Override - public T getValue() { - return value; - } + @Override + public T getValue() { + return value; + } - @Override - public void setValue(T value) { - this.value = value; - } + @Override + public void setValue(T value) { + this.value = value; + } - public boolean isCurrentSelection() { - return getValue() != null - && getValue().equals(((IControlValue) getParent()).getValue()); - } + public boolean isCurrentSelection() { + return getValue() != null && getValue().equals(((IControlValue) getParent()).getValue()); + } } diff --git a/src/main/java/binnie/core/craftgui/controls/listbox/ControlTextOption.java b/src/main/java/binnie/core/craftgui/controls/listbox/ControlTextOption.java index 83e488ef..b847e58e 100644 --- a/src/main/java/binnie/core/craftgui/controls/listbox/ControlTextOption.java +++ b/src/main/java/binnie/core/craftgui/controls/listbox/ControlTextOption.java @@ -6,29 +6,29 @@ import binnie.core.craftgui.events.EventWidget; import binnie.core.craftgui.geometry.TextJustification; public class ControlTextOption extends ControlOption { - protected ControlText textWidget; + protected ControlText textWidget; - public ControlTextOption(ControlList controlList, T option, String optionName, int y) { - super(controlList, option, y); - textWidget = null; - textWidget = new ControlText(this, getArea(), optionName, TextJustification.MIDDLE_CENTER); + public ControlTextOption(ControlList controlList, T option, String optionName, int y) { + super(controlList, option, y); + textWidget = null; + textWidget = new ControlText(this, getArea(), optionName, TextJustification.MIDDLE_CENTER); - mouseHandler.setOrigin(EventHandler.Origin.Self, this); - addEventHandler(mouseHandler); - } + mouseHandler.setOrigin(EventHandler.Origin.Self, this); + addEventHandler(mouseHandler); + } - public ControlTextOption(ControlList controlList, T option, int y) { - this(controlList, option, option.toString(), y); - } + public ControlTextOption(ControlList controlList, T option, int y) { + this(controlList, option, option.toString(), y); + } - private EventWidget.ChangeColour.Handler mouseHandler = new EventWidget.ChangeColour.Handler() { - @Override - public void onEvent(EventWidget.ChangeColour event) { - textWidget.setColor(getColor()); - } - }; + private EventWidget.ChangeColour.Handler mouseHandler = new EventWidget.ChangeColour.Handler() { + @Override + public void onEvent(EventWidget.ChangeColour event) { + textWidget.setColor(getColor()); + } + }; - public String getText() { - return textWidget.getValue(); - } + public String getText() { + return textWidget.getValue(); + } } diff --git a/src/main/java/binnie/core/craftgui/controls/page/ControlPage.java b/src/main/java/binnie/core/craftgui/controls/page/ControlPage.java index fcbb3e4d..3b30702b 100644 --- a/src/main/java/binnie/core/craftgui/controls/page/ControlPage.java +++ b/src/main/java/binnie/core/craftgui/controls/page/ControlPage.java @@ -5,27 +5,27 @@ import binnie.core.craftgui.controls.core.Control; import binnie.core.craftgui.controls.core.IControlValue; public class ControlPage extends Control implements IControlValue { - protected T value; + protected T value; - public ControlPage(IWidget parent, T value) { - this(parent, 0.0f, 0.0f, parent.w(), parent.h(), value); - } + public ControlPage(IWidget parent, T value) { + this(parent, 0.0f, 0.0f, parent.w(), parent.h(), value); + } - public ControlPage(IWidget parent, float x, float y, float w, float h, T value) { - super(parent, x, y, w, h); - setValue(value); - if (parent instanceof IControlValue && ((IControlValue) parent).getValue() == null) { - ((IControlValue) parent).setValue(value); - } - } + public ControlPage(IWidget parent, float x, float y, float w, float h, T value) { + super(parent, x, y, w, h); + setValue(value); + if (parent instanceof IControlValue && ((IControlValue) parent).getValue() == null) { + ((IControlValue) parent).setValue(value); + } + } - @Override - public T getValue() { - return value; - } + @Override + public T getValue() { + return value; + } - @Override - public void setValue(T value) { - this.value = value; - } + @Override + public void setValue(T value) { + this.value = value; + } } diff --git a/src/main/java/binnie/core/craftgui/controls/page/ControlPages.java b/src/main/java/binnie/core/craftgui/controls/page/ControlPages.java index a691dfcc..1c476932 100644 --- a/src/main/java/binnie/core/craftgui/controls/page/ControlPages.java +++ b/src/main/java/binnie/core/craftgui/controls/page/ControlPages.java @@ -5,53 +5,52 @@ import binnie.core.craftgui.controls.core.Control; import binnie.core.craftgui.controls.core.IControlValue; import binnie.core.craftgui.controls.core.IControlValues; import binnie.core.craftgui.events.EventValueChanged; - import java.util.ArrayList; import java.util.Collection; import java.util.List; public class ControlPages extends Control implements IControlValues, IControlValue { - protected T value; + protected T value; - public ControlPages(IWidget parent, float x, float y, float w, float h) { - super(parent, x, y, w, h); - value = null; - } + public ControlPages(IWidget parent, float x, float y, float w, float h) { + super(parent, x, y, w, h); + value = null; + } - @Override - public void onAddChild(IWidget widget) { - // ignored - } + @Override + public void onAddChild(IWidget widget) { + // ignored + } - @Override - public T getValue() { - return value; - } + @Override + public T getValue() { + return value; + } - @Override - public void setValue(T value) { - if (this.value != value) { - this.value = value; - callEvent(new EventValueChanged(this, value)); - } - } + @Override + public void setValue(T value) { + if (this.value != value) { + this.value = value; + callEvent(new EventValueChanged(this, value)); + } + } - @Override - public Collection getValues() { - List list = new ArrayList<>(); - for (IWidget child : getWidgets()) { - list.add((T) ((IControlValue) child).getValue()); - } - return list; - } + @Override + public Collection getValues() { + List list = new ArrayList<>(); + for (IWidget child : getWidgets()) { + list.add((T) ((IControlValue) child).getValue()); + } + return list; + } - @Override - public void setValues(Collection values) { - // ignored - } + @Override + public void setValues(Collection values) { + // ignored + } - @Override - public boolean isChildVisible(IWidget child) { - return child != null && value == ((IControlValue) child).getValue(); - } + @Override + public boolean isChildVisible(IWidget child) { + return child != null && value == ((IControlValue) child).getValue(); + } } diff --git a/src/main/java/binnie/core/craftgui/controls/scroll/ControlScroll.java b/src/main/java/binnie/core/craftgui/controls/scroll/ControlScroll.java index df9b29ba..36e065f1 100644 --- a/src/main/java/binnie/core/craftgui/controls/scroll/ControlScroll.java +++ b/src/main/java/binnie/core/craftgui/controls/scroll/ControlScroll.java @@ -4,15 +4,15 @@ import binnie.core.craftgui.IWidget; import binnie.core.craftgui.controls.core.Control; public class ControlScroll extends Control { - private IControlScrollable scrollWidget; + private IControlScrollable scrollWidget; - public ControlScroll(IWidget parent, float x, float y, float width, float height, IControlScrollable scrollWidget) { - super(parent, x, y, width, height); - this.scrollWidget = scrollWidget; - new ControlScrollBar(this); - } + public ControlScroll(IWidget parent, float x, float y, float width, float height, IControlScrollable scrollWidget) { + super(parent, x, y, width, height); + this.scrollWidget = scrollWidget; + new ControlScrollBar(this); + } - public IControlScrollable getScrollableWidget() { - return scrollWidget; - } + public IControlScrollable getScrollableWidget() { + return scrollWidget; + } } diff --git a/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollBar.java b/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollBar.java index 8df32231..6d3595a1 100644 --- a/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollBar.java +++ b/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollBar.java @@ -9,77 +9,77 @@ import binnie.core.craftgui.geometry.IArea; import binnie.core.craftgui.resource.minecraft.CraftGUITexture; public class ControlScrollBar extends Control { - protected IControlScrollable scrollable; + protected IControlScrollable scrollable; - public ControlScrollBar(ControlScroll parent) { - this(parent, 0.0f, 0.0f, parent.getSize().x(), parent.getSize().y(), parent.getScrollableWidget()); - } + public ControlScrollBar(ControlScroll parent) { + this(parent, 0.0f, 0.0f, parent.getSize().x(), parent.getSize().y(), parent.getScrollableWidget()); + } - public ControlScrollBar(IWidget parent, float x, float y, float w, float h, IControlScrollable scrollable2) { - super(parent, x, y, w, h); - scrollable = scrollable2; - addAttribute(WidgetAttribute.MOUSE_OVER); - addSelfEventHandler(new EventMouse.Drag.Handler() { - @Override - public void onEvent(EventMouse.Drag event) { - scrollable.movePercentage(event.getDy() / (h() - getBarHeight())); - } - }); - addSelfEventHandler(mouseDownHandler); - } + public ControlScrollBar(IWidget parent, float x, float y, float w, float h, IControlScrollable scrollable2) { + super(parent, x, y, w, h); + scrollable = scrollable2; + addAttribute(WidgetAttribute.MOUSE_OVER); + addSelfEventHandler(new EventMouse.Drag.Handler() { + @Override + public void onEvent(EventMouse.Drag event) { + scrollable.movePercentage(event.getDy() / (h() - getBarHeight())); + } + }); + addSelfEventHandler(mouseDownHandler); + } - private EventMouse.Down.Handler mouseDownHandler = new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - float shownPercentage = scrollable.getPercentageShown(); - float percentageIndex = scrollable.getPercentageIndex(); - float minPercent = (1.0f - shownPercentage) * percentageIndex; - float maxPercent = minPercent + shownPercentage; - float clickedPercentage = getRelativeMousePosition().y() / (h() - 2.0f); - clickedPercentage = Math.max(Math.min(clickedPercentage, 1.0f), 0.0f); + private EventMouse.Down.Handler mouseDownHandler = new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + float shownPercentage = scrollable.getPercentageShown(); + float percentageIndex = scrollable.getPercentageIndex(); + float minPercent = (1.0f - shownPercentage) * percentageIndex; + float maxPercent = minPercent + shownPercentage; + float clickedPercentage = getRelativeMousePosition().y() / (h() - 2.0f); + clickedPercentage = Math.max(Math.min(clickedPercentage, 1.0f), 0.0f); - if (clickedPercentage > maxPercent) { - scrollable.setPercentageIndex((clickedPercentage - shownPercentage) / (1.0f - shownPercentage)); - } - if (clickedPercentage < minPercent) { - scrollable.setPercentageIndex(clickedPercentage / (1.0f - shownPercentage)); - } - } - }; + if (clickedPercentage > maxPercent) { + scrollable.setPercentageIndex((clickedPercentage - shownPercentage) / (1.0f - shownPercentage)); + } + if (clickedPercentage < minPercent) { + scrollable.setPercentageIndex(clickedPercentage / (1.0f - shownPercentage)); + } + } + }; - @Override - public void onUpdateClient() { - // ignored - } + @Override + public void onUpdateClient() { + // ignored + } - @Override - public void onRenderBackground() { - IArea renderArea = getRenderArea(); - Object texture = CraftGUITexture.ScrollDisabled; - if (isMouseOver()) { - texture = CraftGUITexture.ScrollHighlighted; - } else if (isEnabled()) { - texture = CraftGUITexture.Scroll; - } - CraftGUI.render.texture(texture, renderArea); - } + @Override + public void onRenderBackground() { + IArea renderArea = getRenderArea(); + Object texture = CraftGUITexture.ScrollDisabled; + if (isMouseOver()) { + texture = CraftGUITexture.ScrollHighlighted; + } else if (isEnabled()) { + texture = CraftGUITexture.Scroll; + } + CraftGUI.render.texture(texture, renderArea); + } - @Override - public boolean isEnabled() { - return scrollable.getPercentageShown() < 0.99f; - } + @Override + public boolean isEnabled() { + return scrollable.getPercentageShown() < 0.99f; + } - public float getBarHeight() { - return h() * scrollable.getPercentageShown(); - } + public float getBarHeight() { + return h() * scrollable.getPercentageShown(); + } - protected IArea getRenderArea() { - float height = getBarHeight(); - if (height < 6.0f) { - height = 6.0f; - } + protected IArea getRenderArea() { + float height = getBarHeight(); + if (height < 6.0f) { + height = 6.0f; + } - float yOffset = ((int) h() - (int) getBarHeight()) * scrollable.getPercentageIndex(); - return new IArea(0.0f, yOffset, getSize().x(), height); - } + float yOffset = ((int) h() - (int) getBarHeight()) * scrollable.getPercentageIndex(); + return new IArea(0.0f, yOffset, getSize().x(), height); + } } diff --git a/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollableContent.java b/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollableContent.java index a3e4ef34..c7553e4f 100644 --- a/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollableContent.java +++ b/src/main/java/binnie/core/craftgui/controls/scroll/ControlScrollableContent.java @@ -8,122 +8,137 @@ import binnie.core.craftgui.geometry.IArea; import binnie.core.craftgui.geometry.IPoint; public class ControlScrollableContent extends Control implements IControlScrollable { - protected T controlChild; - protected float scrollBarSize; - protected float percentageIndex; + protected T controlChild; + protected float scrollBarSize; + protected float percentageIndex; - public ControlScrollableContent(IWidget parent, float x, float y, float w, float h, float scrollBarSize) { - super(parent, x, y, w, h); - this.scrollBarSize = scrollBarSize; - if (scrollBarSize != 0.0f) { - new ControlScroll(this, getSize().x() - scrollBarSize, 0.0f, scrollBarSize, getSize().y(), this); - } + public ControlScrollableContent(IWidget parent, float x, float y, float w, float h, float scrollBarSize) { + super(parent, x, y, w, h); + this.scrollBarSize = scrollBarSize; + if (scrollBarSize != 0.0f) { + new ControlScroll( + this, + getSize().x() - scrollBarSize, + 0.0f, + scrollBarSize, + getSize().y(), + this); + } - percentageIndex = 0.0f; - addEventHandler(mouseWheelHandler); - } + percentageIndex = 0.0f; + addEventHandler(mouseWheelHandler); + } - @Override - public void onUpdateClient() { - setPercentageIndex(getPercentageIndex()); - } + @Override + public void onUpdateClient() { + setPercentageIndex(getPercentageIndex()); + } - private EventMouse.Wheel.Handler mouseWheelHandler = new EventMouse.Wheel.Handler() { - @Override - public void onEvent(EventMouse.Wheel event) { - IPoint mousePos = getRelativeMousePosition(); - if (mousePos.x() > 0.0f && mousePos.y() > 0.0f && mousePos.x() < getSize().x() && mousePos.y() < getSize().y()) { - if (getMovementRange() == 0.0f) { - return; - } - float percentageMove = 0.8f / getMovementRange(); - movePercentage(percentageMove * -event.getDWheel()); - } - } - }; + private EventMouse.Wheel.Handler mouseWheelHandler = new EventMouse.Wheel.Handler() { + @Override + public void onEvent(EventMouse.Wheel event) { + IPoint mousePos = getRelativeMousePosition(); + if (mousePos.x() > 0.0f + && mousePos.y() > 0.0f + && mousePos.x() < getSize().x() + && mousePos.y() < getSize().y()) { + if (getMovementRange() == 0.0f) { + return; + } + float percentageMove = 0.8f / getMovementRange(); + movePercentage(percentageMove * -event.getDWheel()); + } + } + }; - public void setScrollableContent(T child) { - controlChild = child; - if (child == null) { - return; - } + public void setScrollableContent(T child) { + controlChild = child; + if (child == null) { + return; + } - child.setCroppedZone(this, new IArea(1.0F, 1.0F, getSize().x() - 2.0F - scrollBarSize, getSize().y() - 2.0F)); - child.addSelfEventHandler(new EventWidget.ChangeSize.Handler() { - @Override - public void onEvent(EventWidget.ChangeSize event) { - controlChild.setOffset(new IPoint(0.0f, -percentageIndex * getMovementRange())); - if (getMovementRange() == 0.0f) { - percentageIndex = 0.0f; - } - } - }); - } + child.setCroppedZone( + this, + new IArea( + 1.0F, + 1.0F, + getSize().x() - 2.0F - scrollBarSize, + getSize().y() - 2.0F)); + child.addSelfEventHandler(new EventWidget.ChangeSize.Handler() { + @Override + public void onEvent(EventWidget.ChangeSize event) { + controlChild.setOffset(new IPoint(0.0f, -percentageIndex * getMovementRange())); + if (getMovementRange() == 0.0f) { + percentageIndex = 0.0f; + } + } + }); + } - public T getContent() { - return controlChild; - } + public T getContent() { + return controlChild; + } - @Override - public float getPercentageShown() { - if (controlChild == null || controlChild.getSize().y() == 0.0f) { - return 1.0f; - } - float shown = getSize().y() / controlChild.getSize().y(); - return Math.min(shown, 1.0f); - } + @Override + public float getPercentageShown() { + if (controlChild == null || controlChild.getSize().y() == 0.0f) { + return 1.0f; + } + float shown = getSize().y() / controlChild.getSize().y(); + return Math.min(shown, 1.0f); + } - @Override - public float getPercentageIndex() { - return percentageIndex; - } + @Override + public float getPercentageIndex() { + return percentageIndex; + } - @Override - public void movePercentage(float percentage) { - if (controlChild == null) { - return; - } + @Override + public void movePercentage(float percentage) { + if (controlChild == null) { + return; + } - percentageIndex += percentage; - if (percentageIndex > 1.0f) { - percentageIndex = 1.0f; - } else if (percentageIndex < 0.0f) { - percentageIndex = 0.0f; - } + percentageIndex += percentage; + if (percentageIndex > 1.0f) { + percentageIndex = 1.0f; + } else if (percentageIndex < 0.0f) { + percentageIndex = 0.0f; + } - if (getMovementRange() == 0.0f) { - percentageIndex = 0.0f; - } - controlChild.setOffset(new IPoint(0.0f, -percentageIndex * getMovementRange())); - } + if (getMovementRange() == 0.0f) { + percentageIndex = 0.0f; + } + controlChild.setOffset(new IPoint(0.0f, -percentageIndex * getMovementRange())); + } - @Override - public void setPercentageIndex(float index) { - movePercentage(index - percentageIndex); - } + @Override + public void setPercentageIndex(float index) { + movePercentage(index - percentageIndex); + } - @Override - public float getMovementRange() { - if (controlChild == null) { - return 0.0f; - } - float range = controlChild.getSize().y() - getSize().y(); - return Math.max(range, 0.0f); - } + @Override + public float getMovementRange() { + if (controlChild == null) { + return 0.0f; + } + float range = controlChild.getSize().y() - getSize().y(); + return Math.max(range, 0.0f); + } - public void ensureVisible(float minY, float maxY, float totalY) { - minY /= totalY; - maxY /= totalY; - float shownPercentage = getPercentageShown(); - float percentageIndex = getPercentageIndex(); - float minPercent = (1.0f - shownPercentage) * percentageIndex; - float maxPercent = minPercent + shownPercentage; + public void ensureVisible(float minY, float maxY, float totalY) { + minY /= totalY; + maxY /= totalY; + float shownPercentage = getPercentageShown(); + float percentageIndex = getPercentageIndex(); + float minPercent = (1.0f - shownPercentage) * percentageIndex; + float maxPercent = minPercent + shownPercentage; - if (maxY > maxPercent) { - setPercentageIndex((maxY - shownPercentage) / (1.0f - shownPercentage)); - } - if (minY < minPercent) { - setPercentageIndex(minY / (1.0f - shownPercentage)); - } - } + if (maxY > maxPercent) { + setPercentageIndex((maxY - shownPercentage) / (1.0f - shownPercentage)); + } + if (minY < minPercent) { + setPercentageIndex(minY / (1.0f - shownPercentage)); + } + } } diff --git a/src/main/java/binnie/core/craftgui/controls/scroll/IControlScrollable.java b/src/main/java/binnie/core/craftgui/controls/scroll/IControlScrollable.java index 7bfd112a..ce116667 100644 --- a/src/main/java/binnie/core/craftgui/controls/scroll/IControlScrollable.java +++ b/src/main/java/binnie/core/craftgui/controls/scroll/IControlScrollable.java @@ -3,13 +3,13 @@ package binnie.core.craftgui.controls.scroll; import binnie.core.craftgui.IWidget; public interface IControlScrollable extends IWidget { - float getPercentageShown(); + float getPercentageShown(); - float getPercentageIndex(); + float getPercentageIndex(); - void movePercentage(float percentage); + void movePercentage(float percentage); - void setPercentageIndex(float index); + void setPercentageIndex(float index); - float getMovementRange(); + float getMovementRange(); } diff --git a/src/main/java/binnie/core/craftgui/controls/tab/ControlTab.java b/src/main/java/binnie/core/craftgui/controls/tab/ControlTab.java index 757670d9..bf7027a6 100644 --- a/src/main/java/binnie/core/craftgui/controls/tab/ControlTab.java +++ b/src/main/java/binnie/core/craftgui/controls/tab/ControlTab.java @@ -17,94 +17,94 @@ import binnie.core.craftgui.resource.Texture; import binnie.core.craftgui.resource.minecraft.CraftGUITexture; public class ControlTab extends Control implements ITooltip, IControlValue { - protected T value; + protected T value; - private ControlTabBar tabBar; + private ControlTabBar tabBar; - public ControlTab(ControlTabBar parent, float x, float y, float w, float h, T value) { - super(parent, x, y, w, h); - setValue(value); - tabBar = parent; - addAttribute(WidgetAttribute.MOUSE_OVER); - addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - callEvent(new EventValueChanged(getWidget(), getValue())); - } - }); - } + public ControlTab(ControlTabBar parent, float x, float y, float w, float h, T value) { + super(parent, x, y, w, h); + setValue(value); + tabBar = parent; + addAttribute(WidgetAttribute.MOUSE_OVER); + addSelfEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + callEvent(new EventValueChanged(getWidget(), getValue())); + } + }); + } - @Override - public void onRenderBackground() { - Object texture = CraftGUITexture.TabDisabled; - if (isMouseOver()) { - texture = CraftGUITexture.TabHighlighted; - } else if (isCurrentSelection()) { - texture = CraftGUITexture.Tab; - } + @Override + public void onRenderBackground() { + Object texture = CraftGUITexture.TabDisabled; + if (isMouseOver()) { + texture = CraftGUITexture.TabHighlighted; + } else if (isCurrentSelection()) { + texture = CraftGUITexture.Tab; + } - Texture lTexture = CraftGUI.render.getTexture(texture); - Position position = getTabPosition(); - Texture iTexture = lTexture.crop(position, 8.0f); - IArea area = getArea(); - if (texture == CraftGUITexture.TabDisabled) { - if (position == Position.TOP || position == Position.LEFT) { - area.setPosition(area.getPosition().sub(new IPoint(4 * position.x(), 4 * position.y()))); - area.setSize(area.getSize().add(new IPoint(4 * position.x(), 4 * position.y()))); - } else { - area.setSize(area.getSize().sub(new IPoint(4 * position.x(), 4 * position.y()))); - } - } + Texture lTexture = CraftGUI.render.getTexture(texture); + Position position = getTabPosition(); + Texture iTexture = lTexture.crop(position, 8.0f); + IArea area = getArea(); + if (texture == CraftGUITexture.TabDisabled) { + if (position == Position.TOP || position == Position.LEFT) { + area.setPosition(area.getPosition().sub(new IPoint(4 * position.x(), 4 * position.y()))); + area.setSize(area.getSize().add(new IPoint(4 * position.x(), 4 * position.y()))); + } else { + area.setSize(area.getSize().sub(new IPoint(4 * position.x(), 4 * position.y()))); + } + } - CraftGUI.render.texture(iTexture, area); - if (this instanceof ControlTabIcon) { - ControlTabIcon icon = (ControlTabIcon) this; - ControlItemDisplay item = (ControlItemDisplay) getWidgets().get(0); - if (texture == CraftGUITexture.TabDisabled) { - item.setColor(0xaaaaaaaa); - } else { - item.setColor(0xffffffff); - } + CraftGUI.render.texture(iTexture, area); + if (this instanceof ControlTabIcon) { + ControlTabIcon icon = (ControlTabIcon) this; + ControlItemDisplay item = (ControlItemDisplay) getWidgets().get(0); + if (texture == CraftGUITexture.TabDisabled) { + item.setColor(0xaaaaaaaa); + } else { + item.setColor(0xffffffff); + } - if (icon.hasOutline()) { - iTexture = CraftGUI.render.getTexture(CraftGUITexture.TabOutline); - iTexture = iTexture.crop(position, 8.0f); - CraftGUI.render.color(icon.getOutlineColor()); - CraftGUI.render.texture(iTexture, area.inset(2)); - } - } - } + if (icon.hasOutline()) { + iTexture = CraftGUI.render.getTexture(CraftGUITexture.TabOutline); + iTexture = iTexture.crop(position, 8.0f); + CraftGUI.render.color(icon.getOutlineColor()); + CraftGUI.render.texture(iTexture, area.inset(2)); + } + } + } - @Override - public void getTooltip(Tooltip tooltip) { - String name = getName(); - if (name != null && !name.isEmpty()) { - tooltip.add(getName()); - } - if (value instanceof ITooltip) { - ((ITooltip) value).getTooltip(tooltip); - } - } + @Override + public void getTooltip(Tooltip tooltip) { + String name = getName(); + if (name != null && !name.isEmpty()) { + tooltip.add(getName()); + } + if (value instanceof ITooltip) { + ((ITooltip) value).getTooltip(tooltip); + } + } - @Override - public T getValue() { - return value; - } + @Override + public T getValue() { + return value; + } - @Override - public void setValue(T value) { - this.value = value; - } + @Override + public void setValue(T value) { + this.value = value; + } - public Position getTabPosition() { - return tabBar.position; - } + public Position getTabPosition() { + return tabBar.position; + } - public String getName() { - return value.toString(); - } + public String getName() { + return value.toString(); + } - public boolean isCurrentSelection() { - return getValue() != null && getValue().equals(tabBar.getValue()); - } + public boolean isCurrentSelection() { + return getValue() != null && getValue().equals(tabBar.getValue()); + } } diff --git a/src/main/java/binnie/core/craftgui/controls/tab/ControlTabBar.java b/src/main/java/binnie/core/craftgui/controls/tab/ControlTabBar.java index 52784fca..38e8c1d2 100644 --- a/src/main/java/binnie/core/craftgui/controls/tab/ControlTabBar.java +++ b/src/main/java/binnie/core/craftgui/controls/tab/ControlTabBar.java @@ -6,70 +6,70 @@ import binnie.core.craftgui.controls.core.IControlValue; import binnie.core.craftgui.events.EventHandler; import binnie.core.craftgui.events.EventValueChanged; import binnie.core.craftgui.geometry.Position; - import java.util.Collection; public class ControlTabBar extends Control implements IControlValue { - protected T value; - protected Position position; + protected T value; + protected Position position; - public ControlTabBar(IWidget parent, float x, float y, float width, float height, Position position) { - super(parent, x, y, width, height); - this.position = position; - addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(EventValueChanged event) { - setValue((T) event.getValue()); - } - }.setOrigin(EventHandler.Origin.DirectChild, this)); - } + public ControlTabBar(IWidget parent, float x, float y, float width, float height, Position position) { + super(parent, x, y, width, height); + this.position = position; + addEventHandler( + new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + setValue((T) event.getValue()); + } + }.setOrigin(EventHandler.Origin.DirectChild, this)); + } - public ControlTab createTab(float x, float y, float w, float h, T value) { - return new ControlTab<>(this, x, y, w, h, value); - } + public ControlTab createTab(float x, float y, float w, float h, T value) { + return new ControlTab<>(this, x, y, w, h, value); + } - public void setValues(Collection values) { - int i = 0; - while (i < getWidgets().size()) { - deleteChild(getWidgets().get(0)); - } + public void setValues(Collection values) { + int i = 0; + while (i < getWidgets().size()) { + deleteChild(getWidgets().get(0)); + } - float length = values.size(); - int tabDimension = (int) (getSize().y() / length); - if (position == Position.TOP || position == Position.BOTTOM) { - tabDimension = (int) (getSize().x() / length); - } + float length = values.size(); + int tabDimension = (int) (getSize().y() / length); + if (position == Position.TOP || position == Position.BOTTOM) { + tabDimension = (int) (getSize().x() / length); + } - int j = 0; - for (T value : values) { - if (position == Position.TOP || position == Position.BOTTOM) { - createTab(j * tabDimension, 0.0f, tabDimension, getSize().y(), value); - } else { - createTab(0.0f, j * tabDimension, getSize().x(), tabDimension, value); - } - j++; - } + int j = 0; + for (T value : values) { + if (position == Position.TOP || position == Position.BOTTOM) { + createTab(j * tabDimension, 0.0f, tabDimension, getSize().y(), value); + } else { + createTab(0.0f, j * tabDimension, getSize().x(), tabDimension, value); + } + j++; + } - if (value == null && !values.isEmpty()) { - setValue(values.iterator().next()); - } - } + if (value == null && !values.isEmpty()) { + setValue(values.iterator().next()); + } + } - @Override - public T getValue() { - return value; - } + @Override + public T getValue() { + return value; + } - @Override - public void setValue(T value) { - boolean change = this.value != value; - this.value = value; - if (change) { - callEvent(new EventValueChanged(this, value)); - } - } + @Override + public void setValue(T value) { + boolean change = this.value != value; + this.value = value; + if (change) { + callEvent(new EventValueChanged(this, value)); + } + } - public Position getDirection() { - return position; - } + public Position getDirection() { + return position; + } } diff --git a/src/main/java/binnie/core/craftgui/database/ControlBranchBox.java b/src/main/java/binnie/core/craftgui/database/ControlBranchBox.java index 5b5e38d4..70f30e5f 100644 --- a/src/main/java/binnie/core/craftgui/database/ControlBranchBox.java +++ b/src/main/java/binnie/core/craftgui/database/ControlBranchBox.java @@ -5,12 +5,12 @@ import binnie.core.craftgui.controls.listbox.ControlListBox; import forestry.api.genetics.IClassification; class ControlBranchBox extends ControlListBox { - @Override - public IWidget createOption(IClassification value, int y) { - return new ControlBranchBoxOption(getContent(), value, y); - } + @Override + public IWidget createOption(IClassification value, int y) { + return new ControlBranchBoxOption(getContent(), value, y); + } - public ControlBranchBox(IWidget parent, float x, float y, float width, float height) { - super(parent, x, y, width, height, 12.0f); - } + public ControlBranchBox(IWidget parent, float x, float y, float width, float height) { + super(parent, x, y, width, height, 12.0f); + } } diff --git a/src/main/java/binnie/core/craftgui/database/ControlBranchBoxOption.java b/src/main/java/binnie/core/craftgui/database/ControlBranchBoxOption.java index 49ec6f61..39a5dd99 100644 --- a/src/main/java/binnie/core/craftgui/database/ControlBranchBoxOption.java +++ b/src/main/java/binnie/core/craftgui/database/ControlBranchBoxOption.java @@ -5,7 +5,13 @@ import binnie.core.craftgui.controls.listbox.ControlTextOption; import forestry.api.genetics.IClassification; class ControlBranchBoxOption extends ControlTextOption { - public ControlBranchBoxOption(ControlList controlList, IClassification option, int y) { - super(controlList, option, (option.getName() == null) ? option.getScientific() : (option.getName().contains(".") ? option.getScientific() : option.getName()), y); - } + public ControlBranchBoxOption(ControlList controlList, IClassification option, int y) { + super( + controlList, + option, + (option.getName() == null) + ? option.getScientific() + : (option.getName().contains(".") ? option.getScientific() : option.getName()), + y); + } } diff --git a/src/main/java/binnie/core/craftgui/database/ControlBreedingProgress.java b/src/main/java/binnie/core/craftgui/database/ControlBreedingProgress.java index 8aa9007c..85eed185 100644 --- a/src/main/java/binnie/core/craftgui/database/ControlBreedingProgress.java +++ b/src/main/java/binnie/core/craftgui/database/ControlBreedingProgress.java @@ -1,4 +1,3 @@ - package binnie.core.craftgui.database; import binnie.core.craftgui.CraftGUI; @@ -13,22 +12,23 @@ import binnie.core.craftgui.resource.minecraft.StandardTexture; import binnie.core.genetics.BreedingSystem; class ControlBreedingProgress extends Control { - private static Texture Progress = new StandardTexture(80, 22, 4, 4, CraftGUITextureSheet.Controls2); - private float percentage; - private int colour; + private static Texture Progress = new StandardTexture(80, 22, 4, 4, CraftGUITextureSheet.Controls2); + private float percentage; + private int colour; - public ControlBreedingProgress(IWidget parent, int x, int y, int width, int height, BreedingSystem system, float percentage) { - super(parent, x, y, width, height); - this.percentage = percentage; - colour = system.getColor(); - } + public ControlBreedingProgress( + IWidget parent, int x, int y, int width, int height, BreedingSystem system, float percentage) { + super(parent, x, y, width, height); + this.percentage = percentage; + colour = system.getColor(); + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(CraftGUITexture.PanelBlack, getArea()); - IArea area = getArea().inset(1); - area.setSize(new IPoint(area.size().x() * percentage, area.size().y())); - CraftGUI.render.color(colour); - CraftGUI.render.texture(ControlBreedingProgress.Progress, area); - } + @Override + public void onRenderBackground() { + CraftGUI.render.texture(CraftGUITexture.PanelBlack, getArea()); + IArea area = getArea().inset(1); + area.setSize(new IPoint(area.size().x() * percentage, area.size().y())); + CraftGUI.render.color(colour); + CraftGUI.render.texture(ControlBreedingProgress.Progress, area); + } } diff --git a/src/main/java/binnie/core/craftgui/database/ControlDatabaseIndividualDisplay.java b/src/main/java/binnie/core/craftgui/database/ControlDatabaseIndividualDisplay.java index 025bb2ad..ae431962 100644 --- a/src/main/java/binnie/core/craftgui/database/ControlDatabaseIndividualDisplay.java +++ b/src/main/java/binnie/core/craftgui/database/ControlDatabaseIndividualDisplay.java @@ -19,96 +19,97 @@ import forestry.api.genetics.ISpeciesRoot; import net.minecraft.util.IIcon; public class ControlDatabaseIndividualDisplay extends ControlItemDisplay implements ITooltip { - protected EnumDiscoveryState discovered; + protected EnumDiscoveryState discovered; - private IAlleleSpecies species; + private IAlleleSpecies species; - public void setSpecies(IAlleleSpecies species) { - setSpecies(species, EnumDiscoveryState.SHOW); - } + public void setSpecies(IAlleleSpecies species) { + setSpecies(species, EnumDiscoveryState.SHOW); + } - public void setSpecies(IAlleleSpecies species, EnumDiscoveryState state) { - this.species = species; - ISpeciesRoot speciesRoot = Binnie.Genetics.getSpeciesRoot(species); - BreedingSystem system = Binnie.Genetics.getSystem(speciesRoot.getUID()); - IIndividual ind = system.getSpeciesRoot().templateAsIndividual(system.getSpeciesRoot().getTemplate(species.getUID())); - super.setItemStack(system.getSpeciesRoot().getMemberStack(ind, system.getDefaultType())); - Window window = Window.get(this); - GameProfile username = window.getUsername(); + public void setSpecies(IAlleleSpecies species, EnumDiscoveryState state) { + this.species = species; + ISpeciesRoot speciesRoot = Binnie.Genetics.getSpeciesRoot(species); + BreedingSystem system = Binnie.Genetics.getSystem(speciesRoot.getUID()); + IIndividual ind = system.getSpeciesRoot() + .templateAsIndividual(system.getSpeciesRoot().getTemplate(species.getUID())); + super.setItemStack(system.getSpeciesRoot().getMemberStack(ind, system.getDefaultType())); + Window window = Window.get(this); + GameProfile username = window.getUsername(); - if (window instanceof WindowAbstractDatabase && ((WindowAbstractDatabase) window).isNEI) { - state = EnumDiscoveryState.SHOW; - } else if (state == EnumDiscoveryState.UNDETERMINED) { - state = system.isSpeciesDiscovered(species, window.getWorld(), username) - ? EnumDiscoveryState.DISCOVERED - : EnumDiscoveryState.UNDISCOVERED; - } + if (window instanceof WindowAbstractDatabase && ((WindowAbstractDatabase) window).isNEI) { + state = EnumDiscoveryState.SHOW; + } else if (state == EnumDiscoveryState.UNDETERMINED) { + state = system.isSpeciesDiscovered(species, window.getWorld(), username) + ? EnumDiscoveryState.DISCOVERED + : EnumDiscoveryState.UNDISCOVERED; + } - discovered = state; - addAttribute(WidgetAttribute.MOUSE_OVER); - } + discovered = state; + addAttribute(WidgetAttribute.MOUSE_OVER); + } - public ControlDatabaseIndividualDisplay(IWidget parent, float x, float y) { - this(parent, x, y, 16.0f); - } + public ControlDatabaseIndividualDisplay(IWidget parent, float x, float y) { + this(parent, x, y, 16.0f); + } - public ControlDatabaseIndividualDisplay(IWidget parent, float x, float y, float size) { - super(parent, x, y, size); - species = null; - discovered = EnumDiscoveryState.SHOW; - addSelfEventHandler(new MouseDownHandler()); - } + public ControlDatabaseIndividualDisplay(IWidget parent, float x, float y, float size) { + super(parent, x, y, size); + species = null; + discovered = EnumDiscoveryState.SHOW; + addSelfEventHandler(new MouseDownHandler()); + } - @Override - public void onRenderForeground() { - IIcon icon = null; - if (species == null) { - return; - } + @Override + public void onRenderForeground() { + IIcon icon = null; + if (species == null) { + return; + } - BreedingSystem system = Binnie.Genetics.getSystem(species.getRoot()); - switch (discovered) { - case SHOW: - super.onRenderForeground(); - return; + BreedingSystem system = Binnie.Genetics.getSystem(species.getRoot()); + switch (discovered) { + case SHOW: + super.onRenderForeground(); + return; - case DISCOVERED: - icon = system.getDiscoveredIcon(); - break; + case DISCOVERED: + icon = system.getDiscoveredIcon(); + break; - case UNDISCOVERED: - icon = system.getUndiscoveredIcon(); - break; - } - if (icon != null) { - CraftGUI.render.iconItem(IPoint.ZERO, icon); - } - } + case UNDISCOVERED: + icon = system.getUndiscoveredIcon(); + break; + } + if (icon != null) { + CraftGUI.render.iconItem(IPoint.ZERO, icon); + } + } - @Override - public void getTooltip(Tooltip tooltip) { - if (species == null) { - return; - } + @Override + public void getTooltip(Tooltip tooltip) { + if (species == null) { + return; + } - switch (discovered) { - case SHOW: - case DISCOVERED: - tooltip.add(species.getName()); - break; + switch (discovered) { + case SHOW: + case DISCOVERED: + tooltip.add(species.getName()); + break; - case UNDISCOVERED: - tooltip.add(I18N.localise("binniecore.gui.database.discovered.undiscovered")); - break; - } - } + case UNDISCOVERED: + tooltip.add(I18N.localise("binniecore.gui.database.discovered.undiscovered")); + break; + } + } - private class MouseDownHandler extends EventMouse.Down.Handler { - @Override - public void onEvent(EventMouse.Down event) { - if (event.getButton() == 0 && species != null && EnumDiscoveryState.SHOW == discovered) { - ((WindowAbstractDatabase) getSuperParent()).gotoSpeciesDelayed(species); - } - } - } + private class MouseDownHandler extends EventMouse.Down.Handler { + @Override + public void onEvent(EventMouse.Down event) { + if (event.getButton() == 0 && species != null && EnumDiscoveryState.SHOW == discovered) { + ((WindowAbstractDatabase) getSuperParent()).gotoSpeciesDelayed(species); + } + } + } } diff --git a/src/main/java/binnie/core/craftgui/database/ControlItemStackOption.java b/src/main/java/binnie/core/craftgui/database/ControlItemStackOption.java index 30ba15b6..e9dc0f1d 100644 --- a/src/main/java/binnie/core/craftgui/database/ControlItemStackOption.java +++ b/src/main/java/binnie/core/craftgui/database/ControlItemStackOption.java @@ -10,22 +10,23 @@ import binnie.core.craftgui.minecraft.control.ControlItemDisplay; import net.minecraft.item.ItemStack; public class ControlItemStackOption extends ControlTextOption { - private ControlItemDisplay controlBee; + private ControlItemDisplay controlBee; - public ControlItemStackOption(ControlList controlList, ItemStack option, int y) { - super(controlList, option, option.getDisplayName(), y); - setSize(new IPoint(getSize().x(), 20.0f)); + public ControlItemStackOption(ControlList controlList, ItemStack option, int y) { + super(controlList, option, option.getDisplayName(), y); + setSize(new IPoint(getSize().x(), 20.0f)); - controlBee = new ControlItemDisplay(this, 2.0f, 2.0f); - controlBee.setItemStack(option); + controlBee = new ControlItemDisplay(this, 2.0f, 2.0f); + controlBee.setItemStack(option); - addAttribute(WidgetAttribute.MOUSE_OVER); - CraftGUIUtil.moveWidget(textWidget, new IPoint(22.0f, 0.0f)); - textWidget.setSize(textWidget.getSize().sub(new IPoint(24.0f, 0.0f))); - int th = (int) CraftGUI.render.textHeight(textWidget.getValue(), textWidget.getSize().x()); - int height = Math.max(20, th + 6); - setSize(new IPoint(size().x(), height)); - textWidget.setSize(new IPoint(textWidget.getSize().x(), height)); - controlBee.setPosition(new IPoint(controlBee.pos().x(), (height - 18) / 2)); - } + addAttribute(WidgetAttribute.MOUSE_OVER); + CraftGUIUtil.moveWidget(textWidget, new IPoint(22.0f, 0.0f)); + textWidget.setSize(textWidget.getSize().sub(new IPoint(24.0f, 0.0f))); + int th = (int) CraftGUI.render.textHeight( + textWidget.getValue(), textWidget.getSize().x()); + int height = Math.max(20, th + 6); + setSize(new IPoint(size().x(), height)); + textWidget.setSize(new IPoint(textWidget.getSize().x(), height)); + controlBee.setPosition(new IPoint(controlBee.pos().x(), (height - 18) / 2)); + } } diff --git a/src/main/java/binnie/core/craftgui/database/ControlMutationBox.java b/src/main/java/binnie/core/craftgui/database/ControlMutationBox.java index d332738e..a35df30c 100644 --- a/src/main/java/binnie/core/craftgui/database/ControlMutationBox.java +++ b/src/main/java/binnie/core/craftgui/database/ControlMutationBox.java @@ -6,58 +6,58 @@ import binnie.core.craftgui.minecraft.Window; import binnie.core.genetics.BreedingSystem; import forestry.api.genetics.IAlleleSpecies; import forestry.api.genetics.IMutation; - import java.util.List; class ControlMutationBox extends ControlListBox { - private Type type; - private IAlleleSpecies species; + private Type type; + private IAlleleSpecies species; - @Override - public IWidget createOption(IMutation value, int y) { - return new ControlMutationItem(getContent(), value, species, y); - } + @Override + public IWidget createOption(IMutation value, int y) { + return new ControlMutationItem(getContent(), value, species, y); + } - public ControlMutationBox(IWidget parent, int x, int y, int width, int height, Type type) { - super(parent, x, y, width, height, 12.0f); - species = null; - this.type = type; - } + public ControlMutationBox(IWidget parent, int x, int y, int width, int height, Type type) { + super(parent, x, y, width, height, 12.0f); + species = null; + this.type = type; + } - public void setSpecies(IAlleleSpecies species) { - if (species == this.species) { - return; - } + public void setSpecies(IAlleleSpecies species) { + if (species == this.species) { + return; + } - this.species = species; - movePercentage(-100.0f); - BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); - List discovered = system.getDiscoveredMutations(Window.get(this).getWorld(), Window.get(this).getUsername()); + this.species = species; + movePercentage(-100.0f); + BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); + List discovered = system.getDiscoveredMutations( + Window.get(this).getWorld(), Window.get(this).getUsername()); - if (species == null) { - return; - } + if (species == null) { + return; + } - if (type == Type.RESULTANT) { - setOptions(system.getResultantMutations(species)); - return; - } + if (type == Type.RESULTANT) { + setOptions(system.getResultantMutations(species)); + return; + } - List mutations = system.getFurtherMutations(species); - int i = 0; - while (i < mutations.size()) { - IMutation mutation = mutations.get(i); - if (!discovered.contains(mutations) && !((IAlleleSpecies) mutation.getTemplate()[0]).isCounted()) { - mutations.remove(i); - } else { - i++; - } - } - setOptions(mutations); - } + List mutations = system.getFurtherMutations(species); + int i = 0; + while (i < mutations.size()) { + IMutation mutation = mutations.get(i); + if (!discovered.contains(mutations) && !((IAlleleSpecies) mutation.getTemplate()[0]).isCounted()) { + mutations.remove(i); + } else { + i++; + } + } + setOptions(mutations); + } - enum Type { - RESULTANT, - FURTHER - } + enum Type { + RESULTANT, + FURTHER + } } diff --git a/src/main/java/binnie/core/craftgui/database/ControlMutationItem.java b/src/main/java/binnie/core/craftgui/database/ControlMutationItem.java index cffd728c..9e5d6d01 100644 --- a/src/main/java/binnie/core/craftgui/database/ControlMutationItem.java +++ b/src/main/java/binnie/core/craftgui/database/ControlMutationItem.java @@ -8,43 +8,44 @@ import forestry.api.genetics.IAlleleSpecies; import forestry.api.genetics.IMutation; class ControlMutationItem extends ControlOption { - public ControlMutationItem(ControlList controlList, IMutation option, IAlleleSpecies species, int y) { - super(controlList, option, y); - ControlDatabaseIndividualDisplay itemWidget1 = new ControlDatabaseIndividualDisplay(this, 4.0f, 4.0f); - ControlDatabaseIndividualDisplay itemWidget2 = new ControlDatabaseIndividualDisplay(this, 44.0f, 4.0f); - ControlDatabaseIndividualDisplay itemWidget3 = new ControlDatabaseIndividualDisplay(this, 104.0f, 4.0f); - ControlMutationSymbol addSymbol = new ControlMutationSymbol(this, 24, 4, 0); - ControlMutationSymbol arrowSymbol = new ControlMutationSymbol(this, 64, 4, 1); - boolean isNEI = ((WindowAbstractDatabase) getSuperParent()).isNEI(); - BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); - Window window = Window.get(this); + public ControlMutationItem(ControlList controlList, IMutation option, IAlleleSpecies species, int y) { + super(controlList, option, y); + ControlDatabaseIndividualDisplay itemWidget1 = new ControlDatabaseIndividualDisplay(this, 4.0f, 4.0f); + ControlDatabaseIndividualDisplay itemWidget2 = new ControlDatabaseIndividualDisplay(this, 44.0f, 4.0f); + ControlDatabaseIndividualDisplay itemWidget3 = new ControlDatabaseIndividualDisplay(this, 104.0f, 4.0f); + ControlMutationSymbol addSymbol = new ControlMutationSymbol(this, 24, 4, 0); + ControlMutationSymbol arrowSymbol = new ControlMutationSymbol(this, 64, 4, 1); + boolean isNEI = ((WindowAbstractDatabase) getSuperParent()).isNEI(); + BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); + Window window = Window.get(this); - if (getValue() == null) { - return; - } + if (getValue() == null) { + return; + } - boolean isMutationDiscovered = system.isMutationDiscovered(getValue(), window.getWorld(), window.getUsername()); - IAlleleSpecies allele; - EnumDiscoveryState state; - allele = getValue().getAllele0(); - state = getState(isNEI, isMutationDiscovered, species, allele); - itemWidget1.setSpecies(allele, state); + boolean isMutationDiscovered = system.isMutationDiscovered(getValue(), window.getWorld(), window.getUsername()); + IAlleleSpecies allele; + EnumDiscoveryState state; + allele = getValue().getAllele0(); + state = getState(isNEI, isMutationDiscovered, species, allele); + itemWidget1.setSpecies(allele, state); - allele = getValue().getAllele1(); - state = getState(isNEI, isMutationDiscovered, species, allele); - itemWidget2.setSpecies(allele, state); + allele = getValue().getAllele1(); + state = getState(isNEI, isMutationDiscovered, species, allele); + itemWidget2.setSpecies(allele, state); - allele = (IAlleleSpecies) getValue().getTemplate()[0]; - state = getState(isNEI, isMutationDiscovered, species, allele); - itemWidget3.setSpecies(allele, state); + allele = (IAlleleSpecies) getValue().getTemplate()[0]; + state = getState(isNEI, isMutationDiscovered, species, allele); + itemWidget3.setSpecies(allele, state); - addSymbol.setValue(getValue()); - arrowSymbol.setValue(getValue()); - } - - private EnumDiscoveryState getState(boolean isNEI, boolean isMutationDiscovered, IAlleleSpecies species, IAlleleSpecies allele) { - return (isNEI || isMutationDiscovered || species == allele) - ? EnumDiscoveryState.SHOW - : EnumDiscoveryState.UNDETERMINED; - } + addSymbol.setValue(getValue()); + arrowSymbol.setValue(getValue()); + } + + private EnumDiscoveryState getState( + boolean isNEI, boolean isMutationDiscovered, IAlleleSpecies species, IAlleleSpecies allele) { + return (isNEI || isMutationDiscovered || species == allele) + ? EnumDiscoveryState.SHOW + : EnumDiscoveryState.UNDETERMINED; + } } diff --git a/src/main/java/binnie/core/craftgui/database/ControlMutationSymbol.java b/src/main/java/binnie/core/craftgui/database/ControlMutationSymbol.java index 75995bab..f95d74d1 100644 --- a/src/main/java/binnie/core/craftgui/database/ControlMutationSymbol.java +++ b/src/main/java/binnie/core/craftgui/database/ControlMutationSymbol.java @@ -16,56 +16,58 @@ import forestry.api.genetics.IAllele; import forestry.api.genetics.IMutation; class ControlMutationSymbol extends Control implements ITooltip { - private static Texture MutationPlus = new StandardTexture(2, 94, 16, 16, CraftGUITextureSheet.Controls2); - private static Texture MutationArrow = new StandardTexture(20, 94, 32, 16, CraftGUITextureSheet.Controls2); - private IMutation value; - private boolean discovered; - private int type; + private static Texture MutationPlus = new StandardTexture(2, 94, 16, 16, CraftGUITextureSheet.Controls2); + private static Texture MutationArrow = new StandardTexture(20, 94, 32, 16, CraftGUITextureSheet.Controls2); + private IMutation value; + private boolean discovered; + private int type; - @Override - public void onRenderBackground() { - super.onRenderBackground(); - if (type == 0) { - CraftGUI.render.texture(ControlMutationSymbol.MutationPlus, IPoint.ZERO); - } else { - CraftGUI.render.texture(ControlMutationSymbol.MutationArrow, IPoint.ZERO); - } - } + @Override + public void onRenderBackground() { + super.onRenderBackground(); + if (type == 0) { + CraftGUI.render.texture(ControlMutationSymbol.MutationPlus, IPoint.ZERO); + } else { + CraftGUI.render.texture(ControlMutationSymbol.MutationArrow, IPoint.ZERO); + } + } - protected ControlMutationSymbol(IWidget parent, int x, int y, int type) { - super(parent, x, y, 16 + type * 16, 16.0f); - value = null; - this.type = type; - addAttribute(WidgetAttribute.MOUSE_OVER); - } + protected ControlMutationSymbol(IWidget parent, int x, int y, int type) { + super(parent, x, y, 16 + type * 16, 16.0f); + value = null; + this.type = type; + addAttribute(WidgetAttribute.MOUSE_OVER); + } - public void setValue(IMutation value) { - this.value = value; - boolean isNEI = ((WindowAbstractDatabase) getSuperParent()).isNEI(); - BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); - discovered = (isNEI || system.isMutationDiscovered(value, Window.get(this).getWorld(), Window.get(this).getUsername())); - if (discovered) { - setColor(0xffffff); - } else { - setColor(0x777777); - } - } + public void setValue(IMutation value) { + this.value = value; + boolean isNEI = ((WindowAbstractDatabase) getSuperParent()).isNEI(); + BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); + discovered = (isNEI + || system.isMutationDiscovered( + value, Window.get(this).getWorld(), Window.get(this).getUsername())); + if (discovered) { + setColor(0xffffff); + } else { + setColor(0x777777); + } + } - @Override - public void getTooltip(Tooltip tooltip) { - if (type != 1 || !discovered) { - return; - } + @Override + public void getTooltip(Tooltip tooltip) { + if (type != 1 || !discovered) { + return; + } - IAllele species1 = value.getAllele0(); - IAllele species2 = value.getAllele1(); - BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); - float chance = system.getChance(value, Window.get(this).getPlayer(), species1, species2); - tooltip.add("Current Chance - " + chance + "%"); - if (value.getSpecialConditions() != null) { - for (String string : value.getSpecialConditions()) { - tooltip.add(string); - } - } - } + IAllele species1 = value.getAllele0(); + IAllele species2 = value.getAllele1(); + BreedingSystem system = ((WindowAbstractDatabase) getSuperParent()).getBreedingSystem(); + float chance = system.getChance(value, Window.get(this).getPlayer(), species1, species2); + tooltip.add("Current Chance - " + chance + "%"); + if (value.getSpecialConditions() != null) { + for (String string : value.getSpecialConditions()) { + tooltip.add(string); + } + } + } } diff --git a/src/main/java/binnie/core/craftgui/database/ControlSpeciesBox.java b/src/main/java/binnie/core/craftgui/database/ControlSpeciesBox.java index 83c0ed4d..dfccaa04 100644 --- a/src/main/java/binnie/core/craftgui/database/ControlSpeciesBox.java +++ b/src/main/java/binnie/core/craftgui/database/ControlSpeciesBox.java @@ -6,46 +6,45 @@ import binnie.core.craftgui.minecraft.Window; import com.mojang.authlib.GameProfile; import forestry.api.genetics.IAlleleSpecies; import forestry.api.genetics.IClassification; - import java.util.ArrayList; import java.util.Collection; import java.util.List; public class ControlSpeciesBox extends ControlListBox { - private IClassification branch; + private IClassification branch; - @Override - public IWidget createOption(IAlleleSpecies value, int y) { - return new ControlSpeciesBoxOption(getContent(), value, y); - } + @Override + public IWidget createOption(IAlleleSpecies value, int y) { + return new ControlSpeciesBoxOption(getContent(), value, y); + } - public ControlSpeciesBox(IWidget parent, float x, float y, float width, float height) { - super(parent, x, y, width, height, 12.0f); - branch = null; - } + public ControlSpeciesBox(IWidget parent, float x, float y, float width, float height) { + super(parent, x, y, width, height, 12.0f); + branch = null; + } - public void setBranch(IClassification branch) { - if (branch == this.branch) { - return; - } + public void setBranch(IClassification branch) { + if (branch == this.branch) { + return; + } - this.branch = branch; - List speciesList2 = new ArrayList<>(); - movePercentage(-100.0f); - setOptions(speciesList2); + this.branch = branch; + List speciesList2 = new ArrayList<>(); + movePercentage(-100.0f); + setOptions(speciesList2); - GameProfile playerName = Window.get(this).getUsername(); - WindowAbstractDatabase db = Window.get(this); - Collection speciesList3 = db.isNEI - ? db.getBreedingSystem().getAllSpecies() - : db.getBreedingSystem().getDiscoveredSpecies(db.getWorld(), playerName); - if (branch != null) { - for (IAlleleSpecies species : branch.getMemberSpecies()) { - if (speciesList3.contains(species)) { - speciesList2.add(species); - } - } - } - setOptions(speciesList2); - } + GameProfile playerName = Window.get(this).getUsername(); + WindowAbstractDatabase db = Window.get(this); + Collection speciesList3 = db.isNEI + ? db.getBreedingSystem().getAllSpecies() + : db.getBreedingSystem().getDiscoveredSpecies(db.getWorld(), playerName); + if (branch != null) { + for (IAlleleSpecies species : branch.getMemberSpecies()) { + if (speciesList3.contains(species)) { + speciesList2.add(species); + } + } + } + setOptions(speciesList2); + } } diff --git a/src/main/java/binnie/core/craftgui/database/ControlSpeciesBoxOption.java b/src/main/java/binnie/core/craftgui/database/ControlSpeciesBoxOption.java index ed94d3de..92cdd32b 100644 --- a/src/main/java/binnie/core/craftgui/database/ControlSpeciesBoxOption.java +++ b/src/main/java/binnie/core/craftgui/database/ControlSpeciesBoxOption.java @@ -10,29 +10,31 @@ import binnie.core.util.I18N; import forestry.api.genetics.IAlleleSpecies; class ControlSpeciesBoxOption extends ControlTextOption { - private ControlDatabaseIndividualDisplay controlBee; + private ControlDatabaseIndividualDisplay controlBee; - public ControlSpeciesBoxOption(ControlList controlList, IAlleleSpecies option, int y) { - super(controlList, option, option.getName(), y); - setSize(new IPoint(getSize().x(), 20.0f)); - (controlBee = new ControlDatabaseIndividualDisplay(this, 2.0f, 2.0f)).setSpecies(getValue(), EnumDiscoveryState.UNDETERMINED); - if (controlBee.discovered == EnumDiscoveryState.DISCOVERED) { - controlBee.discovered = EnumDiscoveryState.SHOW; - } + public ControlSpeciesBoxOption(ControlList controlList, IAlleleSpecies option, int y) { + super(controlList, option, option.getName(), y); + setSize(new IPoint(getSize().x(), 20.0f)); + (controlBee = new ControlDatabaseIndividualDisplay(this, 2.0f, 2.0f)) + .setSpecies(getValue(), EnumDiscoveryState.UNDETERMINED); + if (controlBee.discovered == EnumDiscoveryState.DISCOVERED) { + controlBee.discovered = EnumDiscoveryState.SHOW; + } - if (controlBee.discovered == EnumDiscoveryState.SHOW) { - textWidget.setValue(option.getName()); - addAttribute(WidgetAttribute.MOUSE_OVER); - } else { - textWidget.setValue(I18N.localise("binniecore.gui.database.discovered.undiscovered")); - } + if (controlBee.discovered == EnumDiscoveryState.SHOW) { + textWidget.setValue(option.getName()); + addAttribute(WidgetAttribute.MOUSE_OVER); + } else { + textWidget.setValue(I18N.localise("binniecore.gui.database.discovered.undiscovered")); + } - CraftGUIUtil.moveWidget(textWidget, new IPoint(22.0f, 0.0f)); - textWidget.setSize(textWidget.getSize().sub(new IPoint(24.0f, 0.0f))); - int th = (int) CraftGUI.render.textHeight(textWidget.getValue(), textWidget.getSize().x()); - int height = Math.max(20, th + 6); - setSize(new IPoint(size().x(), height)); - textWidget.setSize(new IPoint(textWidget.getSize().x(), height)); - controlBee.setPosition(new IPoint(controlBee.pos().x(), (height - 18) / 2)); - } + CraftGUIUtil.moveWidget(textWidget, new IPoint(22.0f, 0.0f)); + textWidget.setSize(textWidget.getSize().sub(new IPoint(24.0f, 0.0f))); + int th = (int) CraftGUI.render.textHeight( + textWidget.getValue(), textWidget.getSize().x()); + int height = Math.max(20, th + 6); + setSize(new IPoint(size().x(), height)); + textWidget.setSize(new IPoint(textWidget.getSize().x(), height)); + controlBee.setPosition(new IPoint(controlBee.pos().x(), (height - 18) / 2)); + } } diff --git a/src/main/java/binnie/core/craftgui/database/DatabaseTab.java b/src/main/java/binnie/core/craftgui/database/DatabaseTab.java index 5c259cb9..7d0a314e 100644 --- a/src/main/java/binnie/core/craftgui/database/DatabaseTab.java +++ b/src/main/java/binnie/core/craftgui/database/DatabaseTab.java @@ -6,21 +6,21 @@ import binnie.core.craftgui.Tooltip; import binnie.core.util.I18N; public class DatabaseTab implements ITooltipHelp { - private String mod; - private String unloc; + private String mod; + private String unloc; - public DatabaseTab(AbstractMod mod, String unloc) { - this.mod = mod.getModID(); - this.unloc = unloc; - } + public DatabaseTab(AbstractMod mod, String unloc) { + this.mod = mod.getModID(); + this.unloc = unloc; + } - @Override - public String toString() { - return I18N.localise(mod + ".gui.database.tab." + unloc); - } + @Override + public String toString() { + return I18N.localise(mod + ".gui.database.tab." + unloc); + } - @Override - public void getHelpTooltip(Tooltip tooltip) { - tooltip.add(I18N.localiseOrBlank(mod + ".gui.database.tab." + unloc + ".help")); - } + @Override + public void getHelpTooltip(Tooltip tooltip) { + tooltip.add(I18N.localiseOrBlank(mod + ".gui.database.tab." + unloc + ".help")); + } } diff --git a/src/main/java/binnie/core/craftgui/database/EnumDiscoveryState.java b/src/main/java/binnie/core/craftgui/database/EnumDiscoveryState.java index 82dd9533..75fbc090 100644 --- a/src/main/java/binnie/core/craftgui/database/EnumDiscoveryState.java +++ b/src/main/java/binnie/core/craftgui/database/EnumDiscoveryState.java @@ -1,8 +1,8 @@ package binnie.core.craftgui.database; public enum EnumDiscoveryState { - SHOW, - UNDETERMINED, - DISCOVERED, - UNDISCOVERED + SHOW, + UNDETERMINED, + DISCOVERED, + UNDISCOVERED } diff --git a/src/main/java/binnie/core/craftgui/database/IDatabaseMode.java b/src/main/java/binnie/core/craftgui/database/IDatabaseMode.java index 4276d69e..8d840c7e 100644 --- a/src/main/java/binnie/core/craftgui/database/IDatabaseMode.java +++ b/src/main/java/binnie/core/craftgui/database/IDatabaseMode.java @@ -1,5 +1,5 @@ package binnie.core.craftgui.database; public interface IDatabaseMode { - String getName(); + String getName(); } diff --git a/src/main/java/binnie/core/craftgui/database/PageAbstract.java b/src/main/java/binnie/core/craftgui/database/PageAbstract.java index f1609557..f3d32be4 100644 --- a/src/main/java/binnie/core/craftgui/database/PageAbstract.java +++ b/src/main/java/binnie/core/craftgui/database/PageAbstract.java @@ -4,9 +4,9 @@ import binnie.core.craftgui.IWidget; import binnie.core.craftgui.controls.page.ControlPage; public abstract class PageAbstract extends ControlPage { - public PageAbstract(IWidget parent, DatabaseTab tab) { - super(parent, 0.0f, 0.0f, parent.getSize().x(), parent.getSize().y(), tab); - } + public PageAbstract(IWidget parent, DatabaseTab tab) { + super(parent, 0.0f, 0.0f, parent.getSize().x(), parent.getSize().y(), tab); + } - public abstract void onValueChanged(T value); + public abstract void onValueChanged(T value); } diff --git a/src/main/java/binnie/core/craftgui/database/PageBranch.java b/src/main/java/binnie/core/craftgui/database/PageBranch.java index 5d5c4d42..8a61ae68 100644 --- a/src/main/java/binnie/core/craftgui/database/PageBranch.java +++ b/src/main/java/binnie/core/craftgui/database/PageBranch.java @@ -4,7 +4,7 @@ import binnie.core.craftgui.IWidget; import forestry.api.genetics.IClassification; abstract class PageBranch extends PageAbstract { - public PageBranch(IWidget parent, DatabaseTab tab) { - super(parent, tab); - } + public PageBranch(IWidget parent, DatabaseTab tab) { + super(parent, tab); + } } diff --git a/src/main/java/binnie/core/craftgui/database/PageBranchOverview.java b/src/main/java/binnie/core/craftgui/database/PageBranchOverview.java index ef344506..5a21d5de 100644 --- a/src/main/java/binnie/core/craftgui/database/PageBranchOverview.java +++ b/src/main/java/binnie/core/craftgui/database/PageBranchOverview.java @@ -6,67 +6,62 @@ import binnie.core.craftgui.controls.ControlText; import binnie.core.craftgui.controls.ControlTextCentered; import binnie.core.util.I18N; import forestry.api.genetics.IClassification; -import net.minecraft.util.EnumChatFormatting; - import java.util.ArrayList; import java.util.List; +import net.minecraft.util.EnumChatFormatting; public class PageBranchOverview extends PageBranch { - private ControlText branchName; - private ControlText branchScientific; - private ControlText branchAuthority; - private List branchDescription; + private ControlText branchName; + private ControlText branchScientific; + private ControlText branchAuthority; + private List branchDescription; - public PageBranchOverview(IWidget parent, DatabaseTab tab) { - super(parent, tab); - branchDescription = new ArrayList<>(); - branchName = new ControlTextCentered(this, 8.0f, ""); - branchScientific = new ControlTextCentered(this, 32.0f, ""); - branchAuthority = new ControlTextCentered(this, 44.0f, ""); - } + public PageBranchOverview(IWidget parent, DatabaseTab tab) { + super(parent, tab); + branchDescription = new ArrayList<>(); + branchName = new ControlTextCentered(this, 8.0f, ""); + branchScientific = new ControlTextCentered(this, 32.0f, ""); + branchAuthority = new ControlTextCentered(this, 44.0f, ""); + } - @Override - public void onValueChanged(IClassification branch) { - String name = I18N.localise(branch.getName()); - branchName.setValue( - EnumChatFormatting.BOLD - + I18N.localise("binniecore.gui.database.branch.name", name) - + EnumChatFormatting.RESET - ); - branchScientific.setValue( - EnumChatFormatting.ITALIC - + I18N.localise("binniecore.gui.database.branch.apidae", branch.getScientific()) - + EnumChatFormatting.RESET - ); - branchAuthority.setValue( - EnumChatFormatting.BOLD - + I18N.localise("binniecore.gui.database.branch.discoveredBy", branch.getMemberSpecies()[0].getAuthority()) - + EnumChatFormatting.RESET); + @Override + public void onValueChanged(IClassification branch) { + String name = I18N.localise(branch.getName()); + branchName.setValue(EnumChatFormatting.BOLD + + I18N.localise("binniecore.gui.database.branch.name", name) + + EnumChatFormatting.RESET); + branchScientific.setValue(EnumChatFormatting.ITALIC + + I18N.localise("binniecore.gui.database.branch.apidae", branch.getScientific()) + + EnumChatFormatting.RESET); + branchAuthority.setValue(EnumChatFormatting.BOLD + + I18N.localise( + "binniecore.gui.database.branch.discoveredBy", branch.getMemberSpecies()[0].getAuthority()) + + EnumChatFormatting.RESET); - for (IWidget widget : branchDescription) { - deleteChild(widget); - } + for (IWidget widget : branchDescription) { + deleteChild(widget); + } - branchDescription.clear(); - String desc = branch.getDescription(); - if (desc == null || desc.isEmpty() || desc.matches("(\\w+\\.?)+")) { // unlocalized - desc = I18N.localise("binniecore.gui.database.branch.noDesc"); - } + branchDescription.clear(); + String desc = branch.getDescription(); + if (desc == null || desc.isEmpty() || desc.matches("(\\w+\\.?)+")) { // unlocalized + desc = I18N.localise("binniecore.gui.database.branch.noDesc"); + } - StringBuilder line = new StringBuilder(); - List descLines = new ArrayList<>(); - for (String str : desc.split(" ")) { - if (CraftGUI.render.textWidth(line + " " + str) > 134) { - descLines.add(EnumChatFormatting.ITALIC + line.toString() + EnumChatFormatting.RESET); - line = new StringBuilder(); - } - line.append(" ").append(str); - } + StringBuilder line = new StringBuilder(); + List descLines = new ArrayList<>(); + for (String str : desc.split(" ")) { + if (CraftGUI.render.textWidth(line + " " + str) > 134) { + descLines.add(EnumChatFormatting.ITALIC + line.toString() + EnumChatFormatting.RESET); + line = new StringBuilder(); + } + line.append(" ").append(str); + } - descLines.add(line.toString()); - int i = 0; - for (String dLine : descLines) { - branchDescription.add(new ControlTextCentered(this, 84 + 12 * i++, dLine)); - } - } + descLines.add(line.toString()); + int i = 0; + for (String dLine : descLines) { + branchDescription.add(new ControlTextCentered(this, 84 + 12 * i++, dLine)); + } + } } diff --git a/src/main/java/binnie/core/craftgui/database/PageBranchSpecies.java b/src/main/java/binnie/core/craftgui/database/PageBranchSpecies.java index e6a9c3dd..294b22d4 100644 --- a/src/main/java/binnie/core/craftgui/database/PageBranchSpecies.java +++ b/src/main/java/binnie/core/craftgui/database/PageBranchSpecies.java @@ -9,31 +9,31 @@ import forestry.api.genetics.IAlleleSpecies; import forestry.api.genetics.IClassification; public class PageBranchSpecies extends PageBranch { - private ControlSpeciesBox speciesList; + private ControlSpeciesBox speciesList; - @Mod.EventHandler - public void onHandleEvent(EventValueChanged event) { - // ignored - } + @Mod.EventHandler + public void onHandleEvent(EventValueChanged event) { + // ignored + } - public PageBranchSpecies(IWidget parent, DatabaseTab tab) { - super(parent, tab); - new ControlTextCentered(this, 8.0f, I18N.localise("binniecore.gui.database.species")); - addEventHandler(new ValueHandler()); - speciesList = new ControlSpeciesBox(this, 4.0f, 20.0f, 136.0f, 152.0f); - } + public PageBranchSpecies(IWidget parent, DatabaseTab tab) { + super(parent, tab); + new ControlTextCentered(this, 8.0f, I18N.localise("binniecore.gui.database.species")); + addEventHandler(new ValueHandler()); + speciesList = new ControlSpeciesBox(this, 4.0f, 20.0f, 136.0f, 152.0f); + } - @Override - public void onValueChanged(IClassification branch) { - speciesList.setBranch(branch); - } + @Override + public void onValueChanged(IClassification branch) { + speciesList.setBranch(branch); + } - private class ValueHandler extends EventValueChanged.Handler { - @Override - public void onEvent(EventValueChanged event) { - if (event.isOrigin(speciesList)) { - ((WindowAbstractDatabase) getSuperParent()).gotoSpecies((IAlleleSpecies) event.getValue()); - } - } - } + private class ValueHandler extends EventValueChanged.Handler { + @Override + public void onEvent(EventValueChanged event) { + if (event.isOrigin(speciesList)) { + ((WindowAbstractDatabase) getSuperParent()).gotoSpecies((IAlleleSpecies) event.getValue()); + } + } + } } diff --git a/src/main/java/binnie/core/craftgui/database/PageBreeder.java b/src/main/java/binnie/core/craftgui/database/PageBreeder.java index 0abc2ecf..08a2a99d 100644 --- a/src/main/java/binnie/core/craftgui/database/PageBreeder.java +++ b/src/main/java/binnie/core/craftgui/database/PageBreeder.java @@ -10,35 +10,53 @@ import com.mojang.authlib.GameProfile; import net.minecraft.util.EnumChatFormatting; public class PageBreeder extends ControlPage { - private GameProfile player; + private GameProfile player; - public PageBreeder(IWidget parent, GameProfile player, DatabaseTab tab) { - super(parent, 0.0f, 0.0f, parent.getSize().x(), parent.getSize().y(), tab); - this.player = player; - onPageRefresh(); - } + public PageBreeder(IWidget parent, GameProfile player, DatabaseTab tab) { + super(parent, 0.0f, 0.0f, parent.getSize().x(), parent.getSize().y(), tab); + this.player = player; + onPageRefresh(); + } - public void onPageRefresh() { - while (getWidgets().size() > 0) { - deleteChild(getWidgets().get(0)); - } + public void onPageRefresh() { + while (getWidgets().size() > 0) { + deleteChild(getWidgets().get(0)); + } - BreedingSystem system = ((WindowAbstractDatabase) Window.get(this)).getBreedingSystem(); - new ControlTextCentered(this, 8.0f, - EnumChatFormatting.BOLD - + I18N.localise("binniecore.gui.database.descriptor", system.getDescriptor()) - + EnumChatFormatting.RESET - ); - new ControlTextCentered(this, 75.0f, I18N.localise("binniecore.gui.database.species.count", system.discoveredSpeciesCount, system.totalSpeciesCount)); - new ControlBreedingProgress(this, 20, 87, 102, 14, system, system.discoveredSpeciesPercentage); - new ControlTextCentered(this, 115.0f, I18N.localise("binniecore.gui.database.branch.count", system.discoveredBranchCount, system.totalBranchCount)); - new ControlBreedingProgress(this, 20, 127, 102, 14, system, system.discoveredBranchPercentage); + BreedingSystem system = ((WindowAbstractDatabase) Window.get(this)).getBreedingSystem(); + new ControlTextCentered( + this, + 8.0f, + EnumChatFormatting.BOLD + + I18N.localise("binniecore.gui.database.descriptor", system.getDescriptor()) + + EnumChatFormatting.RESET); + new ControlTextCentered( + this, + 75.0f, + I18N.localise( + "binniecore.gui.database.species.count", + system.discoveredSpeciesCount, + system.totalSpeciesCount)); + new ControlBreedingProgress(this, 20, 87, 102, 14, system, system.discoveredSpeciesPercentage); + new ControlTextCentered( + this, + 115.0f, + I18N.localise( + "binniecore.gui.database.branch.count", system.discoveredBranchCount, system.totalBranchCount)); + new ControlBreedingProgress(this, 20, 127, 102, 14, system, system.discoveredBranchPercentage); - if (system.discoveredSecretCount > 0) { - new ControlTextCentered(this, 155.0f, I18N.localise("binniecore.gui.database.species.secretCount", system.discoveredSecretCount, system.totalSecretCount)); - } + if (system.discoveredSecretCount > 0) { + new ControlTextCentered( + this, + 155.0f, + I18N.localise( + "binniecore.gui.database.species.secretCount", + system.discoveredSecretCount, + system.totalSecretCount)); + } - new ControlTextCentered(this, 32.0f, player.getName()); - new ControlTextCentered(this, 44.0f, EnumChatFormatting.ITALIC + system.getEpitome() + EnumChatFormatting.RESET); - } + new ControlTextCentered(this, 32.0f, player.getName()); + new ControlTextCentered( + this, 44.0f, EnumChatFormatting.ITALIC + system.getEpitome() + EnumChatFormatting.RESET); + } } diff --git a/src/main/java/binnie/core/craftgui/database/PageSpecies.java b/src/main/java/binnie/core/craftgui/database/PageSpecies.java index 99d02b3d..73b20e51 100644 --- a/src/main/java/binnie/core/craftgui/database/PageSpecies.java +++ b/src/main/java/binnie/core/craftgui/database/PageSpecies.java @@ -4,7 +4,7 @@ import binnie.core.craftgui.IWidget; import forestry.api.genetics.IAlleleSpecies; public abstract class PageSpecies extends PageAbstract { - public PageSpecies(IWidget parent, DatabaseTab tab) { - super(parent, tab); - } + public PageSpecies(IWidget parent, DatabaseTab tab) { + super(parent, tab); + } } diff --git a/src/main/java/binnie/core/craftgui/database/PageSpeciesClassification.java b/src/main/java/binnie/core/craftgui/database/PageSpeciesClassification.java index ecdd01b2..a30a9148 100644 --- a/src/main/java/binnie/core/craftgui/database/PageSpeciesClassification.java +++ b/src/main/java/binnie/core/craftgui/database/PageSpeciesClassification.java @@ -5,45 +5,46 @@ import binnie.core.craftgui.controls.ControlText; import binnie.core.craftgui.controls.ControlTextCentered; import forestry.api.genetics.IAlleleSpecies; import forestry.api.genetics.IClassification; - import java.util.LinkedHashMap; import java.util.Map; public class PageSpeciesClassification extends PageSpecies { - private Map levels; - private ControlText genus; + private Map levels; + private ControlText genus; - public PageSpeciesClassification(IWidget parent, DatabaseTab tab) { - super(parent, tab); - levels = new LinkedHashMap<>(); - int y = 16; - for (IClassification.EnumClassLevel level : IClassification.EnumClassLevel.values()) { - ControlText text = new ControlTextCentered(this, y, ""); - text.setColor(level.getColour()); - levels.put(level, text); - y += 12; - } + public PageSpeciesClassification(IWidget parent, DatabaseTab tab) { + super(parent, tab); + levels = new LinkedHashMap<>(); + int y = 16; + for (IClassification.EnumClassLevel level : IClassification.EnumClassLevel.values()) { + ControlText text = new ControlTextCentered(this, y, ""); + text.setColor(level.getColour()); + levels.put(level, text); + y += 12; + } - genus = new ControlTextCentered(this, y, ""); - genus.setColor(0xffba77); - } + genus = new ControlTextCentered(this, y, ""); + genus.setColor(0xffba77); + } - @Override - public void onValueChanged(IAlleleSpecies species) { - if (species == null) { - return; - } + @Override + public void onValueChanged(IAlleleSpecies species) { + if (species == null) { + return; + } - for (ControlText text : levels.values()) { - text.setValue("- - -"); - } + for (ControlText text : levels.values()) { + text.setValue("- - -"); + } - genus.setValue(species.getBinomial()); - for (IClassification classification = species.getBranch(); classification != null; classification = classification.getParent()) { - IClassification.EnumClassLevel level = classification.getLevel(); - String text2 = ""; - text2 += classification.getScientific(); - levels.get(level).setValue(text2); - } - } + genus.setValue(species.getBinomial()); + for (IClassification classification = species.getBranch(); + classification != null; + classification = classification.getParent()) { + IClassification.EnumClassLevel level = classification.getLevel(); + String text2 = ""; + text2 += classification.getScientific(); + levels.get(level).setValue(text2); + } + } } diff --git a/src/main/java/binnie/core/craftgui/database/PageSpeciesMutations.java b/src/main/java/binnie/core/craftgui/database/PageSpeciesMutations.java index b52cd8b0..c2816b69 100644 --- a/src/main/java/binnie/core/craftgui/database/PageSpeciesMutations.java +++ b/src/main/java/binnie/core/craftgui/database/PageSpeciesMutations.java @@ -6,16 +6,16 @@ import binnie.core.util.I18N; import forestry.api.genetics.IAlleleSpecies; public class PageSpeciesMutations extends PageSpecies { - private ControlMutationBox list; + private ControlMutationBox list; - public PageSpeciesMutations(IWidget parent, DatabaseTab tab) { - super(parent, tab); - new ControlTextCentered(this, 8.0f, I18N.localise("binniecore.gui.database.furtherMutations")); - list = new ControlMutationBox(this, 4, 20, 136, 152, ControlMutationBox.Type.FURTHER); - } + public PageSpeciesMutations(IWidget parent, DatabaseTab tab) { + super(parent, tab); + new ControlTextCentered(this, 8.0f, I18N.localise("binniecore.gui.database.furtherMutations")); + list = new ControlMutationBox(this, 4, 20, 136, 152, ControlMutationBox.Type.FURTHER); + } - @Override - public void onValueChanged(IAlleleSpecies species) { - list.setSpecies(species); - } + @Override + public void onValueChanged(IAlleleSpecies species) { + list.setSpecies(species); + } } diff --git a/src/main/java/binnie/core/craftgui/database/PageSpeciesOverview.java b/src/main/java/binnie/core/craftgui/database/PageSpeciesOverview.java index 0f913082..875ce776 100644 --- a/src/main/java/binnie/core/craftgui/database/PageSpeciesOverview.java +++ b/src/main/java/binnie/core/craftgui/database/PageSpeciesOverview.java @@ -12,59 +12,66 @@ import forestry.api.genetics.IAlleleSpecies; import net.minecraft.util.EnumChatFormatting; public class PageSpeciesOverview extends PageSpecies { - private ControlText controlName; - private ControlText controlScientific; - private ControlText controlAuthority; - private ControlText controlComplexity; - private ControlText controlDescription; - private ControlText controlSignature; - private ControlDatabaseIndividualDisplay controlInd1; - private ControlDatabaseIndividualDisplay controlInd2; + private ControlText controlName; + private ControlText controlScientific; + private ControlText controlAuthority; + private ControlText controlComplexity; + private ControlText controlDescription; + private ControlText controlSignature; + private ControlDatabaseIndividualDisplay controlInd1; + private ControlDatabaseIndividualDisplay controlInd2; - public PageSpeciesOverview(IWidget parent, DatabaseTab tab) { - super(parent, tab); - controlInd1 = new ControlDatabaseIndividualDisplay(this, 5.0f, 5.0f); - controlInd2 = new ControlDatabaseIndividualDisplay(this, 123.0f, 5.0f); - controlName = new ControlTextCentered(this, 8.0f, ""); - controlScientific = new ControlTextCentered(this, 32.0f, ""); - controlAuthority = new ControlTextCentered(this, 44.0f, ""); - controlComplexity = new ControlTextCentered(this, 56.0f, ""); - controlDescription = new ControlText(this, new IArea(8.0f, 84.0f, getSize().x() - 16.0f, 0.0f), "", TextJustification.MIDDLE_CENTER); - controlSignature = new ControlText(this, new IArea(8.0f, 84.0f, getSize().x() - 16.0f, 0.0f), "", TextJustification.BOTTOM_RIGHT); - } + public PageSpeciesOverview(IWidget parent, DatabaseTab tab) { + super(parent, tab); + controlInd1 = new ControlDatabaseIndividualDisplay(this, 5.0f, 5.0f); + controlInd2 = new ControlDatabaseIndividualDisplay(this, 123.0f, 5.0f); + controlName = new ControlTextCentered(this, 8.0f, ""); + controlScientific = new ControlTextCentered(this, 32.0f, ""); + controlAuthority = new ControlTextCentered(this, 44.0f, ""); + controlComplexity = new ControlTextCentered(this, 56.0f, ""); + controlDescription = new ControlText( + this, new IArea(8.0f, 84.0f, getSize().x() - 16.0f, 0.0f), "", TextJustification.MIDDLE_CENTER); + controlSignature = new ControlText( + this, new IArea(8.0f, 84.0f, getSize().x() - 16.0f, 0.0f), "", TextJustification.BOTTOM_RIGHT); + } - @Override - public void onValueChanged(IAlleleSpecies species) { - controlInd1.setSpecies(species, EnumDiscoveryState.SHOW); - controlInd2.setSpecies(species, EnumDiscoveryState.SHOW); - String branchBinomial = (species.getBranch() != null) - ? species.getBranch().getScientific() - : I18N.localise("extratrees.genetics.unknown"); + @Override + public void onValueChanged(IAlleleSpecies species) { + controlInd1.setSpecies(species, EnumDiscoveryState.SHOW); + controlInd2.setSpecies(species, EnumDiscoveryState.SHOW); + String branchBinomial = (species.getBranch() != null) + ? species.getBranch().getScientific() + : I18N.localise("extratrees.genetics.unknown"); - controlName.setValue(EnumChatFormatting.BOLD + species.getName() + EnumChatFormatting.RESET); - controlScientific.setValue(EnumChatFormatting.ITALIC + branchBinomial + " " + species.getBinomial() + EnumChatFormatting.RESET); - controlAuthority.setValue(EnumChatFormatting.BOLD + I18N.localise("extratrees.genetics.discoveredBy", species.getAuthority()) + EnumChatFormatting.RESET); - controlComplexity.setValue(I18N.localise("extratrees.genetics.complexity", species.getComplexity())); - String desc = species.getDescription(); - String descBody = EnumChatFormatting.ITALIC.toString(); - String descSig = ""; + controlName.setValue(EnumChatFormatting.BOLD + species.getName() + EnumChatFormatting.RESET); + controlScientific.setValue( + EnumChatFormatting.ITALIC + branchBinomial + " " + species.getBinomial() + EnumChatFormatting.RESET); + controlAuthority.setValue(EnumChatFormatting.BOLD + + I18N.localise("extratrees.genetics.discoveredBy", species.getAuthority()) + + EnumChatFormatting.RESET); + controlComplexity.setValue(I18N.localise("extratrees.genetics.complexity", species.getComplexity())); + String desc = species.getDescription(); + String descBody = EnumChatFormatting.ITALIC.toString(); + String descSig = ""; - if (desc == null || desc.isEmpty() || desc.matches("(\\w+\\.?)+")) { - descBody += I18N.localise("binniecore.gui.database.species.noDesc"); - } else { - String[] descStrings = desc.split("\\|"); - descBody += descStrings[0]; - for (int i = 1; i < descStrings.length - 1; ++i) { - descBody = descBody + " " + descStrings[i]; - } - if (descStrings.length > 1) { - descSig += descStrings[descStrings.length - 1]; - } - } + if (desc == null || desc.isEmpty() || desc.matches("(\\w+\\.?)+")) { + descBody += I18N.localise("binniecore.gui.database.species.noDesc"); + } else { + String[] descStrings = desc.split("\\|"); + descBody += descStrings[0]; + for (int i = 1; i < descStrings.length - 1; ++i) { + descBody = descBody + " " + descStrings[i]; + } + if (descStrings.length > 1) { + descSig += descStrings[descStrings.length - 1]; + } + } - controlDescription.setValue(descBody + EnumChatFormatting.RESET); - controlSignature.setValue(descSig + EnumChatFormatting.RESET); - float descHeight = CraftGUI.render.textHeight(controlDescription.getValue(), controlDescription.getSize().x()); - controlSignature.setPosition(new IPoint(controlSignature.pos().x(), controlDescription.getPosition().y() + descHeight + 10.0f)); - } + controlDescription.setValue(descBody + EnumChatFormatting.RESET); + controlSignature.setValue(descSig + EnumChatFormatting.RESET); + float descHeight = CraftGUI.render.textHeight( + controlDescription.getValue(), controlDescription.getSize().x()); + controlSignature.setPosition(new IPoint( + controlSignature.pos().x(), controlDescription.getPosition().y() + descHeight + 10.0f)); + } } diff --git a/src/main/java/binnie/core/craftgui/database/PageSpeciesResultant.java b/src/main/java/binnie/core/craftgui/database/PageSpeciesResultant.java index 3bfd45cb..59d524ed 100644 --- a/src/main/java/binnie/core/craftgui/database/PageSpeciesResultant.java +++ b/src/main/java/binnie/core/craftgui/database/PageSpeciesResultant.java @@ -6,16 +6,16 @@ import binnie.core.util.I18N; import forestry.api.genetics.IAlleleSpecies; public class PageSpeciesResultant extends PageSpecies { - private ControlMutationBox list; + private ControlMutationBox list; - public PageSpeciesResultant(IWidget parent, DatabaseTab tab) { - super(parent, tab); - new ControlTextCentered(this, 8.0f, I18N.localise("binniecore.gui.database.resultantMutations")); - list = new ControlMutationBox(this, 4, 20, 136, 152, ControlMutationBox.Type.RESULTANT); - } + public PageSpeciesResultant(IWidget parent, DatabaseTab tab) { + super(parent, tab); + new ControlTextCentered(this, 8.0f, I18N.localise("binniecore.gui.database.resultantMutations")); + list = new ControlMutationBox(this, 4, 20, 136, 152, ControlMutationBox.Type.RESULTANT); + } - @Override - public void onValueChanged(IAlleleSpecies species) { - list.setSpecies(species); - } + @Override + public void onValueChanged(IAlleleSpecies species) { + list.setSpecies(species); + } } diff --git a/src/main/java/binnie/core/craftgui/database/WindowAbstractDatabase.java b/src/main/java/binnie/core/craftgui/database/WindowAbstractDatabase.java index 3695a079..99567be9 100644 --- a/src/main/java/binnie/core/craftgui/database/WindowAbstractDatabase.java +++ b/src/main/java/binnie/core/craftgui/database/WindowAbstractDatabase.java @@ -27,229 +27,250 @@ import cpw.mods.fml.relauncher.Side; import forestry.api.genetics.IAlleleSpecies; import forestry.api.genetics.IBreedingTracker; import forestry.api.genetics.IClassification; -import net.minecraft.entity.player.EntityPlayer; - import java.util.Collection; import java.util.HashMap; import java.util.Map; +import net.minecraft.entity.player.EntityPlayer; public abstract class WindowAbstractDatabase extends Window { - protected boolean isNEI; + protected boolean isNEI; - private float selectionBoxWidth; - private Map modes; - private BreedingSystem system; - private Panel panelInformation; - private Panel panelSearch; - private ControlPages modePages; - private IAlleleSpecies gotoSpecies; + private float selectionBoxWidth; + private Map modes; + private BreedingSystem system; + private Panel panelInformation; + private Panel panelSearch; + private ControlPages modePages; + private IAlleleSpecies gotoSpecies; - public void changeMode(IDatabaseMode mode) { - modePages.setValue(mode); - } + public void changeMode(IDatabaseMode mode) { + modePages.setValue(mode); + } - public WindowAbstractDatabase(EntityPlayer player, Side side, boolean nei, BreedingSystem system, float wid) { - super(100.0f, 192.0f, player, null, side); - selectionBoxWidth = 95.0f; - modes = new HashMap<>(); - isNEI = nei; - this.system = system; - selectionBoxWidth = wid; - } + public WindowAbstractDatabase(EntityPlayer player, Side side, boolean nei, BreedingSystem system, float wid) { + super(100.0f, 192.0f, player, null, side); + selectionBoxWidth = 95.0f; + modes = new HashMap<>(); + isNEI = nei; + this.system = system; + selectionBoxWidth = wid; + } - public ControlPages getInfoPages(IDatabaseMode mode) { - return modes.get(mode).infoPages; - } + public ControlPages getInfoPages(IDatabaseMode mode) { + return modes.get(mode).infoPages; + } - public boolean isNEI() { - return isNEI; - } + public boolean isNEI() { + return isNEI; + } - public BreedingSystem getBreedingSystem() { - return system; - } + public BreedingSystem getBreedingSystem() { + return system; + } - public WindowAbstractDatabase(EntityPlayer player, Side side, boolean nei, BreedingSystem system) { - this(player, side, nei, system, 95.0f); - } + public WindowAbstractDatabase(EntityPlayer player, Side side, boolean nei, BreedingSystem system) { + this(player, side, nei, system, 95.0f); + } - protected ModeWidgets createMode(IDatabaseMode mode, ModeWidgets widgets) { - modes.put(mode, widgets); - return widgets; - } + protected ModeWidgets createMode(IDatabaseMode mode, ModeWidgets widgets) { + modes.put(mode, widgets); + return widgets; + } - @Override - public void initialiseClient() { - setSize(new IPoint(176.0f + selectionBoxWidth + 22.0f + 8.0f, 208.0f)); - addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(EventValueChanged event) { - if (!(event.getOrigin().getParent() instanceof ControlPage)) { - return; - } else if ((event.getValue() instanceof DatabaseTab)) { - return; - } + @Override + public void initialiseClient() { + setSize(new IPoint(176.0f + selectionBoxWidth + 22.0f + 8.0f, 208.0f)); + addEventHandler(new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + if (!(event.getOrigin().getParent() instanceof ControlPage)) { + return; + } else if ((event.getValue() instanceof DatabaseTab)) { + return; + } - ControlPage parent = (ControlPage) event.getOrigin().getParent(); - if (!(parent.getValue() instanceof IDatabaseMode)) { - return; - } + ControlPage parent = (ControlPage) event.getOrigin().getParent(); + if (!(parent.getValue() instanceof IDatabaseMode)) { + return; + } - for (IWidget widget : parent.getWidgets()) { - if (widget instanceof ControlPages) { - if (event.getValue() == null) { - widget.hide(); - } else { - widget.show(); - for (IWidget widget2 : widget.getWidgets()) { - if (widget2 instanceof PageAbstract) { - ((PageAbstract) widget2).onValueChanged(event.getValue()); - } - } - } - } - } - } - }); + for (IWidget widget : parent.getWidgets()) { + if (widget instanceof ControlPages) { + if (event.getValue() == null) { + widget.hide(); + } else { + widget.show(); + for (IWidget widget2 : widget.getWidgets()) { + if (widget2 instanceof PageAbstract) { + ((PageAbstract) widget2).onValueChanged(event.getValue()); + } + } + } + } + } + } + }); - addEventHandler(new EventTextEdit.Handler() { - @Override - public void onEvent(EventTextEdit event) { - for (ModeWidgets widgets : modes.values()) { - widgets.listBox.setValidator(new IValidator() { - @Override - public boolean isValid(IWidget object) { - return event.getValue().isEmpty() || ((ControlTextOption) object).getText().toLowerCase().contains(event.getValue().toLowerCase()); - } - }); - } - } - }.setOrigin(EventHandler.Origin.DirectChild, this)); + addEventHandler( + new EventTextEdit.Handler() { + @Override + public void onEvent(EventTextEdit event) { + for (ModeWidgets widgets : modes.values()) { + widgets.listBox.setValidator(new IValidator() { + @Override + public boolean isValid(IWidget object) { + return event.getValue().isEmpty() + || ((ControlTextOption) object) + .getText() + .toLowerCase() + .contains(event.getValue().toLowerCase()); + } + }); + } + } + }.setOrigin(EventHandler.Origin.DirectChild, this)); - new ControlHelp(this, 4.0f, 4.0f); - (panelInformation = new Panel(this, 24.0f, 24.0f, 144.0f, 176.0f, MinecraftGUI.PanelType.Black)).setColor(860416); - (panelSearch = new Panel(this, 176.0f, 24.0f, selectionBoxWidth, 160.0f, MinecraftGUI.PanelType.Black)).setColor(860416); - modePages = new ControlPages<>(this, 0.0f, 0.0f, getSize().x(), getSize().y()); - new ControlTextEdit(this, 176.0f, 184.0f, selectionBoxWidth, 16.0f); + new ControlHelp(this, 4.0f, 4.0f); + (panelInformation = new Panel(this, 24.0f, 24.0f, 144.0f, 176.0f, MinecraftGUI.PanelType.Black)) + .setColor(860416); + (panelSearch = new Panel(this, 176.0f, 24.0f, selectionBoxWidth, 160.0f, MinecraftGUI.PanelType.Black)) + .setColor(860416); + modePages = + new ControlPages<>(this, 0.0f, 0.0f, getSize().x(), getSize().y()); + new ControlTextEdit(this, 176.0f, 184.0f, selectionBoxWidth, 16.0f); - createMode(Mode.Species, new ModeWidgets(Mode.Species, this) { - @Override - public void createListBox(IArea area) { - GameProfile playerName = getUsername(); - Collection speciesList = database.isNEI ? database.system.getAllSpecies() : database.system.getDiscoveredSpecies(database.getWorld(), playerName); - (listBox = new ControlSpeciesBox(modePage, area.x(), area.y(), area.w(), area.h())).setOptions(speciesList); - } - }); + createMode(Mode.Species, new ModeWidgets(Mode.Species, this) { + @Override + public void createListBox(IArea area) { + GameProfile playerName = getUsername(); + Collection speciesList = database.isNEI + ? database.system.getAllSpecies() + : database.system.getDiscoveredSpecies(database.getWorld(), playerName); + (listBox = new ControlSpeciesBox(modePage, area.x(), area.y(), area.w(), area.h())) + .setOptions(speciesList); + } + }); - createMode(Mode.Branches, new ModeWidgets(Mode.Branches, this) { - @Override - public void createListBox(IArea area) { - GameProfile playerName = getUsername(); - Collection speciesList = database.isNEI - ? database.system.getAllBranches() - : database.system.getDiscoveredBranches(database.getWorld(), playerName); + createMode(Mode.Branches, new ModeWidgets(Mode.Branches, this) { + @Override + public void createListBox(IArea area) { + GameProfile playerName = getUsername(); + Collection speciesList = database.isNEI + ? database.system.getAllBranches() + : database.system.getDiscoveredBranches(database.getWorld(), playerName); - listBox = new ControlBranchBox(modePage, area.x(), area.y(), area.w(), area.h()); - listBox.setOptions(speciesList); - } - }); + listBox = new ControlBranchBox(modePage, area.x(), area.y(), area.w(), area.h()); + listBox.setOptions(speciesList); + } + }); - createMode(Mode.Breeder, new ModeWidgets(Mode.Breeder, this) { - @Override - public void createListBox(IArea area) { - listBox = new ControlListBox(modePage, area.x(), area.y(), area.w(), area.h(), 12.0f); - } - }); + createMode(Mode.Breeder, new ModeWidgets(Mode.Breeder, this) { + @Override + public void createListBox(IArea area) { + listBox = new ControlListBox(modePage, area.x(), area.y(), area.w(), area.h(), 12.0f); + } + }); - addTabs(); - ControlTabBar tab = new ControlTabBar(this, 176.0f + selectionBoxWidth, 24.0f, 22.0f, 176.0f, Position.RIGHT) { - @Override - public ControlTab createTab(float x, float y, float w, float h, IDatabaseMode value) { - return new ControlTab(this, x, y, w, h, value) { - @Override - public String getName() { - return value.getName(); - } - }; - } - }; + addTabs(); + ControlTabBar tab = + new ControlTabBar( + this, 176.0f + selectionBoxWidth, 24.0f, 22.0f, 176.0f, Position.RIGHT) { + @Override + public ControlTab createTab( + float x, float y, float w, float h, IDatabaseMode value) { + return new ControlTab(this, x, y, w, h, value) { + @Override + public String getName() { + return value.getName(); + } + }; + } + }; - tab.setValues(modePages.getValues()); - CraftGUIUtil.linkWidgets(tab, modePages); - changeMode(Mode.Species); - for (IDatabaseMode mode : modes.keySet()) { - modes.get(mode).infoTabs = new ControlTabBar(modes.get(mode).modePage, 8.0f, 24.0f, 16.0f, 176.0f, Position.LEFT); - modes.get(mode).infoTabs.setValues(modes.get(mode).infoPages.getValues()); - CraftGUIUtil.linkWidgets(modes.get(mode).infoTabs, modes.get(mode).infoPages); - } - } + tab.setValues(modePages.getValues()); + CraftGUIUtil.linkWidgets(tab, modePages); + changeMode(Mode.Species); + for (IDatabaseMode mode : modes.keySet()) { + modes.get(mode).infoTabs = + new ControlTabBar(modes.get(mode).modePage, 8.0f, 24.0f, 16.0f, 176.0f, Position.LEFT); + modes.get(mode).infoTabs.setValues(modes.get(mode).infoPages.getValues()); + CraftGUIUtil.linkWidgets(modes.get(mode).infoTabs, modes.get(mode).infoPages); + } + } - @Override - public void initialiseServer() { - IBreedingTracker tracker = system.getSpeciesRoot().getBreedingTracker(getWorld(), getUsername()); - if (tracker != null) { - tracker.synchToPlayer(getPlayer()); - } - } + @Override + public void initialiseServer() { + IBreedingTracker tracker = system.getSpeciesRoot().getBreedingTracker(getWorld(), getUsername()); + if (tracker != null) { + tracker.synchToPlayer(getPlayer()); + } + } - protected void addTabs() { - // ignored - } + protected void addTabs() { + // ignored + } - public void gotoSpecies(IAlleleSpecies value) { - if (value == null) { - return; - } + public void gotoSpecies(IAlleleSpecies value) { + if (value == null) { + return; + } - modePages.setValue(Mode.Species); - changeMode(Mode.Species); - modes.get(modePages.getValue()).listBox.setValue(value); - } + modePages.setValue(Mode.Species); + changeMode(Mode.Species); + modes.get(modePages.getValue()).listBox.setValue(value); + } - public void gotoSpeciesDelayed(IAlleleSpecies species) { - gotoSpecies = species; - } + public void gotoSpeciesDelayed(IAlleleSpecies species) { + gotoSpecies = species; + } - @Override - public void onUpdateClient() { - super.onUpdateClient(); - if (gotoSpecies == null) { - return; - } + @Override + public void onUpdateClient() { + super.onUpdateClient(); + if (gotoSpecies == null) { + return; + } - ((WindowAbstractDatabase) getSuperParent()).gotoSpecies(gotoSpecies); - gotoSpecies = null; - } + ((WindowAbstractDatabase) getSuperParent()).gotoSpecies(gotoSpecies); + gotoSpecies = null; + } - public enum Mode implements IDatabaseMode { - Species, - Branches, - Breeder; + public enum Mode implements IDatabaseMode { + Species, + Branches, + Breeder; - @Override - public String getName() { - return I18N.localise("binniecore.gui.database.mode." + name().toLowerCase()); - } - } + @Override + public String getName() { + return I18N.localise("binniecore.gui.database.mode." + name().toLowerCase()); + } + } - public abstract static class ModeWidgets { - public WindowAbstractDatabase database; - public ControlPage modePage; - public ControlListBox listBox; + public abstract static class ModeWidgets { + public WindowAbstractDatabase database; + public ControlPage modePage; + public ControlListBox listBox; - private ControlPages infoPages; - private ControlTabBar infoTabs; + private ControlPages infoPages; + private ControlTabBar infoTabs; - public ModeWidgets(IDatabaseMode mode, WindowAbstractDatabase database) { - this.database = database; - modePage = new ControlPage<>(database.modePages, 0.0f, 0.0f, database.getSize().x(), database.getSize().y(), mode); - IArea listBoxArea = database.panelSearch.area().inset(2); - createListBox(listBoxArea); - CraftGUIUtil.alignToWidget(listBox, database.panelSearch); - CraftGUIUtil.moveWidget(listBox, new IPoint(2.0f, 2.0f)); - CraftGUIUtil.alignToWidget(infoPages = new ControlPages<>(modePage, 0.0f, 0.0f, 144.0f, 176.0f), database.panelInformation); - } + public ModeWidgets(IDatabaseMode mode, WindowAbstractDatabase database) { + this.database = database; + modePage = new ControlPage<>( + database.modePages, + 0.0f, + 0.0f, + database.getSize().x(), + database.getSize().y(), + mode); + IArea listBoxArea = database.panelSearch.area().inset(2); + createListBox(listBoxArea); + CraftGUIUtil.alignToWidget(listBox, database.panelSearch); + CraftGUIUtil.moveWidget(listBox, new IPoint(2.0f, 2.0f)); + CraftGUIUtil.alignToWidget( + infoPages = new ControlPages<>(modePage, 0.0f, 0.0f, 144.0f, 176.0f), database.panelInformation); + } - public abstract void createListBox(IArea area); - } + public abstract void createListBox(IArea area); + } } diff --git a/src/main/java/binnie/core/craftgui/events/Event.java b/src/main/java/binnie/core/craftgui/events/Event.java index 01bb9f9d..efb9cc6e 100644 --- a/src/main/java/binnie/core/craftgui/events/Event.java +++ b/src/main/java/binnie/core/craftgui/events/Event.java @@ -3,17 +3,17 @@ package binnie.core.craftgui.events; import binnie.core.craftgui.IWidget; public class Event { - IWidget origin; + IWidget origin; - public Event(IWidget origin) { - this.origin = origin; - } + public Event(IWidget origin) { + this.origin = origin; + } - public IWidget getOrigin() { - return origin; - } + public IWidget getOrigin() { + return origin; + } - public boolean isOrigin(IWidget widget) { - return origin == widget; - } + public boolean isOrigin(IWidget widget) { + return origin == widget; + } } diff --git a/src/main/java/binnie/core/craftgui/events/EventButtonClicked.java b/src/main/java/binnie/core/craftgui/events/EventButtonClicked.java index 89ca3765..5c578dc4 100644 --- a/src/main/java/binnie/core/craftgui/events/EventButtonClicked.java +++ b/src/main/java/binnie/core/craftgui/events/EventButtonClicked.java @@ -3,13 +3,13 @@ package binnie.core.craftgui.events; import binnie.core.craftgui.IWidget; public class EventButtonClicked extends Event { - public EventButtonClicked(IWidget origin) { - super(origin); - } + public EventButtonClicked(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(EventButtonClicked.class); - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(EventButtonClicked.class); + } + } } diff --git a/src/main/java/binnie/core/craftgui/events/EventCycleChanged.java b/src/main/java/binnie/core/craftgui/events/EventCycleChanged.java index d9180488..c53e29a5 100644 --- a/src/main/java/binnie/core/craftgui/events/EventCycleChanged.java +++ b/src/main/java/binnie/core/craftgui/events/EventCycleChanged.java @@ -3,14 +3,14 @@ package binnie.core.craftgui.events; import binnie.core.craftgui.IWidget; public class EventCycleChanged extends Event { - public int value; + public int value; - public EventCycleChanged(IWidget origin, int value) { - super(origin); - this.value = value; - } + public EventCycleChanged(IWidget origin, int value) { + super(origin); + this.value = value; + } - public int getValue() { - return value; - } + public int getValue() { + return value; + } } diff --git a/src/main/java/binnie/core/craftgui/events/EventHandler.java b/src/main/java/binnie/core/craftgui/events/EventHandler.java index b20c14ed..ae94040c 100644 --- a/src/main/java/binnie/core/craftgui/events/EventHandler.java +++ b/src/main/java/binnie/core/craftgui/events/EventHandler.java @@ -3,48 +3,48 @@ package binnie.core.craftgui.events; import binnie.core.craftgui.IWidget; public abstract class EventHandler { - Class eventClass; - Origin origin; - IWidget relative; + Class eventClass; + Origin origin; + IWidget relative; - public EventHandler(Class eventClass) { - this.eventClass = eventClass; - origin = Origin.Any; - } + public EventHandler(Class eventClass) { + this.eventClass = eventClass; + origin = Origin.Any; + } - public EventHandler setOrigin(Origin origin, IWidget relative) { - this.origin = origin; - this.relative = relative; - return this; - } + public EventHandler setOrigin(Origin origin, IWidget relative) { + this.origin = origin; + this.relative = relative; + return this; + } - public abstract void onEvent(E event); + public abstract void onEvent(E event); - public boolean handles(Event e) { - return eventClass.isInstance(e) && origin.isOrigin(e.getOrigin(), relative); - } + public boolean handles(Event e) { + return eventClass.isInstance(e) && origin.isOrigin(e.getOrigin(), relative); + } - public enum Origin { - Any, - Self, - Parent, - DirectChild; + public enum Origin { + Any, + Self, + Parent, + DirectChild; - public boolean isOrigin(IWidget origin, IWidget test) { - switch (this) { - case Any: - return true; + public boolean isOrigin(IWidget origin, IWidget test) { + switch (this) { + case Any: + return true; - case DirectChild: - return test.getWidgets().contains(origin); + case DirectChild: + return test.getWidgets().contains(origin); - case Parent: - return test.getParent() == origin; + case Parent: + return test.getParent() == origin; - case Self: - return test == origin; - } - return false; - } - } + case Self: + return test == origin; + } + return false; + } + } } diff --git a/src/main/java/binnie/core/craftgui/events/EventKey.java b/src/main/java/binnie/core/craftgui/events/EventKey.java index bb9f8af1..c1c67f78 100644 --- a/src/main/java/binnie/core/craftgui/events/EventKey.java +++ b/src/main/java/binnie/core/craftgui/events/EventKey.java @@ -3,32 +3,32 @@ package binnie.core.craftgui.events; import binnie.core.craftgui.IWidget; public abstract class EventKey extends Event { - char character; - int key; + char character; + int key; - public EventKey(IWidget origin, char character, int key) { - super(origin); - this.character = character; - this.key = key; - } + public EventKey(IWidget origin, char character, int key) { + super(origin); + this.character = character; + this.key = key; + } - public char getCharacter() { - return character; - } + public char getCharacter() { + return character; + } - public int getKey() { - return key; - } + public int getKey() { + return key; + } - public static class Down extends EventKey { - public Down(IWidget origin, char character, int key) { - super(origin, character, key); - } + public static class Down extends EventKey { + public Down(IWidget origin, char character, int key) { + super(origin, character, key); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(Down.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(Down.class); + } + } + } } diff --git a/src/main/java/binnie/core/craftgui/events/EventMouse.java b/src/main/java/binnie/core/craftgui/events/EventMouse.java index d7a68875..711707ed 100644 --- a/src/main/java/binnie/core/craftgui/events/EventMouse.java +++ b/src/main/java/binnie/core/craftgui/events/EventMouse.java @@ -3,113 +3,113 @@ package binnie.core.craftgui.events; import binnie.core.craftgui.IWidget; public abstract class EventMouse extends Event { - public EventMouse(IWidget origin) { - super(origin); - } + public EventMouse(IWidget origin) { + super(origin); + } - public static class Button extends EventMouse { - protected int x; - protected int y; - protected int button; + public static class Button extends EventMouse { + protected int x; + protected int y; + protected int button; - public int getX() { - return x; - } + public int getX() { + return x; + } - public int getY() { - return y; - } + public int getY() { + return y; + } - public int getButton() { - return button; - } + public int getButton() { + return button; + } - public Button(IWidget currentMousedOverWidget, int x, int y, int button) { - super(currentMousedOverWidget); - this.x = x; - this.y = y; - this.button = button; - } - } + public Button(IWidget currentMousedOverWidget, int x, int y, int button) { + super(currentMousedOverWidget); + this.x = x; + this.y = y; + this.button = button; + } + } - public static class Down extends Button { - public Down(IWidget currentMousedOverWidget, int x, int y, int button) { - super(currentMousedOverWidget, x, y, button); - } + public static class Down extends Button { + public Down(IWidget currentMousedOverWidget, int x, int y, int button) { + super(currentMousedOverWidget, x, y, button); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(Down.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(Down.class); + } + } + } - public static class Up extends Button { - public Up(IWidget currentMousedOverWidget, int x, int y, int button) { - super(currentMousedOverWidget, x, y, button); - } + public static class Up extends Button { + public Up(IWidget currentMousedOverWidget, int x, int y, int button) { + super(currentMousedOverWidget, x, y, button); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(Up.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(Up.class); + } + } + } - public static class Move extends EventMouse { - protected float dx; - protected float dy; + public static class Move extends EventMouse { + protected float dx; + protected float dy; - public float getDx() { - return dx; - } + public float getDx() { + return dx; + } - public float getDy() { - return dy; - } + public float getDy() { + return dy; + } - public Move(IWidget origin, float dx, float dy) { - super(origin); - this.dx = dx; - this.dy = dy; - } + public Move(IWidget origin, float dx, float dy) { + super(origin); + this.dx = dx; + this.dy = dy; + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(Move.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(Move.class); + } + } + } - public static class Drag extends Move { - public Drag(IWidget draggedWidget, float dx, float dy) { - super(draggedWidget, dx, dy); - } + public static class Drag extends Move { + public Drag(IWidget draggedWidget, float dx, float dy) { + super(draggedWidget, dx, dy); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(Drag.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(Drag.class); + } + } + } - public static class Wheel extends EventMouse { - protected int dWheel; + public static class Wheel extends EventMouse { + protected int dWheel; - public Wheel(IWidget origin, int dWheel) { - super(origin); - this.dWheel = 0; - this.dWheel = dWheel / 28; - } + public Wheel(IWidget origin, int dWheel) { + super(origin); + this.dWheel = 0; + this.dWheel = dWheel / 28; + } - public int getDWheel() { - return dWheel; - } + public int getDWheel() { + return dWheel; + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(Wheel.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(Wheel.class); + } + } + } } diff --git a/src/main/java/binnie/core/craftgui/events/EventTextEdit.java b/src/main/java/binnie/core/craftgui/events/EventTextEdit.java index 3a91c029..35619672 100644 --- a/src/main/java/binnie/core/craftgui/events/EventTextEdit.java +++ b/src/main/java/binnie/core/craftgui/events/EventTextEdit.java @@ -3,13 +3,13 @@ package binnie.core.craftgui.events; import binnie.core.craftgui.IWidget; public class EventTextEdit extends EventValueChanged { - public EventTextEdit(IWidget origin, String text) { - super(origin, text); - } + public EventTextEdit(IWidget origin, String text) { + super(origin, text); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(EventTextEdit.class); - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(EventTextEdit.class); + } + } } diff --git a/src/main/java/binnie/core/craftgui/events/EventToggleButtonClicked.java b/src/main/java/binnie/core/craftgui/events/EventToggleButtonClicked.java index ca13b550..a6b67ad7 100644 --- a/src/main/java/binnie/core/craftgui/events/EventToggleButtonClicked.java +++ b/src/main/java/binnie/core/craftgui/events/EventToggleButtonClicked.java @@ -3,14 +3,14 @@ package binnie.core.craftgui.events; import binnie.core.craftgui.IWidget; public class EventToggleButtonClicked extends Event { - protected boolean toggled; + protected boolean toggled; - public EventToggleButtonClicked(IWidget origin, boolean toggled) { - super(origin); - this.toggled = toggled; - } + public EventToggleButtonClicked(IWidget origin, boolean toggled) { + super(origin); + this.toggled = toggled; + } - public boolean isActive() { - return toggled; - } + public boolean isActive() { + return toggled; + } } diff --git a/src/main/java/binnie/core/craftgui/events/EventValueChanged.java b/src/main/java/binnie/core/craftgui/events/EventValueChanged.java index 2ae583d0..f07edb05 100644 --- a/src/main/java/binnie/core/craftgui/events/EventValueChanged.java +++ b/src/main/java/binnie/core/craftgui/events/EventValueChanged.java @@ -3,20 +3,20 @@ package binnie.core.craftgui.events; import binnie.core.craftgui.IWidget; public class EventValueChanged extends Event { - public T value; + public T value; - public EventValueChanged(IWidget origin, T value) { - super(origin); - this.value = value; - } + public EventValueChanged(IWidget origin, T value) { + super(origin); + this.value = value; + } - public T getValue() { - return value; - } + public T getValue() { + return value; + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(EventValueChanged.class); - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(EventValueChanged.class); + } + } } diff --git a/src/main/java/binnie/core/craftgui/events/EventValuesChanged.java b/src/main/java/binnie/core/craftgui/events/EventValuesChanged.java index 30acf781..b5b24718 100644 --- a/src/main/java/binnie/core/craftgui/events/EventValuesChanged.java +++ b/src/main/java/binnie/core/craftgui/events/EventValuesChanged.java @@ -3,14 +3,14 @@ package binnie.core.craftgui.events; import binnie.core.craftgui.IWidget; public class EventValuesChanged extends Event { - public T[] values; + public T[] values; - public EventValuesChanged(IWidget origin, T[] values) { - super(origin); - this.values = values; - } + public EventValuesChanged(IWidget origin, T[] values) { + super(origin); + this.values = values; + } - public T[] getValues() { - return values; - } + public T[] getValues() { + return values; + } } diff --git a/src/main/java/binnie/core/craftgui/events/EventWidget.java b/src/main/java/binnie/core/craftgui/events/EventWidget.java index cfa9f006..9a8ad01b 100644 --- a/src/main/java/binnie/core/craftgui/events/EventWidget.java +++ b/src/main/java/binnie/core/craftgui/events/EventWidget.java @@ -3,182 +3,182 @@ package binnie.core.craftgui.events; import binnie.core.craftgui.IWidget; public class EventWidget extends Event { - public EventWidget(IWidget origin) { - super(origin); - } + public EventWidget(IWidget origin) { + super(origin); + } - public static class Enable extends EventWidget { - public Enable(IWidget origin) { - super(origin); - } + public static class Enable extends EventWidget { + public Enable(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(Enable.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(Enable.class); + } + } + } - public static class Disable extends EventWidget { - public Disable(IWidget origin) { - super(origin); - } + public static class Disable extends EventWidget { + public Disable(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(Disable.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(Disable.class); + } + } + } - public static class Show extends EventWidget { - public Show(IWidget origin) { - super(origin); - } + public static class Show extends EventWidget { + public Show(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(Show.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(Show.class); + } + } + } - public static class Hide extends EventWidget { - public Hide(IWidget origin) { - super(origin); - } + public static class Hide extends EventWidget { + public Hide(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(Hide.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(Hide.class); + } + } + } - public static class ChangePosition extends EventWidget { - public ChangePosition(IWidget origin) { - super(origin); - } + public static class ChangePosition extends EventWidget { + public ChangePosition(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(ChangePosition.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(ChangePosition.class); + } + } + } - public static class ChangeSize extends EventWidget { - public ChangeSize(IWidget origin) { - super(origin); - } + public static class ChangeSize extends EventWidget { + public ChangeSize(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(ChangeSize.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(ChangeSize.class); + } + } + } - public static class ChangeOffset extends EventWidget { - public ChangeOffset(IWidget origin) { - super(origin); - } + public static class ChangeOffset extends EventWidget { + public ChangeOffset(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(ChangeOffset.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(ChangeOffset.class); + } + } + } - public static class ChangeColour extends EventWidget { - public ChangeColour(IWidget origin) { - super(origin); - } + public static class ChangeColour extends EventWidget { + public ChangeColour(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(ChangeColour.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(ChangeColour.class); + } + } + } - public static class StartMouseOver extends EventWidget { - public StartMouseOver(IWidget origin) { - super(origin); - } + public static class StartMouseOver extends EventWidget { + public StartMouseOver(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(StartMouseOver.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(StartMouseOver.class); + } + } + } - public static class EndMouseOver extends EventWidget { - public EndMouseOver(IWidget origin) { - super(origin); - } + public static class EndMouseOver extends EventWidget { + public EndMouseOver(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(EndMouseOver.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(EndMouseOver.class); + } + } + } - public static class StartDrag extends EventWidget { - protected int button; + public static class StartDrag extends EventWidget { + protected int button; - public StartDrag(IWidget origin, int button) { - super(origin); - this.button = button; - } + public StartDrag(IWidget origin, int button) { + super(origin); + this.button = button; + } - public int getButton() { - return button; - } + public int getButton() { + return button; + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(StartDrag.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(StartDrag.class); + } + } + } - public static class EndDrag extends EventWidget { - public EndDrag(IWidget origin) { - super(origin); - } + public static class EndDrag extends EventWidget { + public EndDrag(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(EndDrag.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(EndDrag.class); + } + } + } - public static class GainFocus extends EventWidget { - public GainFocus(IWidget origin) { - super(origin); - } + public static class GainFocus extends EventWidget { + public GainFocus(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(GainFocus.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(GainFocus.class); + } + } + } - public static class LoseFocus extends EventWidget { - public LoseFocus(IWidget origin) { - super(origin); - } + public static class LoseFocus extends EventWidget { + public LoseFocus(IWidget origin) { + super(origin); + } - public abstract static class Handler extends EventHandler { - public Handler() { - super(LoseFocus.class); - } - } - } + public abstract static class Handler extends EventHandler { + public Handler() { + super(LoseFocus.class); + } + } + } } diff --git a/src/main/java/binnie/core/craftgui/geometry/CraftGUIUtil.java b/src/main/java/binnie/core/craftgui/geometry/CraftGUIUtil.java index 6aa10170..386fbd4b 100644 --- a/src/main/java/binnie/core/craftgui/geometry/CraftGUIUtil.java +++ b/src/main/java/binnie/core/craftgui/geometry/CraftGUIUtil.java @@ -5,61 +5,61 @@ import binnie.core.craftgui.controls.core.IControlValue; import binnie.core.craftgui.events.EventValueChanged; public class CraftGUIUtil { - public static void alignToWidget(IWidget target, IWidget relativeTo) { - IPoint startPos = target.getAbsolutePosition(); - IPoint endPos = relativeTo.getAbsolutePosition(); - moveWidget(target, endPos.sub(startPos)); - } + public static void alignToWidget(IWidget target, IWidget relativeTo) { + IPoint startPos = target.getAbsolutePosition(); + IPoint endPos = relativeTo.getAbsolutePosition(); + moveWidget(target, endPos.sub(startPos)); + } - public static void moveWidget(IWidget target, IPoint movement) { - target.setPosition(target.getPosition().add(movement)); - } + public static void moveWidget(IWidget target, IPoint movement) { + target.setPosition(target.getPosition().add(movement)); + } - public static void horizontalGrid(float px, float py, IWidget... widgets) { - horizontalGrid(px, py, TextJustification.MIDDLE_CENTER, 0.0f, widgets); - } + public static void horizontalGrid(float px, float py, IWidget... widgets) { + horizontalGrid(px, py, TextJustification.MIDDLE_CENTER, 0.0f, widgets); + } - public static void horizontalGrid(float px, float py, TextJustification just, float spacing, IWidget... widgets) { - float x = 0.0f; - float h = 0.0f; - for (IWidget widget : widgets) { - h = Math.max(h, widget.getSize().y()); - } - for (IWidget widget : widgets) { - widget.setPosition(new IPoint(px + x, py + (h - widget.getSize().y()) * just.yOffset)); - x += widget.getSize().x() + spacing; - } - } + public static void horizontalGrid(float px, float py, TextJustification just, float spacing, IWidget... widgets) { + float x = 0.0f; + float h = 0.0f; + for (IWidget widget : widgets) { + h = Math.max(h, widget.getSize().y()); + } + for (IWidget widget : widgets) { + widget.setPosition(new IPoint(px + x, py + (h - widget.getSize().y()) * just.yOffset)); + x += widget.getSize().x() + spacing; + } + } - public static void verticalGrid(float px, float py, IWidget... widgets) { - horizontalGrid(px, py, TextJustification.MIDDLE_CENTER, 0.0f, widgets); - } + public static void verticalGrid(float px, float py, IWidget... widgets) { + horizontalGrid(px, py, TextJustification.MIDDLE_CENTER, 0.0f, widgets); + } - public static void verticalGrid(float px, float py, TextJustification just, float spacing, IWidget... widgets) { - float y = 0.0f; - float w = 0.0f; - for (IWidget widget : widgets) { - w = Math.max(w, widget.getSize().x()); - } - for (IWidget widget : widgets) { - widget.setPosition(new IPoint(px + (w - widget.getSize().x()) * just.xOffset, py + y)); - y += widget.getSize().y() + spacing; - } - } + public static void verticalGrid(float px, float py, TextJustification just, float spacing, IWidget... widgets) { + float y = 0.0f; + float w = 0.0f; + for (IWidget widget : widgets) { + w = Math.max(w, widget.getSize().x()); + } + for (IWidget widget : widgets) { + widget.setPosition(new IPoint(px + (w - widget.getSize().x()) * just.xOffset, py + y)); + y += widget.getSize().y() + spacing; + } + } - public static void linkWidgets(IControlValue tab, IControlValue target) { - tab.addSelfEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(EventValueChanged event) { - target.setValue((T) event.getValue()); - } - }); + public static void linkWidgets(IControlValue tab, IControlValue target) { + tab.addSelfEventHandler(new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + target.setValue((T) event.getValue()); + } + }); - target.addSelfEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(EventValueChanged event) { - tab.setValue((T) event.getValue()); - } - }); - } + target.addSelfEventHandler(new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + tab.setValue((T) event.getValue()); + } + }); + } } diff --git a/src/main/java/binnie/core/craftgui/geometry/IArea.java b/src/main/java/binnie/core/craftgui/geometry/IArea.java index dd3f09c2..b5527724 100644 --- a/src/main/java/binnie/core/craftgui/geometry/IArea.java +++ b/src/main/java/binnie/core/craftgui/geometry/IArea.java @@ -1,129 +1,121 @@ package binnie.core.craftgui.geometry; public class IArea { - private IPoint pos; - private IPoint size; + private IPoint pos; + private IPoint size; - public IArea(IArea area) { - this(area.pos().x(), area.pos().y(), area.size().x(), area.size().y()); - } + public IArea(IArea area) { + this(area.pos().x(), area.pos().y(), area.size().x(), area.size().y()); + } - public IArea(IPoint pos, IPoint size) { - this(pos.x(), pos.y(), size.x(), size.y()); - } + public IArea(IPoint pos, IPoint size) { + this(pos.x(), pos.y(), size.x(), size.y()); + } - public IArea(float xywh) { - this(xywh, xywh, xywh, xywh); - } + public IArea(float xywh) { + this(xywh, xywh, xywh, xywh); + } - public IArea(float xy, float wh) { - this(xy, xy, wh, wh); - } + public IArea(float xy, float wh) { + this(xy, xy, wh, wh); + } - public IArea(float x, float y, float wh) { - this(x, y, wh, wh); - } + public IArea(float x, float y, float wh) { + this(x, y, wh, wh); + } - public IArea(float x, float y, float w, float h) { - setPosition(new IPoint(x, y)); - setSize(new IPoint(w, h)); - } + public IArea(float x, float y, float w, float h) { + setPosition(new IPoint(x, y)); + setSize(new IPoint(w, h)); + } - public IPoint pos() { - return pos; - } + public IPoint pos() { + return pos; + } - public IPoint getPosition() { - return pos; - } + public IPoint getPosition() { + return pos; + } - public void setPosition(IPoint position) { - pos = position.copy(); - } + public void setPosition(IPoint position) { + pos = position.copy(); + } - public IPoint size() { - return size; - } + public IPoint size() { + return size; + } - public IPoint getSize() { - return size; - } + public IPoint getSize() { + return size; + } - public void setSize(IPoint size) { - this.size = size.copy(); - } + public void setSize(IPoint size) { + this.size = size.copy(); + } - public boolean contains(IPoint position) { - return position.x() >= pos().x() - && position.y() >= pos.y() - && position.x() <= pos().x() + size().x() - && position.y() <= pos().y() + size().y(); - } + public boolean contains(IPoint position) { + return position.x() >= pos().x() + && position.y() >= pos.y() + && position.x() <= pos().x() + size().x() + && position.y() <= pos().y() + size().y(); + } - public float x() { - return pos().x(); - } + public float x() { + return pos().x(); + } - public float y() { - return pos().y(); - } + public float y() { + return pos().y(); + } - public float w() { - return size().x(); - } + public float w() { + return size().x(); + } - public float h() { - return size().y(); - } + public float h() { + return size().y(); + } - public float x(float n) { - return pos.x(n); - } + public float x(float n) { + return pos.x(n); + } - public float y(float n) { - return pos.y(n); - } + public float y(float n) { + return pos.y(n); + } - public float w(float n) { - return size.x(n); - } + public float w(float n) { + return size.x(n); + } - public float h(float n) { - return size.y(n); - } + public float h(float n) { + return size.y(n); + } - public IArea inset(IBorder border) { - return new IArea( - x() + border.l(), - y() + border.t(), - w() - border.l() - border.r(), - h() - border.t() - border.b() - ); - } + public IArea inset(IBorder border) { + return new IArea( + x() + border.l(), y() + border.t(), w() - border.l() - border.r(), h() - border.t() - border.b()); + } - public IArea outset(int outset) { - return outset(new IBorder(outset)); - } + public IArea outset(int outset) { + return outset(new IBorder(outset)); + } - public IArea outset(IBorder border) { - return new IArea( - x() - border.l(), - y() - border.t(), - w() + border.l() + border.r(), - h() + border.t() + border.b() - ); - } + public IArea outset(IBorder border) { + return new IArea( + x() - border.l(), y() - border.t(), w() + border.l() + border.r(), h() + border.t() + border.b()); + } - public IArea inset(int inset) { - return inset(new IBorder(inset)); - } + public IArea inset(int inset) { + return inset(new IBorder(inset)); + } - @Override - public String toString() { - return w() + "x" + h() + "@" + x() + "," + y(); - } + @Override + public String toString() { + return w() + "x" + h() + "@" + x() + "," + y(); + } - public IArea shift(float dx, float f) { - return new IArea(x() + dx, y() + f, w(), h()); - } + public IArea shift(float dx, float f) { + return new IArea(x() + dx, y() + f, w(), h()); + } } diff --git a/src/main/java/binnie/core/craftgui/geometry/IBorder.java b/src/main/java/binnie/core/craftgui/geometry/IBorder.java index 0571a812..33e20194 100644 --- a/src/main/java/binnie/core/craftgui/geometry/IBorder.java +++ b/src/main/java/binnie/core/craftgui/geometry/IBorder.java @@ -1,102 +1,106 @@ package binnie.core.craftgui.geometry; public class IBorder { - public static IBorder ZERO = new IBorder(0.0f); - - protected float t; - protected float b; - protected float l; - protected float r; + public static IBorder ZERO = new IBorder(0.0f); - public IBorder(float pad) { - this(pad, pad, pad, pad); - } + protected float t; + protected float b; + protected float l; + protected float r; - public IBorder(float tb, float rl) { - this(tb, rl, tb, rl); - } + public IBorder(float pad) { + this(pad, pad, pad, pad); + } - public IBorder(float t, float rl, float b) { - this(t, rl, b, rl); - } + public IBorder(float tb, float rl) { + this(tb, rl, tb, rl); + } - public IBorder(float t, float r, float b, float l) { - this.t = t; - this.b = b; - this.l = l; - this.r = r; - } + public IBorder(float t, float rl, float b) { + this(t, rl, b, rl); + } - public IBorder(Position edge, float n) { - this((edge == Position.TOP) ? n : 0.0f, (edge == Position.RIGHT) ? n : 0.0f, (edge == Position.BOTTOM) ? n : 0.0f, (edge == Position.LEFT) ? n : 0.0f); - } + public IBorder(float t, float r, float b, float l) { + this.t = t; + this.b = b; + this.l = l; + this.r = r; + } - public IBorder(IBorder padding) { - this(padding.t(), padding.r(), padding.b(), padding.l()); - } + public IBorder(Position edge, float n) { + this( + (edge == Position.TOP) ? n : 0.0f, + (edge == Position.RIGHT) ? n : 0.0f, + (edge == Position.BOTTOM) ? n : 0.0f, + (edge == Position.LEFT) ? n : 0.0f); + } - public float t() { - return t; - } + public IBorder(IBorder padding) { + this(padding.t(), padding.r(), padding.b(), padding.l()); + } - public float b() { - return b; - } + public float t() { + return t; + } - public float l() { - return l; - } + public float b() { + return b; + } - public float r() { - return r; - } + public float l() { + return l; + } - public float t(float n) { - return t = n; - } + public float r() { + return r; + } - public float b(float n) { - return b = n; - } + public float t(float n) { + return t = n; + } - public float l(float n) { - return l = n; - } + public float b(float n) { + return b = n; + } - public float r(float n) { - return r = n; - } + public float l(float n) { + return l = n; + } - public boolean isNonZero() { - return t != 0.0f || r != 0.0f || l != 0.0f || b != 0.0f; - } + public float r(float n) { + return r = n; + } - @Deprecated - public IPoint tl() { - return new IPoint(l(), t()); - } + public boolean isNonZero() { + return t != 0.0f || r != 0.0f || l != 0.0f || b != 0.0f; + } - @Deprecated - public IPoint tr() { - return new IPoint(r(), t()); - } + @Deprecated + public IPoint tl() { + return new IPoint(l(), t()); + } - @Deprecated - public IPoint bl() { - return new IPoint(l(), b()); - } + @Deprecated + public IPoint tr() { + return new IPoint(r(), t()); + } - @Deprecated - public IPoint br() { - return new IPoint(r(), b()); - } + @Deprecated + public IPoint bl() { + return new IPoint(l(), b()); + } - public IBorder add(IBorder o) { - return new IBorder(t() + o.t(), r() + o.r(), b() + o.b(), l() + o.l()); - } + @Deprecated + public IPoint br() { + return new IPoint(r(), b()); + } - @Override - public String toString() { - return t() + "-" + r() + "-" + b() + "-" + l(); - } + public IBorder add(IBorder o) { + return new IBorder(t() + o.t(), r() + o.r(), b() + o.b(), l() + o.l()); + } + + @Override + public String toString() { + return t() + "-" + r() + "-" + b() + "-" + l(); + } } diff --git a/src/main/java/binnie/core/craftgui/geometry/IPoint.java b/src/main/java/binnie/core/craftgui/geometry/IPoint.java index 12b7fa54..615d0aee 100644 --- a/src/main/java/binnie/core/craftgui/geometry/IPoint.java +++ b/src/main/java/binnie/core/craftgui/geometry/IPoint.java @@ -1,67 +1,67 @@ package binnie.core.craftgui.geometry; public class IPoint { - public static IPoint ZERO = new IPoint(0.0f, 0.0f); + public static IPoint ZERO = new IPoint(0.0f, 0.0f); - protected float x; - protected float y; + protected float x; + protected float y; - public IPoint(float x, float y) { - this.x = x; - this.y = y; - } + public IPoint(float x, float y) { + this.x = x; + this.y = y; + } - public IPoint(IPoint o) { - x = o.x(); - y = o.y(); - } + public IPoint(IPoint o) { + x = o.x(); + y = o.y(); + } - public static IPoint add(IPoint a, IPoint b) { - return new IPoint(a.x() + b.x(), a.y() + b.y()); - } + public static IPoint add(IPoint a, IPoint b) { + return new IPoint(a.x() + b.x(), a.y() + b.y()); + } - public static IPoint sub(IPoint a, IPoint b) { - return new IPoint(a.x() - b.x(), a.y() - b.y()); - } + public static IPoint sub(IPoint a, IPoint b) { + return new IPoint(a.x() - b.x(), a.y() - b.y()); + } - public IPoint sub(IPoint a) { - return sub(this, a); - } + public IPoint sub(IPoint a) { + return sub(this, a); + } - public IPoint add(IPoint other) { - return add(this, other); - } + public IPoint add(IPoint other) { + return add(this, other); + } - public IPoint add(float dx, float dy) { - return add(this, new IPoint(dx, dy)); - } + public IPoint add(float dx, float dy) { + return add(this, new IPoint(dx, dy)); + } - public IPoint copy() { - return new IPoint(this); - } + public IPoint copy() { + return new IPoint(this); + } - public float x() { - return x; - } + public float x() { + return x; + } - public float y() { - return y; - } + public float y() { + return y; + } - public void xy(float x, float y) { - x(x); - y(y); - } + public void xy(float x, float y) { + x(x); + y(y); + } - public float x(float x) { - return this.x = x; - } + public float x(float x) { + return this.x = x; + } - public float y(float y) { - return this.y = y; - } + public float y(float y) { + return this.y = y; + } - public boolean equals(IPoint other) { - return x() == other.x() && y() == other.y(); - } + public boolean equals(IPoint other) { + return x() == other.x() && y() == other.y(); + } } diff --git a/src/main/java/binnie/core/craftgui/geometry/Position.java b/src/main/java/binnie/core/craftgui/geometry/Position.java index a5371ee5..3340345a 100644 --- a/src/main/java/binnie/core/craftgui/geometry/Position.java +++ b/src/main/java/binnie/core/craftgui/geometry/Position.java @@ -1,41 +1,41 @@ package binnie.core.craftgui.geometry; public enum Position { - TOP(0, -1), - BOTTOM(0, 1), - LEFT(-1, 0), - RIGHT(1, 0); + TOP(0, -1), + BOTTOM(0, 1), + LEFT(-1, 0), + RIGHT(1, 0); - protected int x; - protected int y; + protected int x; + protected int y; - Position(int x, int y) { - this.x = x; - this.y = y; - } + Position(int x, int y) { + this.x = x; + this.y = y; + } - public int x() { - return x; - } + public int x() { + return x; + } - public int y() { - return y; - } + public int y() { + return y; + } - public Position opposite() { - switch (this) { - case BOTTOM: - return Position.TOP; + public Position opposite() { + switch (this) { + case BOTTOM: + return Position.TOP; - case LEFT: - return Position.RIGHT; + case LEFT: + return Position.RIGHT; - case RIGHT: - return Position.LEFT; + case RIGHT: + return Position.LEFT; - case TOP: - return Position.BOTTOM; - } - return null; - } + case TOP: + return Position.BOTTOM; + } + return null; + } } diff --git a/src/main/java/binnie/core/craftgui/geometry/TextJustification.java b/src/main/java/binnie/core/craftgui/geometry/TextJustification.java index e9890db9..45fbc62b 100644 --- a/src/main/java/binnie/core/craftgui/geometry/TextJustification.java +++ b/src/main/java/binnie/core/craftgui/geometry/TextJustification.java @@ -1,29 +1,29 @@ package binnie.core.craftgui.geometry; public enum TextJustification { - TOP_LEFT(0.0f, 0.0f), - TOP_CENTER(0.5f, 0.0f), - TOP_RIGHT(1.0f, 0.0f), - MIDDLE_LEFT(0.0f, 0.5f), - MIDDLE_CENTER(0.5f, 0.5f), - MIDDLE_RIGHT(1.0f, 0.5f), - BOTTOM_LEFT(0.0f, 1.0f), - BOTTOM_CENTER(0.5f, 1.0f), - BOTTOM_RIGHT(1.0f, 1.0f); + TOP_LEFT(0.0f, 0.0f), + TOP_CENTER(0.5f, 0.0f), + TOP_RIGHT(1.0f, 0.0f), + MIDDLE_LEFT(0.0f, 0.5f), + MIDDLE_CENTER(0.5f, 0.5f), + MIDDLE_RIGHT(1.0f, 0.5f), + BOTTOM_LEFT(0.0f, 1.0f), + BOTTOM_CENTER(0.5f, 1.0f), + BOTTOM_RIGHT(1.0f, 1.0f); - protected float xOffset; - protected float yOffset; + protected float xOffset; + protected float yOffset; - TextJustification(float xOffset, float yOffset) { - this.xOffset = xOffset; - this.yOffset = yOffset; - } + TextJustification(float xOffset, float yOffset) { + this.xOffset = xOffset; + this.yOffset = yOffset; + } - public float getXOffset() { - return xOffset; - } + public float getXOffset() { + return xOffset; + } - public float getYOffset() { - return yOffset; - } + public float getYOffset() { + return yOffset; + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/ContainerCraftGUI.java b/src/main/java/binnie/core/craftgui/minecraft/ContainerCraftGUI.java index ce143ca5..57c9d3c1 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/ContainerCraftGUI.java +++ b/src/main/java/binnie/core/craftgui/minecraft/ContainerCraftGUI.java @@ -18,6 +18,10 @@ import binnie.core.machines.transfer.TransferRequest; import binnie.core.network.packet.MessageContainerUpdate; import com.mojang.authlib.GameProfile; import cpw.mods.fml.relauncher.Side; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.inventory.Container; @@ -27,492 +31,487 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - public class ContainerCraftGUI extends Container { - private Window window; - private Map syncedNBT; - private Map sentNBT; - private Map syncedTanks; - private PowerInfo syncedPower; - private ProcessInfo syncedProcess; - private int errorType; - private ErrorState error; - private int mousedOverSlotNumber; + private Window window; + private Map syncedNBT; + private Map sentNBT; + private Map syncedTanks; + private PowerInfo syncedPower; + private ProcessInfo syncedProcess; + private int errorType; + private ErrorState error; + private int mousedOverSlotNumber; - public ContainerCraftGUI(Window window) { - this.window = window; - syncedNBT = new HashMap<>(); - sentNBT = new HashMap<>(); - syncedTanks = new HashMap<>(); - syncedPower = new PowerInfo(); - syncedProcess = new ProcessInfo(); - errorType = 0; - error = null; - mousedOverSlotNumber = -1; - IMachine machine = Machine.getMachine(window.getInventory()); - if (getSide() != Side.SERVER) { - return; - } + public ContainerCraftGUI(Window window) { + this.window = window; + syncedNBT = new HashMap<>(); + sentNBT = new HashMap<>(); + syncedTanks = new HashMap<>(); + syncedPower = new PowerInfo(); + syncedProcess = new ProcessInfo(); + errorType = 0; + error = null; + mousedOverSlotNumber = -1; + IMachine machine = Machine.getMachine(window.getInventory()); + if (getSide() != Side.SERVER) { + return; + } - inventoryItemStacks = new ListMap(); - inventorySlots = new ListMap(); - if (machine == null) { - return; - } + inventoryItemStacks = new ListMap(); + inventorySlots = new ListMap(); + if (machine == null) { + return; + } - GameProfile user = machine.getOwner(); - if (user != null) { - NBTTagCompound nbt = new NBTTagCompound(); - nbt.setString("username", user.getName()); - sendNBTToClient("username", nbt); - } - } + GameProfile user = machine.getOwner(); + if (user != null) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setString("username", user.getName()); + sendNBTToClient("username", nbt); + } + } - @Override - protected Slot addSlotToContainer(Slot slot) { - return super.addSlotToContainer(slot); - } + @Override + protected Slot addSlotToContainer(Slot slot) { + return super.addSlotToContainer(slot); + } - private Side getSide() { - return window.isServer() ? Side.SERVER : Side.CLIENT; - } + private Side getSide() { + return window.isServer() ? Side.SERVER : Side.CLIENT; + } - @Override - public Slot getSlot(int index) { - if (index < 0 || index >= inventorySlots.size()) { - return null; - } - return (Slot) inventorySlots.get(index); - } + @Override + public Slot getSlot(int index) { + if (index < 0 || index >= inventorySlots.size()) { + return null; + } + return (Slot) inventorySlots.get(index); + } - @Override - public void putStackInSlot(int index, ItemStack stack) { - if (getSlot(index) != null) { - getSlot(index).putStack(stack); - } - } + @Override + public void putStackInSlot(int index, ItemStack stack) { + if (getSlot(index) != null) { + getSlot(index).putStack(stack); + } + } - @Override - public void putStacksInSlots(ItemStack[] par1ArrayOfItemStack) { - for (int i = 0; i < par1ArrayOfItemStack.length; ++i) { - if (getSlot(i) != null) { - getSlot(i).putStack(par1ArrayOfItemStack[i]); - } - } - } + @Override + public void putStacksInSlots(ItemStack[] par1ArrayOfItemStack) { + for (int i = 0; i < par1ArrayOfItemStack.length; ++i) { + if (getSlot(i) != null) { + getSlot(i).putStack(par1ArrayOfItemStack[i]); + } + } + } - @Override - public void onContainerClosed(EntityPlayer player) { - super.onContainerClosed(player); - WindowInventory inventory = window.getWindowInventory(); - for (int i = 0; i < inventory.getSizeInventory(); ++i) { - if (!inventory.dispenseOnClose(i)) { - continue; - } + @Override + public void onContainerClosed(EntityPlayer player) { + super.onContainerClosed(player); + WindowInventory inventory = window.getWindowInventory(); + for (int i = 0; i < inventory.getSizeInventory(); ++i) { + if (!inventory.dispenseOnClose(i)) { + continue; + } - ItemStack stack = inventory.getStackInSlot(i); - if (stack == null) { - continue; - } + ItemStack stack = inventory.getStackInSlot(i); + if (stack == null) { + continue; + } - stack = new TransferRequest(stack, player.inventory).transfer(true); - if (stack != null) { - player.dropPlayerItemWithRandomChoice(stack, false); - } - } - } + stack = new TransferRequest(stack, player.inventory).transfer(true); + if (stack != null) { + player.dropPlayerItemWithRandomChoice(stack, false); + } + } + } - @Override - public ItemStack slotClick(int slotNum, int mouseButton, int modifier, EntityPlayer player) { - Slot slot = getSlot(slotNum); - if (slot instanceof CustomSlot && ((CustomSlot) slot).handleClick()) { - ((CustomSlot) slot).onSlotClick(this, mouseButton, modifier, player); - return player.inventory.getItemStack(); - } - return super.slotClick(slotNum, mouseButton, modifier, player); - } + @Override + public ItemStack slotClick(int slotNum, int mouseButton, int modifier, EntityPlayer player) { + Slot slot = getSlot(slotNum); + if (slot instanceof CustomSlot && ((CustomSlot) slot).handleClick()) { + ((CustomSlot) slot).onSlotClick(this, mouseButton, modifier, player); + return player.inventory.getItemStack(); + } + return super.slotClick(slotNum, mouseButton, modifier, player); + } - public void sendNBTToClient(String key, NBTTagCompound nbt) { - syncedNBT.put(key, nbt); - } + public void sendNBTToClient(String key, NBTTagCompound nbt) { + syncedNBT.put(key, nbt); + } - @Override - public boolean canInteractWith(EntityPlayer player) { - if (player instanceof EntityPlayerMP) { - if (!crafters.contains(player)) { - crafters.add(player); - } - sentNBT.clear(); - } - IInventory inventory = window.getInventory(); - return inventory == null || inventory.isUseableByPlayer(player); - } + @Override + public boolean canInteractWith(EntityPlayer player) { + if (player instanceof EntityPlayerMP) { + if (!crafters.contains(player)) { + crafters.add(player); + } + sentNBT.clear(); + } + IInventory inventory = window.getInventory(); + return inventory == null || inventory.isUseableByPlayer(player); + } - @Override - public ItemStack transferStackInSlot(EntityPlayer player, int slotID) { - return shiftClick(player, slotID); - } + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int slotID) { + return shiftClick(player, slotID); + } - private ItemStack shiftClick(EntityPlayer player, int index) { - TransferRequest request = getShiftClickRequest(player, index); - if (request == null) { - return null; - } + private ItemStack shiftClick(EntityPlayer player, int index) { + TransferRequest request = getShiftClickRequest(player, index); + if (request == null) { + return null; + } - ItemStack stack = request.transfer(true); - Slot shiftClickedSlot = (Slot) inventorySlots.get(index); - shiftClickedSlot.putStack(stack); - shiftClickedSlot.onSlotChanged(); - return null; - } + ItemStack stack = request.transfer(true); + Slot shiftClickedSlot = (Slot) inventorySlots.get(index); + shiftClickedSlot.putStack(stack); + shiftClickedSlot.onSlotChanged(); + return null; + } - private TransferRequest getShiftClickRequest(EntityPlayer player, int index) { - if (index < 0) { - return null; - } + private TransferRequest getShiftClickRequest(EntityPlayer player, int index) { + if (index < 0) { + return null; + } - Slot shiftClickedSlot = (Slot) inventorySlots.get(index); - ItemStack itemstack = null; - if (shiftClickedSlot.getHasStack()) { - itemstack = shiftClickedSlot.getStack().copy(); - } + Slot shiftClickedSlot = (Slot) inventorySlots.get(index); + ItemStack itemstack = null; + if (shiftClickedSlot.getHasStack()) { + itemstack = shiftClickedSlot.getStack().copy(); + } - IInventory playerInventory = player.inventory; - IInventory containerInventory = window.getInventory(); - IInventory windowInventory = window.getWindowInventory(); - IInventory fromPlayer = (containerInventory == null) ? windowInventory : containerInventory; - int[] target = new int[36]; - for (int i = 0; i < 36; ++i) { - target[i] = i; - } + IInventory playerInventory = player.inventory; + IInventory containerInventory = window.getInventory(); + IInventory windowInventory = window.getWindowInventory(); + IInventory fromPlayer = (containerInventory == null) ? windowInventory : containerInventory; + int[] target = new int[36]; + for (int i = 0; i < 36; ++i) { + target[i] = i; + } - TransferRequest request; - if (shiftClickedSlot.inventory == playerInventory) { - request = new TransferRequest(itemstack, fromPlayer).setOrigin(shiftClickedSlot.inventory); - } else { - request = new TransferRequest(itemstack, playerInventory).setOrigin(shiftClickedSlot.inventory).setTargetSlots(target); - } + TransferRequest request; + if (shiftClickedSlot.inventory == playerInventory) { + request = new TransferRequest(itemstack, fromPlayer).setOrigin(shiftClickedSlot.inventory); + } else { + request = new TransferRequest(itemstack, playerInventory) + .setOrigin(shiftClickedSlot.inventory) + .setTargetSlots(target); + } - if (window instanceof IWindowAffectsShiftClick) { - ((IWindowAffectsShiftClick) window).alterRequest(request); - } - return request; - } + if (window instanceof IWindowAffectsShiftClick) { + ((IWindowAffectsShiftClick) window).alterRequest(request); + } + return request; + } - public ItemStack tankClick(EntityPlayer player, int slotID) { - if (player.inventory.getItemStack() == null) { - return null; - } + public ItemStack tankClick(EntityPlayer player, int slotID) { + if (player.inventory.getItemStack() == null) { + return null; + } - ItemStack heldItem = player.inventory.getItemStack().copy(); - heldItem = new TransferRequest(heldItem, window.getInventory()) - .setOrigin(player.inventory) - .setTargetSlots(new int[0]) - .setTargetTanks(new int[]{slotID}) - .transfer(true); - player.inventory.setItemStack(heldItem); - if (player instanceof EntityPlayerMP) { - ((EntityPlayerMP) player).updateHeldItem(); - } - return heldItem; - } + ItemStack heldItem = player.inventory.getItemStack().copy(); + heldItem = new TransferRequest(heldItem, window.getInventory()) + .setOrigin(player.inventory) + .setTargetSlots(new int[0]) + .setTargetTanks(new int[] {slotID}) + .transfer(true); + player.inventory.setItemStack(heldItem); + if (player instanceof EntityPlayerMP) { + ((EntityPlayerMP) player).updateHeldItem(); + } + return heldItem; + } - public boolean handleNBT(Side side, EntityPlayer player, String name, NBTTagCompound action) { - if (side == Side.SERVER) { - if (name.equals("tank-click")) { - tankClick(player, action.getByte("id")); - } - if (name.equals("slot-reg")) { - int type = action.getByte("t"); - int index = action.getShort("i"); - int slotNumber = action.getShort("n"); - getOrCreateSlot(InventoryType.values()[type % 4], index, slotNumber); + public boolean handleNBT(Side side, EntityPlayer player, String name, NBTTagCompound action) { + if (side == Side.SERVER) { + if (name.equals("tank-click")) { + tankClick(player, action.getByte("id")); + } + if (name.equals("slot-reg")) { + int type = action.getByte("t"); + int index = action.getShort("i"); + int slotNumber = action.getShort("n"); + getOrCreateSlot(InventoryType.values()[type % 4], index, slotNumber); - for (Object crafterObject : crafters) { - ICrafting crafter = (ICrafting) crafterObject; - crafter.sendContainerAndContentsToPlayer(this, getInventory()); - } - } - } + for (Object crafterObject : crafters) { + ICrafting crafter = (ICrafting) crafterObject; + crafter.sendContainerAndContentsToPlayer(this, getInventory()); + } + } + } - if (name.contains("tank-update")) { - onTankUpdate(action); - } else if (name.equals("power-update")) { - onPowerUpdate(action); - } else if (name.equals("process-update")) { - onProcessUpdate(action); - } else if (name.equals("error-update")) { - onErrorUpdate(action); - } else if (name.equals("mouse-over-slot")) { - onMouseOverSlot(player, action); - } else if (name.equals("shift-click-info")) { - onRecieveShiftClickHighlights(player, action); - } - return false; - } + if (name.contains("tank-update")) { + onTankUpdate(action); + } else if (name.equals("power-update")) { + onPowerUpdate(action); + } else if (name.equals("process-update")) { + onProcessUpdate(action); + } else if (name.equals("error-update")) { + onErrorUpdate(action); + } else if (name.equals("mouse-over-slot")) { + onMouseOverSlot(player, action); + } else if (name.equals("shift-click-info")) { + onRecieveShiftClickHighlights(player, action); + } + return false; + } - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - ITankMachine tanks = Machine.getInterface(ITankMachine.class, window.getInventory()); - IPoweredMachine powered = Machine.getInterface(IPoweredMachine.class, window.getInventory()); - IErrorStateSource error = Machine.getInterface(IErrorStateSource.class, window.getInventory()); - IProcess process = Machine.getInterface(IProcess.class, window.getInventory()); - if (tanks != null && window.isServer()) { - for (int i = 0; i < tanks.getTankInfos().length; ++i) { - TankInfo tank = tanks.getTankInfos()[i]; - if (!getTankInfo(i).equals(tank)) { - syncedNBT.put("tank-update-" + i, createTankNBT(i, tank)); - syncedTanks.put(i, tank); - } - } - } + @Override + public void detectAndSendChanges() { + super.detectAndSendChanges(); + ITankMachine tanks = Machine.getInterface(ITankMachine.class, window.getInventory()); + IPoweredMachine powered = Machine.getInterface(IPoweredMachine.class, window.getInventory()); + IErrorStateSource error = Machine.getInterface(IErrorStateSource.class, window.getInventory()); + IProcess process = Machine.getInterface(IProcess.class, window.getInventory()); + if (tanks != null && window.isServer()) { + for (int i = 0; i < tanks.getTankInfos().length; ++i) { + TankInfo tank = tanks.getTankInfos()[i]; + if (!getTankInfo(i).equals(tank)) { + syncedNBT.put("tank-update-" + i, createTankNBT(i, tank)); + syncedTanks.put(i, tank); + } + } + } - if (powered != null && window.isServer()) { - syncedNBT.put("power-update", createPowerNBT(powered.getPowerInfo())); - } - if (process != null && window.isServer()) { - syncedNBT.put("process-update", createProcessNBT(process.getInfo())); - } - if (error != null && window.isServer()) { - syncedNBT.put("error-update", createErrorNBT(error)); - } + if (powered != null && window.isServer()) { + syncedNBT.put("power-update", createPowerNBT(powered.getPowerInfo())); + } + if (process != null && window.isServer()) { + syncedNBT.put("process-update", createProcessNBT(process.getInfo())); + } + if (error != null && window.isServer()) { + syncedNBT.put("error-update", createErrorNBT(error)); + } - INetwork.SendGuiNBT machineSync = Machine.getInterface(INetwork.SendGuiNBT.class, window.getInventory()); - if (machineSync != null) { - machineSync.sendGuiNBT(syncedNBT); - } + INetwork.SendGuiNBT machineSync = Machine.getInterface(INetwork.SendGuiNBT.class, window.getInventory()); + if (machineSync != null) { + machineSync.sendGuiNBT(syncedNBT); + } - Map sentThisTime = new HashMap<>(); - for (Map.Entry nbt : syncedNBT.entrySet()) { - nbt.getValue().setString("type", nbt.getKey()); - boolean shouldSend = true; - NBTTagCompound lastSent = sentNBT.get(nbt.getKey()); - if (lastSent != null) { - shouldSend = !lastSent.equals(nbt.getValue()); - } + Map sentThisTime = new HashMap<>(); + for (Map.Entry nbt : syncedNBT.entrySet()) { + nbt.getValue().setString("type", nbt.getKey()); + boolean shouldSend = true; + NBTTagCompound lastSent = sentNBT.get(nbt.getKey()); + if (lastSent != null) { + shouldSend = !lastSent.equals(nbt.getValue()); + } - if (shouldSend) { - for (Object crafter : crafters) { - if (crafter instanceof EntityPlayerMP) { - EntityPlayerMP player = (EntityPlayerMP) crafter; - BinnieCore.proxy.sendToPlayer(new MessageContainerUpdate(nbt.getValue()), player); - } - } - sentThisTime.put(nbt.getKey(), nbt.getValue()); - } - } + if (shouldSend) { + for (Object crafter : crafters) { + if (crafter instanceof EntityPlayerMP) { + EntityPlayerMP player = (EntityPlayerMP) crafter; + BinnieCore.proxy.sendToPlayer(new MessageContainerUpdate(nbt.getValue()), player); + } + } + sentThisTime.put(nbt.getKey(), nbt.getValue()); + } + } - sentNBT.putAll(sentThisTime); - syncedNBT.clear(); - } + sentNBT.putAll(sentThisTime); + syncedNBT.clear(); + } - private NBTTagCompound createErrorNBT(IErrorStateSource error) { - NBTTagCompound nbt = new NBTTagCompound(); - ErrorState state = null; - if (error.canWork() != null) { - nbt.setByte("type", (byte) 0); - state = error.canWork(); - } else if (error.canProgress() != null) { - nbt.setByte("type", (byte) 1); - state = error.canProgress(); - } + private NBTTagCompound createErrorNBT(IErrorStateSource error) { + NBTTagCompound nbt = new NBTTagCompound(); + ErrorState state = null; + if (error.canWork() != null) { + nbt.setByte("type", (byte) 0); + state = error.canWork(); + } else if (error.canProgress() != null) { + nbt.setByte("type", (byte) 1); + state = error.canProgress(); + } - if (state != null) { - state.writeToNBT(nbt); - } - return nbt; - } + if (state != null) { + state.writeToNBT(nbt); + } + return nbt; + } - public NBTTagCompound createPowerNBT(PowerInfo powerInfo) { - NBTTagCompound nbt = new NBTTagCompound(); - powerInfo.writeToNBT(nbt); - return nbt; - } + public NBTTagCompound createPowerNBT(PowerInfo powerInfo) { + NBTTagCompound nbt = new NBTTagCompound(); + powerInfo.writeToNBT(nbt); + return nbt; + } - public NBTTagCompound createProcessNBT(ProcessInfo powerInfo) { - NBTTagCompound nbt = new NBTTagCompound(); - powerInfo.writeToNBT(nbt); - return nbt; - } + public NBTTagCompound createProcessNBT(ProcessInfo powerInfo) { + NBTTagCompound nbt = new NBTTagCompound(); + powerInfo.writeToNBT(nbt); + return nbt; + } - public NBTTagCompound createTankNBT(int tank, TankInfo tankInfo) { - NBTTagCompound nbt = new NBTTagCompound(); - tankInfo.writeToNBT(nbt); - nbt.setByte("tank", (byte) tank); - return nbt; - } + public NBTTagCompound createTankNBT(int tank, TankInfo tankInfo) { + NBTTagCompound nbt = new NBTTagCompound(); + tankInfo.writeToNBT(nbt); + nbt.setByte("tank", (byte) tank); + return nbt; + } - public void onTankUpdate(NBTTagCompound nbt) { - int tankID = nbt.getByte("tank"); - TankInfo tank = new TankInfo(); - tank.readFromNBT(nbt); - syncedTanks.put(tankID, tank); - } + public void onTankUpdate(NBTTagCompound nbt) { + int tankID = nbt.getByte("tank"); + TankInfo tank = new TankInfo(); + tank.readFromNBT(nbt); + syncedTanks.put(tankID, tank); + } - public void onProcessUpdate(NBTTagCompound nbt) { - (syncedProcess = new ProcessInfo()).readFromNBT(nbt); - } + public void onProcessUpdate(NBTTagCompound nbt) { + (syncedProcess = new ProcessInfo()).readFromNBT(nbt); + } - public void onPowerUpdate(NBTTagCompound nbt) { - syncedPower = new PowerInfo(); - syncedPower.readFromNBT(nbt); - } + public void onPowerUpdate(NBTTagCompound nbt) { + syncedPower = new PowerInfo(); + syncedPower.readFromNBT(nbt); + } - public PowerInfo getPowerInfo() { - return syncedPower; - } + public PowerInfo getPowerInfo() { + return syncedPower; + } - public ProcessInfo getProcessInfo() { - return syncedProcess; - } + public ProcessInfo getProcessInfo() { + return syncedProcess; + } - public TankInfo getTankInfo(int tank) { - return syncedTanks.containsKey(tank) - ? syncedTanks.get(tank) - : new TankInfo(); - } + public TankInfo getTankInfo(int tank) { + return syncedTanks.containsKey(tank) ? syncedTanks.get(tank) : new TankInfo(); + } - public void onErrorUpdate(NBTTagCompound nbt) { - errorType = nbt.getByte("type"); - if (nbt.hasKey("name")) { - error = new ErrorState("", ""); - error.readFromNBT(nbt); - } else { - error = null; - } - } + public void onErrorUpdate(NBTTagCompound nbt) { + errorType = nbt.getByte("type"); + if (nbt.hasKey("name")) { + error = new ErrorState("", ""); + error.readFromNBT(nbt); + } else { + error = null; + } + } - public ErrorState getErrorState() { - return error; - } + public ErrorState getErrorState() { + return error; + } - public int getErrorType() { - return errorType; - } + public int getErrorType() { + return errorType; + } - public CustomSlot[] getCustomSlots() { - List slots = new ArrayList<>(); - for (Object object : inventorySlots) { - if (object instanceof CustomSlot) { - slots.add((CustomSlot) object); - } - } - return slots.toArray(new CustomSlot[0]); - } + public CustomSlot[] getCustomSlots() { + List slots = new ArrayList<>(); + for (Object object : inventorySlots) { + if (object instanceof CustomSlot) { + slots.add((CustomSlot) object); + } + } + return slots.toArray(new CustomSlot[0]); + } - public void setMouseOverSlot(Slot slot) { - if (slot.slotNumber == mousedOverSlotNumber) { - return; - } + public void setMouseOverSlot(Slot slot) { + if (slot.slotNumber == mousedOverSlotNumber) { + return; + } - mousedOverSlotNumber = slot.slotNumber; - ControlSlot.highlighting.get(EnumHighlighting.SHIFT_CLICK).clear(); - NBTTagCompound nbt = new NBTTagCompound(); - nbt.setShort("slot", (short) slot.slotNumber); - window.sendClientAction("mouse-over-slot", nbt); - } + mousedOverSlotNumber = slot.slotNumber; + ControlSlot.highlighting.get(EnumHighlighting.SHIFT_CLICK).clear(); + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setShort("slot", (short) slot.slotNumber); + window.sendClientAction("mouse-over-slot", nbt); + } - private void onMouseOverSlot(EntityPlayer player, NBTTagCompound data) { - int slotnumber = data.getShort("slot"); - TransferRequest request = getShiftClickRequest(player, slotnumber); - if (request == null) { - return; - } + private void onMouseOverSlot(EntityPlayer player, NBTTagCompound data) { + int slotnumber = data.getShort("slot"); + TransferRequest request = getShiftClickRequest(player, slotnumber); + if (request == null) { + return; + } - request.transfer(false); - NBTTagCompound nbt = new NBTTagCompound(); - List slots = new ArrayList<>(); - for (TransferRequest.TransferSlot tslot : request.getInsertedSlots()) { - Slot slot = getSlot(tslot.inventory, tslot.id); - if (slot != null) { - slots.add(slot.slotNumber); - } - } + request.transfer(false); + NBTTagCompound nbt = new NBTTagCompound(); + List slots = new ArrayList<>(); + for (TransferRequest.TransferSlot tslot : request.getInsertedSlots()) { + Slot slot = getSlot(tslot.inventory, tslot.id); + if (slot != null) { + slots.add(slot.slotNumber); + } + } - int[] array = new int[slots.size()]; - for (int i = 0; i < slots.size(); ++i) { - array[i] = slots.get(i); - } + int[] array = new int[slots.size()]; + for (int i = 0; i < slots.size(); ++i) { + array[i] = slots.get(i); + } - nbt.setIntArray("slots", array); - nbt.setShort("origin", (short) slotnumber); - syncedNBT.put("shift-click-info", nbt); - } + nbt.setIntArray("slots", array); + nbt.setShort("origin", (short) slotnumber); + syncedNBT.put("shift-click-info", nbt); + } - private void onRecieveShiftClickHighlights(EntityPlayer player, NBTTagCompound data) { - ControlSlot.highlighting.get(EnumHighlighting.SHIFT_CLICK).clear(); - for (int slotnumber : data.getIntArray("slots")) { - ControlSlot.highlighting.get(EnumHighlighting.SHIFT_CLICK).add(slotnumber); - } - } + private void onRecieveShiftClickHighlights(EntityPlayer player, NBTTagCompound data) { + ControlSlot.highlighting.get(EnumHighlighting.SHIFT_CLICK).clear(); + for (int slotnumber : data.getIntArray("slots")) { + ControlSlot.highlighting.get(EnumHighlighting.SHIFT_CLICK).add(slotnumber); + } + } - private CustomSlot getSlot(IInventory inventory, int id) { - for (Object o : inventorySlots) { - CustomSlot slot = (CustomSlot) o; - if (slot.inventory == inventory && slot.getSlotIndex() == id) { - return slot; - } - } - return null; - } + private CustomSlot getSlot(IInventory inventory, int id) { + for (Object o : inventorySlots) { + CustomSlot slot = (CustomSlot) o; + if (slot.inventory == inventory && slot.getSlotIndex() == id) { + return slot; + } + } + return null; + } - public void recieveNBT(Side side, EntityPlayer player, NBTTagCompound action) { - String name = action.getString("type"); - if (handleNBT(side, player, name, action)) { - return; - } + public void recieveNBT(Side side, EntityPlayer player, NBTTagCompound action) { + String name = action.getString("type"); + if (handleNBT(side, player, name, action)) { + return; + } - window.recieveGuiNBT(getSide(), player, name, action); - INetwork.RecieveGuiNBT machine = Machine.getInterface(INetwork.RecieveGuiNBT.class, window.getInventory()); - if (machine != null) { - machine.recieveGuiNBT(getSide(), player, name, action); - } - } + window.recieveGuiNBT(getSide(), player, name, action); + INetwork.RecieveGuiNBT machine = Machine.getInterface(INetwork.RecieveGuiNBT.class, window.getInventory()); + if (machine != null) { + machine.recieveGuiNBT(getSide(), player, name, action); + } + } - public Slot getOrCreateSlot(InventoryType type, int index) { - IInventory inventory = getInventory(type); - Slot slot = getSlot(inventory, index); - if (slot == null) { - slot = new CustomSlot(inventory, index); - addSlotToContainer(slot); - } + public Slot getOrCreateSlot(InventoryType type, int index) { + IInventory inventory = getInventory(type); + Slot slot = getSlot(inventory, index); + if (slot == null) { + slot = new CustomSlot(inventory, index); + addSlotToContainer(slot); + } - NBTTagCompound nbt = new NBTTagCompound(); - nbt.setByte("t", (byte) type.ordinal()); - nbt.setShort("i", (short) index); - nbt.setShort("n", (short) slot.slotNumber); - window.sendClientAction("slot-reg", nbt); - return slot; - } + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setByte("t", (byte) type.ordinal()); + nbt.setShort("i", (short) index); + nbt.setShort("n", (short) slot.slotNumber); + window.sendClientAction("slot-reg", nbt); + return slot; + } - protected IInventory getInventory(InventoryType type) { - if (type == InventoryType.Machine) { - return window.getInventory(); - } - if (type == InventoryType.Player) { - return window.getPlayer().inventory; - } - if (type == InventoryType.Window) { - return window.getWindowInventory(); - } - return null; - } + protected IInventory getInventory(InventoryType type) { + if (type == InventoryType.Machine) { + return window.getInventory(); + } + if (type == InventoryType.Player) { + return window.getPlayer().inventory; + } + if (type == InventoryType.Window) { + return window.getWindowInventory(); + } + return null; + } - private Slot getOrCreateSlot(InventoryType type, int index, int slotNumber) { - IInventory inventory = getInventory(type); - if (inventorySlots.get(slotNumber) != null) { - return null; - } + private Slot getOrCreateSlot(InventoryType type, int index, int slotNumber) { + IInventory inventory = getInventory(type); + if (inventorySlots.get(slotNumber) != null) { + return null; + } - Slot slot = new CustomSlot(inventory, index); - slot.slotNumber = slotNumber; - inventorySlots.add(slotNumber, slot); - inventoryItemStacks.add(slotNumber, null); - return slot; - } + Slot slot = new CustomSlot(inventory, index); + slot.slotNumber = slotNumber; + inventorySlots.add(slotNumber, slot); + inventoryItemStacks.add(slotNumber, null); + return slot; + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/CustomSlot.java b/src/main/java/binnie/core/craftgui/minecraft/CustomSlot.java index 72cd30ac..9e836151 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/CustomSlot.java +++ b/src/main/java/binnie/core/craftgui/minecraft/CustomSlot.java @@ -9,36 +9,36 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class CustomSlot extends Slot { - public CustomSlot(IInventory inventory, int index) { - super(inventory, index, 0, 0); - } + public CustomSlot(IInventory inventory, int index) { + super(inventory, index, 0, 0); + } - @Override - public boolean isItemValid(ItemStack par1ItemStack) { - return inventory.isItemValidForSlot(getSlotIndex(), par1ItemStack); - } + @Override + public boolean isItemValid(ItemStack par1ItemStack) { + return inventory.isItemValidForSlot(getSlotIndex(), par1ItemStack); + } - public InventorySlot getInventorySlot() { - IInventorySlots slots = Machine.getInterface(IInventorySlots.class, inventory); - if (slots != null) { - return slots.getSlot(getSlotIndex()); - } - return null; - } + public InventorySlot getInventorySlot() { + IInventorySlots slots = Machine.getInterface(IInventorySlots.class, inventory); + if (slots != null) { + return slots.getSlot(getSlotIndex()); + } + return null; + } - public boolean handleClick() { - InventorySlot slot = getInventorySlot(); - return slot != null && slot.isRecipe(); - } + public boolean handleClick() { + InventorySlot slot = getInventorySlot(); + return slot != null && slot.isRecipe(); + } - public void onSlotClick(ContainerCraftGUI container, int mouseButton, int modifier, EntityPlayer player) { - ItemStack stack = player.inventory.getItemStack(); - if (stack == null || mouseButton == 2) { - putStack(null); - } else { - stack = stack.copy(); - stack.stackSize = 1; - putStack(stack); - } - } + public void onSlotClick(ContainerCraftGUI container, int mouseButton, int modifier, EntityPlayer player) { + ItemStack stack = player.inventory.getItemStack(); + if (stack == null || mouseButton == 2) { + putStack(null); + } else { + stack = stack.copy(); + stack.stackSize = 1; + putStack(stack); + } + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/Dialog.java b/src/main/java/binnie/core/craftgui/minecraft/Dialog.java index 2cbabe76..213e4c57 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/Dialog.java +++ b/src/main/java/binnie/core/craftgui/minecraft/Dialog.java @@ -10,39 +10,39 @@ import binnie.core.craftgui.geometry.IPoint; import binnie.core.craftgui.resource.minecraft.CraftGUITexture; public abstract class Dialog extends Control { - public Dialog(IWidget parent, float w, float h) { - super(parent, (parent.w() - w) / 2.0f, (parent.h() - h) / 2.0f, w, h); - addAttribute(WidgetAttribute.MOUSE_OVER); - addAttribute(WidgetAttribute.ALWAYS_ON_TOP); - addAttribute(WidgetAttribute.BLOCK_TOOLTIP); - initialise(); - addEventHandler(new MouseDownHandler().setOrigin(EventHandler.Origin.Any, this)); - } + public Dialog(IWidget parent, float w, float h) { + super(parent, (parent.w() - w) / 2.0f, (parent.h() - h) / 2.0f, w, h); + addAttribute(WidgetAttribute.MOUSE_OVER); + addAttribute(WidgetAttribute.ALWAYS_ON_TOP); + addAttribute(WidgetAttribute.BLOCK_TOOLTIP); + initialise(); + addEventHandler(new MouseDownHandler().setOrigin(EventHandler.Origin.Any, this)); + } - @Override - public abstract void initialise(); + @Override + public abstract void initialise(); - public abstract void onClose(); + public abstract void onClose(); - @Override - public void onRenderBackground() { - CraftGUI.render.gradientRect(getArea().outset(400), -1442840576, -1442840576); - CraftGUI.render.texture(CraftGUITexture.Window, getArea()); - CraftGUI.render.texture(CraftGUITexture.TabOutline, getArea().inset(4)); - } + @Override + public void onRenderBackground() { + CraftGUI.render.gradientRect(getArea().outset(400), -1442840576, -1442840576); + CraftGUI.render.texture(CraftGUITexture.Window, getArea()); + CraftGUI.render.texture(CraftGUITexture.TabOutline, getArea().inset(4)); + } - @Override - public boolean isMouseOverWidget(IPoint relativeMouse) { - return true; - } + @Override + public boolean isMouseOverWidget(IPoint relativeMouse) { + return true; + } - private class MouseDownHandler extends EventMouse.Down.Handler { - @Override - public void onEvent(EventMouse.Down event) { - if (!getArea().contains(getRelativeMousePosition())) { - onClose(); - getParent().deleteChild(Dialog.this); - } - } - } + private class MouseDownHandler extends EventMouse.Down.Handler { + @Override + public void onEvent(EventMouse.Down event) { + if (!getArea().contains(getRelativeMousePosition())) { + onClose(); + getParent().deleteChild(Dialog.this); + } + } + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/EnumColor.java b/src/main/java/binnie/core/craftgui/minecraft/EnumColor.java index 07093374..030b8762 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/EnumColor.java +++ b/src/main/java/binnie/core/craftgui/minecraft/EnumColor.java @@ -2,43 +2,43 @@ package binnie.core.craftgui.minecraft; // TODO replace to EnumChatFormatting? public enum EnumColor { - Black("Black", 0, '0'), - DarkBlue("Dark Blue", 170, '1'), - DarkGreen("Dark Green", 43520, '2'), - DarkAqua("Dark Aqua", 43690, '3'), - DarkRed("Dark Red", 11141120, '4'), - Purple("Purple", 11141290, '5'), - Gold("Gold", 16755200, '6'), - Grey("Grey", 11184810, '7'), - DarkGrey("Dark Grey", 5592405, '8'), - Blue("Blue", 5592575, '9'), - Green("Green", 5635925, 'a'), - Aqua("Aqua", 5636095, 'b'), - Red("Red", 16733525, 'c'), - Pink("Pink", 16733695, 'd'), - Yellow("Yellow", 16777045, 'e'), - White("White", 16777215, 'f'); + Black("Black", 0, '0'), + DarkBlue("Dark Blue", 170, '1'), + DarkGreen("Dark Green", 43520, '2'), + DarkAqua("Dark Aqua", 43690, '3'), + DarkRed("Dark Red", 11141120, '4'), + Purple("Purple", 11141290, '5'), + Gold("Gold", 16755200, '6'), + Grey("Grey", 11184810, '7'), + DarkGrey("Dark Grey", 5592405, '8'), + Blue("Blue", 5592575, '9'), + Green("Green", 5635925, 'a'), + Aqua("Aqua", 5636095, 'b'), + Red("Red", 16733525, 'c'), + Pink("Pink", 16733695, 'd'), + Yellow("Yellow", 16777045, 'e'), + White("White", 16777215, 'f'); - protected int colour; - protected String name; - protected char code; + protected int colour; + protected String name; + protected char code; - EnumColor(String name, int colour, char code) { - this.name = name; - this.colour = colour; - this.code = code; - } + EnumColor(String name, int colour, char code) { + this.name = name; + this.colour = colour; + this.code = code; + } - public int getColor() { - return colour; - } + public int getColor() { + return colour; + } - public String getCode() { - return "\u00a7" + code; - } + public String getCode() { + return "\u00a7" + code; + } - @Override - public String toString() { - return name; - } + @Override + public String toString() { + return name; + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/GUIIcon.java b/src/main/java/binnie/core/craftgui/minecraft/GUIIcon.java index 8e8dd48b..a70b85b0 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/GUIIcon.java +++ b/src/main/java/binnie/core/craftgui/minecraft/GUIIcon.java @@ -6,31 +6,31 @@ import binnie.core.resource.BinnieIcon; import net.minecraft.util.IIcon; public enum GUIIcon { - ArrowUp("arrow-up"), - ArrowDown("arrow-down"), - ArrowLeft("arrow-left"), - ArrowRight("arrow-right"), - ArrowUpLeft("arrow-upleft"), - ArrowUpRight("arrow-upright"), - ArrowRightUp("arrow-rightup"), - ArrowRightDown("arrow-rightdown"), - ArrowDownRight("arrow-downright"), - ArrowDownLeft("arrow-downleft"), - ArrowLeftDown("arrow-leftdown"), - ArrowLeftUp("arrow-leftup"); + ArrowUp("arrow-up"), + ArrowDown("arrow-down"), + ArrowLeft("arrow-left"), + ArrowRight("arrow-right"), + ArrowUpLeft("arrow-upleft"), + ArrowUpRight("arrow-upright"), + ArrowRightUp("arrow-rightup"), + ArrowRightDown("arrow-rightdown"), + ArrowDownRight("arrow-downright"), + ArrowDownLeft("arrow-downleft"), + ArrowLeftDown("arrow-leftdown"), + ArrowLeftUp("arrow-leftup"); - String path; - BinnieIcon icon; + String path; + BinnieIcon icon; - GUIIcon(String path) { - this.path = path; - } + GUIIcon(String path) { + this.path = path; + } - public void register() { - icon = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/" + path); - } + public void register() { + icon = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/" + path); + } - public IIcon getIcon() { - return icon.getIcon(); - } + public IIcon getIcon() { + return icon.getIcon(); + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/GuiCraftGUI.java b/src/main/java/binnie/core/craftgui/minecraft/GuiCraftGUI.java index 02a0f6c9..bb16a451 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/GuiCraftGUI.java +++ b/src/main/java/binnie/core/craftgui/minecraft/GuiCraftGUI.java @@ -10,6 +10,8 @@ import binnie.core.craftgui.geometry.IBorder; import binnie.core.craftgui.geometry.IPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.GuiScreen; @@ -28,450 +30,473 @@ import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse; import org.lwjgl.opengl.GL11; -import java.util.ArrayList; -import java.util.List; - @SideOnly(Side.CLIENT) public class GuiCraftGUI extends GuiContainer { - private Window window; - private ItemStack draggedItem; + private Window window; + private ItemStack draggedItem; - public GuiCraftGUI(Window window) { - super(window.getContainer()); - this.window = window; - resize(window.getSize()); - } + public GuiCraftGUI(Window window) { + super(window.getContainer()); + this.window = window; + resize(window.getSize()); + } - @Override - public void updateScreen() { - window.updateClient(); - } + @Override + public void updateScreen() { + window.updateClient(); + } - public Minecraft getMinecraft() { - return mc; - } + public Minecraft getMinecraft() { + return mc; + } - @Override - protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) { - // ignored - } + @Override + protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) { + // ignored + } - @Override - public void initGui() { - super.initGui(); - mc.thePlayer.openContainer = inventorySlots; - guiLeft = (width - xSize) / 2; - guiTop = (height - ySize) / 2; - window.setSize(new IPoint(xSize, ySize)); - window.setPosition(new IPoint(guiLeft, guiTop)); - window.initGui(); - } + @Override + public void initGui() { + super.initGui(); + mc.thePlayer.openContainer = inventorySlots; + guiLeft = (width - xSize) / 2; + guiTop = (height - ySize) / 2; + window.setSize(new IPoint(xSize, ySize)); + window.setPosition(new IPoint(guiLeft, guiTop)); + window.initGui(); + } - public ItemStack getDraggedItem() { - return draggedItem; - } + public ItemStack getDraggedItem() { + return draggedItem; + } - @Override - public void drawScreen(int mouseX, int mouseY, float par3) { - window.setMousePosition(mouseX - (int) window.getPosition().x(), mouseY - (int) window.getPosition().y()); - drawDefaultBackground(); + @Override + public void drawScreen(int mouseX, int mouseY, float par3) { + window.setMousePosition( + mouseX - (int) window.getPosition().x(), + mouseY - (int) window.getPosition().y()); + drawDefaultBackground(); - GL11.glDisable(32826); // GL_RESCALE_NORMAL_EXT - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); - zLevel = 10.0f; - GuiScreen.itemRender.zLevel = zLevel; + GL11.glDisable(32826); // GL_RESCALE_NORMAL_EXT + RenderHelper.disableStandardItemLighting(); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_DEPTH_TEST); + zLevel = 10.0f; + GuiScreen.itemRender.zLevel = zLevel; - window.render(); + window.render(); - RenderHelper.enableGUIStandardItemLighting(); - GL11.glPushMatrix(); - GL11.glEnable(32826); // GL_RESCALE_NORMAL_EXT - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0f, 240.0f); - InventoryPlayer playerInventory = mc.thePlayer.inventory; - draggedItem = playerInventory.getItemStack(); - if (draggedItem != null) { - renderItem(new IPoint(mouseX - 8, mouseY - 8), draggedItem, false); - renderItem(new IPoint(mouseX - 8, mouseY - 8), draggedItem, false); - } - GL11.glDisable(32826); // GL_RESCALE_NORMAL_EXT - GL11.glPopMatrix(); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); - MinecraftTooltip tooltip = new MinecraftTooltip(); - if (isHelpMode()) { - tooltip.setType(Tooltip.Type.HELP); - window.getHelpTooltip(tooltip); - } else { - tooltip.setType(Tooltip.Type.STANDARD); - window.getTooltip(tooltip); - } + RenderHelper.enableGUIStandardItemLighting(); + GL11.glPushMatrix(); + GL11.glEnable(32826); // GL_RESCALE_NORMAL_EXT + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0f, 240.0f); + InventoryPlayer playerInventory = mc.thePlayer.inventory; + draggedItem = playerInventory.getItemStack(); + if (draggedItem != null) { + renderItem(new IPoint(mouseX - 8, mouseY - 8), draggedItem, false); + renderItem(new IPoint(mouseX - 8, mouseY - 8), draggedItem, false); + } + GL11.glDisable(32826); // GL_RESCALE_NORMAL_EXT + GL11.glPopMatrix(); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_DEPTH_TEST); + MinecraftTooltip tooltip = new MinecraftTooltip(); + if (isHelpMode()) { + tooltip.setType(Tooltip.Type.HELP); + window.getHelpTooltip(tooltip); + } else { + tooltip.setType(Tooltip.Type.STANDARD); + window.getTooltip(tooltip); + } - if (tooltip.exists()) { - renderTooltip(new IPoint(mouseX, mouseY), tooltip); - } - zLevel = 0.0f; - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_DEPTH_TEST); - } + if (tooltip.exists()) { + renderTooltip(new IPoint(mouseX, mouseY), tooltip); + } + zLevel = 0.0f; + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_DEPTH_TEST); + } - public void renderTooltip(IPoint mousePosition, MinecraftTooltip tooltip) { - int mouseX = (int) mousePosition.x(); - int mouseY = (int) mousePosition.y(); - FontRenderer font = getFontRenderer(); - GL11.glDisable(32826); // GL_RESCALE_NORMAL_EXT - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); + public void renderTooltip(IPoint mousePosition, MinecraftTooltip tooltip) { + int mouseX = (int) mousePosition.x(); + int mouseY = (int) mousePosition.y(); + FontRenderer font = getFontRenderer(); + GL11.glDisable(32826); // GL_RESCALE_NORMAL_EXT + RenderHelper.disableStandardItemLighting(); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_DEPTH_TEST); - int k = 0; - List strings = new ArrayList<>(); - for (String string : tooltip.getList()) { - if (string != null) { - if (!string.contains("~~~")) { - strings.addAll(font.listFormattedStringToWidth(string, tooltip.maxWidth)); - } else { - strings.add(string); - } - } - } + int k = 0; + List strings = new ArrayList<>(); + for (String string : tooltip.getList()) { + if (string != null) { + if (!string.contains("~~~")) { + strings.addAll(font.listFormattedStringToWidth(string, tooltip.maxWidth)); + } else { + strings.add(string); + } + } + } - for (String s : strings) { - int l = font.getStringWidth(s); - if (s.contains("~~~")) { - l = 12 + font.getStringWidth(s.replaceAll("~~~(.*?)~~~", "")); - } - if (l > k) { - k = l; - } - } + for (String s : strings) { + int l = font.getStringWidth(s); + if (s.contains("~~~")) { + l = 12 + font.getStringWidth(s.replaceAll("~~~(.*?)~~~", "")); + } + if (l > k) { + k = l; + } + } - int i1 = mouseX + 12; - int j1 = mouseY - 12; - int k2 = 8; - if (strings.size() > 1) { - k2 += 2 + (strings.size() - 1) * 10; - } - if (i1 + k > width) { - i1 -= 28 + k; - } - if (j1 + k2 + 6 > height) { - j1 = height - k2 - 6; - } - zLevel = 300.0f; - GuiScreen.itemRender.zLevel = 300.0f; - int l2 = 0xf0100010; - int j2; - int i2 = j2 = 0x50000000 + MinecraftTooltip.getOutline(tooltip.getType()); + int i1 = mouseX + 12; + int j1 = mouseY - 12; + int k2 = 8; + if (strings.size() > 1) { + k2 += 2 + (strings.size() - 1) * 10; + } + if (i1 + k > width) { + i1 -= 28 + k; + } + if (j1 + k2 + 6 > height) { + j1 = height - k2 - 6; + } + zLevel = 300.0f; + GuiScreen.itemRender.zLevel = 300.0f; + int l2 = 0xf0100010; + int j2; + int i2 = j2 = 0x50000000 + MinecraftTooltip.getOutline(tooltip.getType()); - drawGradientRect(i1 - 3, j1 - 4, i1 + k + 3, j1 - 3, l2, l2); - drawGradientRect(i1 - 3, j1 + k2 + 3, i1 + k + 3, j1 + k2 + 4, l2, l2); - drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 + k2 + 3, l2, l2); - drawGradientRect(i1 - 4, j1 - 3, i1 - 3, j1 + k2 + 3, l2, l2); - drawGradientRect(i1 + k + 3, j1 - 3, i1 + k + 4, j1 + k2 + 3, l2, l2); - drawGradientRect(i1 - 3, j1 - 3 + 1, i1 - 3 + 1, j1 + k2 + 3 - 1, i2, j2); - drawGradientRect(i1 + k + 2, j1 - 3 + 1, i1 + k + 3, j1 + k2 + 3 - 1, i2, j2); - drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 - 3 + 1, i2, i2); - drawGradientRect(i1 - 3, j1 + k2 + 2, i1 + k + 3, j1 + k2 + 3, j2, j2); + drawGradientRect(i1 - 3, j1 - 4, i1 + k + 3, j1 - 3, l2, l2); + drawGradientRect(i1 - 3, j1 + k2 + 3, i1 + k + 3, j1 + k2 + 4, l2, l2); + drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 + k2 + 3, l2, l2); + drawGradientRect(i1 - 4, j1 - 3, i1 - 3, j1 + k2 + 3, l2, l2); + drawGradientRect(i1 + k + 3, j1 - 3, i1 + k + 4, j1 + k2 + 3, l2, l2); + drawGradientRect(i1 - 3, j1 - 3 + 1, i1 - 3 + 1, j1 + k2 + 3 - 1, i2, j2); + drawGradientRect(i1 + k + 2, j1 - 3 + 1, i1 + k + 3, j1 + k2 + 3 - 1, i2, j2); + drawGradientRect(i1 - 3, j1 - 3, i1 + k + 3, j1 - 3 + 1, i2, i2); + drawGradientRect(i1 - 3, j1 + k2 + 2, i1 + k + 3, j1 + k2 + 3, j2, j2); - for (int k3 = 0; k3 < strings.size(); ++k3) { - String s2 = strings.get(k3); - if (k3 == 0) { - s2 = MinecraftTooltip.getTitle(tooltip.getType()) + s2; - } else { - s2 = MinecraftTooltip.getBody(tooltip.getType()) + s2; - } + for (int k3 = 0; k3 < strings.size(); ++k3) { + String s2 = strings.get(k3); + if (k3 == 0) { + s2 = MinecraftTooltip.getTitle(tooltip.getType()) + s2; + } else { + s2 = MinecraftTooltip.getBody(tooltip.getType()) + s2; + } - if (s2.contains("~~~")) { - String split = s2.split("~~~")[1]; - try { - NBTTagCompound nbt = (NBTTagCompound) JsonToNBT.func_150315_a(split); - ItemStack stack = ItemStack.loadItemStackFromNBT(nbt); - GL11.glPushMatrix(); - GL11.glTranslatef(i1, j1 - 1.5f, 0.0f); - GL11.glScalef(0.6f, 0.6f, 1.0f); - renderItem(new IPoint(0.0f, 0.0f), stack, false); - GL11.glPopMatrix(); - } catch (NBTException e) { - e.printStackTrace(); - } - s2 = " " + s2.replaceAll("~~~(.*?)~~~", ""); - } + if (s2.contains("~~~")) { + String split = s2.split("~~~")[1]; + try { + NBTTagCompound nbt = (NBTTagCompound) JsonToNBT.func_150315_a(split); + ItemStack stack = ItemStack.loadItemStackFromNBT(nbt); + GL11.glPushMatrix(); + GL11.glTranslatef(i1, j1 - 1.5f, 0.0f); + GL11.glScalef(0.6f, 0.6f, 1.0f); + renderItem(new IPoint(0.0f, 0.0f), stack, false); + GL11.glPopMatrix(); + } catch (NBTException e) { + e.printStackTrace(); + } + s2 = " " + s2.replaceAll("~~~(.*?)~~~", ""); + } - font.drawStringWithShadow(s2, i1, j1, -1); - if (k3 == 0) { - j1 += 2; - } - j1 += 10; - } + font.drawStringWithShadow(s2, i1, j1, -1); + if (k3 == 0) { + j1 += 2; + } + j1 += 10; + } - zLevel = 0.0f; - GuiScreen.itemRender.zLevel = 0.0f; - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_DEPTH_TEST); - RenderHelper.enableStandardItemLighting(); - GL11.glEnable(32826); // GL_RESCALE_NORMAL_EXT - } + zLevel = 0.0f; + GuiScreen.itemRender.zLevel = 0.0f; + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_DEPTH_TEST); + RenderHelper.enableStandardItemLighting(); + GL11.glEnable(32826); // GL_RESCALE_NORMAL_EXT + } - @Override - protected void mouseClicked(int x, int y, int button) { - IWidget origin = window; - if (window.getMousedOverWidget() != null) { - origin = window.getMousedOverWidget(); - } - window.callEvent(new EventMouse.Down(origin, x, y, button)); - } + @Override + protected void mouseClicked(int x, int y, int button) { + IWidget origin = window; + if (window.getMousedOverWidget() != null) { + origin = window.getMousedOverWidget(); + } + window.callEvent(new EventMouse.Down(origin, x, y, button)); + } - @Override - protected void keyTyped(char c, int key) { - if (key == 1 || (key == mc.gameSettings.keyBindInventory.getKeyCode() && window.getFocusedWidget() == null)) { - mc.thePlayer.closeScreen(); - } - IWidget origin = (window.getFocusedWidget() == null) ? window : window.getFocusedWidget(); - window.callEvent(new EventKey.Down(origin, c, key)); - } + @Override + protected void keyTyped(char c, int key) { + if (key == 1 || (key == mc.gameSettings.keyBindInventory.getKeyCode() && window.getFocusedWidget() == null)) { + mc.thePlayer.closeScreen(); + } + IWidget origin = (window.getFocusedWidget() == null) ? window : window.getFocusedWidget(); + window.callEvent(new EventKey.Down(origin, c, key)); + } - @Override - protected void mouseMovedOrUp(int x, int y, int button) { - IWidget origin = (window.getMousedOverWidget() == null) ? window : window.getMousedOverWidget(); - if (button != -1) { - window.callEvent(new EventMouse.Up(origin, x, y, button)); - } - } + @Override + protected void mouseMovedOrUp(int x, int y, int button) { + IWidget origin = (window.getMousedOverWidget() == null) ? window : window.getMousedOverWidget(); + if (button != -1) { + window.callEvent(new EventMouse.Up(origin, x, y, button)); + } + } - @Override - public void handleMouseInput() { - super.handleMouseInput(); - int dWheel = Mouse.getDWheel(); - if (dWheel != 0) { - window.callEvent(new EventMouse.Wheel(window, dWheel)); - } - } + @Override + public void handleMouseInput() { + super.handleMouseInput(); + int dWheel = Mouse.getDWheel(); + if (dWheel != 0) { + window.callEvent(new EventMouse.Wheel(window, dWheel)); + } + } - @Override - public void onGuiClosed() { - window.onClose(); - } + @Override + public void onGuiClosed() { + window.onClose(); + } - public void renderTexture(IPoint position, IArea textureArea) { - drawTexturedModalRect( - (int) position.x(), - (int) position.y(), - (int) textureArea.pos().x(), - (int) textureArea.pos().y(), - (int) textureArea.size().x(), - (int) textureArea.size().y() - ); - } + public void renderTexture(IPoint position, IArea textureArea) { + drawTexturedModalRect( + (int) position.x(), + (int) position.y(), + (int) textureArea.pos().x(), + (int) textureArea.pos().y(), + (int) textureArea.size().x(), + (int) textureArea.size().y()); + } - public void renderTexturePadded(IArea area, IArea texture, IBorder padding) { - int borderLeft = (int) padding.l(); - int borderRight = (int) padding.r(); - int borderTop = (int) padding.t(); - int borderBottom = (int) padding.b(); - int posX = (int) area.pos().x(); - int posY = (int) area.pos().y(); - int width = (int) area.size().x(); - int height = (int) area.size().y(); - int textWidth = (int) texture.w(); - int textHeight = (int) texture.h(); - int u = (int) texture.x(); - int v = (int) texture.y(); + public void renderTexturePadded(IArea area, IArea texture, IBorder padding) { + int borderLeft = (int) padding.l(); + int borderRight = (int) padding.r(); + int borderTop = (int) padding.t(); + int borderBottom = (int) padding.b(); + int posX = (int) area.pos().x(); + int posY = (int) area.pos().y(); + int width = (int) area.size().x(); + int height = (int) area.size().y(); + int textWidth = (int) texture.w(); + int textHeight = (int) texture.h(); + int u = (int) texture.x(); + int v = (int) texture.y(); - if (borderTop + borderBottom > height) { - borderTop = height / 2; - borderBottom = height / 2; - } + if (borderTop + borderBottom > height) { + borderTop = height / 2; + borderBottom = height / 2; + } - if (borderLeft + borderRight > width) { - borderLeft = width / 2; - borderRight = width / 2; - } + if (borderLeft + borderRight > width) { + borderLeft = width / 2; + borderRight = width / 2; + } - drawTexturedModalRect(posX, posY, u, v, borderLeft, borderTop); - drawTexturedModalRect(posX + width - borderRight, posY, u + textWidth - borderRight, v, borderRight, borderTop); - drawTexturedModalRect(posX, posY + height - borderBottom, u, v + textHeight - borderBottom, borderLeft, borderBottom); - drawTexturedModalRect(posX + width - borderRight, posY + height - borderBottom, u + textWidth - borderRight, v + textHeight - borderBottom, borderRight, borderBottom); + drawTexturedModalRect(posX, posY, u, v, borderLeft, borderTop); + drawTexturedModalRect(posX + width - borderRight, posY, u + textWidth - borderRight, v, borderRight, borderTop); + drawTexturedModalRect( + posX, posY + height - borderBottom, u, v + textHeight - borderBottom, borderLeft, borderBottom); + drawTexturedModalRect( + posX + width - borderRight, + posY + height - borderBottom, + u + textWidth - borderRight, + v + textHeight - borderBottom, + borderRight, + borderBottom); - int texturingWidth; - for (int currentXPos = borderLeft; currentXPos < width - borderRight; currentXPos += texturingWidth) { - int distanceXRemaining = width - borderRight - currentXPos; - texturingWidth = textWidth - borderLeft - borderRight; - if (texturingWidth > distanceXRemaining) { - texturingWidth = distanceXRemaining; - } + int texturingWidth; + for (int currentXPos = borderLeft; currentXPos < width - borderRight; currentXPos += texturingWidth) { + int distanceXRemaining = width - borderRight - currentXPos; + texturingWidth = textWidth - borderLeft - borderRight; + if (texturingWidth > distanceXRemaining) { + texturingWidth = distanceXRemaining; + } - if (texturingWidth <= 0) { - break; - } + if (texturingWidth <= 0) { + break; + } - drawTexturedModalRect(posX + currentXPos, posY, u + borderLeft, v, texturingWidth, borderTop); - drawTexturedModalRect(posX + currentXPos, posY + height - borderBottom, u + borderLeft, v + textHeight - borderBottom, texturingWidth, borderBottom); - int texturingHeight; - for (int currentYPos = borderTop; currentYPos < height - borderBottom; currentYPos += texturingHeight) { - int distanceYRemaining = height - borderBottom - currentYPos; - texturingHeight = textHeight - borderTop - borderBottom; - if (texturingHeight > distanceYRemaining) { - texturingHeight = distanceYRemaining; - } - if (texturingHeight <= 0) { - break; - } - drawTexturedModalRect(posX + currentXPos, posY + currentYPos, u + borderLeft, v + borderTop, texturingWidth, texturingHeight); - } - } + drawTexturedModalRect(posX + currentXPos, posY, u + borderLeft, v, texturingWidth, borderTop); + drawTexturedModalRect( + posX + currentXPos, + posY + height - borderBottom, + u + borderLeft, + v + textHeight - borderBottom, + texturingWidth, + borderBottom); + int texturingHeight; + for (int currentYPos = borderTop; currentYPos < height - borderBottom; currentYPos += texturingHeight) { + int distanceYRemaining = height - borderBottom - currentYPos; + texturingHeight = textHeight - borderTop - borderBottom; + if (texturingHeight > distanceYRemaining) { + texturingHeight = distanceYRemaining; + } + if (texturingHeight <= 0) { + break; + } + drawTexturedModalRect( + posX + currentXPos, + posY + currentYPos, + u + borderLeft, + v + borderTop, + texturingWidth, + texturingHeight); + } + } - int texturingHeight2; - for (int currentYPos2 = borderTop; currentYPos2 < height - borderBottom; currentYPos2 += texturingHeight2) { - int distanceYRemaining2 = height - borderBottom - currentYPos2; - texturingHeight2 = textHeight - borderTop - borderBottom; - if (texturingHeight2 > distanceYRemaining2) { - texturingHeight2 = distanceYRemaining2; - } + int texturingHeight2; + for (int currentYPos2 = borderTop; currentYPos2 < height - borderBottom; currentYPos2 += texturingHeight2) { + int distanceYRemaining2 = height - borderBottom - currentYPos2; + texturingHeight2 = textHeight - borderTop - borderBottom; + if (texturingHeight2 > distanceYRemaining2) { + texturingHeight2 = distanceYRemaining2; + } - if (texturingHeight2 <= 0) { - break; - } - drawTexturedModalRect(posX, posY + currentYPos2, u, v + borderTop, borderLeft, texturingHeight2); - drawTexturedModalRect(posX + width - borderRight, posY + currentYPos2, u + textWidth - borderRight, v + borderTop, borderRight, texturingHeight2); - } - } + if (texturingHeight2 <= 0) { + break; + } + drawTexturedModalRect(posX, posY + currentYPos2, u, v + borderTop, borderLeft, texturingHeight2); + drawTexturedModalRect( + posX + width - borderRight, + posY + currentYPos2, + u + textWidth - borderRight, + v + borderTop, + borderRight, + texturingHeight2); + } + } - public void drawGradientArea(float x, float y, float width, float height, int color1, int color2) { - float alpha1 = (color1 >> 24 & 0xFF) / 255.0f; - float r1 = (color1 >> 16 & 0xFF) / 255.0f; - float b1 = (color1 >> 8 & 0xFF) / 255.0f; - float g1 = (color1 & 0xFF) / 255.0f; + public void drawGradientArea(float x, float y, float width, float height, int color1, int color2) { + float alpha1 = (color1 >> 24 & 0xFF) / 255.0f; + float r1 = (color1 >> 16 & 0xFF) / 255.0f; + float b1 = (color1 >> 8 & 0xFF) / 255.0f; + float g1 = (color1 & 0xFF) / 255.0f; - float alpha2 = (color2 >> 24 & 0xFF) / 255.0f; - float r2 = (color2 >> 16 & 0xFF) / 255.0f; - float g2 = (color2 >> 8 & 0xFF) / 255.0f; - float b2 = (color2 & 0xFF) / 255.0f; + float alpha2 = (color2 >> 24 & 0xFF) / 255.0f; + float r2 = (color2 >> 16 & 0xFF) / 255.0f; + float g2 = (color2 >> 8 & 0xFF) / 255.0f; + float b2 = (color2 & 0xFF) / 255.0f; - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); - GL11.glShadeModel(GL11.GL_SMOOTH); - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(r1, b1, g1, alpha1); - tessellator.addVertex(width, y, zLevel); - tessellator.addVertex(x, y, zLevel); - tessellator.setColorRGBA_F(r2, g2, b2, alpha2); - tessellator.addVertex(x, height, zLevel); - tessellator.addVertex(width, height, zLevel); - tessellator.draw(); - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_TEXTURE_2D); - } + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + tessellator.setColorRGBA_F(r1, b1, g1, alpha1); + tessellator.addVertex(width, y, zLevel); + tessellator.addVertex(x, y, zLevel); + tessellator.setColorRGBA_F(r2, g2, b2, alpha2); + tessellator.addVertex(x, height, zLevel); + tessellator.addVertex(width, height, zLevel); + tessellator.draw(); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_TEXTURE_2D); + } - public void renderItem(IPoint pos, ItemStack item, boolean rotating) { - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0f, 240.0f); - GL11.glPushAttrib(8256); - RenderHelper.enableGUIStandardItemLighting(); - GL11.glEnable(GL11.GL_DEPTH_TEST); - FontRenderer font = item.getItem().getFontRenderer(item); - if (font == null) { - font = getFontRenderer(); - } + public void renderItem(IPoint pos, ItemStack item, boolean rotating) { + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0f, 240.0f); + GL11.glPushAttrib(8256); + RenderHelper.enableGUIStandardItemLighting(); + GL11.glEnable(GL11.GL_DEPTH_TEST); + FontRenderer font = item.getItem().getFontRenderer(item); + if (font == null) { + font = getFontRenderer(); + } - BinnieCore.proxy.getMinecraftInstance(); - float phase = Minecraft.getSystemTime() / 20.0f; - - if (rotating) { - GL11.glPushMatrix(); - GL11.glTranslatef(8.0f, 8.0f, 0.0f); - GL11.glRotatef(phase, 0.0f, -0.866f, 0.5f); - GL11.glTranslatef(-8.0f, -8.0f, -67.1f); - } + BinnieCore.proxy.getMinecraftInstance(); + float phase = Minecraft.getSystemTime() / 20.0f; - GuiScreen.itemRender.renderItemAndEffectIntoGUI(font, mc.renderEngine, item, (int) pos.x(), (int) pos.y()); - if (rotating) { - GL11.glPopMatrix(); - } + if (rotating) { + GL11.glPushMatrix(); + GL11.glTranslatef(8.0f, 8.0f, 0.0f); + GL11.glRotatef(phase, 0.0f, -0.866f, 0.5f); + GL11.glTranslatef(-8.0f, -8.0f, -67.1f); + } - GuiScreen.itemRender.renderItemOverlayIntoGUI(font, mc.renderEngine, item, (int) pos.x(), (int) pos.y(), null); - GL11.glClear(256); - RenderHelper.disableStandardItemLighting(); - GL11.glPopAttrib(); - } + GuiScreen.itemRender.renderItemAndEffectIntoGUI(font, mc.renderEngine, item, (int) pos.x(), (int) pos.y()); + if (rotating) { + GL11.glPopMatrix(); + } - public void renderIcon(IPoint pos, IIcon icon, ResourceLocation map) { - if (icon == null) { - return; - } + GuiScreen.itemRender.renderItemOverlayIntoGUI(font, mc.renderEngine, item, (int) pos.x(), (int) pos.y(), null); + GL11.glClear(256); + RenderHelper.disableStandardItemLighting(); + GL11.glPopAttrib(); + } - GL11.glPushMatrix(); - GL11.glEnable(32826); // GL_RESCALE_NORMAL_EXT - BinnieCore.proxy.bindTexture(map); - GuiScreen.itemRender.zLevel = zLevel; - GuiScreen.itemRender.renderIcon((int) pos.x(), (int) pos.y(), icon, 16, 16); - GL11.glEnable(32826); // GL_RESCALE_NORMAL_EXT - GL11.glPopMatrix(); - } + public void renderIcon(IPoint pos, IIcon icon, ResourceLocation map) { + if (icon == null) { + return; + } - public boolean isHelpMode() { - return Keyboard.isKeyDown(Keyboard.KEY_TAB); - } + GL11.glPushMatrix(); + GL11.glEnable(32826); // GL_RESCALE_NORMAL_EXT + BinnieCore.proxy.bindTexture(map); + GuiScreen.itemRender.zLevel = zLevel; + GuiScreen.itemRender.renderIcon((int) pos.x(), (int) pos.y(), icon, 16, 16); + GL11.glEnable(32826); // GL_RESCALE_NORMAL_EXT + GL11.glPopMatrix(); + } - public FontRenderer getFontRenderer() { - return fontRendererObj; - } + public boolean isHelpMode() { + return Keyboard.isKeyDown(Keyboard.KEY_TAB); + } - public void resize(IPoint size) { - xSize = (int) size.x(); - ySize = (int) size.y(); - guiLeft = (width - xSize) / 2; - guiTop = (height - ySize) / 2; - window.setPosition(new IPoint(guiLeft, guiTop)); - } + public FontRenderer getFontRenderer() { + return fontRendererObj; + } - public void limitArea(IArea area) { - float x = area.pos().x(); - float y = area.pos().y(); - float w = area.size().x(); - float h = area.size().y(); - y = height - (y + h); - float scaleX = width / (float) mc.displayWidth; - float scaleY = height / (float) mc.displayHeight; - GL11.glScissor((int) (x / scaleX), (int) (y / scaleY), (int) (w / scaleX), (int) (h / scaleY)); - } + public void resize(IPoint size) { + xSize = (int) size.x(); + ySize = (int) size.y(); + guiLeft = (width - xSize) / 2; + guiTop = (height - ySize) / 2; + window.setPosition(new IPoint(guiLeft, guiTop)); + } - public void drawRect(float x, float y, float width, float height, int color) { - if (x < width) { - float temp = x; - x = width; - width = temp; - } + public void limitArea(IArea area) { + float x = area.pos().x(); + float y = area.pos().y(); + float w = area.size().x(); + float h = area.size().y(); + y = height - (y + h); + float scaleX = width / (float) mc.displayWidth; + float scaleY = height / (float) mc.displayHeight; + GL11.glScissor((int) (x / scaleX), (int) (y / scaleY), (int) (w / scaleX), (int) (h / scaleY)); + } - if (y < height) { - float temp = y; - y = height; - height = temp; - } + public void drawRect(float x, float y, float width, float height, int color) { + if (x < width) { + float temp = x; + x = width; + width = temp; + } - float alpha = (color >> 24 & 0xFF) / 255.0f; - float r = (color >> 16 & 0xFF) / 255.0f; - float g = (color >> 8 & 0xFF) / 255.0f; - float b = (color & 0xFF) / 255.0f; + if (y < height) { + float temp = y; + y = height; + height = temp; + } - Tessellator tessellator = Tessellator.instance; - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); - GL11.glColor4f(r, g, b, alpha); - tessellator.startDrawingQuads(); - tessellator.addVertex(x, height, 0.0); - tessellator.addVertex(width, height, 0.0); - tessellator.addVertex(width, y, 0.0); - tessellator.addVertex(x, y, 0.0); - tessellator.draw(); - GL11.glColor4f(1, 1, 1, 255); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_TEXTURE_2D); - } + float alpha = (color >> 24 & 0xFF) / 255.0f; + float r = (color >> 16 & 0xFF) / 255.0f; + float g = (color >> 8 & 0xFF) / 255.0f; + float b = (color & 0xFF) / 255.0f; + + Tessellator tessellator = Tessellator.instance; + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); + GL11.glColor4f(r, g, b, alpha); + tessellator.startDrawingQuads(); + tessellator.addVertex(x, height, 0.0); + tessellator.addVertex(width, height, 0.0); + tessellator.addVertex(width, y, 0.0); + tessellator.addVertex(x, y, 0.0); + tessellator.draw(); + GL11.glColor4f(1, 1, 1, 255); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_TEXTURE_2D); + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/IMachineInformation.java b/src/main/java/binnie/core/craftgui/minecraft/IMachineInformation.java index f0670ca8..7920ef16 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/IMachineInformation.java +++ b/src/main/java/binnie/core/craftgui/minecraft/IMachineInformation.java @@ -1,5 +1,5 @@ package binnie.core.craftgui.minecraft; public interface IMachineInformation { - String getInformation(); + String getInformation(); } diff --git a/src/main/java/binnie/core/craftgui/minecraft/IMinecraftTooltip.java b/src/main/java/binnie/core/craftgui/minecraft/IMinecraftTooltip.java index d5d9dd24..2451b99f 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/IMinecraftTooltip.java +++ b/src/main/java/binnie/core/craftgui/minecraft/IMinecraftTooltip.java @@ -3,5 +3,5 @@ package binnie.core.craftgui.minecraft; import binnie.core.craftgui.ITooltip; public interface IMinecraftTooltip extends ITooltip { - void getTooltip(MinecraftTooltip p0); + void getTooltip(MinecraftTooltip p0); } diff --git a/src/main/java/binnie/core/craftgui/minecraft/IWindowAffectsShiftClick.java b/src/main/java/binnie/core/craftgui/minecraft/IWindowAffectsShiftClick.java index 4f89251c..7ef92184 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/IWindowAffectsShiftClick.java +++ b/src/main/java/binnie/core/craftgui/minecraft/IWindowAffectsShiftClick.java @@ -3,5 +3,5 @@ package binnie.core.craftgui.minecraft; import binnie.core.machines.transfer.TransferRequest; public interface IWindowAffectsShiftClick { - void alterRequest(TransferRequest p0); + void alterRequest(TransferRequest p0); } diff --git a/src/main/java/binnie/core/craftgui/minecraft/InventoryType.java b/src/main/java/binnie/core/craftgui/minecraft/InventoryType.java index 3529bf58..d52489d6 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/InventoryType.java +++ b/src/main/java/binnie/core/craftgui/minecraft/InventoryType.java @@ -1,8 +1,8 @@ package binnie.core.craftgui.minecraft; public enum InventoryType { - Player, - Machine, - Window, - Custom + Player, + Machine, + Window, + Custom } diff --git a/src/main/java/binnie/core/craftgui/minecraft/ListMap.java b/src/main/java/binnie/core/craftgui/minecraft/ListMap.java index e8fdf4c2..74433d98 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/ListMap.java +++ b/src/main/java/binnie/core/craftgui/minecraft/ListMap.java @@ -8,140 +8,140 @@ import java.util.ListIterator; import java.util.Map; class ListMap implements List { - private LinkedHashMap map; + private LinkedHashMap map; - ListMap() { - map = new LinkedHashMap<>(); - } + ListMap() { + map = new LinkedHashMap<>(); + } - @Override - public int size() { - int i = -1; - for (int k : map.keySet()) { - if (k > i) { - i = k; - } - } - return i + 1; - } + @Override + public int size() { + int i = -1; + for (int k : map.keySet()) { + if (k > i) { + i = k; + } + } + return i + 1; + } - @Override - public boolean isEmpty() { - return map.isEmpty(); - } + @Override + public boolean isEmpty() { + return map.isEmpty(); + } - @Override - public boolean contains(Object o) { - return map.containsValue(o); - } + @Override + public boolean contains(Object o) { + return map.containsValue(o); + } - @Override - public Iterator iterator() { - return map.values().iterator(); - } + @Override + public Iterator iterator() { + return map.values().iterator(); + } - @Override - public Object[] toArray() { - return map.values().toArray(); - } + @Override + public Object[] toArray() { + return map.values().toArray(); + } - @Override - public

P[] toArray(P[] a) { - return map.values().toArray(a); - } + @Override + public

P[] toArray(P[] a) { + return map.values().toArray(a); + } - @Override - public boolean add(T e) { - if (get(size()) == null) { - add(size(), e); - return true; - } - return false; - } + @Override + public boolean add(T e) { + if (get(size()) == null) { + add(size(), e); + return true; + } + return false; + } - @Override - public boolean remove(Object o) { - return false; - } + @Override + public boolean remove(Object o) { + return false; + } - @Override - public boolean containsAll(Collection c) { - return map.values().containsAll(c); - } + @Override + public boolean containsAll(Collection c) { + return map.values().containsAll(c); + } - @Override - public boolean addAll(Collection c) { - return false; - } + @Override + public boolean addAll(Collection c) { + return false; + } - @Override - public boolean addAll(int index, Collection c) { - return false; - } + @Override + public boolean addAll(int index, Collection c) { + return false; + } - @Override - public boolean removeAll(Collection c) { - return false; - } + @Override + public boolean removeAll(Collection c) { + return false; + } - @Override - public boolean retainAll(Collection c) { - return false; - } + @Override + public boolean retainAll(Collection c) { + return false; + } - @Override - public void clear() { - map.clear(); - } + @Override + public void clear() { + map.clear(); + } - @Override - public T get(int index) { - return map.get(index); - } + @Override + public T get(int index) { + return map.get(index); + } - @Override - public T set(int index, T element) { - map.put(index, element); - return element; - } + @Override + public T set(int index, T element) { + map.put(index, element); + return element; + } - @Override - public void add(int index, T element) { - map.put(index, element); - } + @Override + public void add(int index, T element) { + map.put(index, element); + } - @Override - public T remove(int index) { - return null; - } + @Override + public T remove(int index) { + return null; + } - @Override - public int indexOf(Object o) { - for (Map.Entry entry : map.entrySet()) { - if (entry.getValue() == o) { - return entry.getKey(); - } - } - return 0; - } + @Override + public int indexOf(Object o) { + for (Map.Entry entry : map.entrySet()) { + if (entry.getValue() == o) { + return entry.getKey(); + } + } + return 0; + } - @Override - public int lastIndexOf(Object o) { - return indexOf(o); - } + @Override + public int lastIndexOf(Object o) { + return indexOf(o); + } - @Override - public ListIterator listIterator() { - return null; - } + @Override + public ListIterator listIterator() { + return null; + } - @Override - public ListIterator listIterator(int index) { - return null; - } + @Override + public ListIterator listIterator(int index) { + return null; + } - @Override - public List subList(int fromIndex, int toIndex) { - return null; - } + @Override + public List subList(int fromIndex, int toIndex) { + return null; + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/MinecraftGUI.java b/src/main/java/binnie/core/craftgui/minecraft/MinecraftGUI.java index d33ffeb8..6cac6054 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/MinecraftGUI.java +++ b/src/main/java/binnie/core/craftgui/minecraft/MinecraftGUI.java @@ -3,12 +3,12 @@ package binnie.core.craftgui.minecraft; import binnie.core.craftgui.window.Panel; public class MinecraftGUI { - public enum PanelType implements Panel.IPanelType { - Black, - Gray, - Tinted, - Coloured, - Outline, - TabOutline - } + public enum PanelType implements Panel.IPanelType { + Black, + Gray, + Tinted, + Coloured, + Outline, + TabOutline + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/MinecraftTooltip.java b/src/main/java/binnie/core/craftgui/minecraft/MinecraftTooltip.java index fb137c99..716b1602 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/MinecraftTooltip.java +++ b/src/main/java/binnie/core/craftgui/minecraft/MinecraftTooltip.java @@ -4,52 +4,52 @@ import binnie.core.craftgui.Tooltip; import net.minecraft.util.EnumChatFormatting; public class MinecraftTooltip extends Tooltip { - public static int getOutline(ITooltipType type) { - return TypeColor.valueOf(type.toString()).getOutline(); - } + public static int getOutline(ITooltipType type) { + return TypeColor.valueOf(type.toString()).getOutline(); + } - public static String getTitle(ITooltipType type) { - return TypeColor.valueOf(type.toString()).getTitle(); - } + public static String getTitle(ITooltipType type) { + return TypeColor.valueOf(type.toString()).getTitle(); + } - public static String getBody(ITooltipType type) { - return TypeColor.valueOf(type.toString()).getBody(); - } + public static String getBody(ITooltipType type) { + return TypeColor.valueOf(type.toString()).getBody(); + } - public enum Type implements ITooltipType { - ERROR, - WARNING - } + public enum Type implements ITooltipType { + ERROR, + WARNING + } - private enum TypeColor { - STANDARD(0x5000ff, EnumChatFormatting.WHITE, EnumChatFormatting.GRAY), - HELP(0x4cff00, EnumChatFormatting.GREEN, EnumChatFormatting.DARK_GREEN), - INFORMATION(0x00bfff, EnumChatFormatting.AQUA, EnumChatFormatting.DARK_AQUA), - ERROR(0xff3100, EnumChatFormatting.RED, EnumChatFormatting.DARK_RED), - WARNING(0xff9f00, EnumChatFormatting.YELLOW, EnumChatFormatting.GOLD), - USER(0x962433, EnumChatFormatting.RED, EnumChatFormatting.DARK_RED), - POWER(0x896e00, EnumChatFormatting.YELLOW, EnumChatFormatting.GOLD); + private enum TypeColor { + STANDARD(0x5000ff, EnumChatFormatting.WHITE, EnumChatFormatting.GRAY), + HELP(0x4cff00, EnumChatFormatting.GREEN, EnumChatFormatting.DARK_GREEN), + INFORMATION(0x00bfff, EnumChatFormatting.AQUA, EnumChatFormatting.DARK_AQUA), + ERROR(0xff3100, EnumChatFormatting.RED, EnumChatFormatting.DARK_RED), + WARNING(0xff9f00, EnumChatFormatting.YELLOW, EnumChatFormatting.GOLD), + USER(0x962433, EnumChatFormatting.RED, EnumChatFormatting.DARK_RED), + POWER(0x896e00, EnumChatFormatting.YELLOW, EnumChatFormatting.GOLD); - int outline; - String mainText; - String bodyText; + int outline; + String mainText; + String bodyText; - TypeColor(int outline, EnumChatFormatting mainText, EnumChatFormatting bodyText) { - this.outline = outline; - this.mainText = mainText.toString(); - this.bodyText = bodyText.toString(); - } + TypeColor(int outline, EnumChatFormatting mainText, EnumChatFormatting bodyText) { + this.outline = outline; + this.mainText = mainText.toString(); + this.bodyText = bodyText.toString(); + } - public int getOutline() { - return outline; - } + public int getOutline() { + return outline; + } - public String getTitle() { - return mainText; - } + public String getTitle() { + return mainText; + } - public String getBody() { - return bodyText; - } - } + public String getBody() { + return bodyText; + } + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/ModuleCraftGUI.java b/src/main/java/binnie/core/craftgui/minecraft/ModuleCraftGUI.java index 695c8816..e99d7fd8 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/ModuleCraftGUI.java +++ b/src/main/java/binnie/core/craftgui/minecraft/ModuleCraftGUI.java @@ -3,18 +3,16 @@ package binnie.core.craftgui.minecraft; import binnie.core.IInitializable; public class ModuleCraftGUI implements IInitializable { - @Override - public void preInit() { - } + @Override + public void preInit() {} - @Override - public void init() { - } + @Override + public void init() {} - @Override - public void postInit() { - for (GUIIcon icon : GUIIcon.values()) { - icon.register(); - } - } + @Override + public void postInit() { + for (GUIIcon icon : GUIIcon.values()) { + icon.register(); + } + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/Window.java b/src/main/java/binnie/core/craftgui/minecraft/Window.java index 27480414..3f67a076 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/Window.java +++ b/src/main/java/binnie/core/craftgui/minecraft/Window.java @@ -35,280 +35,279 @@ import binnie.core.resource.ResourceType; import com.mojang.authlib.GameProfile; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.Deque; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import java.util.ArrayList; -import java.util.Deque; - public abstract class Window extends TopLevelWidget implements INetwork.RecieveGuiNBT { - protected float titleButtonLeft; - protected float titleButtonRight; - private GuiCraftGUI gui; - private ContainerCraftGUI container; - private WindowInventory windowInventory; - private ControlText title; - private StandardTexture bgText1; - private StandardTexture bgText2; - private boolean hasBeenInitialised; - private EntityPlayer player; - private IInventory entityInventory; - private Side side; + protected float titleButtonLeft; + protected float titleButtonRight; + private GuiCraftGUI gui; + private ContainerCraftGUI container; + private WindowInventory windowInventory; + private ControlText title; + private StandardTexture bgText1; + private StandardTexture bgText2; + private boolean hasBeenInitialised; + private EntityPlayer player; + private IInventory entityInventory; + private Side side; - public Window(float width, float height, EntityPlayer player, IInventory inventory, Side side) { - this.side = side; - titleButtonLeft = 8.0f; - titleButtonRight = 8.0f; - bgText1 = null; - bgText2 = null; - hasBeenInitialised = false; - setInventories(player, inventory); - container = new ContainerCraftGUI(this); - windowInventory = new WindowInventory(this); - if (side == Side.SERVER) { - return; - } + public Window(float width, float height, EntityPlayer player, IInventory inventory, Side side) { + this.side = side; + titleButtonLeft = 8.0f; + titleButtonRight = 8.0f; + bgText1 = null; + bgText2 = null; + hasBeenInitialised = false; + setInventories(player, inventory); + container = new ContainerCraftGUI(this); + windowInventory = new WindowInventory(this); + if (side == Side.SERVER) { + return; + } - setSize(new IPoint(width, height)); - gui = new GuiCraftGUI(this); - for (EnumHighlighting h : EnumHighlighting.values()) { - ControlSlot.highlighting.put(h, new ArrayList<>()); - } + setSize(new IPoint(width, height)); + gui = new GuiCraftGUI(this); + for (EnumHighlighting h : EnumHighlighting.values()) { + ControlSlot.highlighting.put(h, new ArrayList<>()); + } - CraftGUI.render = new Renderer(gui); - CraftGUI.render.stylesheet(StyleSheetManager.getDefault()); - titleButtonLeft = -14.0f; + CraftGUI.render = new Renderer(gui); + CraftGUI.render.stylesheet(StyleSheetManager.getDefault()); + titleButtonLeft = -14.0f; - if (showHelpButton()) { - new ControlHelp(this, titleButtonLeft += 22.0f, 8.0f); - } - if (showInfoButton() != null) { - new ControlInfo(this, titleButtonLeft += 22.0f, 8.0f, showInfoButton()); - } + if (showHelpButton()) { + new ControlHelp(this, titleButtonLeft += 22.0f, 8.0f); + } + if (showInfoButton() != null) { + new ControlInfo(this, titleButtonLeft += 22.0f, 8.0f, showInfoButton()); + } - addSelfEventHandler(new EventWidget.ChangeSize.Handler() { - @Override - public void onEvent(EventWidget.ChangeSize event) { - if (isClient() && getGui() != null) { - getGui().resize(getSize()); - if (title != null) { - title.setSize(new IPoint(w(), title.h())); - } - } - } - }); - } + addSelfEventHandler(new EventWidget.ChangeSize.Handler() { + @Override + public void onEvent(EventWidget.ChangeSize event) { + if (isClient() && getGui() != null) { + getGui().resize(getSize()); + if (title != null) { + title.setSize(new IPoint(w(), title.h())); + } + } + } + }); + } - public static T get(IWidget widget) { - return (T) widget.getSuperParent(); - } + public static T get(IWidget widget) { + return (T) widget.getSuperParent(); + } - public void getTooltip(Tooltip tooltip) { - Deque queue = calculateMousedOverWidgets(); - while (!queue.isEmpty()) { - IWidget widget = queue.removeFirst(); - if (widget.isEnabled() && widget.isVisible()) { - if (!widget.calculateIsMouseOver()) { - continue; - } - if (widget instanceof ITooltip) { - ((ITooltip) widget).getTooltip(tooltip); - if (tooltip.exists()) { - return; - } - } - if (widget.hasAttribute(WidgetAttribute.BLOCK_TOOLTIP)) { - return; - } - } - } - } + public void getTooltip(Tooltip tooltip) { + Deque queue = calculateMousedOverWidgets(); + while (!queue.isEmpty()) { + IWidget widget = queue.removeFirst(); + if (widget.isEnabled() && widget.isVisible()) { + if (!widget.calculateIsMouseOver()) { + continue; + } + if (widget instanceof ITooltip) { + ((ITooltip) widget).getTooltip(tooltip); + if (tooltip.exists()) { + return; + } + } + if (widget.hasAttribute(WidgetAttribute.BLOCK_TOOLTIP)) { + return; + } + } + } + } - public void getHelpTooltip(MinecraftTooltip tooltip) { - Deque queue = calculateMousedOverWidgets(); - while (!queue.isEmpty()) { - IWidget widget = queue.removeFirst(); - if (widget.isEnabled() && widget.isVisible()) { - if (!widget.calculateIsMouseOver()) { - continue; - } - if (widget instanceof ITooltipHelp) { - ((ITooltipHelp) widget).getHelpTooltip(tooltip); - if (tooltip.exists()) { - return; - } - } - if (widget.hasAttribute(WidgetAttribute.BLOCK_TOOLTIP)) { - return; - } - } - } - } + public void getHelpTooltip(MinecraftTooltip tooltip) { + Deque queue = calculateMousedOverWidgets(); + while (!queue.isEmpty()) { + IWidget widget = queue.removeFirst(); + if (widget.isEnabled() && widget.isVisible()) { + if (!widget.calculateIsMouseOver()) { + continue; + } + if (widget instanceof ITooltipHelp) { + ((ITooltipHelp) widget).getHelpTooltip(tooltip); + if (tooltip.exists()) { + return; + } + } + if (widget.hasAttribute(WidgetAttribute.BLOCK_TOOLTIP)) { + return; + } + } + } + } - protected abstract AbstractMod getMod(); + protected abstract AbstractMod getMod(); - protected abstract String getName(); + protected abstract String getName(); - public BinnieResource getBackgroundTextureFile(int i) { - return Binnie.Resource.getPNG(getMod(), ResourceType.GUI, getName() + ((i == 1) ? "" : i)); - } + public BinnieResource getBackgroundTextureFile(int i) { + return Binnie.Resource.getPNG(getMod(), ResourceType.GUI, getName() + ((i == 1) ? "" : i)); + } - public boolean showHelpButton() { - return Machine.getInterface(IInventoryMachine.class, getInventory()) != null; - } + public boolean showHelpButton() { + return Machine.getInterface(IInventoryMachine.class, getInventory()) != null; + } - public String showInfoButton() { - if (Machine.getInterface(IMachineInformation.class, getInventory()) != null) { - return Machine.getInterface(IMachineInformation.class, getInventory()).getInformation(); - } - return null; - } + public String showInfoButton() { + if (Machine.getInterface(IMachineInformation.class, getInventory()) != null) { + return Machine.getInterface(IMachineInformation.class, getInventory()) + .getInformation(); + } + return null; + } - public void setTitle(String title) { - this.title = new ControlTextCentered(this, 12.0f, title); - this.title.setColor(0x404040); - } + public void setTitle(String title) { + this.title = new ControlTextCentered(this, 12.0f, title); + this.title.setColor(0x404040); + } - @SideOnly(Side.CLIENT) - public GuiCraftGUI getGui() { - return gui; - } + @SideOnly(Side.CLIENT) + public GuiCraftGUI getGui() { + return gui; + } - public ContainerCraftGUI getContainer() { - return container; - } + public ContainerCraftGUI getContainer() { + return container; + } - public WindowInventory getWindowInventory() { - return windowInventory; - } + public WindowInventory getWindowInventory() { + return windowInventory; + } - public void initGui() { - if (hasBeenInitialised) { - return; - } + public void initGui() { + if (hasBeenInitialised) { + return; + } - bgText1 = new StandardTexture(0, 0, 256, 256, getBackgroundTextureFile(1)); - if (getSize().x() > 256.0f) { - bgText2 = new StandardTexture(0, 0, 256, 256, getBackgroundTextureFile(2)); - } + bgText1 = new StandardTexture(0, 0, 256, 256, getBackgroundTextureFile(1)); + if (getSize().x() > 256.0f) { + bgText2 = new StandardTexture(0, 0, 256, 256, getBackgroundTextureFile(2)); + } - if (!BinnieCore.proxy.checkTexture(bgText1.getTexture())) { - bgText1 = null; - bgText2 = null; - } - initialiseClient(); - hasBeenInitialised = true; - } + if (!BinnieCore.proxy.checkTexture(bgText1.getTexture())) { + bgText1 = null; + bgText2 = null; + } + initialiseClient(); + hasBeenInitialised = true; + } - public abstract void initialiseClient(); + public abstract void initialiseClient(); - public void initialiseServer() { - // ignored - } + public void initialiseServer() { + // ignored + } - @Override - public void onRenderBackground() { - CraftGUI.render.color(0xffffff); - if (getBackground1() != null) { - CraftGUI.render.texture(getBackground1(), IPoint.ZERO); - } - if (getBackground2() != null) { - CraftGUI.render.texture(getBackground2(), new IPoint(256.0f, 0.0f)); - } - CraftGUI.render.color(getColor()); - CraftGUI.render.texture(CraftGUITexture.Window, getArea()); - } + @Override + public void onRenderBackground() { + CraftGUI.render.color(0xffffff); + if (getBackground1() != null) { + CraftGUI.render.texture(getBackground1(), IPoint.ZERO); + } + if (getBackground2() != null) { + CraftGUI.render.texture(getBackground2(), new IPoint(256.0f, 0.0f)); + } + CraftGUI.render.color(getColor()); + CraftGUI.render.texture(CraftGUITexture.Window, getArea()); + } - @Override - public void onUpdateClient() { - ControlSlot.highlighting.get(EnumHighlighting.HELP).clear(); - ControlSlot.shiftClickActive = false; - } + @Override + public void onUpdateClient() { + ControlSlot.highlighting.get(EnumHighlighting.HELP).clear(); + ControlSlot.shiftClickActive = false; + } - public EntityPlayer getPlayer() { - return player; - } + public EntityPlayer getPlayer() { + return player; + } - public GameProfile getUsername() { - return getPlayer().getGameProfile(); - } + public GameProfile getUsername() { + return getPlayer().getGameProfile(); + } - public ItemStack getHeldItemStack() { - if (player != null) { - return player.inventory.getItemStack(); - } - return null; - } + public ItemStack getHeldItemStack() { + if (player != null) { + return player.inventory.getItemStack(); + } + return null; + } - public void setHeldItemStack(ItemStack stack) { - if (player != null) { - player.inventory.setItemStack(stack); - } - } + public void setHeldItemStack(ItemStack stack) { + if (player != null) { + player.inventory.setItemStack(stack); + } + } - public IInventory getInventory() { - return entityInventory; - } + public IInventory getInventory() { + return entityInventory; + } - public void setInventories(EntityPlayer player2, IInventory inventory) { - player = player2; - entityInventory = inventory; - } + public void setInventories(EntityPlayer player2, IInventory inventory) { + player = player2; + entityInventory = inventory; + } - public void onClose() { - } + public void onClose() {} - public boolean isServer() { - return !isClient(); - } + public boolean isServer() { + return !isClient(); + } - public boolean isClient() { - return side == Side.CLIENT; - } + public boolean isClient() { + return side == Side.CLIENT; + } - public World getWorld() { - if (getPlayer() != null) { - return getPlayer().worldObj; - } - return BinnieCore.proxy.getWorld(); - } + public World getWorld() { + if (getPlayer() != null) { + return getPlayer().worldObj; + } + return BinnieCore.proxy.getWorld(); + } - public void sendClientAction(String name, NBTTagCompound action) { - action.setString("type", name); - MessageCraftGUI packet = new MessageCraftGUI(action); - BinnieCore.proxy.sendToServer(packet); - } + public void sendClientAction(String name, NBTTagCompound action) { + action.setString("type", name); + MessageCraftGUI packet = new MessageCraftGUI(action); + BinnieCore.proxy.sendToServer(packet); + } - @Override - public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { - if (side == Side.CLIENT && name.equals("username")) { - float w = w(); - float titleButtonRight = this.titleButtonRight + 16.0f; - this.titleButtonRight = titleButtonRight; - new ControlUser(this, w - titleButtonRight, 8.0f, nbt.getString("username")); - this.titleButtonRight += 6.0f; - } - if (side == Side.CLIENT && name.equals("power-system")) { - float w2 = w(); - float titleButtonRight2 = titleButtonRight + 16.0f; - titleButtonRight = titleButtonRight2; - new ControlPowerSystem(this, w2 - titleButtonRight2, 8.0f, PowerSystem.get(nbt.getByte("system"))); - titleButtonRight += 6.0f; - } - } + @Override + public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { + if (side == Side.CLIENT && name.equals("username")) { + float w = w(); + float titleButtonRight = this.titleButtonRight + 16.0f; + this.titleButtonRight = titleButtonRight; + new ControlUser(this, w - titleButtonRight, 8.0f, nbt.getString("username")); + this.titleButtonRight += 6.0f; + } + if (side == Side.CLIENT && name.equals("power-system")) { + float w2 = w(); + float titleButtonRight2 = titleButtonRight + 16.0f; + titleButtonRight = titleButtonRight2; + new ControlPowerSystem(this, w2 - titleButtonRight2, 8.0f, PowerSystem.get(nbt.getByte("system"))); + titleButtonRight += 6.0f; + } + } - public void onWindowInventoryChanged() { - // ignored - } + public void onWindowInventoryChanged() { + // ignored + } - public Texture getBackground1() { - return bgText1; - } + public Texture getBackground1() { + return bgText1; + } - public Texture getBackground2() { - return bgText2; - } + public Texture getBackground2() { + return bgText2; + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/WindowInventory.java b/src/main/java/binnie/core/craftgui/minecraft/WindowInventory.java index ca989435..ddb3e983 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/WindowInventory.java +++ b/src/main/java/binnie/core/craftgui/minecraft/WindowInventory.java @@ -1,139 +1,136 @@ package binnie.core.craftgui.minecraft; import binnie.core.machines.inventory.SlotValidator; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; public class WindowInventory implements IInventory { - private Window window; - private Map inventory; - private Map validators; - private List disabledAutoDispenses; + private Window window; + private Map inventory; + private Map validators; + private List disabledAutoDispenses; - public WindowInventory(Window window) { - inventory = new HashMap<>(); - validators = new HashMap<>(); - disabledAutoDispenses = new ArrayList<>(); - this.window = window; - } + public WindowInventory(Window window) { + inventory = new HashMap<>(); + validators = new HashMap<>(); + disabledAutoDispenses = new ArrayList<>(); + this.window = window; + } - @Override - public int getSizeInventory() { - if (inventory.size() == 0) { - return 0; - } + @Override + public int getSizeInventory() { + if (inventory.size() == 0) { + return 0; + } - int max = 0; - for (int i : inventory.keySet()) { - if (i > max) { - max = i; - } - } - return max + 1; - } + int max = 0; + for (int i : inventory.keySet()) { + if (i > max) { + max = i; + } + } + return max + 1; + } - @Override - public ItemStack getStackInSlot(int var1) { - if (inventory.containsKey(var1)) { - return inventory.get(var1); - } - return null; - } + @Override + public ItemStack getStackInSlot(int var1) { + if (inventory.containsKey(var1)) { + return inventory.get(var1); + } + return null; + } - @Override - public ItemStack decrStackSize(int index, int amount) { - if (!inventory.containsKey(index)) { - return null; - } + @Override + public ItemStack decrStackSize(int index, int amount) { + if (!inventory.containsKey(index)) { + return null; + } - ItemStack item = inventory.get(index); - ItemStack output = item.copy(); - int available = item.stackSize; - if (amount > available) { - amount = available; - } + ItemStack item = inventory.get(index); + ItemStack output = item.copy(); + int available = item.stackSize; + if (amount > available) { + amount = available; + } - ItemStack itemStack = item; - itemStack.stackSize -= amount; - output.stackSize = amount; - if (item.stackSize == 0) { - setInventorySlotContents(index, null); - } - return output; - } + ItemStack itemStack = item; + itemStack.stackSize -= amount; + output.stackSize = amount; + if (item.stackSize == 0) { + setInventorySlotContents(index, null); + } + return output; + } - @Override - public ItemStack getStackInSlotOnClosing(int var1) { - return null; - } + @Override + public ItemStack getStackInSlotOnClosing(int var1) { + return null; + } - @Override - public void setInventorySlotContents(int var1, ItemStack var2) { - inventory.put(var1, var2); - markDirty(); - } + @Override + public void setInventorySlotContents(int var1, ItemStack var2) { + inventory.put(var1, var2); + markDirty(); + } - @Override - public String getInventoryName() { - return "window.inventory"; - } + @Override + public String getInventoryName() { + return "window.inventory"; + } - @Override - public int getInventoryStackLimit() { - return 64; - } + @Override + public int getInventoryStackLimit() { + return 64; + } - @Override - public void markDirty() { - window.onWindowInventoryChanged(); - } + @Override + public void markDirty() { + window.onWindowInventoryChanged(); + } - @Override - public boolean isUseableByPlayer(EntityPlayer var1) { - return true; - } + @Override + public boolean isUseableByPlayer(EntityPlayer var1) { + return true; + } - @Override - public void openInventory() { - } + @Override + public void openInventory() {} - @Override - public void closeInventory() { - } + @Override + public void closeInventory() {} - @Override - public boolean hasCustomInventoryName() { - return false; - } + @Override + public boolean hasCustomInventoryName() { + return false; + } - @Override - public boolean isItemValidForSlot(int i, ItemStack itemstack) { - return !validators.containsKey(i) || validators.get(i).isValid(itemstack); - } + @Override + public boolean isItemValidForSlot(int i, ItemStack itemstack) { + return !validators.containsKey(i) || validators.get(i).isValid(itemstack); + } - public void createSlot(int slot) { - inventory.put(slot, null); - } + public void createSlot(int slot) { + inventory.put(slot, null); + } - public void setValidator(int slot, SlotValidator validator) { - validators.put(slot, validator); - } + public void setValidator(int slot, SlotValidator validator) { + validators.put(slot, validator); + } - public void disableAutoDispense(int i) { - disabledAutoDispenses.add(i); - } + public void disableAutoDispense(int i) { + disabledAutoDispenses.add(i); + } - public boolean dispenseOnClose(int i) { - return !disabledAutoDispenses.contains(i); - } + public boolean dispenseOnClose(int i) { + return !disabledAutoDispenses.contains(i); + } - public SlotValidator getValidator(int i) { - return validators.get(i); - } + public SlotValidator getValidator(int i) { + return validators.get(i); + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlEnergyBar.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlEnergyBar.java index 73e7b43e..9238bb4c 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlEnergyBar.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlEnergyBar.java @@ -21,124 +21,118 @@ import net.minecraft.inventory.IInventory; import org.lwjgl.opengl.GL11; public class ControlEnergyBar extends Control implements ITooltip { - public static boolean isError; + public static boolean isError; - private Position direction; + private Position direction; - public ControlEnergyBar(IWidget parent, int x, int y, int width, int height, Position direction) { - super(parent, x, y, width, height); - this.direction = direction; - addAttribute(WidgetAttribute.MOUSE_OVER); - } + public ControlEnergyBar(IWidget parent, int x, int y, int width, int height, Position direction) { + super(parent, x, y, width, height); + this.direction = direction; + addAttribute(WidgetAttribute.MOUSE_OVER); + } - // TODO unused method? - public IPoweredMachine getClientPower() { - IInventory inventory = Window.get(this).getInventory(); - TileEntityMachine machine = (inventory instanceof TileEntityMachine) ? (TileEntityMachine) inventory : null; - if (machine == null) { - return null; - } + // TODO unused method? + public IPoweredMachine getClientPower() { + IInventory inventory = Window.get(this).getInventory(); + TileEntityMachine machine = (inventory instanceof TileEntityMachine) ? (TileEntityMachine) inventory : null; + if (machine == null) { + return null; + } - IPoweredMachine clientPower = machine.getMachine().getInterface(IPoweredMachine.class); - return clientPower; - } + IPoweredMachine clientPower = machine.getMachine().getInterface(IPoweredMachine.class); + return clientPower; + } - public float getPercentage() { - float percentage = 100.0f * getStoredEnergy() / getMaxEnergy(); - if (percentage > 100.0f) { - percentage = 100.0f; - } - return percentage; - } + public float getPercentage() { + float percentage = 100.0f * getStoredEnergy() / getMaxEnergy(); + if (percentage > 100.0f) { + percentage = 100.0f; + } + return percentage; + } - private float getStoredEnergy() { - return Window.get(this) - .getContainer() - .getPowerInfo() - .getStoredEnergy(); - } + private float getStoredEnergy() { + return Window.get(this).getContainer().getPowerInfo().getStoredEnergy(); + } - private float getMaxEnergy() { - return Window.get(this) - .getContainer() - .getPowerInfo() - .getMaxEnergy(); - } + private float getMaxEnergy() { + return Window.get(this).getContainer().getPowerInfo().getMaxEnergy(); + } - @Override - public void getTooltip(Tooltip tooltip) { - tooltip.add(I18N.localise("binniecore.gui.tooltip.chargedPower", (int) getPercentage())); - tooltip.add(I18N.localise("binniecore.gui.tooltip.powerInfo", getStoredEnergy(), getMaxEnergy())); - } + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.add(I18N.localise("binniecore.gui.tooltip.chargedPower", (int) getPercentage())); + tooltip.add(I18N.localise("binniecore.gui.tooltip.powerInfo", getStoredEnergy(), getMaxEnergy())); + } - @Override - public void getHelpTooltip(Tooltip tooltip) { - tooltip.add(I18N.localise("binniecore.gui.tooltip.powerBar")); - tooltip.add(I18N.localise("binniecore.gui.tooltip.currentPower", getStoredEnergy(), (int) getPercentage())); - tooltip.add(I18N.localise("binniecore.gui.tooltip.capacityPower", getMaxEnergy())); + @Override + public void getHelpTooltip(Tooltip tooltip) { + tooltip.add(I18N.localise("binniecore.gui.tooltip.powerBar")); + tooltip.add(I18N.localise("binniecore.gui.tooltip.currentPower", getStoredEnergy(), (int) getPercentage())); + tooltip.add(I18N.localise("binniecore.gui.tooltip.capacityPower", getMaxEnergy())); - IProcess process = Machine.getInterface(IProcess.class, Window.get(this).getInventory()); - if (process != null) { - tooltip.add(I18N.localise("binniecore.gui.tooltip.usagePower", (int) process.getEnergyPerTick())); - } - } + IProcess process = Machine.getInterface(IProcess.class, Window.get(this).getInventory()); + if (process != null) { + tooltip.add(I18N.localise("binniecore.gui.tooltip.usagePower", (int) process.getEnergyPerTick())); + } + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(CraftGUITexture.EnergyBarBack, getArea()); - float percentage = getPercentage() / 100.0f; - CraftGUI.render.color(getColourFromPercentage(percentage)); - IArea area = getArea(); + @Override + public void onRenderBackground() { + CraftGUI.render.texture(CraftGUITexture.EnergyBarBack, getArea()); + float percentage = getPercentage() / 100.0f; + CraftGUI.render.color(getColourFromPercentage(percentage)); + IArea area = getArea(); - switch (direction) { - case TOP: - case BOTTOM: - float height = area.size().y() * percentage; - area.setSize(new IPoint(area.size().x(), height)); - break; + switch (direction) { + case TOP: + case BOTTOM: + float height = area.size().y() * percentage; + area.setSize(new IPoint(area.size().x(), height)); + break; - case LEFT: - case RIGHT: - float width = area.size().x() * percentage; - area.setSize(new IPoint(width, area.size().y())); - break; - } + case LEFT: + case RIGHT: + float width = area.size().x() * percentage; + area.setSize(new IPoint(width, area.size().y())); + break; + } - if (isMouseOver() && Window.get(this).getGui().isHelpMode()) { - int c = 0xaa000000 + MinecraftTooltip.getOutline(Tooltip.Type.HELP); - CraftGUI.render.gradientRect(getArea().inset(1), c, c); - } else if (ControlEnergyBar.isError) { - int c = 0xaa000000 + MinecraftTooltip.getOutline(MinecraftTooltip.Type.ERROR); - CraftGUI.render.gradientRect(getArea().inset(1), c, c); - } + if (isMouseOver() && Window.get(this).getGui().isHelpMode()) { + int c = 0xaa000000 + MinecraftTooltip.getOutline(Tooltip.Type.HELP); + CraftGUI.render.gradientRect(getArea().inset(1), c, c); + } else if (ControlEnergyBar.isError) { + int c = 0xaa000000 + MinecraftTooltip.getOutline(MinecraftTooltip.Type.ERROR); + CraftGUI.render.gradientRect(getArea().inset(1), c, c); + } - CraftGUI.render.texture(CraftGUITexture.EnergyBarGlow, area); - GL11.glColor3d(1.0, 1.0, 1.0); - CraftGUI.render.texture(CraftGUITexture.EnergyBarGlass, getArea()); - } + CraftGUI.render.texture(CraftGUITexture.EnergyBarGlow, area); + GL11.glColor3d(1.0, 1.0, 1.0); + CraftGUI.render.texture(CraftGUITexture.EnergyBarGlass, getArea()); + } - @Override - public void onRenderForeground() { - if (isMouseOver() && Window.get(this).getGui().isHelpMode()) { - IArea area = getArea(); - CraftGUI.render.color(MinecraftTooltip.getOutline(Tooltip.Type.HELP)); - CraftGUI.render.texture(CraftGUITexture.Outline, area.outset(1)); - } else if (ControlEnergyBar.isError) { - IArea area = getArea(); - CraftGUI.render.color(MinecraftTooltip.getOutline(MinecraftTooltip.Type.ERROR)); - CraftGUI.render.texture(CraftGUITexture.Outline, area.outset(1)); - } - } + @Override + public void onRenderForeground() { + if (isMouseOver() && Window.get(this).getGui().isHelpMode()) { + IArea area = getArea(); + CraftGUI.render.color(MinecraftTooltip.getOutline(Tooltip.Type.HELP)); + CraftGUI.render.texture(CraftGUITexture.Outline, area.outset(1)); + } else if (ControlEnergyBar.isError) { + IArea area = getArea(); + CraftGUI.render.color(MinecraftTooltip.getOutline(MinecraftTooltip.Type.ERROR)); + CraftGUI.render.texture(CraftGUITexture.Outline, area.outset(1)); + } + } - public int getColourFromPercentage(float percentage) { - int color; - if (percentage > 0.5) { - int r = (int) ((1.0 - 2.0 * (percentage - 0.5)) * 255.0); - color = (r << 16) + 0xff00; - } else { - int g = (int) (255.0f * (2.0f * percentage)); - color = 0xff0000 + (g << 8); - } - return color; - } + public int getColourFromPercentage(float percentage) { + int color; + if (percentage > 0.5) { + int r = (int) ((1.0 - 2.0 * (percentage - 0.5)) * 255.0); + color = (r << 16) + 0xff00; + } else { + int g = (int) (255.0f * (2.0f * percentage)); + color = 0xff0000 + (g << 8); + } + return color; + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlErrorState.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlErrorState.java index 622dce0b..f136086f 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlErrorState.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlErrorState.java @@ -15,86 +15,86 @@ import binnie.core.machines.power.ErrorState; import net.minecraft.entity.player.InventoryPlayer; public class ControlErrorState extends Control implements ITooltip { - private ErrorState errorState; - private int type; + private ErrorState errorState; + private int type; - public ControlErrorState(IWidget parent, float x, float y) { - super(parent, x, y, 16.0f, 16.0f); - type = 0; - addAttribute(WidgetAttribute.MOUSE_OVER); - } + public ControlErrorState(IWidget parent, float x, float y) { + super(parent, x, y, 16.0f, 16.0f); + type = 0; + addAttribute(WidgetAttribute.MOUSE_OVER); + } - @Override - public void onRenderBackground() { - Object texture = CraftGUITexture.StateWarning; - if (errorState == null) { - texture = CraftGUITexture.StateNone; - } else if (type == 0) { - texture = CraftGUITexture.StateError; - } - CraftGUI.render.texture(texture, IPoint.ZERO); - super.onRenderBackground(); - } + @Override + public void onRenderBackground() { + Object texture = CraftGUITexture.StateWarning; + if (errorState == null) { + texture = CraftGUITexture.StateNone; + } else if (type == 0) { + texture = CraftGUITexture.StateError; + } + CraftGUI.render.texture(texture, IPoint.ZERO); + super.onRenderBackground(); + } - public ErrorState getError() { - return Window.get(this).getContainer().getErrorState(); - } + public ErrorState getError() { + return Window.get(this).getContainer().getErrorState(); + } - @Override - public void onUpdateClient() { - errorState = getError(); - type = Window.get(this).getContainer().getErrorType(); - ControlSlot.highlighting.get(EnumHighlighting.ERROR).clear(); - ControlSlot.highlighting.get(EnumHighlighting.WARNING).clear(); - ControlLiquidTank.tankError.clear(); - ControlEnergyBar.isError = false; + @Override + public void onUpdateClient() { + errorState = getError(); + type = Window.get(this).getContainer().getErrorType(); + ControlSlot.highlighting.get(EnumHighlighting.ERROR).clear(); + ControlSlot.highlighting.get(EnumHighlighting.WARNING).clear(); + ControlLiquidTank.tankError.clear(); + ControlEnergyBar.isError = false; - if (!isMouseOver() || errorState == null) { - return; - } + if (!isMouseOver() || errorState == null) { + return; + } - ControlEnergyBar.isError = errorState.isPowerError(); - if (errorState.isItemError()) { - for (int slot : errorState.getData()) { - int id = -1; - for (CustomSlot cslot : Window.get(this).getContainer().getCustomSlots()) { - if (!(cslot.inventory instanceof InventoryPlayer) && cslot.getSlotIndex() == slot) { - id = cslot.slotNumber; - } - } - if (id >= 0) { - if (type == 0) { - ControlSlot.highlighting.get(EnumHighlighting.ERROR).add(id); - } else { - ControlSlot.highlighting.get(EnumHighlighting.WARNING).add(id); - } - } - } - } + ControlEnergyBar.isError = errorState.isPowerError(); + if (errorState.isItemError()) { + for (int slot : errorState.getData()) { + int id = -1; + for (CustomSlot cslot : Window.get(this).getContainer().getCustomSlots()) { + if (!(cslot.inventory instanceof InventoryPlayer) && cslot.getSlotIndex() == slot) { + id = cslot.slotNumber; + } + } + if (id >= 0) { + if (type == 0) { + ControlSlot.highlighting.get(EnumHighlighting.ERROR).add(id); + } else { + ControlSlot.highlighting.get(EnumHighlighting.WARNING).add(id); + } + } + } + } - if (errorState.isTankError()) { - for (int slot : errorState.getData()) { - ControlLiquidTank.tankError.add(slot); - } - } - } + if (errorState.isTankError()) { + for (int slot : errorState.getData()) { + ControlLiquidTank.tankError.add(slot); + } + } + } - @Override - public void getTooltip(Tooltip tooltipOrig) { - MinecraftTooltip tooltip = (MinecraftTooltip) tooltipOrig; - if (errorState == null) { - return; - } + @Override + public void getTooltip(Tooltip tooltipOrig) { + MinecraftTooltip tooltip = (MinecraftTooltip) tooltipOrig; + if (errorState == null) { + return; + } - if (type == 0) { - tooltip.setType(MinecraftTooltip.Type.ERROR); - } else { - tooltip.setType(MinecraftTooltip.Type.WARNING); - } + if (type == 0) { + tooltip.setType(MinecraftTooltip.Type.ERROR); + } else { + tooltip.setType(MinecraftTooltip.Type.WARNING); + } - tooltip.add(errorState.toString()); - if (errorState.getTooltip().length() > 0) { - tooltip.add(errorState.getTooltip()); - } - } + tooltip.add(errorState.toString()); + if (errorState.getTooltip().length() > 0) { + tooltip.add(errorState.getTooltip()); + } + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlHelp.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlHelp.java index fe9e8d5d..de27018b 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlHelp.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlHelp.java @@ -10,27 +10,27 @@ import binnie.core.craftgui.resource.minecraft.CraftGUITexture; import binnie.core.util.I18N; public class ControlHelp extends Control implements ITooltip { - public ControlHelp(IWidget parent, float x, float y) { - super(parent, x, y, 16.0f, 16.0f); - addAttribute(WidgetAttribute.MOUSE_OVER); - } + public ControlHelp(IWidget parent, float x, float y) { + super(parent, x, y, 16.0f, 16.0f); + addAttribute(WidgetAttribute.MOUSE_OVER); + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(CraftGUITexture.HelpButton, getArea()); - } + @Override + public void onRenderBackground() { + CraftGUI.render.texture(CraftGUITexture.HelpButton, getArea()); + } - @Override - public void getTooltip(Tooltip tooltip) { - tooltip.setType(Tooltip.Type.HELP); - tooltip.add(I18N.localise("binniecore.gui.tooltip.help")); - tooltip.add(I18N.localise("binniecore.gui.tooltip.help.0")); - tooltip.add(I18N.localise("binniecore.gui.tooltip.help.1")); - tooltip.add(I18N.localise("binniecore.gui.tooltip.help.2")); - } + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.setType(Tooltip.Type.HELP); + tooltip.add(I18N.localise("binniecore.gui.tooltip.help")); + tooltip.add(I18N.localise("binniecore.gui.tooltip.help.0")); + tooltip.add(I18N.localise("binniecore.gui.tooltip.help.1")); + tooltip.add(I18N.localise("binniecore.gui.tooltip.help.2")); + } - @Override - public void getHelpTooltip(Tooltip tooltip) { - getTooltip(tooltip); - } + @Override + public void getHelpTooltip(Tooltip tooltip) { + getTooltip(tooltip); + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlIconDisplay.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlIconDisplay.java index 6e00a152..62cb7dc9 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlIconDisplay.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlIconDisplay.java @@ -7,15 +7,15 @@ import binnie.core.craftgui.geometry.IPoint; import net.minecraft.util.IIcon; public class ControlIconDisplay extends Control { - private IIcon icon; + private IIcon icon; - public ControlIconDisplay(IWidget parent, float x, float y, IIcon icon) { - super(parent, x, y, 16.0f, 16.0f); - this.icon = icon; - } + public ControlIconDisplay(IWidget parent, float x, float y, IIcon icon) { + super(parent, x, y, 16.0f, 16.0f); + this.icon = icon; + } - @Override - public void onRenderForeground() { - CraftGUI.render.iconItem(IPoint.ZERO, icon); - } + @Override + public void onRenderForeground() { + CraftGUI.render.iconItem(IPoint.ZERO, icon); + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlImage.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlImage.java index 94043f35..5fde3056 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlImage.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlImage.java @@ -7,15 +7,15 @@ import binnie.core.craftgui.geometry.IPoint; import binnie.core.craftgui.resource.Texture; public class ControlImage extends Control { - private Object key; + private Object key; - public ControlImage(IWidget parent, float x, float y, Texture text) { - super(parent, x, y, text.w(), text.h()); - key = text; - } + public ControlImage(IWidget parent, float x, float y, Texture text) { + super(parent, x, y, text.w(), text.h()); + key = text; + } - @Override - public void onRenderForeground() { - CraftGUI.render.texture(key, IPoint.ZERO); - } + @Override + public void onRenderForeground() { + CraftGUI.render.texture(key, IPoint.ZERO); + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlInfo.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlInfo.java index b57e54fc..9a206965 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlInfo.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlInfo.java @@ -10,24 +10,24 @@ import binnie.core.craftgui.resource.minecraft.CraftGUITexture; import binnie.core.util.I18N; public class ControlInfo extends Control implements ITooltip { - private String info; + private String info; - public ControlInfo(IWidget parent, float x, float y, String info) { - super(parent, x, y, 16.0f, 16.0f); - this.info = info; - addAttribute(WidgetAttribute.MOUSE_OVER); - } + public ControlInfo(IWidget parent, float x, float y, String info) { + super(parent, x, y, 16.0f, 16.0f); + this.info = info; + addAttribute(WidgetAttribute.MOUSE_OVER); + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(CraftGUITexture.InfoButton, getArea()); - } + @Override + public void onRenderBackground() { + CraftGUI.render.texture(CraftGUITexture.InfoButton, getArea()); + } - @Override - public void getTooltip(Tooltip tooltip) { - tooltip.setType(Tooltip.Type.INFORMATION); - tooltip.add(I18N.localise("binniecore.gui.tooltip.info")); - tooltip.add(info); - tooltip.setMaxWidth(200); - } + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.setType(Tooltip.Type.INFORMATION); + tooltip.add(I18N.localise("binniecore.gui.tooltip.info")); + tooltip.add(info); + tooltip.setMaxWidth(200); + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlItemDisplay.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlItemDisplay.java index af8cb8a0..f1caf8c6 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlItemDisplay.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlItemDisplay.java @@ -14,76 +14,76 @@ import net.minecraft.item.ItemStack; import org.lwjgl.opengl.GL11; public class ControlItemDisplay extends Control implements ITooltip { - public boolean hastooltip; - private ItemStack itemStack; - private boolean rotating; + public boolean hastooltip; + private ItemStack itemStack; + private boolean rotating; - public ControlItemDisplay(IWidget parent, float x, float y) { - this(parent, x, y, 16.0f); - } + public ControlItemDisplay(IWidget parent, float x, float y) { + this(parent, x, y, 16.0f); + } - public ControlItemDisplay(IWidget parent, float f, float y, ItemStack stack, boolean tooltip) { - this(parent, f, y, 16.0f); - setItemStack(stack); - if (tooltip) { - setTooltip(); - } - } + public ControlItemDisplay(IWidget parent, float f, float y, ItemStack stack, boolean tooltip) { + this(parent, f, y, 16.0f); + setItemStack(stack); + if (tooltip) { + setTooltip(); + } + } - public ControlItemDisplay(IWidget parent, float x, float y, float size) { - super(parent, x, y, size, size); - itemStack = null; - hastooltip = false; - rotating = false; - } + public ControlItemDisplay(IWidget parent, float x, float y, float size) { + super(parent, x, y, size, size); + itemStack = null; + hastooltip = false; + rotating = false; + } - public void setTooltip() { - hastooltip = true; - addAttribute(WidgetAttribute.MOUSE_OVER); - } + public void setTooltip() { + hastooltip = true; + addAttribute(WidgetAttribute.MOUSE_OVER); + } - @Override - public void onRenderBackground() { - IPoint relativeToWindow = getAbsolutePosition().sub(getSuperParent().getPosition()); - if (relativeToWindow.x() > Window.get(this).getSize().x() + 100.0f || - relativeToWindow.y() > Window.get(this).getSize().y() + 100.0f) { - return; - } + @Override + public void onRenderBackground() { + IPoint relativeToWindow = getAbsolutePosition().sub(getSuperParent().getPosition()); + if (relativeToWindow.x() > Window.get(this).getSize().x() + 100.0f + || relativeToWindow.y() > Window.get(this).getSize().y() + 100.0f) { + return; + } - if (itemStack == null) { - return; - } + if (itemStack == null) { + return; + } - if (getSize().x() != 16.0f) { - GL11.glPushMatrix(); - float scale = getSize().x() / 16.0f; - GL11.glScalef(scale, scale, 1.0f); - BinnieCore.proxy.getMinecraftInstance(); - float phase = Minecraft.getSystemTime() / 20.0f; - CraftGUI.render.item(IPoint.ZERO, itemStack, rotating); - GL11.glPopMatrix(); - } else { - CraftGUI.render.item(IPoint.ZERO, itemStack, rotating); - } - } + if (getSize().x() != 16.0f) { + GL11.glPushMatrix(); + float scale = getSize().x() / 16.0f; + GL11.glScalef(scale, scale, 1.0f); + BinnieCore.proxy.getMinecraftInstance(); + float phase = Minecraft.getSystemTime() / 20.0f; + CraftGUI.render.item(IPoint.ZERO, itemStack, rotating); + GL11.glPopMatrix(); + } else { + CraftGUI.render.item(IPoint.ZERO, itemStack, rotating); + } + } - public ItemStack getItemStack() { - return itemStack; - } + public ItemStack getItemStack() { + return itemStack; + } - public void setItemStack(ItemStack itemStack) { - this.itemStack = itemStack; - } + public void setItemStack(ItemStack itemStack) { + this.itemStack = itemStack; + } - @Override - public void getTooltip(Tooltip tooltip) { - if (hastooltip && itemStack != null) { - tooltip.add(itemStack.getTooltip(((Window) getSuperParent()).getPlayer(), false)); - } - super.getTooltip(tooltip); - } + @Override + public void getTooltip(Tooltip tooltip) { + if (hastooltip && itemStack != null) { + tooltip.add(itemStack.getTooltip(((Window) getSuperParent()).getPlayer(), false)); + } + super.getTooltip(tooltip); + } - public void setRotating() { - rotating = true; - } + public void setRotating() { + rotating = true; + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlLiquidTank.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlLiquidTank.java index 857bf199..f6579187 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlLiquidTank.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlLiquidTank.java @@ -19,162 +19,170 @@ import binnie.core.machines.inventory.TankSlot; import binnie.core.machines.power.ITankMachine; import binnie.core.machines.power.TankInfo; import binnie.core.util.I18N; +import java.util.ArrayList; +import java.util.List; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.IIcon; import net.minecraftforge.fluids.Fluid; import org.lwjgl.opengl.GL11; -import java.util.ArrayList; -import java.util.List; - public class ControlLiquidTank extends Control implements ITooltip { - public static List tankError = new ArrayList<>(); - private int tankID; - private boolean horizontal; + public static List tankError = new ArrayList<>(); + private int tankID; + private boolean horizontal; - public ControlLiquidTank(IWidget parent, int x, int y) { - this(parent, x, y, false); - } + public ControlLiquidTank(IWidget parent, int x, int y) { + this(parent, x, y, false); + } - public ControlLiquidTank(IWidget parent, int x, int y, boolean horizontal) { - super(parent, x, y, horizontal ? 60.0f : 18.0f, horizontal ? 18.0f : 60.0f); - tankID = 0; - this.horizontal = horizontal; - addAttribute(WidgetAttribute.MOUSE_OVER); - addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - if (event.getButton() == 0) { - NBTTagCompound nbt = new NBTTagCompound(); - nbt.setByte("id", (byte) tankID); - Window.get(getWidget()).sendClientAction("tank-click", nbt); - } - } - }); - } + public ControlLiquidTank(IWidget parent, int x, int y, boolean horizontal) { + super(parent, x, y, horizontal ? 60.0f : 18.0f, horizontal ? 18.0f : 60.0f); + tankID = 0; + this.horizontal = horizontal; + addAttribute(WidgetAttribute.MOUSE_OVER); + addSelfEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + if (event.getButton() == 0) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setByte("id", (byte) tankID); + Window.get(getWidget()).sendClientAction("tank-click", nbt); + } + } + }); + } - public void setTankID(int tank) { - tankID = tank; - } + public void setTankID(int tank) { + tankID = tank; + } - public TankInfo getTank() { - return Window.get(this).getContainer().getTankInfo(tankID); - } + public TankInfo getTank() { + return Window.get(this).getContainer().getTankInfo(tankID); + } - public boolean isTankValid() { - return !getTank().isEmpty(); - } + public boolean isTankValid() { + return !getTank().isEmpty(); + } - public int getTankCapacity() { - return (int) getTank().getCapacity(); - } + public int getTankCapacity() { + return (int) getTank().getCapacity(); + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(horizontal ? CraftGUITexture.HorizontalLiquidTank : CraftGUITexture.LiquidTank, IPoint.ZERO); - if (isMouseOver() && Window.get(this).getGui().isHelpMode()) { - int c = 0xaa000000 + MinecraftTooltip.getOutline(Tooltip.Type.HELP); - CraftGUI.render.gradientRect(getArea().inset(1), c, c); - } else if (ControlLiquidTank.tankError.contains(tankID)) { - int c = 0xaa000000 + MinecraftTooltip.getOutline(MinecraftTooltip.Type.ERROR); - CraftGUI.render.gradientRect(getArea().inset(1), c, c); - } else if (getSuperParent().getMousedOverWidget() == this) { - if (Window.get(this).getGui().getDraggedItem() != null) { - CraftGUI.render.gradientRect(getArea().inset(1), 0xaaff9999, 0xaaff9999); - } else { - CraftGUI.render.gradientRect(getArea().inset(1), 0x80ffffff, 0x80ffffff); - } - } + @Override + public void onRenderBackground() { + CraftGUI.render.texture( + horizontal ? CraftGUITexture.HorizontalLiquidTank : CraftGUITexture.LiquidTank, IPoint.ZERO); + if (isMouseOver() && Window.get(this).getGui().isHelpMode()) { + int c = 0xaa000000 + MinecraftTooltip.getOutline(Tooltip.Type.HELP); + CraftGUI.render.gradientRect(getArea().inset(1), c, c); + } else if (ControlLiquidTank.tankError.contains(tankID)) { + int c = 0xaa000000 + MinecraftTooltip.getOutline(MinecraftTooltip.Type.ERROR); + CraftGUI.render.gradientRect(getArea().inset(1), c, c); + } else if (getSuperParent().getMousedOverWidget() == this) { + if (Window.get(this).getGui().getDraggedItem() != null) { + CraftGUI.render.gradientRect(getArea().inset(1), 0xaaff9999, 0xaaff9999); + } else { + CraftGUI.render.gradientRect(getArea().inset(1), 0x80ffffff, 0x80ffffff); + } + } - if (isTankValid()) { - float height = horizontal ? 16.0f : 58.0f; - int squaled = (int) (height * (getTank().getAmount() / getTank().getCapacity())); - Fluid fluid = getTank().liquid.getFluid(); - int hex = fluid.getColor(getTank().liquid); - int r = (hex & 0xFF0000) >> 16; - int g = (hex & 0xFF00) >> 8; - int b = hex & 0xFF; - GL11.glColor4f(r / 255.0f, g / 255.0f, b / 255.0f, 1.0f); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - IPoint pos = getAbsolutePosition(); - IPoint offset = new IPoint(0.0f, height - squaled); - IArea limited = getArea().inset(1); - if (horizontal) { - limited.setSize(new IPoint(limited.w() - 1.0f, limited.h())); - } + if (isTankValid()) { + float height = horizontal ? 16.0f : 58.0f; + int squaled = (int) (height * (getTank().getAmount() / getTank().getCapacity())); + Fluid fluid = getTank().liquid.getFluid(); + int hex = fluid.getColor(getTank().liquid); + int r = (hex & 0xFF0000) >> 16; + int g = (hex & 0xFF00) >> 8; + int b = hex & 0xFF; + GL11.glColor4f(r / 255.0f, g / 255.0f, b / 255.0f, 1.0f); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + IPoint pos = getAbsolutePosition(); + IPoint offset = new IPoint(0.0f, height - squaled); + IArea limited = getArea().inset(1); + if (horizontal) { + limited.setSize(new IPoint(limited.w() - 1.0f, limited.h())); + } - CraftGUI.render.limitArea(new IArea(limited.pos().add(pos).add(offset), limited.size().sub(offset))); - GL11.glEnable(GL11.GL_SCISSOR_TEST); - BinnieCore.proxy.bindTexture(TextureMap.locationItemsTexture); - for (int y = 0; y < height; y += 16) { - for (int x = 0; x < (horizontal ? 58 : 16); x += 16) { - IIcon icon = fluid.getIcon(); - CraftGUI.render.iconBlock(new IPoint(x + 1, y + 1), icon); - } - } + CraftGUI.render.limitArea( + new IArea(limited.pos().add(pos).add(offset), limited.size().sub(offset))); + GL11.glEnable(GL11.GL_SCISSOR_TEST); + BinnieCore.proxy.bindTexture(TextureMap.locationItemsTexture); + for (int y = 0; y < height; y += 16) { + for (int x = 0; x < (horizontal ? 58 : 16); x += 16) { + IIcon icon = fluid.getIcon(); + CraftGUI.render.iconBlock(new IPoint(x + 1, y + 1), icon); + } + } - GL11.glDisable(GL11.GL_SCISSOR_TEST); - GL11.glDisable(GL11.GL_BLEND); - GL11.glColor4f(1, 1, 1, 1.0f); - } - } + GL11.glDisable(GL11.GL_SCISSOR_TEST); + GL11.glDisable(GL11.GL_BLEND); + GL11.glColor4f(1, 1, 1, 1.0f); + } + } - @Override - public void onRenderForeground() { - CraftGUI.render.texture(horizontal ? CraftGUITexture.HorizontalLiquidTankOverlay : CraftGUITexture.LiquidTankOverlay, IPoint.ZERO); - if (isMouseOver() && Window.get(this).getGui().isHelpMode()) { - IArea area = getArea(); - CraftGUI.render.color(MinecraftTooltip.getOutline(Tooltip.Type.HELP)); - CraftGUI.render.texture(CraftGUITexture.Outline, area.outset(1)); - } + @Override + public void onRenderForeground() { + CraftGUI.render.texture( + horizontal ? CraftGUITexture.HorizontalLiquidTankOverlay : CraftGUITexture.LiquidTankOverlay, + IPoint.ZERO); + if (isMouseOver() && Window.get(this).getGui().isHelpMode()) { + IArea area = getArea(); + CraftGUI.render.color(MinecraftTooltip.getOutline(Tooltip.Type.HELP)); + CraftGUI.render.texture(CraftGUITexture.Outline, area.outset(1)); + } - if (ControlLiquidTank.tankError.contains(tankID)) { - IArea area = getArea(); - CraftGUI.render.color(MinecraftTooltip.getOutline(MinecraftTooltip.Type.ERROR)); - CraftGUI.render.texture(CraftGUITexture.Outline, area.outset(1)); - } - } + if (ControlLiquidTank.tankError.contains(tankID)) { + IArea area = getArea(); + CraftGUI.render.color(MinecraftTooltip.getOutline(MinecraftTooltip.Type.ERROR)); + CraftGUI.render.texture(CraftGUITexture.Outline, area.outset(1)); + } + } - @Override - public void getHelpTooltip(Tooltip tooltip) { - if (getTankSlot() == null) { - return; - } + @Override + public void getHelpTooltip(Tooltip tooltip) { + if (getTankSlot() == null) { + return; + } - TankSlot slot = getTankSlot(); - tooltip.add(slot.getName()); - tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.capacity", getTankCapacity())); - tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.insertSide", MachineSide.asString(slot.getInputSides()))); - tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.extractSide", MachineSide.asString(slot.getOutputSides()))); + TankSlot slot = getTankSlot(); + tooltip.add(slot.getName()); + tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.capacity", getTankCapacity())); + tooltip.add( + I18N.localise("binniecore.gui.tooltip.tank.insertSide", MachineSide.asString(slot.getInputSides()))); + tooltip.add( + I18N.localise("binniecore.gui.tooltip.tank.extractSide", MachineSide.asString(slot.getOutputSides()))); - if (slot.isReadOnly()) { - tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.outputOnlyTank")); - } + if (slot.isReadOnly()) { + tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.outputOnlyTank")); + } - if (slot.getValidator() == null) { - tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.acceptsAny")); - } else { - tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.accepts", slot.getValidator().getTooltip())); - } - } + if (slot.getValidator() == null) { + tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.acceptsAny")); + } else { + tooltip.add(I18N.localise( + "binniecore.gui.tooltip.tank.accepts", slot.getValidator().getTooltip())); + } + } - @Override - public void getTooltip(Tooltip tooltip) { - if (!isTankValid()) { - tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.empty")); - return; - } + @Override + public void getTooltip(Tooltip tooltip) { + if (!isTankValid()) { + tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.empty")); + return; + } - int percentage = (int) (100.0 * getTank().getAmount() / getTankCapacity()); - tooltip.add(getTank().getName()); - tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.full", percentage)); - tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.amount", (int) getTank().getAmount())); - } + int percentage = (int) (100.0 * getTank().getAmount() / getTankCapacity()); + tooltip.add(getTank().getName()); + tooltip.add(I18N.localise("binniecore.gui.tooltip.tank.full", percentage)); + tooltip.add(I18N.localise( + "binniecore.gui.tooltip.tank.amount", (int) getTank().getAmount())); + } - private TankSlot getTankSlot() { - ITankMachine tank = Machine.getInterface(ITankMachine.class, Window.get(this).getInventory()); - return (tank != null) ? tank.getTankSlot(tankID) : null; - } + private TankSlot getTankSlot() { + ITankMachine tank = + Machine.getInterface(ITankMachine.class, Window.get(this).getInventory()); + return (tank != null) ? tank.getTankSlot(tankID) : null; + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlMachineProgress.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlMachineProgress.java index c4aa3dc3..6ca9edc0 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlMachineProgress.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlMachineProgress.java @@ -5,7 +5,7 @@ import binnie.core.craftgui.geometry.Position; import binnie.core.craftgui.resource.Texture; public class ControlMachineProgress extends ControlProgress { - public ControlMachineProgress(IWidget parent, int x, int y, Texture base, Texture progress, Position dir) { - super(parent, x, y, base, progress, dir); - } + public ControlMachineProgress(IWidget parent, int x, int y, Texture base, Texture progress, Position dir) { + super(parent, x, y, base, progress, dir); + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlPlayerInventory.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlPlayerInventory.java index f7f7322f..49a84be0 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlPlayerInventory.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlPlayerInventory.java @@ -3,76 +3,80 @@ package binnie.core.craftgui.minecraft.control; import binnie.core.craftgui.IWidget; import binnie.core.craftgui.controls.core.Control; import binnie.core.craftgui.minecraft.InventoryType; - import java.util.ArrayList; import java.util.List; public class ControlPlayerInventory extends Control { - private List slots; + private List slots; - public ControlPlayerInventory(IWidget parent, boolean wide) { - super(parent, (int) (parent.getSize().x() / 2.0f) - (wide ? 110 : 81), (int) parent.getSize().y() - (wide ? 54 : 76) - 12, wide ? 220 : 162, wide ? 54 : 76); - slots = new ArrayList<>(); - for (int row = 0; row < 3; ++row) { - for (int column = 0; column < 9; ++column) { - ControlSlot slot = new ControlSlot(this, (wide ? 58 : 0) + column * 18, row * 18); - slots.add(slot); - } - } + public ControlPlayerInventory(IWidget parent, boolean wide) { + super( + parent, + (int) (parent.getSize().x() / 2.0f) - (wide ? 110 : 81), + (int) parent.getSize().y() - (wide ? 54 : 76) - 12, + wide ? 220 : 162, + wide ? 54 : 76); + slots = new ArrayList<>(); + for (int row = 0; row < 3; ++row) { + for (int column = 0; column < 9; ++column) { + ControlSlot slot = new ControlSlot(this, (wide ? 58 : 0) + column * 18, row * 18); + slots.add(slot); + } + } - if (wide) { - for (int i1 = 0; i1 < 9; ++i1) { - ControlSlot slot2 = new ControlSlot(this, i1 % 3 * 18, i1 / 3 * 18); - slots.add(slot2); - } - } else { - for (int i1 = 0; i1 < 9; ++i1) { - ControlSlot slot2 = new ControlSlot(this, i1 * 18, 58.0f); - slots.add(slot2); - } - } - create(); - } + if (wide) { + for (int i1 = 0; i1 < 9; ++i1) { + ControlSlot slot2 = new ControlSlot(this, i1 % 3 * 18, i1 / 3 * 18); + slots.add(slot2); + } + } else { + for (int i1 = 0; i1 < 9; ++i1) { + ControlSlot slot2 = new ControlSlot(this, i1 * 18, 58.0f); + slots.add(slot2); + } + } + create(); + } - public ControlPlayerInventory(IWidget parent) { - this(parent, false); - } + public ControlPlayerInventory(IWidget parent) { + this(parent, false); + } - public ControlPlayerInventory(IWidget parent, int x, int y) { - super(parent, x, y, 54.0f, 220.0f); - slots = new ArrayList<>(); - for (int row = 0; row < 6; ++row) { - for (int column = 0; column < 6; ++column) { - ControlSlot slot = new ControlSlot(this, column * 18, row * 18); - slots.add(slot); - } - } - create(); - } + public ControlPlayerInventory(IWidget parent, int x, int y) { + super(parent, x, y, 54.0f, 220.0f); + slots = new ArrayList<>(); + for (int row = 0; row < 6; ++row) { + for (int column = 0; column < 6; ++column) { + ControlSlot slot = new ControlSlot(this, column * 18, row * 18); + slots.add(slot); + } + } + create(); + } - public void create() { - for (int row = 0; row < 3; ++row) { - for (int column = 0; column < 9; ++column) { - ControlSlot slot = slots.get(column + row * 9); - slot.assign(InventoryType.Player, 9 + column + row * 9); - } - } + public void create() { + for (int row = 0; row < 3; ++row) { + for (int column = 0; column < 9; ++column) { + ControlSlot slot = slots.get(column + row * 9); + slot.assign(InventoryType.Player, 9 + column + row * 9); + } + } - for (int i1 = 0; i1 < 9; ++i1) { - ControlSlot slot2 = slots.get(27 + i1); - slot2.assign(InventoryType.Player, i1); - } - } + for (int i1 = 0; i1 < 9; ++i1) { + ControlSlot slot2 = slots.get(27 + i1); + slot2.assign(InventoryType.Player, i1); + } + } - public ControlSlot getSlot(int i) { - if (i < 0 || i >= slots.size()) { - return null; - } - return slots.get(i); - } + public ControlSlot getSlot(int i) { + if (i < 0 || i >= slots.size()) { + return null; + } + return slots.get(i); + } - @Override - public void onUpdateClient() { - // ignored - } + @Override + public void onUpdateClient() { + // ignored + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlPowerSystem.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlPowerSystem.java index 0352ee21..3b637dda 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlPowerSystem.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlPowerSystem.java @@ -11,24 +11,24 @@ import binnie.core.machines.power.PowerSystem; import binnie.core.util.I18N; public class ControlPowerSystem extends Control implements ITooltip { - private PowerSystem system; + private PowerSystem system; - public ControlPowerSystem(IWidget parent, float x, float y, PowerSystem system) { - super(parent, x, y, 16.0f, 16.0f); - addAttribute(WidgetAttribute.MOUSE_OVER); - this.system = system; - } + public ControlPowerSystem(IWidget parent, float x, float y, PowerSystem system) { + super(parent, x, y, 16.0f, 16.0f); + addAttribute(WidgetAttribute.MOUSE_OVER); + this.system = system; + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(CraftGUITexture.PowerButton, getArea()); - } + @Override + public void onRenderBackground() { + CraftGUI.render.texture(CraftGUITexture.PowerButton, getArea()); + } - @Override - public void getTooltip(Tooltip tooltip) { - tooltip.setType(Tooltip.Type.POWER); - tooltip.add(I18N.localise("binniecore.gui.tooltip.powerSupply")); - tooltip.add(I18N.localise("binniecore.gui.tooltip.poweredBy", system.getUnitName())); - tooltip.setMaxWidth(200); - } + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.setType(Tooltip.Type.POWER); + tooltip.add(I18N.localise("binniecore.gui.tooltip.powerSupply")); + tooltip.add(I18N.localise("binniecore.gui.tooltip.poweredBy", system.getUnitName())); + tooltip.setMaxWidth(200); + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlProgress.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlProgress.java index f74ee641..2c077530 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlProgress.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlProgress.java @@ -6,21 +6,26 @@ import binnie.core.craftgui.geometry.Position; import binnie.core.craftgui.resource.Texture; public class ControlProgress extends ControlProgressBase { - private Texture progressBlank; - private Texture progressBar; - private Position direction; + private Texture progressBlank; + private Texture progressBar; + private Position direction; - public ControlProgress(IWidget parent, int x, int y, Texture progressBlank, Texture progressBar, Position dir) { - super(parent, x, y, (progressBlank == null) ? 0.0f : progressBlank.w(), (progressBlank == null) ? 0.0f : progressBlank.h()); - this.progressBlank = progressBlank; - this.progressBar = progressBar; - progress = 0.0f; - direction = dir; - } + public ControlProgress(IWidget parent, int x, int y, Texture progressBlank, Texture progressBar, Position dir) { + super( + parent, + x, + y, + (progressBlank == null) ? 0.0f : progressBlank.w(), + (progressBlank == null) ? 0.0f : progressBlank.h()); + this.progressBlank = progressBlank; + this.progressBar = progressBar; + progress = 0.0f; + direction = dir; + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(progressBlank, getArea()); - CraftGUI.render.texturePercentage(progressBar, getArea(), direction, progress); - } + @Override + public void onRenderBackground() { + CraftGUI.render.texture(progressBlank, getArea()); + CraftGUI.render.texturePercentage(progressBar, getArea(), direction, progress); + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlProgressBase.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlProgressBase.java index 24edff48..cfe71dc5 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlProgressBase.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlProgressBase.java @@ -11,89 +11,91 @@ import binnie.core.machines.power.ProcessInfo; import binnie.core.util.I18N; public class ControlProgressBase extends Control { - protected float progress; + protected float progress; - public ControlProgressBase(IWidget parent, float x, float y, float w, float h) { - super(parent, x, y, w, h); - progress = 0.0f; - addAttribute(WidgetAttribute.MOUSE_OVER); - } + public ControlProgressBase(IWidget parent, float x, float y, float w, float h) { + super(parent, x, y, w, h); + progress = 0.0f; + addAttribute(WidgetAttribute.MOUSE_OVER); + } - public static String convertTime(int time) { - int seconds = (int) (time / 20.0f); - int minutes = 0; - while (seconds >= 60) { - minutes++; - seconds -= 60; - } + public static String convertTime(int time) { + int seconds = (int) (time / 20.0f); + int minutes = 0; + while (seconds >= 60) { + minutes++; + seconds -= 60; + } - String ts = ""; - if (minutes > 0) { - if (minutes == 1) { - ts += I18N.localise("binniecore.gui.database.time.minute"); - } else { - ts += I18N.localise("binniecore.gui.database.time.minutes", minutes); - } - } + String ts = ""; + if (minutes > 0) { + if (minutes == 1) { + ts += I18N.localise("binniecore.gui.database.time.minute"); + } else { + ts += I18N.localise("binniecore.gui.database.time.minutes", minutes); + } + } - if (seconds > 0) { - if (ts.length() > 0) { - ts += " "; - } - if (seconds == 1) { - ts += I18N.localise("binniecore.gui.database.time.second"); - } else { - ts += I18N.localise("binniecore.gui.database.time.seconds", seconds); - } - } - return ts; - } + if (seconds > 0) { + if (ts.length() > 0) { + ts += " "; + } + if (seconds == 1) { + ts += I18N.localise("binniecore.gui.database.time.second"); + } else { + ts += I18N.localise("binniecore.gui.database.time.seconds", seconds); + } + } + return ts; + } - public void setProgress(float progress) { - this.progress = progress; - if (this.progress < 0.0f) { - this.progress = 0.0f; - } else if (this.progress > 1.0f) { - this.progress = 1.0f; - } - } + public void setProgress(float progress) { + this.progress = progress; + if (this.progress < 0.0f) { + this.progress = 0.0f; + } else if (this.progress > 1.0f) { + this.progress = 1.0f; + } + } - protected ProcessInfo getProcess() { - return Window.get(this).getContainer().getProcessInfo(); - } + protected ProcessInfo getProcess() { + return Window.get(this).getContainer().getProcessInfo(); + } - @Override - public void onUpdateClient() { - ProcessInfo process = getProcess(); - if (process != null) { - setProgress(process.getCurrentProgress() / 100.0f); - } - } + @Override + public void onUpdateClient() { + ProcessInfo process = getProcess(); + if (process != null) { + setProgress(process.getCurrentProgress() / 100.0f); + } + } - @Override - public void getHelpTooltip(Tooltip tooltip) { - ProcessInfo process = getProcess(); - IProcess machineProcess = Machine.getMachine(Window.get(this).getInventory()).getInterface(IProcess.class); - if (process == null) { - return; - } + @Override + public void getHelpTooltip(Tooltip tooltip) { + ProcessInfo process = getProcess(); + IProcess machineProcess = + Machine.getMachine(Window.get(this).getInventory()).getInterface(IProcess.class); + if (process == null) { + return; + } - tooltip.add(I18N.localise("binniecore.gui.database.time.progress")); + tooltip.add(I18N.localise("binniecore.gui.database.time.progress")); - if (progress == 0.0f) { - tooltip.add(I18N.localise("binniecore.gui.database.time.notInProgress")); - } else if (process.getProcessTime() > 0) { - tooltip.add(machineProcess.getTooltip() + " (" + (int) process.getCurrentProgress() + "%)"); - } else { - tooltip.add(I18N.localise("binniecore.gui.database.time.inProgress")); - } + if (progress == 0.0f) { + tooltip.add(I18N.localise("binniecore.gui.database.time.notInProgress")); + } else if (process.getProcessTime() > 0) { + tooltip.add(machineProcess.getTooltip() + " (" + (int) process.getCurrentProgress() + "%)"); + } else { + tooltip.add(I18N.localise("binniecore.gui.database.time.inProgress")); + } - if (process.getProcessTime() > 0) { - tooltip.add(I18N.localise("binniecore.gui.database.time.left", convertTime((int) ((1.0f - progress) * process.getProcessTime())))); - tooltip.add(I18N.localise("binniecore.gui.database.time.total", convertTime(process.getProcessTime()))); - tooltip.add(I18N.localise("binniecore.gui.database.energyCost.0", process.getProcessEnergy() * 10)); - } else { - tooltip.add(I18N.localise("binniecore.gui.database.energyCost.1", process.getEnergyPerTick() * 10.0f)); - } - } + if (process.getProcessTime() > 0) { + tooltip.add(I18N.localise("binniecore.gui.database.time.left", convertTime((int) + ((1.0f - progress) * process.getProcessTime())))); + tooltip.add(I18N.localise("binniecore.gui.database.time.total", convertTime(process.getProcessTime()))); + tooltip.add(I18N.localise("binniecore.gui.database.energyCost.0", process.getProcessEnergy() * 10)); + } else { + tooltip.add(I18N.localise("binniecore.gui.database.energyCost.1", process.getEnergyPerTick() * 10.0f)); + } + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlide.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlide.java index 619ef49c..3513acfe 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlide.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlide.java @@ -14,87 +14,100 @@ import binnie.core.craftgui.resource.minecraft.CraftGUITexture; import org.lwjgl.opengl.GL11; public class ControlSlide extends Control { - private IArea expanded; - private IArea shrunk; - private boolean slideActive; - private Position anchor; - private String label; + private IArea expanded; + private IArea shrunk; + private boolean slideActive; + private Position anchor; + private String label; - public ControlSlide(IWidget parent, float x, float y, float w, float h, Position anchor2) { - super(parent, x, y, w, h); - slideActive = true; - label = null; - addAttribute(WidgetAttribute.MOUSE_OVER); - addAttribute(WidgetAttribute.BLOCK_TOOLTIP); - expanded = new IArea(getPosition(), getSize()); - anchor = anchor2.opposite(); - float border = (anchor.x() != 0) ? (expanded.w() - 6.0f) : (expanded.h() - 6.0f); - shrunk = expanded.inset(new IBorder(anchor, border)); - slideActive = false; - } + public ControlSlide(IWidget parent, float x, float y, float w, float h, Position anchor2) { + super(parent, x, y, w, h); + slideActive = true; + label = null; + addAttribute(WidgetAttribute.MOUSE_OVER); + addAttribute(WidgetAttribute.BLOCK_TOOLTIP); + expanded = new IArea(getPosition(), getSize()); + anchor = anchor2.opposite(); + float border = (anchor.x() != 0) ? (expanded.w() - 6.0f) : (expanded.h() - 6.0f); + shrunk = expanded.inset(new IBorder(anchor, border)); + slideActive = false; + } - @Override - public void onRenderBackground() { - super.onRenderBackground(); - if (label != null) { - float lw = CraftGUI.render.textWidth(label) + 16; - float lh = CraftGUI.render.textHeight() + 16; - boolean hor = anchor.x() != 0; - IArea ar = isSlideActive() ? expanded : shrunk; - IArea tabArea = new IArea(hor ? (-lh / 2.0f) : (-lw / 2.0f), hor ? (-lw / 2.0f) : (-lh / 2.0f), hor ? lh : lw, hor ? lw : lh); - IPoint shift = new IPoint(ar.w() * (1 - anchor.x()) / 2.0f, ar.h() * (1 - anchor.y()) / 2.0f); - tabArea = tabArea.shift(shift.x() - (-3.0f + lh / 2.0f) * anchor.x(), shift.y() - (-3.0f + lh / 2.0f) * anchor.y()); - Texture texture = CraftGUI.render.getTexture(isSlideActive() ? CraftGUITexture.Tab : CraftGUITexture.TabDisabled).crop(anchor.opposite(), 8.0f); - CraftGUI.render.texture(texture, tabArea); - texture = CraftGUI.render.getTexture(CraftGUITexture.TabOutline).crop(anchor.opposite(), 8.0f); - CraftGUI.render.texture(texture, tabArea.inset(2)); - IArea labelArea = new IArea(-lw / 2.0f, 0.0f, lw, lh); - GL11.glPushMatrix(); - GL11.glTranslatef(shift.x() + anchor.x() * 2.0f, shift.y() + anchor.y() * 2.0f, 0.0f); - if (anchor.x() != 0) { - GL11.glRotatef(90.0f, 0.0f, 0.0f, anchor.x()); - } - if (anchor.y() > 0) { - GL11.glTranslatef(0.0f, -lh, 0.0f); - } - CraftGUI.render.text(labelArea, TextJustification.MIDDLE_CENTER, label, 16777215); - GL11.glPopMatrix(); - } - CraftGUI.render.texture(CraftGUITexture.Window, getArea()); - Object slideTexture = (anchor == Position.BOTTOM) ? CraftGUITexture.SlideDown : ((anchor == Position.TOP) ? CraftGUITexture.SlideUp : ((anchor == Position.LEFT) ? CraftGUITexture.SlideLeft : CraftGUITexture.SlideRight)); - CraftGUI.render.texture(slideTexture, new IPoint((anchor.x() + 1.0f) * w() / 2.0f - 8.0f, (anchor.y() + 1.0f) * h() / 2.0f - 8.0f)); - } + @Override + public void onRenderBackground() { + super.onRenderBackground(); + if (label != null) { + float lw = CraftGUI.render.textWidth(label) + 16; + float lh = CraftGUI.render.textHeight() + 16; + boolean hor = anchor.x() != 0; + IArea ar = isSlideActive() ? expanded : shrunk; + IArea tabArea = new IArea( + hor ? (-lh / 2.0f) : (-lw / 2.0f), hor ? (-lw / 2.0f) : (-lh / 2.0f), hor ? lh : lw, hor ? lw : lh); + IPoint shift = new IPoint(ar.w() * (1 - anchor.x()) / 2.0f, ar.h() * (1 - anchor.y()) / 2.0f); + tabArea = tabArea.shift( + shift.x() - (-3.0f + lh / 2.0f) * anchor.x(), shift.y() - (-3.0f + lh / 2.0f) * anchor.y()); + Texture texture = CraftGUI.render + .getTexture(isSlideActive() ? CraftGUITexture.Tab : CraftGUITexture.TabDisabled) + .crop(anchor.opposite(), 8.0f); + CraftGUI.render.texture(texture, tabArea); + texture = CraftGUI.render.getTexture(CraftGUITexture.TabOutline).crop(anchor.opposite(), 8.0f); + CraftGUI.render.texture(texture, tabArea.inset(2)); + IArea labelArea = new IArea(-lw / 2.0f, 0.0f, lw, lh); + GL11.glPushMatrix(); + GL11.glTranslatef(shift.x() + anchor.x() * 2.0f, shift.y() + anchor.y() * 2.0f, 0.0f); + if (anchor.x() != 0) { + GL11.glRotatef(90.0f, 0.0f, 0.0f, anchor.x()); + } + if (anchor.y() > 0) { + GL11.glTranslatef(0.0f, -lh, 0.0f); + } + CraftGUI.render.text(labelArea, TextJustification.MIDDLE_CENTER, label, 16777215); + GL11.glPopMatrix(); + } + CraftGUI.render.texture(CraftGUITexture.Window, getArea()); + Object slideTexture = (anchor == Position.BOTTOM) + ? CraftGUITexture.SlideDown + : ((anchor == Position.TOP) + ? CraftGUITexture.SlideUp + : ((anchor == Position.LEFT) ? CraftGUITexture.SlideLeft : CraftGUITexture.SlideRight)); + CraftGUI.render.texture( + slideTexture, + new IPoint((anchor.x() + 1.0f) * w() / 2.0f - 8.0f, (anchor.y() + 1.0f) * h() / 2.0f - 8.0f)); + } - public boolean isSlideActive() { - return slideActive; - } + public boolean isSlideActive() { + return slideActive; + } - @Override - public void onUpdateClient() { - boolean mouseOver = isMouseOverWidget(getRelativeMousePosition()); - if (mouseOver != slideActive) { - setSlide(mouseOver); - } - } + @Override + public void onUpdateClient() { + boolean mouseOver = isMouseOverWidget(getRelativeMousePosition()); + if (mouseOver != slideActive) { + setSlide(mouseOver); + } + } - @Override - public boolean isMouseOverWidget(IPoint relativeMouse) { - return getArea().outset(isSlideActive() ? 16 : 8).outset(new IBorder(anchor.opposite(), 16.0f)).contains(relativeMouse); - } + @Override + public boolean isMouseOverWidget(IPoint relativeMouse) { + return getArea() + .outset(isSlideActive() ? 16 : 8) + .outset(new IBorder(anchor.opposite(), 16.0f)) + .contains(relativeMouse); + } - @Override - public boolean isChildVisible(IWidget child) { - return slideActive; - } + @Override + public boolean isChildVisible(IWidget child) { + return slideActive; + } - public void setSlide(boolean b) { - slideActive = b; - IArea area = isSlideActive() ? expanded : shrunk; - setSize(area.size()); - setPosition(area.pos()); - } + public void setSlide(boolean b) { + slideActive = b; + IArea area = isSlideActive() ? expanded : shrunk; + setSize(area.size()); + setPosition(area.pos()); + } - public void setLabel(String l) { - label = l; - } + public void setLabel(String l) { + label = l; + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlot.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlot.java index e6a42702..8a4cebd1 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlot.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlot.java @@ -15,6 +15,10 @@ import binnie.core.machines.inventory.InventorySlot; import binnie.core.machines.inventory.MachineSide; import binnie.core.machines.inventory.SlotValidator; import binnie.core.util.I18N; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.multiplayer.PlayerControllerMP; import net.minecraft.entity.player.InventoryPlayer; @@ -22,200 +26,201 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - public class ControlSlot extends ControlSlotBase { - public static Map> highlighting = new HashMap<>(); - public static boolean shiftClickActive = false; + public static Map> highlighting = new HashMap<>(); + public static boolean shiftClickActive = false; - static { - for (EnumHighlighting h : EnumHighlighting.values()) { - ControlSlot.highlighting.put(h, new ArrayList<>()); - } - } + static { + for (EnumHighlighting h : EnumHighlighting.values()) { + ControlSlot.highlighting.put(h, new ArrayList<>()); + } + } - public Slot slot; + public Slot slot; - public ControlSlot(IWidget parent, float x, float y) { - super(parent, x, y); - slot = null; - addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - if (slot == null) { - return; - } + public ControlSlot(IWidget parent, float x, float y) { + super(parent, x, y); + slot = null; + addSelfEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + if (slot == null) { + return; + } - PlayerControllerMP playerController = ((Window) getSuperParent()).getGui().getMinecraft().playerController; - int windowId = ((Window) getSuperParent()).getContainer().windowId; - int slotNumber = slot.slotNumber; - int button = event.getButton(); - Window.get(getWidget()).getGui(); - playerController.windowClick(windowId, slotNumber, button, GuiScreen.isShiftKeyDown() ? 1 : 0, ((Window) getSuperParent()).getGui().getMinecraft().thePlayer); - } - }); - } + PlayerControllerMP playerController = + ((Window) getSuperParent()).getGui().getMinecraft().playerController; + int windowId = ((Window) getSuperParent()).getContainer().windowId; + int slotNumber = slot.slotNumber; + int button = event.getButton(); + Window.get(getWidget()).getGui(); + playerController.windowClick( + windowId, + slotNumber, + button, + GuiScreen.isShiftKeyDown() ? 1 : 0, + ((Window) getSuperParent()).getGui().getMinecraft().thePlayer); + } + }); + } - public ControlSlot(IWidget parent, int x, int y, Slot slot) { - super(parent, x, y); - this.slot = slot; - } + public ControlSlot(IWidget parent, int x, int y, Slot slot) { + super(parent, x, y); + this.slot = slot; + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(CraftGUITexture.Slot, IPoint.ZERO); - if (slot == null) { - return; - } + @Override + public void onRenderBackground() { + CraftGUI.render.texture(CraftGUITexture.Slot, IPoint.ZERO); + if (slot == null) { + return; + } - InventorySlot islot = getInventorySlot(); - if (islot != null && islot.getValidator() != null) { - IIcon icon = islot.getValidator().getIcon(!islot.getInputSides().isEmpty()); - if (icon != null) { - CraftGUI.render.iconItem(new IPoint(1.0f, 1.0f), icon); - } - } + InventorySlot islot = getInventorySlot(); + if (islot != null && islot.getValidator() != null) { + IIcon icon = islot.getValidator().getIcon(!islot.getInputSides().isEmpty()); + if (icon != null) { + CraftGUI.render.iconItem(new IPoint(1.0f, 1.0f), icon); + } + } - boolean highlighted = false; - for (Map.Entry> highlight : ControlSlot.highlighting.entrySet()) { - if (highlight.getKey() == EnumHighlighting.SHIFT_CLICK && !ControlSlot.shiftClickActive) { - continue; - } - if (highlighted || !highlight.getValue().contains(slot.slotNumber)) { - continue; - } + boolean highlighted = false; + for (Map.Entry> highlight : ControlSlot.highlighting.entrySet()) { + if (highlight.getKey() == EnumHighlighting.SHIFT_CLICK && !ControlSlot.shiftClickActive) { + continue; + } + if (highlighted || !highlight.getValue().contains(slot.slotNumber)) { + continue; + } - highlighted = true; - int c = 0xaa000000 + Math.min(highlight.getKey().getColour(), 0xffffff); - CraftGUI.render.gradientRect(new IArea(1.0f, 1.0f, 16.0f, 16.0f), c, c); - } - if (!highlighted && getSuperParent().getMousedOverWidget() == this) { - if (Window.get(this).getGui().getDraggedItem() != null && !slot.isItemValid(Window.get(this).getGui().getDraggedItem())) { - CraftGUI.render.gradientRect(new IArea(1.0f, 1.0f, 16.0f, 16.0f), 0xaaff9999, 0xaaff9999); - } else { - CraftGUI.render.gradientRect(new IArea(1.0f, 1.0f, 16.0f, 16.0f), 0x80ffffff, 0x80ffffff); - } - } - } + highlighted = true; + int c = 0xaa000000 + Math.min(highlight.getKey().getColour(), 0xffffff); + CraftGUI.render.gradientRect(new IArea(1.0f, 1.0f, 16.0f, 16.0f), c, c); + } + if (!highlighted && getSuperParent().getMousedOverWidget() == this) { + if (Window.get(this).getGui().getDraggedItem() != null + && !slot.isItemValid(Window.get(this).getGui().getDraggedItem())) { + CraftGUI.render.gradientRect(new IArea(1.0f, 1.0f, 16.0f, 16.0f), 0xaaff9999, 0xaaff9999); + } else { + CraftGUI.render.gradientRect(new IArea(1.0f, 1.0f, 16.0f, 16.0f), 0x80ffffff, 0x80ffffff); + } + } + } - @Override - public void onRenderOverlay() { - if (slot == null) { - return; - } + @Override + public void onRenderOverlay() { + if (slot == null) { + return; + } - boolean highlighted = false; - for (Map.Entry> highlight : ControlSlot.highlighting.entrySet()) { - if (highlight.getKey() == EnumHighlighting.SHIFT_CLICK && !ControlSlot.shiftClickActive) { - continue; - } - if (highlighted || !highlight.getValue().contains(slot.slotNumber)) { - continue; - } + boolean highlighted = false; + for (Map.Entry> highlight : ControlSlot.highlighting.entrySet()) { + if (highlight.getKey() == EnumHighlighting.SHIFT_CLICK && !ControlSlot.shiftClickActive) { + continue; + } + if (highlighted || !highlight.getValue().contains(slot.slotNumber)) { + continue; + } - highlighted = true; - int c = highlight.getKey().getColour(); - IArea area = getArea(); - if (getParent() instanceof ControlSlotArray || getParent() instanceof ControlPlayerInventory) { - area = getParent().getArea(); - area.setPosition(IPoint.ZERO.sub(getPosition())); - } - CraftGUI.render.color(c); - CraftGUI.render.texture(CraftGUITexture.Outline, area.outset(1)); - } - } + highlighted = true; + int c = highlight.getKey().getColour(); + IArea area = getArea(); + if (getParent() instanceof ControlSlotArray || getParent() instanceof ControlPlayerInventory) { + area = getParent().getArea(); + area.setPosition(IPoint.ZERO.sub(getPosition())); + } + CraftGUI.render.color(c); + CraftGUI.render.texture(CraftGUITexture.Outline, area.outset(1)); + } + } - @Override - public void onUpdateClient() { - super.onUpdateClient(); - if (slot == null) { - return; - } + @Override + public void onUpdateClient() { + super.onUpdateClient(); + if (slot == null) { + return; + } - if (isMouseOver() && GuiScreen.isShiftKeyDown()) { - Window.get(this).getContainer().setMouseOverSlot(slot); - ControlSlot.shiftClickActive = true; - } + if (isMouseOver() && GuiScreen.isShiftKeyDown()) { + Window.get(this).getContainer().setMouseOverSlot(slot); + ControlSlot.shiftClickActive = true; + } - if (Window.get(this).getGui().isHelpMode() && isMouseOver()) { - for (ControlSlot slot2 : getControlSlots()) { - if (slot2.slot != null) { - ControlSlot.highlighting.get(EnumHighlighting.HELP).add(slot2.slot.slotNumber); - } - } - } - } + if (Window.get(this).getGui().isHelpMode() && isMouseOver()) { + for (ControlSlot slot2 : getControlSlots()) { + if (slot2.slot != null) { + ControlSlot.highlighting.get(EnumHighlighting.HELP).add(slot2.slot.slotNumber); + } + } + } + } - private List getControlSlots() { - List slots = new ArrayList<>(); - if (getParent() instanceof ControlSlotArray || getParent() instanceof ControlPlayerInventory) { - for (IWidget child : getParent().getWidgets()) { - slots.add((ControlSlot) child); - } - } else { - slots.add(this); - } - return slots; - } + private List getControlSlots() { + List slots = new ArrayList<>(); + if (getParent() instanceof ControlSlotArray || getParent() instanceof ControlPlayerInventory) { + for (IWidget child : getParent().getWidgets()) { + slots.add((ControlSlot) child); + } + } else { + slots.add(this); + } + return slots; + } - @Override - public ItemStack getItemStack() { - if (slot != null) { - return slot.getStack(); - } - return null; - } + @Override + public ItemStack getItemStack() { + if (slot != null) { + return slot.getStack(); + } + return null; + } - public ControlSlot assign(int index) { - return assign(InventoryType.Machine, index); - } + public ControlSlot assign(int index) { + return assign(InventoryType.Machine, index); + } - public ControlSlot assign(InventoryType inventory, int index) { - if (slot == null) { - slot = ((Window) getSuperParent()).getContainer().getOrCreateSlot(inventory, index); - } - return this; - } + public ControlSlot assign(InventoryType inventory, int index) { + if (slot == null) { + slot = ((Window) getSuperParent()).getContainer().getOrCreateSlot(inventory, index); + } + return this; + } - @Override - public void getHelpTooltip(Tooltip tooltip) { - if (slot == null) { - return; - } + @Override + public void getHelpTooltip(Tooltip tooltip) { + if (slot == null) { + return; + } - InventorySlot slot = getInventorySlot(); - if (getInventorySlot() != null) { - tooltip.add(slot.getName()); - tooltip.add(I18N.localise("binniecore.gui.side.insertSide", MachineSide.asString(slot.getInputSides()))); - tooltip.add(I18N.localise("binniecore.gui.side.extractSide", MachineSide.asString(slot.getOutputSides()))); + InventorySlot slot = getInventorySlot(); + if (getInventorySlot() != null) { + tooltip.add(slot.getName()); + tooltip.add(I18N.localise("binniecore.gui.side.insertSide", MachineSide.asString(slot.getInputSides()))); + tooltip.add(I18N.localise("binniecore.gui.side.extractSide", MachineSide.asString(slot.getOutputSides()))); - if (slot.isReadOnly()) { - tooltip.add(I18N.localise("binniecore.gui.slot.pickupOnly")); - } + if (slot.isReadOnly()) { + tooltip.add(I18N.localise("binniecore.gui.slot.pickupOnly")); + } - if (slot.getValidator() == null) { - tooltip.add(I18N.localise("binniecore.gui.slot.accepts", I18N.localise("binniecore.gui.slot.anyItem"))); - } else { - tooltip.add(I18N.localise("binniecore.gui.slot.accepts", slot.getValidator().getTooltip())); - } - } else if (this.slot.inventory instanceof WindowInventory) { - SlotValidator s = ((WindowInventory) this.slot.inventory).getValidator(this.slot.getSlotIndex()); - if (s == null) { - tooltip.add(I18N.localise("binniecore.gui.slot.accepts", I18N.localise("binniecore.gui.slot.anyItem"))); - } else { - tooltip.add(I18N.localise("binniecore.gui.slot.accepts", s.getTooltip())); - } - } else if (this.slot.inventory instanceof InventoryPlayer) { - tooltip.add(I18N.localise("binniecore.gui.slot.playerInventory")); - } - } + if (slot.getValidator() == null) { + tooltip.add(I18N.localise("binniecore.gui.slot.accepts", I18N.localise("binniecore.gui.slot.anyItem"))); + } else { + tooltip.add(I18N.localise( + "binniecore.gui.slot.accepts", slot.getValidator().getTooltip())); + } + } else if (this.slot.inventory instanceof WindowInventory) { + SlotValidator s = ((WindowInventory) this.slot.inventory).getValidator(this.slot.getSlotIndex()); + if (s == null) { + tooltip.add(I18N.localise("binniecore.gui.slot.accepts", I18N.localise("binniecore.gui.slot.anyItem"))); + } else { + tooltip.add(I18N.localise("binniecore.gui.slot.accepts", s.getTooltip())); + } + } else if (this.slot.inventory instanceof InventoryPlayer) { + tooltip.add(I18N.localise("binniecore.gui.slot.playerInventory")); + } + } - public InventorySlot getInventorySlot() { - return (slot instanceof CustomSlot) - ? ((CustomSlot) slot).getInventorySlot() - : null; - } + public InventorySlot getInventorySlot() { + return (slot instanceof CustomSlot) ? ((CustomSlot) slot).getInventorySlot() : null; + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotArray.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotArray.java index 9211b4a9..44374ca6 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotArray.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotArray.java @@ -3,42 +3,41 @@ package binnie.core.craftgui.minecraft.control; import binnie.core.craftgui.IWidget; import binnie.core.craftgui.controls.core.Control; import binnie.core.craftgui.minecraft.InventoryType; - import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ControlSlotArray extends Control implements Iterable { - private List slots; + private List slots; - public ControlSlotArray(IWidget parent, int x, int y, int columns, int rows) { - super(parent, x, y, columns * 18, rows * 18); - slots = new ArrayList<>(); - for (int row = 0; row < rows; ++row) { - for (int column = 0; column < columns; ++column) { - slots.add(createSlot(column * 18, row * 18)); - } - } - } + public ControlSlotArray(IWidget parent, int x, int y, int columns, int rows) { + super(parent, x, y, columns * 18, rows * 18); + slots = new ArrayList<>(); + for (int row = 0; row < rows; ++row) { + for (int column = 0; column < columns; ++column) { + slots.add(createSlot(column * 18, row * 18)); + } + } + } - public ControlSlot createSlot(int x, int y) { - return new ControlSlot(this, x, y); - } + public ControlSlot createSlot(int x, int y) { + return new ControlSlot(this, x, y); + } - public ControlSlotArray create(int[] index) { - return create(InventoryType.Machine, index); - } + public ControlSlotArray create(int[] index) { + return create(InventoryType.Machine, index); + } - public ControlSlotArray create(InventoryType type, int[] index) { - int i = 0; - for (ControlSlot slot : slots) { - slot.assign(type, index[i++]); - } - return this; - } + public ControlSlotArray create(InventoryType type, int[] index) { + int i = 0; + for (ControlSlot slot : slots) { + slot.assign(type, index[i++]); + } + return this; + } - @Override - public Iterator iterator() { - return slots.iterator(); - } + @Override + public Iterator iterator() { + return slots.iterator(); + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotBase.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotBase.java index 44be0791..bd9b3997 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotBase.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotBase.java @@ -14,52 +14,55 @@ import binnie.core.craftgui.resource.minecraft.CraftGUITexture; import net.minecraft.item.ItemStack; public abstract class ControlSlotBase extends Control implements ITooltip { - private ControlItemDisplay itemDisplay; + private ControlItemDisplay itemDisplay; - public ControlSlotBase(IWidget parent, float x, float y) { - this(parent, x, y, 18); - } + public ControlSlotBase(IWidget parent, float x, float y) { + this(parent, x, y, 18); + } - public ControlSlotBase(IWidget parent, float x, float y, int size) { - super(parent, x, y, size, size); - addAttribute(WidgetAttribute.MOUSE_OVER); - itemDisplay = new ControlItemDisplay(this, 1.0f, 1.0f, size - 2); - addSelfEventHandler(new EventWidget.ChangeSize.Handler() { - @Override - public void onEvent(EventWidget.ChangeSize event) { - if (itemDisplay != null) { - itemDisplay.setSize(getSize().sub(new IPoint(2.0f, 2.0f))); - } - } - }); - } + public ControlSlotBase(IWidget parent, float x, float y, int size) { + super(parent, x, y, size, size); + addAttribute(WidgetAttribute.MOUSE_OVER); + itemDisplay = new ControlItemDisplay(this, 1.0f, 1.0f, size - 2); + addSelfEventHandler(new EventWidget.ChangeSize.Handler() { + @Override + public void onEvent(EventWidget.ChangeSize event) { + if (itemDisplay != null) { + itemDisplay.setSize(getSize().sub(new IPoint(2.0f, 2.0f))); + } + } + }); + } - protected void setRotating() { - itemDisplay.setRotating(); - } + protected void setRotating() { + itemDisplay.setRotating(); + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(CraftGUITexture.Slot, getArea()); - if (getSuperParent().getMousedOverWidget() == this) { - CraftGUI.render.gradientRect(new IArea(new IPoint(1.0f, 1.0f), getArea().size().sub(new IPoint(2.0f, 2.0f))), 0x80ffffff, 0x80ffffff); - } - } + @Override + public void onRenderBackground() { + CraftGUI.render.texture(CraftGUITexture.Slot, getArea()); + if (getSuperParent().getMousedOverWidget() == this) { + CraftGUI.render.gradientRect( + new IArea(new IPoint(1.0f, 1.0f), getArea().size().sub(new IPoint(2.0f, 2.0f))), + 0x80ffffff, + 0x80ffffff); + } + } - @Override - public void onUpdateClient() { - super.onUpdateClient(); - itemDisplay.setItemStack(getItemStack()); - } + @Override + public void onUpdateClient() { + super.onUpdateClient(); + itemDisplay.setItemStack(getItemStack()); + } - @Override - public void getTooltip(Tooltip tooltip) { - ItemStack item = getItemStack(); - if (item == null) { - return; - } - tooltip.add(item.getTooltip(((Window) getSuperParent()).getPlayer(), false)); - } + @Override + public void getTooltip(Tooltip tooltip) { + ItemStack item = getItemStack(); + if (item == null) { + return; + } + tooltip.add(item.getTooltip(((Window) getSuperParent()).getPlayer(), false)); + } - public abstract ItemStack getItemStack(); + public abstract ItemStack getItemStack(); } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotCharge.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotCharge.java index cbcbed30..e9a140dc 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotCharge.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlSlotCharge.java @@ -11,26 +11,31 @@ import binnie.core.machines.Machine; import binnie.core.machines.inventory.IChargedSlots; public class ControlSlotCharge extends Control { - private int slot; + private int slot; - public ControlSlotCharge(IWidget parent, int x, int y, int slot) { - super(parent, x, y, 4.0f, 18.0f); - this.slot = slot; - } + public ControlSlotCharge(IWidget parent, int x, int y, int slot) { + super(parent, x, y, 4.0f, 18.0f); + this.slot = slot; + } - float getCharge() { - IChargedSlots slots = Machine.getInterface(IChargedSlots.class, Window.get(this).getInventory()); - return (slots == null) ? 0.0f : slots.getCharge(slot); - } + float getCharge() { + IChargedSlots slots = + Machine.getInterface(IChargedSlots.class, Window.get(this).getInventory()); + return (slots == null) ? 0.0f : slots.getCharge(slot); + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(CraftGUITexture.PanelBlack, getArea()); - CraftGUI.render.texturePercentage(CraftGUI.render.getTexture(CraftGUITexture.SlotCharge), getArea().inset(1), Position.BOTTOM, getCharge()); - } + @Override + public void onRenderBackground() { + CraftGUI.render.texture(CraftGUITexture.PanelBlack, getArea()); + CraftGUI.render.texturePercentage( + CraftGUI.render.getTexture(CraftGUITexture.SlotCharge), + getArea().inset(1), + Position.BOTTOM, + getCharge()); + } - @Override - public void getHelpTooltip(Tooltip tooltip) { - tooltip.add("Charge Remaining: " + (int) (getCharge() * 100.0f) + "%"); - } + @Override + public void getHelpTooltip(Tooltip tooltip) { + tooltip.add("Charge Remaining: " + (int) (getCharge() * 100.0f) + "%"); + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlTabIcon.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlTabIcon.java index 247b8fcf..88fb8813 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlTabIcon.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlTabIcon.java @@ -7,34 +7,34 @@ import binnie.core.genetics.IItemStackRepresentative; import net.minecraft.item.ItemStack; public class ControlTabIcon extends ControlTab { - private ControlItemDisplay item; + private ControlItemDisplay item; - public ControlTabIcon(ControlTabBar parent, float x, float y, float w, float h, T value) { - super(parent, x, y, w, h, value); - item = new ControlItemDisplay(this, -8.0f + w / 2.0f, -8.0f + h / 2.0f); - item.hastooltip = false; - } + public ControlTabIcon(ControlTabBar parent, float x, float y, float w, float h, T value) { + super(parent, x, y, w, h, value); + item = new ControlItemDisplay(this, -8.0f + w / 2.0f, -8.0f + h / 2.0f); + item.hastooltip = false; + } - public ItemStack getItemStack() { - if (value instanceof IItemStackRepresentative) { - return ((IItemStackRepresentative) value).getItemStackRepresentative(); - } - return null; - } + public ItemStack getItemStack() { + if (value instanceof IItemStackRepresentative) { + return ((IItemStackRepresentative) value).getItemStackRepresentative(); + } + return null; + } - @Override - public void onUpdateClient() { - super.onUpdateClient(); - item.setItemStack(getItemStack()); - float x = ((ControlTabBar) getParent()).getDirection().x(); - item.setOffset(new IPoint((isCurrentSelection() || isMouseOver()) ? 0.0f : (-4.0f * x), 0.0f)); - } + @Override + public void onUpdateClient() { + super.onUpdateClient(); + item.setItemStack(getItemStack()); + float x = ((ControlTabBar) getParent()).getDirection().x(); + item.setOffset(new IPoint((isCurrentSelection() || isMouseOver()) ? 0.0f : (-4.0f * x), 0.0f)); + } - public boolean hasOutline() { - return false; - } + public boolean hasOutline() { + return false; + } - public int getOutlineColor() { - return 0xffffff; - } + public int getOutlineColor() { + return 0xffffff; + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/ControlUser.java b/src/main/java/binnie/core/craftgui/minecraft/control/ControlUser.java index dc3f291c..430be02a 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/ControlUser.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/ControlUser.java @@ -10,30 +10,30 @@ import binnie.core.craftgui.resource.minecraft.CraftGUITexture; import binnie.core.util.I18N; public class ControlUser extends Control implements ITooltip { - protected String team; + protected String team; - private String username; + private String username; - public ControlUser(IWidget parent, float x, float y, String username) { - super(parent, x, y, 16.0f, 16.0f); - this.username = username; - team = ""; - addAttribute(WidgetAttribute.MOUSE_OVER); - } + public ControlUser(IWidget parent, float x, float y, String username) { + super(parent, x, y, 16.0f, 16.0f); + this.username = username; + team = ""; + addAttribute(WidgetAttribute.MOUSE_OVER); + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(CraftGUITexture.UserButton, getArea()); - } + @Override + public void onRenderBackground() { + CraftGUI.render.texture(CraftGUITexture.UserButton, getArea()); + } - @Override - public void getTooltip(Tooltip tooltip) { - tooltip.setType(Tooltip.Type.USER); - tooltip.add(I18N.localise("binniecore.gui.tooltip.owner")); + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.setType(Tooltip.Type.USER); + tooltip.add(I18N.localise("binniecore.gui.tooltip.owner")); - if (!username.isEmpty()) { - tooltip.add(username); - } - tooltip.setMaxWidth(200); - } + if (!username.isEmpty()) { + tooltip.add(username); + } + tooltip.setMaxWidth(200); + } } diff --git a/src/main/java/binnie/core/craftgui/minecraft/control/EnumHighlighting.java b/src/main/java/binnie/core/craftgui/minecraft/control/EnumHighlighting.java index 66ca6162..7610c2d0 100644 --- a/src/main/java/binnie/core/craftgui/minecraft/control/EnumHighlighting.java +++ b/src/main/java/binnie/core/craftgui/minecraft/control/EnumHighlighting.java @@ -4,25 +4,25 @@ import binnie.core.craftgui.Tooltip; import binnie.core.craftgui.minecraft.MinecraftTooltip; public enum EnumHighlighting { - ERROR, - WARNING, - HELP, - SHIFT_CLICK; + ERROR, + WARNING, + HELP, + SHIFT_CLICK; - int getColour() { - switch (this) { - case ERROR: - return MinecraftTooltip.getOutline(MinecraftTooltip.Type.ERROR); + int getColour() { + switch (this) { + case ERROR: + return MinecraftTooltip.getOutline(MinecraftTooltip.Type.ERROR); - case HELP: - return MinecraftTooltip.getOutline(Tooltip.Type.HELP); + case HELP: + return MinecraftTooltip.getOutline(Tooltip.Type.HELP); - case SHIFT_CLICK: - return 0xffff00; + case SHIFT_CLICK: + return 0xffff00; - case WARNING: - return MinecraftTooltip.getOutline(MinecraftTooltip.Type.WARNING); - } - return 0; - } + case WARNING: + return MinecraftTooltip.getOutline(MinecraftTooltip.Type.WARNING); + } + return 0; + } } diff --git a/src/main/java/binnie/core/craftgui/renderer/Renderer.java b/src/main/java/binnie/core/craftgui/renderer/Renderer.java index dd65a640..624985f5 100644 --- a/src/main/java/binnie/core/craftgui/renderer/Renderer.java +++ b/src/main/java/binnie/core/craftgui/renderer/Renderer.java @@ -9,216 +9,238 @@ import binnie.core.craftgui.geometry.TextJustification; import binnie.core.craftgui.minecraft.GuiCraftGUI; import binnie.core.craftgui.resource.IStyleSheet; import binnie.core.craftgui.resource.Texture; +import java.util.List; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import org.lwjgl.opengl.GL11; -import java.util.List; - public class Renderer { - protected GuiCraftGUI gui; - protected int currentColor; - protected Texture currentTexture; - protected IStyleSheet stylesheet; + protected GuiCraftGUI gui; + protected int currentColor; + protected Texture currentTexture; + protected IStyleSheet stylesheet; - public Renderer(GuiCraftGUI gui) { - currentColor = 0xffffff; - this.gui = gui; - } + public Renderer(GuiCraftGUI gui) { + currentColor = 0xffffff; + this.gui = gui; + } - public void preRender(IWidget widget) { - GL11.glPushMatrix(); - GL11.glTranslatef(widget.getPosition().x(), widget.getPosition().y(), 0.0f); - color(widget.getColor()); - if (widget.isCroppedWidget()) { - IWidget cropRelative = (widget.getCropWidget() != null) ? widget.getCropWidget() : widget; - IPoint pos = cropRelative.getAbsolutePosition(); - IArea cropZone = widget.getCroppedZone(); - GL11.glEnable(GL11.GL_SCISSOR_TEST); - limitArea(new IArea(pos.add(cropZone.pos()), cropZone.size())); + public void preRender(IWidget widget) { + GL11.glPushMatrix(); + GL11.glTranslatef(widget.getPosition().x(), widget.getPosition().y(), 0.0f); + color(widget.getColor()); + if (widget.isCroppedWidget()) { + IWidget cropRelative = (widget.getCropWidget() != null) ? widget.getCropWidget() : widget; + IPoint pos = cropRelative.getAbsolutePosition(); + IArea cropZone = widget.getCroppedZone(); + GL11.glEnable(GL11.GL_SCISSOR_TEST); + limitArea(new IArea(pos.add(cropZone.pos()), cropZone.size())); + } + GL11.glDisable(GL11.GL_DEPTH_TEST); + } - } - GL11.glDisable(GL11.GL_DEPTH_TEST); - } + public void postRender(IWidget widget) { + if (widget.isCroppedWidget()) { + GL11.glDisable(GL11.GL_SCISSOR_TEST); + } + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glPopMatrix(); + } - public void postRender(IWidget widget) { - if (widget.isCroppedWidget()) { - GL11.glDisable(GL11.GL_SCISSOR_TEST); - } - GL11.glEnable(GL11.GL_DEPTH_TEST); - GL11.glPopMatrix(); - } + public void color(int hex) { + currentColor = hex; + int a = (hex & 0xFF000000) >> 24; + int r = (hex & 0xFF0000) >> 16; + int g = (hex & 0xFF00) >> 8; + int b = hex & 0xFF; - public void color(int hex) { - currentColor = hex; - int a = (hex & 0xFF000000) >> 24; - int r = (hex & 0xFF0000) >> 16; - int g = (hex & 0xFF00) >> 8; - int b = hex & 0xFF; + if (a < 0) { + a += 256; + } - if (a < 0) { - a += 256; - } + if (a > 0 && a != 255) { + GL11.glColor4f(r / 255.0f, g / 255.0f, b / 255.0f, a / 255.0f); + } else { + GL11.glColor3f(r / 255.0f, g / 255.0f, b / 255.0f); + } + } - if (a > 0 && a != 255) { - GL11.glColor4f(r / 255.0f, g / 255.0f, b / 255.0f, a / 255.0f); - } else { - GL11.glColor3f(r / 255.0f, g / 255.0f, b / 255.0f); - } - } + public Texture getTexture(Object key) { + if (key instanceof Texture) { + return (Texture) key; + } + return stylesheet.getTexture(key); + } - public Texture getTexture(Object key) { - if (key instanceof Texture) { - return (Texture) key; - } - return stylesheet.getTexture(key); - } + public void setTexture(Texture texture) { + if (texture != currentTexture && texture != null) { + BinnieCore.proxy.bindTexture(texture.getFilename()); + } + color(currentColor); + } - public void setTexture(Texture texture) { - if (texture != currentTexture && texture != null) { - BinnieCore.proxy.bindTexture(texture.getFilename()); - } - color(currentColor); - } + public void texture(Object texture, IPoint position) { + texture(getTexture(texture), position); + } - public void texture(Object texture, IPoint position) { - texture(getTexture(texture), position); - } + public void texture(Texture texture, IPoint position) { + if (texture == null) { + return; + } - public void texture(Texture texture, IPoint position) { - if (texture == null) { - return; - } + setTexture(texture); + IPoint point = position.sub( + new IPoint(texture.getBorder().l(), texture.getBorder().t())); + IArea textureArea = texture.getArea().outset(texture.getBorder()); + gui.renderTexture(point, textureArea); + } - setTexture(texture); - IPoint point = position.sub(new IPoint(texture.getBorder().l(), texture.getBorder().t())); - IArea textureArea = texture.getArea().outset(texture.getBorder()); - gui.renderTexture(point, textureArea); - } + public void texture(Object window, IArea area) { + texture(getTexture(window), area); + } - public void texture(Object window, IArea area) { - texture(getTexture(window), area); - } + public void texture(Texture texture, IArea area) { + if (texture == null) { + return; + } - public void texture(Texture texture, IArea area) { - if (texture == null) { - return; - } + setTexture(texture); + IArea textureArea = texture.getArea().outset(texture.getBorder()); + IArea targetArea = area.outset(texture.getBorder()); + if (textureArea.w() == targetArea.w() && textureArea.h() == targetArea.h()) { + gui.renderTexture(targetArea.pos(), textureArea); + } else { + gui.renderTexturePadded(targetArea, textureArea, texture.getTotalPadding()); + } + } - setTexture(texture); - IArea textureArea = texture.getArea().outset(texture.getBorder()); - IArea targetArea = area.outset(texture.getBorder()); - if (textureArea.w() == targetArea.w() && textureArea.h() == targetArea.h()) { - gui.renderTexture(targetArea.pos(), textureArea); - } else { - gui.renderTexturePadded(targetArea, textureArea, texture.getTotalPadding()); - } - } + public void stylesheet(IStyleSheet sheet) { + stylesheet = sheet; + } - public void stylesheet(IStyleSheet sheet) { - stylesheet = sheet; - } + public int textWidth(String text) { + return gui.getFontRenderer().getStringWidth(text); + } - public int textWidth(String text) { - return gui.getFontRenderer().getStringWidth(text); - } + public int textHeight() { + return (gui.getFontRenderer() == null) ? 0 : gui.getFontRenderer().FONT_HEIGHT; + } - public int textHeight() { - return (gui.getFontRenderer() == null) ? 0 : gui.getFontRenderer().FONT_HEIGHT; - } + public void text(IPoint pos, String text, int colour) { + text(new IArea(pos, new IPoint(500.0f, 500.0f)), TextJustification.TOP_LEFT, text, colour); + } - public void text(IPoint pos, String text, int colour) { - text(new IArea(pos, new IPoint(500.0f, 500.0f)), TextJustification.TOP_LEFT, text, colour); - } + public void text(IArea area, TextJustification justification, String text, int colour) { + IPoint pos = area.pos(); + if (area.size().x() <= 0.0f) { + return; + } - public void text(IArea area, TextJustification justification, String text, int colour) { - IPoint pos = area.pos(); - if (area.size().x() <= 0.0f) { - return; - } + List wrappedStrings = gui.getFontRenderer() + .listFormattedStringToWidth(text, (int) area.size().x()); + float totalHeight = wrappedStrings.size() * textHeight(); + float posY = area.pos().y(); + if (area.size().y() > totalHeight) { + posY += (area.size().y() - totalHeight) * justification.getYOffset(); + } - List wrappedStrings = gui.getFontRenderer().listFormattedStringToWidth(text, (int) area.size().x()); - float totalHeight = wrappedStrings.size() * textHeight(); - float posY = area.pos().y(); - if (area.size().y() > totalHeight) { - posY += (area.size().y() - totalHeight) * justification.getYOffset(); - } + for (String string : wrappedStrings) { + float stringWidth = textWidth(string); + float posX = area.size().x() - stringWidth; + posX *= justification.getXOffset(); + GL11.glDisable(GL11.GL_DEPTH_TEST); + gui.getFontRenderer().drawString(string, (int) (pos.x() + posX), (int) posY, colour); + posY += textHeight(); + } + GL11.glColor3f(1.0f, 1.0f, 1.0f); + } - for (String string : wrappedStrings) { - float stringWidth = textWidth(string); - float posX = area.size().x() - stringWidth; - posX *= justification.getXOffset(); - GL11.glDisable(GL11.GL_DEPTH_TEST); - gui.getFontRenderer().drawString(string, (int) (pos.x() + posX), (int) posY, colour); - posY += textHeight(); - } - GL11.glColor3f(1.0f, 1.0f, 1.0f); - } + public void solid(IArea area, int colour) { + gui.drawRect( + area.pos().x(), + area.pos().y(), + area.pos().x() + area.size().x(), + area.pos().y() + area.size().y(), + 0xFF000000 | colour); + } - public void solid(IArea area, int colour) { - gui.drawRect(area.pos().x(), area.pos().y(), area.pos().x() + area.size().x(), area.pos().y() + area.size().y(), 0xFF000000 | colour); - } + public void solidAlpha(IArea area, int c1) { + gui.drawGradientArea( + area.pos().x(), + area.pos().y(), + area.pos().x() + area.size().x(), + area.pos().y() + area.size().y(), + c1, + c1); + } - public void solidAlpha(IArea area, int c1) { - gui.drawGradientArea(area.pos().x(), area.pos().y(), area.pos().x() + area.size().x(), area.pos().y() + area.size().y(), c1, c1); - } + public void gradientRect(IArea area, int c1, int c2) { + gui.drawGradientArea( + area.pos().x(), + area.pos().y(), + area.pos().x() + area.size().x(), + area.pos().y() + area.size().y(), + c1, + c2); + } - public void gradientRect(IArea area, int c1, int c2) { - gui.drawGradientArea(area.pos().x(), area.pos().y(), area.pos().x() + area.size().x(), area.pos().y() + area.size().y(), c1, c2); - } + public void item(IPoint pos, ItemStack item) { + gui.renderItem(pos, item, false); + } - public void item(IPoint pos, ItemStack item) { - gui.renderItem(pos, item, false); - } + public void item(IPoint pos, ItemStack item, boolean rotating) { + gui.renderItem(pos, item, rotating); + } - public void item(IPoint pos, ItemStack item, boolean rotating) { - gui.renderItem(pos, item, rotating); - } + public void iconBlock(IPoint pos, IIcon icon) { + gui.renderIcon(pos, icon, TextureMap.locationBlocksTexture); + } - public void iconBlock(IPoint pos, IIcon icon) { - gui.renderIcon(pos, icon, TextureMap.locationBlocksTexture); - } + public void iconItem(IPoint pos, IIcon icon) { + gui.renderIcon(pos, icon, TextureMap.locationItemsTexture); + } - public void iconItem(IPoint pos, IIcon icon) { - gui.renderIcon(pos, icon, TextureMap.locationItemsTexture); - } + public void limitArea(IArea area) { + gui.limitArea(area); + } - public void limitArea(IArea area) { - gui.limitArea(area); - } + public float textHeight(String text, float width) { + return gui.getFontRenderer() + .listFormattedStringToWidth(text, (int) width) + .size() + * textHeight(); + } - public float textHeight(String text, float width) { - return gui.getFontRenderer().listFormattedStringToWidth(text, (int) width).size() * textHeight(); - } + public void texturePercentage(Texture texture, IArea area, Position direction, float percentage) { + float dist = (direction == Position.TOP || direction == Position.BOTTOM) + ? (percentage * texture.h()) + : (percentage * texture.w()); + float dim = (direction == Position.TOP || direction == Position.BOTTOM) ? texture.h() : texture.w(); + float x = area.pos().x(); + float y = area.pos().y(); + float w = area.size().x(); + float h = area.size().y(); - public void texturePercentage(Texture texture, IArea area, Position direction, float percentage) { - float dist = (direction == Position.TOP || direction == Position.BOTTOM) ? (percentage * texture.h()) : (percentage * texture.w()); - float dim = (direction == Position.TOP || direction == Position.BOTTOM) ? texture.h() : texture.w(); - float x = area.pos().x(); - float y = area.pos().y(); - float w = area.size().x(); - float h = area.size().y(); + switch (direction) { + case TOP: + h *= percentage; + break; - switch (direction) { - case TOP: - h *= percentage; - break; + case RIGHT: + x += (1.0f - percentage) * w; + w *= percentage; + break; - case RIGHT: - x += (1.0f - percentage) * w; - w *= percentage; - break; + case LEFT: + w *= percentage; + break; - case LEFT: - w *= percentage; - break; - - case BOTTOM: - y += h - (int) (percentage * h); - h *= percentage; - break; - } - texture(texture.crop(direction, dim - dist), new IArea(x, y, w, h)); - } + case BOTTOM: + y += h - (int) (percentage * h); + h *= percentage; + break; + } + texture(texture.crop(direction, dim - dist), new IArea(x, y, w, h)); + } } diff --git a/src/main/java/binnie/core/craftgui/renderer/TextureType.java b/src/main/java/binnie/core/craftgui/renderer/TextureType.java index a26a1998..905be963 100644 --- a/src/main/java/binnie/core/craftgui/renderer/TextureType.java +++ b/src/main/java/binnie/core/craftgui/renderer/TextureType.java @@ -1,6 +1,6 @@ package binnie.core.craftgui.renderer; public enum TextureType { - Stretched, - Tiled + Stretched, + Tiled } diff --git a/src/main/java/binnie/core/craftgui/resource/IStyleSheet.java b/src/main/java/binnie/core/craftgui/resource/IStyleSheet.java index 3a31fe48..9f162f96 100644 --- a/src/main/java/binnie/core/craftgui/resource/IStyleSheet.java +++ b/src/main/java/binnie/core/craftgui/resource/IStyleSheet.java @@ -1,5 +1,5 @@ package binnie.core.craftgui.resource; public interface IStyleSheet { - Texture getTexture(Object key); + Texture getTexture(Object key); } diff --git a/src/main/java/binnie/core/craftgui/resource/StyleSheet.java b/src/main/java/binnie/core/craftgui/resource/StyleSheet.java index 7d076a2f..5f0ec54a 100644 --- a/src/main/java/binnie/core/craftgui/resource/StyleSheet.java +++ b/src/main/java/binnie/core/craftgui/resource/StyleSheet.java @@ -4,17 +4,17 @@ import java.util.HashMap; import java.util.Map; public class StyleSheet implements IStyleSheet { - protected Map textures; + protected Map textures; - public StyleSheet() { - textures = new HashMap<>(); - } + public StyleSheet() { + textures = new HashMap<>(); + } - @Override - public Texture getTexture(Object key) { - if (!textures.containsKey(key)) { - return StyleSheetManager.getTexture(key); - } - return textures.get(key); - } + @Override + public Texture getTexture(Object key) { + if (!textures.containsKey(key)) { + return StyleSheetManager.getTexture(key); + } + return textures.get(key); + } } diff --git a/src/main/java/binnie/core/craftgui/resource/StyleSheetManager.java b/src/main/java/binnie/core/craftgui/resource/StyleSheetManager.java index ed4df50a..980c32bd 100644 --- a/src/main/java/binnie/core/craftgui/resource/StyleSheetManager.java +++ b/src/main/java/binnie/core/craftgui/resource/StyleSheetManager.java @@ -3,20 +3,20 @@ package binnie.core.craftgui.resource; import binnie.core.craftgui.CraftGUI; public class StyleSheetManager { - static IStyleSheet defaultSS = new DefaultStyleSheet(); + static IStyleSheet defaultSS = new DefaultStyleSheet(); - public static Texture getTexture(Object key) { - return StyleSheetManager.defaultSS.getTexture(key); - } + public static Texture getTexture(Object key) { + return StyleSheetManager.defaultSS.getTexture(key); + } - public static IStyleSheet getDefault() { - return StyleSheetManager.defaultSS; - } + public static IStyleSheet getDefault() { + return StyleSheetManager.defaultSS; + } - private static class DefaultStyleSheet implements IStyleSheet { - @Override - public Texture getTexture(Object key) { - return CraftGUI.resourceManager.getTexture(key.toString()); - } - } + private static class DefaultStyleSheet implements IStyleSheet { + @Override + public Texture getTexture(Object key) { + return CraftGUI.resourceManager.getTexture(key.toString()); + } + } } diff --git a/src/main/java/binnie/core/craftgui/resource/Texture.java b/src/main/java/binnie/core/craftgui/resource/Texture.java index 02d118f1..7f8f6f11 100644 --- a/src/main/java/binnie/core/craftgui/resource/Texture.java +++ b/src/main/java/binnie/core/craftgui/resource/Texture.java @@ -6,106 +6,106 @@ import binnie.core.craftgui.geometry.Position; import binnie.core.resource.BinnieResource; public class Texture { - public static Texture NULL = null; - IArea area; - IBorder padding; - IBorder border; - BinnieResource filename; + public static Texture NULL = null; + IArea area; + IBorder padding; + IBorder border; + BinnieResource filename; - public Texture(IArea area, BinnieResource filename) { - this(area, IBorder.ZERO, IBorder.ZERO, filename); - } + public Texture(IArea area, BinnieResource filename) { + this(area, IBorder.ZERO, IBorder.ZERO, filename); + } - public Texture(IArea area, IBorder padding, BinnieResource filename) { - this(area, padding, IBorder.ZERO, filename); - } + public Texture(IArea area, IBorder padding, BinnieResource filename) { + this(area, padding, IBorder.ZERO, filename); + } - public Texture(IArea area, IBorder padding, IBorder border, BinnieResource filename) { - this.padding = IBorder.ZERO; - this.border = IBorder.ZERO; - this.area = new IArea(area); - this.padding = new IBorder(padding); - this.border = new IBorder(border); - this.filename = filename; - } + public Texture(IArea area, IBorder padding, IBorder border, BinnieResource filename) { + this.padding = IBorder.ZERO; + this.border = IBorder.ZERO; + this.area = new IArea(area); + this.padding = new IBorder(padding); + this.border = new IBorder(border); + this.filename = filename; + } - public IArea getArea() { - return area; - } + public IArea getArea() { + return area; + } - public IBorder getPadding() { - return padding; - } + public IBorder getPadding() { + return padding; + } - public IBorder getBorder() { - return border; - } + public IBorder getBorder() { + return border; + } - public BinnieResource getFilename() { - return filename; - } + public BinnieResource getFilename() { + return filename; + } - public IBorder getTotalPadding() { - return padding.add(border); - } + public IBorder getTotalPadding() { + return padding.add(border); + } - public float w() { - return getArea().w(); - } + public float w() { + return getArea().w(); + } - public float h() { - return getArea().h(); - } + public float h() { + return getArea().h(); + } - public float u() { - return getArea().x(); - } + public float u() { + return getArea().x(); + } - public float v() { - return getArea().y(); - } + public float v() { + return getArea().y(); + } - public Texture crop(Position anchor, float dist) { - return crop(new IBorder(anchor.opposite(), dist)); - } + public Texture crop(Position anchor, float dist) { + return crop(new IBorder(anchor.opposite(), dist)); + } - public Texture crop(IBorder crop) { - Texture copy = new Texture(area, padding, border, filename); - if (crop.b() > 0.0f) { - copy.border.b(0.0f); - copy.padding.b(copy.padding.b() - Math.min(crop.b(), copy.padding.b())); - copy.area.h(copy.area.h() - crop.b()); - } - if (crop.t() > 0.0f) { - copy.border.t(0.0f); - copy.padding.t(copy.padding.t() - Math.min(crop.t(), copy.padding.t())); - copy.area.h(copy.area.h() - crop.t()); - copy.area.y(copy.area.y() + crop.t()); - } - if (crop.r() > 0.0f) { - copy.border.r(0.0f); - copy.padding.r(copy.padding.r() - Math.min(crop.r(), copy.padding.r())); - copy.area.w(copy.area.w() - crop.r()); - } - if (crop.l() > 0.0f) { - copy.border.l(0.0f); - copy.padding.l(copy.padding.l() - Math.min(crop.l(), copy.padding.l())); - copy.area.w(copy.area.w() - crop.l()); - copy.area.x(copy.area.x() + crop.l()); - } - return copy; - } + public Texture crop(IBorder crop) { + Texture copy = new Texture(area, padding, border, filename); + if (crop.b() > 0.0f) { + copy.border.b(0.0f); + copy.padding.b(copy.padding.b() - Math.min(crop.b(), copy.padding.b())); + copy.area.h(copy.area.h() - crop.b()); + } + if (crop.t() > 0.0f) { + copy.border.t(0.0f); + copy.padding.t(copy.padding.t() - Math.min(crop.t(), copy.padding.t())); + copy.area.h(copy.area.h() - crop.t()); + copy.area.y(copy.area.y() + crop.t()); + } + if (crop.r() > 0.0f) { + copy.border.r(0.0f); + copy.padding.r(copy.padding.r() - Math.min(crop.r(), copy.padding.r())); + copy.area.w(copy.area.w() - crop.r()); + } + if (crop.l() > 0.0f) { + copy.border.l(0.0f); + copy.padding.l(copy.padding.l() - Math.min(crop.l(), copy.padding.l())); + copy.area.w(copy.area.w() - crop.l()); + copy.area.x(copy.area.x() + crop.l()); + } + return copy; + } - @Override - public String toString() { - String out = "Texture["; - out += area.toString(); - if (!padding.isNonZero()) { - out = out + " padding:" + padding.toString(); - } - if (!border.isNonZero()) { - out = out + " border:" + border.toString(); - } - return out + "]"; - } + @Override + public String toString() { + String out = "Texture["; + out += area.toString(); + if (!padding.isNonZero()) { + out = out + " padding:" + padding.toString(); + } + if (!border.isNonZero()) { + out = out + " border:" + border.toString(); + } + return out + "]"; + } } diff --git a/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUIResourceManager.java b/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUIResourceManager.java index 7d84967b..a307e20e 100644 --- a/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUIResourceManager.java +++ b/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUIResourceManager.java @@ -12,12 +12,6 @@ import com.google.gson.JsonParseException; import com.google.gson.JsonParser; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.resources.IResource; -import net.minecraft.client.resources.IResourceManager; -import net.minecraft.client.resources.IResourceManagerReloadListener; -import net.minecraft.util.ResourceLocation; -import org.apache.commons.io.IOUtils; - import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -25,121 +19,127 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import net.minecraft.client.resources.IResource; +import net.minecraft.client.resources.IResourceManager; +import net.minecraft.client.resources.IResourceManagerReloadListener; +import net.minecraft.util.ResourceLocation; +import org.apache.commons.io.IOUtils; @SideOnly(Side.CLIENT) public class CraftGUIResourceManager implements IResourceManagerReloadListener { - private Map textureSheets; - private Map textures; + private Map textureSheets; + private Map textures; - public CraftGUIResourceManager() { - textureSheets = new HashMap<>(); - textures = new HashMap<>(); - CraftGUI.resourceManager = this; - } + public CraftGUIResourceManager() { + textureSheets = new HashMap<>(); + textures = new HashMap<>(); + CraftGUI.resourceManager = this; + } - @Override - public void onResourceManagerReload(IResourceManager manager) { - textureSheets.clear(); - try { - IResource res = manager.getResource(new ResourceLocation("binniecore", "gui/stylesheet.json")); - JsonObject jsonobject; - BufferedReader bufferedreader = null; + @Override + public void onResourceManagerReload(IResourceManager manager) { + textureSheets.clear(); + try { + IResource res = manager.getResource(new ResourceLocation("binniecore", "gui/stylesheet.json")); + JsonObject jsonobject; + BufferedReader bufferedreader = null; - try { - bufferedreader = new BufferedReader(new InputStreamReader(res.getInputStream(), Charsets.UTF_8)); - jsonobject = new JsonParser().parse(bufferedreader).getAsJsonObject(); - for (JsonElement el : jsonobject.get("texture-sheets").getAsJsonArray()) { - if (el instanceof JsonObject) { - JsonObject sheet = (JsonObject) el; - String name = sheet.get("name").getAsString(); - String modid = sheet.get("modid").getAsString(); - String path = sheet.get("path").getAsString(); - textureSheets.put(name, new ParsedTextureSheet(name, modid, path)); - } - } + try { + bufferedreader = new BufferedReader(new InputStreamReader(res.getInputStream(), Charsets.UTF_8)); + jsonobject = new JsonParser().parse(bufferedreader).getAsJsonObject(); + for (JsonElement el : jsonobject.get("texture-sheets").getAsJsonArray()) { + if (el instanceof JsonObject) { + JsonObject sheet = (JsonObject) el; + String name = sheet.get("name").getAsString(); + String modid = sheet.get("modid").getAsString(); + String path = sheet.get("path").getAsString(); + textureSheets.put(name, new ParsedTextureSheet(name, modid, path)); + } + } - for (JsonElement el : jsonobject.get("textures").getAsJsonArray()) { - if (el instanceof JsonObject) { - JsonObject sheet = (JsonObject) el; - String name = sheet.get("name").getAsString(); - IBinnieTexture textureSheet = getTextureSheet(sheet.get("sheet").getAsString()); - IArea uv = getArea(sheet.get("uv").getAsString()); - IBorder border = IBorder.ZERO; - IBorder padding = IBorder.ZERO; - if (sheet.has("border")) { - border = getBorder(sheet.get("border").getAsString()); - } + for (JsonElement el : jsonobject.get("textures").getAsJsonArray()) { + if (el instanceof JsonObject) { + JsonObject sheet = (JsonObject) el; + String name = sheet.get("name").getAsString(); + IBinnieTexture textureSheet = + getTextureSheet(sheet.get("sheet").getAsString()); + IArea uv = getArea(sheet.get("uv").getAsString()); + IBorder border = IBorder.ZERO; + IBorder padding = IBorder.ZERO; + if (sheet.has("border")) { + border = getBorder(sheet.get("border").getAsString()); + } - if (sheet.has("padding")) { - padding = getBorder(sheet.get("padding").getAsString()); - } - textures.put(name, new Texture(uv, padding, border, textureSheet.getTexture())); - } - } - } catch (RuntimeException runtimeexception) { - throw new JsonParseException("Failed to parse stylesheet for Binnie's Mods", runtimeexception); - } finally { - IOUtils.closeQuietly(bufferedreader); - } - } catch (IOException e) { - throw new RuntimeException("Failed to load default stylesheet for Binnie's Mods.", e); - } - } + if (sheet.has("padding")) { + padding = getBorder(sheet.get("padding").getAsString()); + } + textures.put(name, new Texture(uv, padding, border, textureSheet.getTexture())); + } + } + } catch (RuntimeException runtimeexception) { + throw new JsonParseException("Failed to parse stylesheet for Binnie's Mods", runtimeexception); + } finally { + IOUtils.closeQuietly(bufferedreader); + } + } catch (IOException e) { + throw new RuntimeException("Failed to load default stylesheet for Binnie's Mods.", e); + } + } - public IArea getArea(String name) { - String[] split = name.split(" "); - if (split.length < 1 || split.length > 4) { - throw new RuntimeException("Parameter must have between one and four numbers"); - } + public IArea getArea(String name) { + String[] split = name.split(" "); + if (split.length < 1 || split.length > 4) { + throw new RuntimeException("Parameter must have between one and four numbers"); + } - List f = new ArrayList<>(); - for (String string : split) { - f.add(Float.parseFloat(string)); - } - if (f.size() == 1) { - return new IArea(f.get(0)); - } - if (f.size() == 2) { - return new IArea(f.get(0), f.get(1)); - } - if (f.size() == 3) { - return new IArea(f.get(0), f.get(1), f.get(2)); - } - return new IArea(f.get(0), f.get(1), f.get(2), f.get(3)); - } + List f = new ArrayList<>(); + for (String string : split) { + f.add(Float.parseFloat(string)); + } + if (f.size() == 1) { + return new IArea(f.get(0)); + } + if (f.size() == 2) { + return new IArea(f.get(0), f.get(1)); + } + if (f.size() == 3) { + return new IArea(f.get(0), f.get(1), f.get(2)); + } + return new IArea(f.get(0), f.get(1), f.get(2), f.get(3)); + } - public IBorder getBorder(String name) { - String[] split = name.split(" "); - if (split.length < 1 || split.length > 4) { - throw new RuntimeException("Parameter must have between one and four numbers"); - } - List f = new ArrayList<>(); - for (String string : split) { - f.add(Float.parseFloat(string)); - } - if (f.size() == 1) { - return new IBorder(f.get(0)); - } - if (f.size() == 2) { - return new IBorder(f.get(0), f.get(1)); - } - if (f.size() == 3) { - return new IBorder(f.get(0), f.get(1), f.get(2)); - } - return new IBorder(f.get(0), f.get(1), f.get(2), f.get(3)); - } + public IBorder getBorder(String name) { + String[] split = name.split(" "); + if (split.length < 1 || split.length > 4) { + throw new RuntimeException("Parameter must have between one and four numbers"); + } + List f = new ArrayList<>(); + for (String string : split) { + f.add(Float.parseFloat(string)); + } + if (f.size() == 1) { + return new IBorder(f.get(0)); + } + if (f.size() == 2) { + return new IBorder(f.get(0), f.get(1)); + } + if (f.size() == 3) { + return new IBorder(f.get(0), f.get(1), f.get(2)); + } + return new IBorder(f.get(0), f.get(1), f.get(2), f.get(3)); + } - public IBinnieTexture getTextureSheet(String name) { - if (!textureSheets.containsKey(name)) { - throw new RuntimeException("Missing GUI texture sheet for Binnie Mods: " + name); - } - return textureSheets.get(name); - } + public IBinnieTexture getTextureSheet(String name) { + if (!textureSheets.containsKey(name)) { + throw new RuntimeException("Missing GUI texture sheet for Binnie Mods: " + name); + } + return textureSheets.get(name); + } - public Texture getTexture(String name) { - if (!textures.containsKey(name)) { - throw new RuntimeException("Missing GUI texture Binnie Mods: " + name); - } - return textures.get(name); - } + public Texture getTexture(String name) { + if (!textures.containsKey(name)) { + throw new RuntimeException("Missing GUI texture Binnie Mods: " + name); + } + return textures.get(name); + } } diff --git a/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITexture.java b/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITexture.java index c6e96a97..08d443e4 100644 --- a/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITexture.java +++ b/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITexture.java @@ -1,57 +1,57 @@ package binnie.core.craftgui.resource.minecraft; public enum CraftGUITexture { - Window("window"), - PanelGray("panel.gray"), - PanelBlack("panel.black"), - PanelTinted("panel.tinted"), - ButtonDisabled("button.disabled"), - Button("button"), - ButtonHighlighted("button.highlighted"), - Slot("slot"), - SlotBorder("slot.border"), - SlotOverlay("slot.overlay"), - SlotCharge("slot.charge"), - LiquidTank("liquidtank"), - LiquidTankOverlay("liquidtank.overlay"), - StateError("errorstate.error"), - StateWarning("errorstate.warning"), - StateNone("errorstate.none"), - EnergyBarBack("energybar.back"), - EnergyBarGlow("energybar.glow"), - EnergyBarGlass("energybar.glass"), - TabDisabled("tab.disabled"), - Tab("tab"), - TabHighlighted("tab.highlighted"), - TabOutline("tab.outline"), - TabSolid("tab.solid"), - ScrollDisabled("scroll.disabled"), - Scroll("scroll"), - ScrollHighlighted("scroll.highlighted"), - Outline("outline"), - HelpButton("button.help"), - InfoButton("button.info"), - UserButton("button.user"), - PowerButton("button.power"), - HorizontalLiquidTank("horizontalliquidtank"), - HorizontalLiquidTankOverlay("horizontalliquidtank.overlay"), - SlideUp("slide.up"), - SlideDown("slide.down"), - SlideLeft("slide.left"), - SlideRight("slide.right"), - Checkbox("checkbox"), - CheckboxHighlighted("checkbox.highlighted"), - CheckboxChecked("checkbox.checked"), - CheckboxCheckedHighlighted("checkbox.checked.highlighted"); + Window("window"), + PanelGray("panel.gray"), + PanelBlack("panel.black"), + PanelTinted("panel.tinted"), + ButtonDisabled("button.disabled"), + Button("button"), + ButtonHighlighted("button.highlighted"), + Slot("slot"), + SlotBorder("slot.border"), + SlotOverlay("slot.overlay"), + SlotCharge("slot.charge"), + LiquidTank("liquidtank"), + LiquidTankOverlay("liquidtank.overlay"), + StateError("errorstate.error"), + StateWarning("errorstate.warning"), + StateNone("errorstate.none"), + EnergyBarBack("energybar.back"), + EnergyBarGlow("energybar.glow"), + EnergyBarGlass("energybar.glass"), + TabDisabled("tab.disabled"), + Tab("tab"), + TabHighlighted("tab.highlighted"), + TabOutline("tab.outline"), + TabSolid("tab.solid"), + ScrollDisabled("scroll.disabled"), + Scroll("scroll"), + ScrollHighlighted("scroll.highlighted"), + Outline("outline"), + HelpButton("button.help"), + InfoButton("button.info"), + UserButton("button.user"), + PowerButton("button.power"), + HorizontalLiquidTank("horizontalliquidtank"), + HorizontalLiquidTankOverlay("horizontalliquidtank.overlay"), + SlideUp("slide.up"), + SlideDown("slide.down"), + SlideLeft("slide.left"), + SlideRight("slide.right"), + Checkbox("checkbox"), + CheckboxHighlighted("checkbox.highlighted"), + CheckboxChecked("checkbox.checked"), + CheckboxCheckedHighlighted("checkbox.checked.highlighted"); - String name; + String name; - CraftGUITexture(String name) { - this.name = name; - } + CraftGUITexture(String name) { + this.name = name; + } - @Override - public String toString() { - return name; - } + @Override + public String toString() { + return name; + } } diff --git a/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITextureSheet.java b/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITextureSheet.java index dcd8e2aa..56e35983 100644 --- a/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITextureSheet.java +++ b/src/main/java/binnie/core/craftgui/resource/minecraft/CraftGUITextureSheet.java @@ -6,26 +6,26 @@ import binnie.core.resource.BinnieResource; import binnie.core.resource.IBinnieTexture; public enum CraftGUITextureSheet implements IBinnieTexture { - Controls2("controls"), - Panel2("panels"), - Slots("slots"); + Controls2("controls"), + Panel2("panels"), + Slots("slots"); - String name; + String name; - CraftGUITextureSheet(String name) { - this.name = name; - } + CraftGUITextureSheet(String name) { + this.name = name; + } - @Override - public String toString() { - return name; - } + @Override + public String toString() { + return name; + } - @Override - public BinnieResource getTexture() { - if (BinnieCore.proxy.isServer()) { - return null; - } - return CraftGUI.resourceManager.getTextureSheet(name).getTexture(); - } + @Override + public BinnieResource getTexture() { + if (BinnieCore.proxy.isServer()) { + return null; + } + return CraftGUI.resourceManager.getTextureSheet(name).getTexture(); + } } diff --git a/src/main/java/binnie/core/craftgui/resource/minecraft/PaddedTexture.java b/src/main/java/binnie/core/craftgui/resource/minecraft/PaddedTexture.java index 763bbaf0..4ae3a4c1 100644 --- a/src/main/java/binnie/core/craftgui/resource/minecraft/PaddedTexture.java +++ b/src/main/java/binnie/core/craftgui/resource/minecraft/PaddedTexture.java @@ -7,11 +7,35 @@ import binnie.core.resource.BinnieResource; import binnie.core.resource.IBinnieTexture; public class PaddedTexture extends Texture { - public PaddedTexture(int u, int v, int w, int h, int offset, IBinnieTexture textureFile, int leftPadding, int rightPadding, int topPadding, int bottomPadding) { - this(u, v, w, h, offset, textureFile.getTexture(), leftPadding, rightPadding, topPadding, bottomPadding); - } + public PaddedTexture( + int u, + int v, + int w, + int h, + int offset, + IBinnieTexture textureFile, + int leftPadding, + int rightPadding, + int topPadding, + int bottomPadding) { + this(u, v, w, h, offset, textureFile.getTexture(), leftPadding, rightPadding, topPadding, bottomPadding); + } - public PaddedTexture(int u, int v, int w, int h, int offset, BinnieResource textureFile, int leftPadding, int rightPadding, int topPadding, int bottomPadding) { - super(new IArea(u, v, w, h), new IBorder(topPadding, rightPadding, bottomPadding, leftPadding), new IBorder(offset), textureFile); - } + public PaddedTexture( + int u, + int v, + int w, + int h, + int offset, + BinnieResource textureFile, + int leftPadding, + int rightPadding, + int topPadding, + int bottomPadding) { + super( + new IArea(u, v, w, h), + new IBorder(topPadding, rightPadding, bottomPadding, leftPadding), + new IBorder(offset), + textureFile); + } } diff --git a/src/main/java/binnie/core/craftgui/resource/minecraft/ParsedTextureSheet.java b/src/main/java/binnie/core/craftgui/resource/minecraft/ParsedTextureSheet.java index 7c685d89..f02af54c 100644 --- a/src/main/java/binnie/core/craftgui/resource/minecraft/ParsedTextureSheet.java +++ b/src/main/java/binnie/core/craftgui/resource/minecraft/ParsedTextureSheet.java @@ -5,18 +5,18 @@ import binnie.core.resource.IBinnieTexture; import binnie.core.resource.ResourceType; class ParsedTextureSheet implements IBinnieTexture { - private String name; - private String modid; - private String path; + private String name; + private String modid; + private String path; - public ParsedTextureSheet(String name, String modid, String path) { - this.name = name; - this.modid = modid; - this.path = path; - } + public ParsedTextureSheet(String name, String modid, String path) { + this.name = name; + this.modid = modid; + this.path = path; + } - @Override - public BinnieResource getTexture() { - return new BinnieResource(modid, ResourceType.GUI, path); - } + @Override + public BinnieResource getTexture() { + return new BinnieResource(modid, ResourceType.GUI, path); + } } diff --git a/src/main/java/binnie/core/craftgui/resource/minecraft/StandardTexture.java b/src/main/java/binnie/core/craftgui/resource/minecraft/StandardTexture.java index 53432d32..b2020828 100644 --- a/src/main/java/binnie/core/craftgui/resource/minecraft/StandardTexture.java +++ b/src/main/java/binnie/core/craftgui/resource/minecraft/StandardTexture.java @@ -7,23 +7,23 @@ import binnie.core.resource.BinnieResource; import binnie.core.resource.IBinnieTexture; public class StandardTexture extends Texture { - public StandardTexture(int u, int v, int w, int h, IBinnieTexture textureFile) { - this(u, v, w, h, 0, textureFile.getTexture()); - } + public StandardTexture(int u, int v, int w, int h, IBinnieTexture textureFile) { + this(u, v, w, h, 0, textureFile.getTexture()); + } - public StandardTexture(int u, int v, int w, int h, int offset, IBinnieTexture textureFile) { - this(u, v, w, h, offset, textureFile.getTexture()); - } + public StandardTexture(int u, int v, int w, int h, int offset, IBinnieTexture textureFile) { + this(u, v, w, h, offset, textureFile.getTexture()); + } - public StandardTexture(int u, int v, int w, int h, BinnieResource textureFile) { - this(u, v, w, h, 0, textureFile); - } + public StandardTexture(int u, int v, int w, int h, BinnieResource textureFile) { + this(u, v, w, h, 0, textureFile); + } - public StandardTexture(int u, int v, int w, int h, int padding, BinnieResource textureFile) { - super(new IArea(u, v, w, h), IBorder.ZERO, new IBorder(padding), textureFile); - } + public StandardTexture(int u, int v, int w, int h, int padding, BinnieResource textureFile) { + super(new IArea(u, v, w, h), IBorder.ZERO, new IBorder(padding), textureFile); + } - public BinnieResource getTexture() { - return getFilename(); - } + public BinnieResource getTexture() { + return getFilename(); + } } diff --git a/src/main/java/binnie/core/craftgui/window/Panel.java b/src/main/java/binnie/core/craftgui/window/Panel.java index e1e03f3e..92b3be28 100644 --- a/src/main/java/binnie/core/craftgui/window/Panel.java +++ b/src/main/java/binnie/core/craftgui/window/Panel.java @@ -8,49 +8,48 @@ import binnie.core.craftgui.minecraft.MinecraftGUI; import binnie.core.craftgui.resource.minecraft.CraftGUITexture; public class Panel extends Control { - protected IPanelType type; + protected IPanelType type; - public Panel(IWidget parent, float x, float y, float width, float height, IPanelType type) { - super(parent, x, y, width, height); - this.type = type; - } + public Panel(IWidget parent, float x, float y, float width, float height, IPanelType type) { + super(parent, x, y, width, height); + this.type = type; + } - public Panel(IWidget parent, IArea area, IPanelType type) { - this(parent, area.x(), area.y(), area.w(), area.h(), type); - } + public Panel(IWidget parent, IArea area, IPanelType type) { + this(parent, area.x(), area.y(), area.w(), area.h(), type); + } - @Override - public void onRenderBackground() { - IPanelType panelType = getType(); - if (panelType instanceof MinecraftGUI.PanelType) { - switch ((MinecraftGUI.PanelType) panelType) { - case Black: - CraftGUI.render.texture(CraftGUITexture.PanelBlack, getArea()); - break; + @Override + public void onRenderBackground() { + IPanelType panelType = getType(); + if (panelType instanceof MinecraftGUI.PanelType) { + switch ((MinecraftGUI.PanelType) panelType) { + case Black: + CraftGUI.render.texture(CraftGUITexture.PanelBlack, getArea()); + break; - case Gray: - CraftGUI.render.texture(CraftGUITexture.PanelGray, getArea()); - break; + case Gray: + CraftGUI.render.texture(CraftGUITexture.PanelGray, getArea()); + break; - case Tinted: - CraftGUI.render.texture(CraftGUITexture.PanelTinted, getArea()); - break; + case Tinted: + CraftGUI.render.texture(CraftGUITexture.PanelTinted, getArea()); + break; - case Outline: - CraftGUI.render.texture(CraftGUITexture.Outline, getArea()); - break; + case Outline: + CraftGUI.render.texture(CraftGUITexture.Outline, getArea()); + break; - case TabOutline: - CraftGUI.render.texture(CraftGUITexture.TabOutline, getArea()); - break; - } - } - } + case TabOutline: + CraftGUI.render.texture(CraftGUITexture.TabOutline, getArea()); + break; + } + } + } - public IPanelType getType() { - return type; - } + public IPanelType getType() { + return type; + } - public interface IPanelType { - } + public interface IPanelType {} } diff --git a/src/main/java/binnie/core/genetics/BeeBreedingSystem.java b/src/main/java/binnie/core/genetics/BeeBreedingSystem.java index fe9e89d2..c41d0ee9 100644 --- a/src/main/java/binnie/core/genetics/BeeBreedingSystem.java +++ b/src/main/java/binnie/core/genetics/BeeBreedingSystem.java @@ -18,124 +18,125 @@ import forestry.api.genetics.IChromosomeType; import forestry.api.genetics.IMutation; import forestry.api.genetics.ISpeciesRoot; import forestry.core.genetics.alleles.EnumAllele; +import java.util.TreeSet; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import java.util.TreeSet; - class BeeBreedingSystem extends BreedingSystem { - public BeeBreedingSystem() { - iconUndiscovered = Binnie.Resource.getItemIcon(ExtraBees.instance, "icon/undiscoveredBee"); - iconDiscovered = Binnie.Resource.getItemIcon(ExtraBees.instance, "icon/discoveredBee"); - } + public BeeBreedingSystem() { + iconUndiscovered = Binnie.Resource.getItemIcon(ExtraBees.instance, "icon/undiscoveredBee"); + iconDiscovered = Binnie.Resource.getItemIcon(ExtraBees.instance, "icon/discoveredBee"); + } - @Override - public float getChance(IMutation mutation, EntityPlayer player, IAllele species1, IAllele species2) { - return ((IBeeMutation) mutation).getChance( - new VirtualBeeHousing(player), - (IAlleleBeeSpecies) species1, - (IAlleleBeeSpecies) species2, - (IBeeGenome) getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(species1.getUID())), - (IBeeGenome) getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(species2.getUID())) - ); - } + @Override + public float getChance(IMutation mutation, EntityPlayer player, IAllele species1, IAllele species2) { + return ((IBeeMutation) mutation) + .getChance( + new VirtualBeeHousing(player), + (IAlleleBeeSpecies) species1, + (IAlleleBeeSpecies) species2, + (IBeeGenome) getSpeciesRoot() + .templateAsGenome(getSpeciesRoot().getTemplate(species1.getUID())), + (IBeeGenome) getSpeciesRoot() + .templateAsGenome(getSpeciesRoot().getTemplate(species2.getUID()))); + } - @Override - public ISpeciesRoot getSpeciesRoot() { - return Binnie.Genetics.getBeeRoot(); - } + @Override + public ISpeciesRoot getSpeciesRoot() { + return Binnie.Genetics.getBeeRoot(); + } - @Override - public int getColor() { - return 0xffd900; - } + @Override + public int getColor() { + return 0xffd900; + } - @Override - public Class getTrackerClass() { - return IApiaristTracker.class; - } + @Override + public Class getTrackerClass() { + return IApiaristTracker.class; + } - @Override - public String getAlleleName(IChromosomeType chromosome, IAllele allele) { - if (chromosome == EnumBeeChromosome.FERTILITY) { - if (allele.getUID().contains("Low")) { - return I18N.localise("binniecore.allele.fertility.low"); - } - if (allele.getUID().contains("Normal")) { - return I18N.localise("binniecore.allele.fertility.normal"); - } - if (allele.getUID().contains("High")) { - return I18N.localise("binniecore.allele.fertility.high"); - } - if (allele.getUID().contains("Maximum")) { - return I18N.localise("binniecore.allele.fertility.maximum"); - } - } - return super.getAlleleName(chromosome, allele); - } + @Override + public String getAlleleName(IChromosomeType chromosome, IAllele allele) { + if (chromosome == EnumBeeChromosome.FERTILITY) { + if (allele.getUID().contains("Low")) { + return I18N.localise("binniecore.allele.fertility.low"); + } + if (allele.getUID().contains("Normal")) { + return I18N.localise("binniecore.allele.fertility.normal"); + } + if (allele.getUID().contains("High")) { + return I18N.localise("binniecore.allele.fertility.high"); + } + if (allele.getUID().contains("Maximum")) { + return I18N.localise("binniecore.allele.fertility.maximum"); + } + } + return super.getAlleleName(chromosome, allele); + } - @Override - public boolean isDNAManipulable(ItemStack member) { - return ((IBeeRoot) getSpeciesRoot()).getType(member) == EnumBeeType.LARVAE; - } + @Override + public boolean isDNAManipulable(ItemStack member) { + return ((IBeeRoot) getSpeciesRoot()).getType(member) == EnumBeeType.LARVAE; + } - @Override - public int[] getActiveTypes() { - return new int[] { - EnumBeeType.DRONE.ordinal(), - EnumBeeType.PRINCESS.ordinal(), - EnumBeeType.QUEEN.ordinal(), - EnumBeeType.LARVAE.ordinal() - }; - } + @Override + public int[] getActiveTypes() { + return new int[] { + EnumBeeType.DRONE.ordinal(), + EnumBeeType.PRINCESS.ordinal(), + EnumBeeType.QUEEN.ordinal(), + EnumBeeType.LARVAE.ordinal() + }; + } - @Override - public void addExtraAlleles(IChromosomeType chromosome, TreeSet alleles) { - switch ((EnumBeeChromosome) chromosome) { - case FERTILITY: - for (EnumAllele.Fertility fertility : EnumAllele.Fertility.values()) { - alleles.add(AlleleHelper.getAllele(fertility)); - } - break; + @Override + public void addExtraAlleles(IChromosomeType chromosome, TreeSet alleles) { + switch ((EnumBeeChromosome) chromosome) { + case FERTILITY: + for (EnumAllele.Fertility fertility : EnumAllele.Fertility.values()) { + alleles.add(AlleleHelper.getAllele(fertility)); + } + break; - case FLOWERING: - for (EnumAllele.Flowering flowering : EnumAllele.Flowering.values()) { - alleles.add(AlleleHelper.getAllele(flowering)); - } - break; + case FLOWERING: + for (EnumAllele.Flowering flowering : EnumAllele.Flowering.values()) { + alleles.add(AlleleHelper.getAllele(flowering)); + } + break; - case HUMIDITY_TOLERANCE: - case TEMPERATURE_TOLERANCE: - for (EnumTolerance tolerance : EnumTolerance.values()) { - alleles.add(AlleleHelper.getAllele(tolerance)); - } - break; + case HUMIDITY_TOLERANCE: + case TEMPERATURE_TOLERANCE: + for (EnumTolerance tolerance : EnumTolerance.values()) { + alleles.add(AlleleHelper.getAllele(tolerance)); + } + break; - case LIFESPAN: - for (EnumAllele.Lifespan lifespan : EnumAllele.Lifespan.values()) { - alleles.add(AlleleHelper.getAllele(lifespan)); - } - break; + case LIFESPAN: + for (EnumAllele.Lifespan lifespan : EnumAllele.Lifespan.values()) { + alleles.add(AlleleHelper.getAllele(lifespan)); + } + break; - case SPEED: - for (EnumAllele.Speed speed : EnumAllele.Speed.values()) { - alleles.add(AlleleHelper.getAllele(speed)); - } - break; + case SPEED: + for (EnumAllele.Speed speed : EnumAllele.Speed.values()) { + alleles.add(AlleleHelper.getAllele(speed)); + } + break; - case TERRITORY: - for (EnumAllele.Territory territory : EnumAllele.Territory.values()) { - alleles.add(AlleleHelper.getAllele(territory)); - } - break; + case TERRITORY: + for (EnumAllele.Territory territory : EnumAllele.Territory.values()) { + alleles.add(AlleleHelper.getAllele(territory)); + } + break; - case NOCTURNAL: - case CAVE_DWELLING: - case TOLERANT_FLYER: - for (ForestryAllele.Bool bool : ForestryAllele.Bool.values()) { - alleles.add(bool.getAllele()); - } - break; - } - } + case NOCTURNAL: + case CAVE_DWELLING: + case TOLERANT_FLYER: + for (ForestryAllele.Bool bool : ForestryAllele.Bool.values()) { + alleles.add(bool.getAllele()); + } + break; + } + } } diff --git a/src/main/java/binnie/core/genetics/BeeModifierLogic.java b/src/main/java/binnie/core/genetics/BeeModifierLogic.java index 7b95605b..2864cb90 100644 --- a/src/main/java/binnie/core/genetics/BeeModifierLogic.java +++ b/src/main/java/binnie/core/genetics/BeeModifierLogic.java @@ -6,44 +6,44 @@ import java.util.List; import java.util.Map; public class BeeModifierLogic { - private Map modifiers; - private List booleanModifiers; + private Map modifiers; + private List booleanModifiers; - public BeeModifierLogic() { - modifiers = new HashMap<>(); - booleanModifiers = new ArrayList<>(); - } + public BeeModifierLogic() { + modifiers = new HashMap<>(); + booleanModifiers = new ArrayList<>(); + } - public float getModifier(EnumBeeModifier modifier, float currentModifier) { - if (!modifiers.containsKey(modifier)) { - return 1.0f; - } + public float getModifier(EnumBeeModifier modifier, float currentModifier) { + if (!modifiers.containsKey(modifier)) { + return 1.0f; + } - Float[] values = modifiers.get(modifier); - float mult = values[0]; - float max = values[1]; - if (max >= 1.0f) { - if (max <= currentModifier) { - return 1.0f; - } - return Math.min(max / currentModifier, mult); - } + Float[] values = modifiers.get(modifier); + float mult = values[0]; + float max = values[1]; + if (max >= 1.0f) { + if (max <= currentModifier) { + return 1.0f; + } + return Math.min(max / currentModifier, mult); + } - if (max >= currentModifier) { - return 1.0f; - } - return Math.max(max / currentModifier, mult); - } + if (max >= currentModifier) { + return 1.0f; + } + return Math.max(max / currentModifier, mult); + } - public boolean getModifier(EnumBeeBooleanModifier modifier) { - return booleanModifiers.contains(modifier); - } + public boolean getModifier(EnumBeeBooleanModifier modifier) { + return booleanModifiers.contains(modifier); + } - public void setModifier(EnumBeeBooleanModifier modifier) { - booleanModifiers.add(modifier); - } + public void setModifier(EnumBeeBooleanModifier modifier) { + booleanModifiers.add(modifier); + } - public void setModifier(EnumBeeModifier modifier, float mult, float max) { - modifiers.put(modifier, new Float[] { mult, max }); - } + public void setModifier(EnumBeeModifier modifier, float mult, float max) { + modifiers.put(modifier, new Float[] {mult, max}); + } } diff --git a/src/main/java/binnie/core/genetics/BreedingSystem.java b/src/main/java/binnie/core/genetics/BreedingSystem.java index 23266085..d82eb3a3 100644 --- a/src/main/java/binnie/core/genetics/BreedingSystem.java +++ b/src/main/java/binnie/core/genetics/BreedingSystem.java @@ -18,12 +18,6 @@ import forestry.api.genetics.IGenome; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IMutation; import forestry.api.genetics.ISpeciesRoot; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; - import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -32,406 +26,414 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeSet; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; public abstract class BreedingSystem implements IItemStackRepresentative { - public float discoveredSpeciesPercentage; - public int totalSpeciesCount; - public int discoveredSpeciesCount; - public int totalSecretCount; - public int discoveredSecretCount; - public float discoveredBranchPercentage; - public int totalBranchCount; - public int discoveredBranchCount; + public float discoveredSpeciesPercentage; + public int totalSpeciesCount; + public int discoveredSpeciesCount; + public int totalSecretCount; + public int discoveredSecretCount; + public float discoveredBranchPercentage; + public int totalBranchCount; + public int discoveredBranchCount; - protected BinnieIcon iconUndiscovered; - protected BinnieIcon iconDiscovered; - protected List allActiveSpecies = new ArrayList<>(); + protected BinnieIcon iconUndiscovered; + protected BinnieIcon iconDiscovered; + protected List allActiveSpecies = new ArrayList<>(); - private List allBranches = new ArrayList<>(); - private List allMutations = new ArrayList<>(); - private Map> resultantMutations = new HashMap<>(); - private Map> furtherMutations = new HashMap<>(); + private List allBranches = new ArrayList<>(); + private List allMutations = new ArrayList<>(); + private Map> resultantMutations = new HashMap<>(); + private Map> furtherMutations = new HashMap<>(); - public BreedingSystem() { - Binnie.Genetics.registerBreedingSystem(this); - MinecraftForge.EVENT_BUS.register(this); - } + public BreedingSystem() { + Binnie.Genetics.registerBreedingSystem(this); + MinecraftForge.EVENT_BUS.register(this); + } - public String getChromosomeName(IChromosomeType chromo) { - return I18N.localise("binniecore." + getSpeciesRoot().getUID() + ".chromosome." + chromo.getName()); - } + public String getChromosomeName(IChromosomeType chromo) { + return I18N.localise("binniecore." + getSpeciesRoot().getUID() + ".chromosome." + chromo.getName()); + } - public String getChromosomeShortName(IChromosomeType chromo) { - return I18N.localise("binniecore." + getSpeciesRoot().getUID() + ".chromosome." + chromo.getName() + ".short"); - } + public String getChromosomeShortName(IChromosomeType chromo) { + return I18N.localise("binniecore." + getSpeciesRoot().getUID() + ".chromosome." + chromo.getName() + ".short"); + } - public String getEpitome(float discoveredPercentage) { - int i = 0; - if (discoveredPercentage == 1.0f) { - i = 6; - } else if (discoveredPercentage < 0.1f) { - i = 0; - } else if (discoveredPercentage < 0.3f) { - i = 1; - } else if (discoveredPercentage < 0.5f) { - i = 2; - } else if (discoveredPercentage < 0.7f) { - i = 3; - } else if (discoveredPercentage < 0.9f) { - i = 4; - } else if (discoveredPercentage < 1.0f) { - i = 5; - } - return I18N.localise("binniecore." + getSpeciesRoot().getUID() + ".epitome." + i); - } + public String getEpitome(float discoveredPercentage) { + int i = 0; + if (discoveredPercentage == 1.0f) { + i = 6; + } else if (discoveredPercentage < 0.1f) { + i = 0; + } else if (discoveredPercentage < 0.3f) { + i = 1; + } else if (discoveredPercentage < 0.5f) { + i = 2; + } else if (discoveredPercentage < 0.7f) { + i = 3; + } else if (discoveredPercentage < 0.9f) { + i = 4; + } else if (discoveredPercentage < 1.0f) { + i = 5; + } + return I18N.localise("binniecore." + getSpeciesRoot().getUID() + ".epitome." + i); + } - public abstract ISpeciesRoot getSpeciesRoot(); + public abstract ISpeciesRoot getSpeciesRoot(); - public List getAllBranches() { - return allBranches; - } + public List getAllBranches() { + return allBranches; + } - public Collection getAllSpecies() { - return allActiveSpecies; - } + public Collection getAllSpecies() { + return allActiveSpecies; + } - public Collection getAllMutations() { - return allMutations; - } + public Collection getAllMutations() { + return allMutations; + } - public void calculateArrays() { - Collection allAlleles = AlleleManager.alleleRegistry.getRegisteredAlleles().values(); - resultantMutations = new HashMap<>(); - furtherMutations = new HashMap<>(); - allActiveSpecies = new ArrayList<>(); + public void calculateArrays() { + Collection allAlleles = + AlleleManager.alleleRegistry.getRegisteredAlleles().values(); + resultantMutations = new HashMap<>(); + furtherMutations = new HashMap<>(); + allActiveSpecies = new ArrayList<>(); - for (IAllele species : allAlleles) { - if (getSpeciesRoot().getTemplate(species.getUID()) != null) { - resultantMutations.put((IAlleleSpecies) species, new ArrayList<>()); - furtherMutations.put((IAlleleSpecies) species, new ArrayList<>()); + for (IAllele species : allAlleles) { + if (getSpeciesRoot().getTemplate(species.getUID()) != null) { + resultantMutations.put((IAlleleSpecies) species, new ArrayList<>()); + furtherMutations.put((IAlleleSpecies) species, new ArrayList<>()); - if (isBlacklisted(species) || species.getUID().contains("speciesBotAlfheim")) { - continue; - } - allActiveSpecies.add((IAlleleSpecies) species); - } - } + if (isBlacklisted(species) || species.getUID().contains("speciesBotAlfheim")) { + continue; + } + allActiveSpecies.add((IAlleleSpecies) species); + } + } - allMutations = new ArrayList<>(); - Collection allRegBranches = AlleleManager.alleleRegistry.getRegisteredClassifications().values(); - allBranches = new ArrayList<>(); - for (IClassification branch : allRegBranches) { - if (branch.getMemberSpecies().length > 0 && getSpeciesRoot().getTemplate(branch.getMemberSpecies()[0].getUID()) != null) { - boolean possible = false; - for (IAlleleSpecies species2 : branch.getMemberSpecies()) { - if (allActiveSpecies.contains(species2)) { - possible = true; - } - } - if (!possible) { - continue; - } - allBranches.add(branch); - } - } + allMutations = new ArrayList<>(); + Collection allRegBranches = + AlleleManager.alleleRegistry.getRegisteredClassifications().values(); + allBranches = new ArrayList<>(); + for (IClassification branch : allRegBranches) { + if (branch.getMemberSpecies().length > 0 + && getSpeciesRoot().getTemplate(branch.getMemberSpecies()[0].getUID()) != null) { + boolean possible = false; + for (IAlleleSpecies species2 : branch.getMemberSpecies()) { + if (allActiveSpecies.contains(species2)) { + possible = true; + } + } + if (!possible) { + continue; + } + allBranches.add(branch); + } + } - if (getSpeciesRoot().getMutations(false) != null) { - Set mutations = new LinkedHashSet<>(); - mutations.addAll(getSpeciesRoot().getMutations(false)); - // TODO Why is this necessary? - if (this == Binnie.Genetics.beeBreedingSystem) { - mutations.addAll(ExtraBeeMutation.mutations); - } + if (getSpeciesRoot().getMutations(false) != null) { + Set mutations = new LinkedHashSet<>(); + mutations.addAll(getSpeciesRoot().getMutations(false)); + // TODO Why is this necessary? + if (this == Binnie.Genetics.beeBreedingSystem) { + mutations.addAll(ExtraBeeMutation.mutations); + } - for (IMutation mutation : mutations) { - allMutations.add(mutation); - Set participatingSpecies = new LinkedHashSet<>(); - if (mutation.getAllele0() != null) { - participatingSpecies.add(mutation.getAllele0()); - } - if (mutation.getAllele1() != null) { - participatingSpecies.add(mutation.getAllele1()); - } + for (IMutation mutation : mutations) { + allMutations.add(mutation); + Set participatingSpecies = new LinkedHashSet<>(); + if (mutation.getAllele0() != null) { + participatingSpecies.add(mutation.getAllele0()); + } + if (mutation.getAllele1() != null) { + participatingSpecies.add(mutation.getAllele1()); + } - for (IAlleleSpecies species3 : participatingSpecies) { - if (allActiveSpecies.contains(species3)) { - furtherMutations.get(species3).add(mutation); - } - } - if (resultantMutations.containsKey(mutation.getTemplate()[0])) { - resultantMutations.get(mutation.getTemplate()[0]).add(mutation); - } - } - } - } + for (IAlleleSpecies species3 : participatingSpecies) { + if (allActiveSpecies.contains(species3)) { + furtherMutations.get(species3).add(mutation); + } + } + if (resultantMutations.containsKey(mutation.getTemplate()[0])) { + resultantMutations.get(mutation.getTemplate()[0]).add(mutation); + } + } + } + } - public boolean isBlacklisted(IAllele allele) { - return AlleleManager.alleleRegistry.isBlacklisted(allele.getUID()); - } + public boolean isBlacklisted(IAllele allele) { + return AlleleManager.alleleRegistry.isBlacklisted(allele.getUID()); + } - public List getResultantMutations(IAlleleSpecies species) { - if (resultantMutations.isEmpty()) { - calculateArrays(); - } - return resultantMutations.get(species); - } + public List getResultantMutations(IAlleleSpecies species) { + if (resultantMutations.isEmpty()) { + calculateArrays(); + } + return resultantMutations.get(species); + } - public List getFurtherMutations(IAlleleSpecies species) { - if (furtherMutations.isEmpty()) { - calculateArrays(); - } - return furtherMutations.get(species); - } + public List getFurtherMutations(IAlleleSpecies species) { + if (furtherMutations.isEmpty()) { + calculateArrays(); + } + return furtherMutations.get(species); + } - public boolean isMutationDiscovered(IMutation mutation, World world, GameProfile name) { - return isMutationDiscovered(mutation, getSpeciesRoot().getBreedingTracker(world, name)); - } + public boolean isMutationDiscovered(IMutation mutation, World world, GameProfile name) { + return isMutationDiscovered(mutation, getSpeciesRoot().getBreedingTracker(world, name)); + } - public boolean isMutationDiscovered(IMutation mutation, IBreedingTracker tracker) { - return tracker == null || tracker.isDiscovered(mutation); - } + public boolean isMutationDiscovered(IMutation mutation, IBreedingTracker tracker) { + return tracker == null || tracker.isDiscovered(mutation); + } - public boolean isSpeciesDiscovered(IAlleleSpecies species, World world, GameProfile name) { - return isSpeciesDiscovered(species, getSpeciesRoot().getBreedingTracker(world, name)); - } + public boolean isSpeciesDiscovered(IAlleleSpecies species, World world, GameProfile name) { + return isSpeciesDiscovered(species, getSpeciesRoot().getBreedingTracker(world, name)); + } - public boolean isSpeciesDiscovered(IAlleleSpecies species, IBreedingTracker tracker) { - return tracker == null || tracker.isDiscovered(species); - } + public boolean isSpeciesDiscovered(IAlleleSpecies species, IBreedingTracker tracker) { + return tracker == null || tracker.isDiscovered(species); + } - public boolean isSecret(IAlleleSpecies species) { - return !species.isCounted(); - } + public boolean isSecret(IAlleleSpecies species) { + return !species.isCounted(); + } - public boolean isSecret(IClassification branch) { - for (IAlleleSpecies species : branch.getMemberSpecies()) { - if (!isSecret(species)) { - return false; - } - } - return true; - } + public boolean isSecret(IClassification branch) { + for (IAlleleSpecies species : branch.getMemberSpecies()) { + if (!isSecret(species)) { + return false; + } + } + return true; + } - public Collection getDiscoveredBranches(World world, GameProfile player) { - List branches = new ArrayList<>(); - for (IClassification branch : getAllBranches()) { - boolean discovered = false; - for (IAlleleSpecies species : branch.getMemberSpecies()) { - if (isSpeciesDiscovered(species, world, player)) { - discovered = true; - } - } + public Collection getDiscoveredBranches(World world, GameProfile player) { + List branches = new ArrayList<>(); + for (IClassification branch : getAllBranches()) { + boolean discovered = false; + for (IAlleleSpecies species : branch.getMemberSpecies()) { + if (isSpeciesDiscovered(species, world, player)) { + discovered = true; + } + } - if (discovered) { - branches.add(branch); - } - } - return branches; - } + if (discovered) { + branches.add(branch); + } + } + return branches; + } - public Collection getDiscoveredBranches(IBreedingTracker tracker) { - List branches = new ArrayList<>(); - for (IClassification branch : getAllBranches()) { - boolean discovered = false; - for (IAlleleSpecies species : branch.getMemberSpecies()) { - if (isSpeciesDiscovered(species, tracker)) { - discovered = true; - } - } + public Collection getDiscoveredBranches(IBreedingTracker tracker) { + List branches = new ArrayList<>(); + for (IClassification branch : getAllBranches()) { + boolean discovered = false; + for (IAlleleSpecies species : branch.getMemberSpecies()) { + if (isSpeciesDiscovered(species, tracker)) { + discovered = true; + } + } - if (discovered) { - branches.add(branch); - } - } - return branches; - } + if (discovered) { + branches.add(branch); + } + } + return branches; + } - public Collection getDiscoveredSpecies(World world, GameProfile player) { - List speciesList = new ArrayList<>(); - for (IAlleleSpecies species : getAllSpecies()) { - if (isSpeciesDiscovered(species, world, player)) { - speciesList.add(species); - } - } - return speciesList; - } + public Collection getDiscoveredSpecies(World world, GameProfile player) { + List speciesList = new ArrayList<>(); + for (IAlleleSpecies species : getAllSpecies()) { + if (isSpeciesDiscovered(species, world, player)) { + speciesList.add(species); + } + } + return speciesList; + } - public Collection getDiscoveredSpecies(IBreedingTracker tracker) { - List speciesList = new ArrayList<>(); - for (IAlleleSpecies species : getAllSpecies()) { - if (isSpeciesDiscovered(species, tracker)) { - speciesList.add(species); - } - } - return speciesList; - } + public Collection getDiscoveredSpecies(IBreedingTracker tracker) { + List speciesList = new ArrayList<>(); + for (IAlleleSpecies species : getAllSpecies()) { + if (isSpeciesDiscovered(species, tracker)) { + speciesList.add(species); + } + } + return speciesList; + } - public List getDiscoveredMutations(World world, GameProfile player) { - List speciesList = new ArrayList<>(); - for (IMutation species : getAllMutations()) { - if (isMutationDiscovered(species, world, player)) { - speciesList.add(species); - } - } - return speciesList; - } + public List getDiscoveredMutations(World world, GameProfile player) { + List speciesList = new ArrayList<>(); + for (IMutation species : getAllMutations()) { + if (isMutationDiscovered(species, world, player)) { + speciesList.add(species); + } + } + return speciesList; + } - public IIcon getUndiscoveredIcon() { - return iconUndiscovered.getIcon(); - } + public IIcon getUndiscoveredIcon() { + return iconUndiscovered.getIcon(); + } - public IIcon getDiscoveredIcon() { - return iconDiscovered.getIcon(); - } + public IIcon getDiscoveredIcon() { + return iconDiscovered.getIcon(); + } - public abstract float getChance(IMutation mutation, EntityPlayer player, IAllele allele1, IAllele allele2); + public abstract float getChance(IMutation mutation, EntityPlayer player, IAllele allele1, IAllele allele2); - public abstract Class getTrackerClass(); + public abstract Class getTrackerClass(); - @SubscribeEvent - public void onSyncBreedingTracker(ForestryEvent.SyncedBreedingTracker event) { - IBreedingTracker tracker = event.tracker; - if (!getTrackerClass().isInstance(tracker)) { - return; - } - syncTracker(tracker); - } + @SubscribeEvent + public void onSyncBreedingTracker(ForestryEvent.SyncedBreedingTracker event) { + IBreedingTracker tracker = event.tracker; + if (!getTrackerClass().isInstance(tracker)) { + return; + } + syncTracker(tracker); + } - public void syncTracker(IBreedingTracker tracker) { - discoveredSpeciesPercentage = 0.0f; - totalSpeciesCount = 0; - discoveredSpeciesCount = 0; - totalSecretCount = 0; - discoveredSecretCount = 0; - Collection allSpecies = getAllSpecies(); + public void syncTracker(IBreedingTracker tracker) { + discoveredSpeciesPercentage = 0.0f; + totalSpeciesCount = 0; + discoveredSpeciesCount = 0; + totalSecretCount = 0; + discoveredSecretCount = 0; + Collection allSpecies = getAllSpecies(); - for (IAlleleSpecies species : allSpecies) { - if (!isSecret(species)) { - totalSpeciesCount++; - if (!isSpeciesDiscovered(species, tracker)) { - continue; - } - discoveredSpeciesCount++; - } else { - totalSecretCount++; - if (!isSpeciesDiscovered(species, tracker)) { - continue; - } - discoveredSecretCount++; - } - } + for (IAlleleSpecies species : allSpecies) { + if (!isSecret(species)) { + totalSpeciesCount++; + if (!isSpeciesDiscovered(species, tracker)) { + continue; + } + discoveredSpeciesCount++; + } else { + totalSecretCount++; + if (!isSpeciesDiscovered(species, tracker)) { + continue; + } + discoveredSecretCount++; + } + } - discoveredBranchPercentage = 0.0f; - totalBranchCount = 0; - discoveredBranchCount = 0; - Collection discoveredBranches = getDiscoveredBranches(tracker); - Collection allBranches = getAllBranches(); + discoveredBranchPercentage = 0.0f; + totalBranchCount = 0; + discoveredBranchCount = 0; + Collection discoveredBranches = getDiscoveredBranches(tracker); + Collection allBranches = getAllBranches(); - for (IClassification branch : allBranches) { - if (!isSecret(branch)) { - totalBranchCount++; - if (!discoveredBranches.contains(branch)) { - continue; - } - discoveredBranchCount++; - } - } + for (IClassification branch : allBranches) { + if (!isSecret(branch)) { + totalBranchCount++; + if (!discoveredBranches.contains(branch)) { + continue; + } + discoveredBranchCount++; + } + } - discoveredSpeciesPercentage = discoveredSpeciesCount / totalSpeciesCount; - discoveredBranchPercentage = discoveredBranchCount / totalBranchCount; - onSyncBreedingTracker(tracker); - } + discoveredSpeciesPercentage = discoveredSpeciesCount / totalSpeciesCount; + discoveredBranchPercentage = discoveredBranchCount / totalBranchCount; + onSyncBreedingTracker(tracker); + } - public void onSyncBreedingTracker(IBreedingTracker tracker) { - // ignored - } + public void onSyncBreedingTracker(IBreedingTracker tracker) { + // ignored + } - public String getEpitome() { - return getEpitome(discoveredSpeciesPercentage); - } + public String getEpitome() { + return getEpitome(discoveredSpeciesPercentage); + } - public String getDescriptor() { - return I18N.localise("binniecore." + getSpeciesRoot().getUID() + ".descriptor"); - } + public String getDescriptor() { + return I18N.localise("binniecore." + getSpeciesRoot().getUID() + ".descriptor"); + } - public String getIdent() { - return getSpeciesRoot().getUID(); - } + public String getIdent() { + return getSpeciesRoot().getUID(); + } - public IChromosomeType getChromosome(int i) { - for (IChromosomeType chromosome : getSpeciesRoot().getKaryotype()) { - if (i == chromosome.ordinal()) { - return chromosome; - } - } - return null; - } + public IChromosomeType getChromosome(int i) { + for (IChromosomeType chromosome : getSpeciesRoot().getKaryotype()) { + if (i == chromosome.ordinal()) { + return chromosome; + } + } + return null; + } - public abstract int getColor(); + public abstract int getColor(); - public String getAlleleName(IChromosomeType chromosome, IAllele allele) { - if (allele instanceof IAlleleBoolean) { - return ((IAlleleBoolean) allele).getValue() ? - I18N.localise("binniecore.allele.true") : - I18N.localise("binniecore.allele.false"); - } - if (allele.getName().equals("for.gui.maximum")) { - return I18N.localise("binniecore.allele.fertility.maximum"); - } - return allele.getName(); - } + public String getAlleleName(IChromosomeType chromosome, IAllele allele) { + if (allele instanceof IAlleleBoolean) { + return ((IAlleleBoolean) allele).getValue() + ? I18N.localise("binniecore.allele.true") + : I18N.localise("binniecore.allele.false"); + } + if (allele.getName().equals("for.gui.maximum")) { + return I18N.localise("binniecore.allele.fertility.maximum"); + } + return allele.getName(); + } - public String getName() { - return I18N.localise("binniecore." + getSpeciesRoot().getUID() + ".shortName"); - } + public String getName() { + return I18N.localise("binniecore." + getSpeciesRoot().getUID() + ".shortName"); + } - @Override - public ItemStack getItemStackRepresentative() { - ISpeciesRoot speciesRoot = getSpeciesRoot(); - IIndividual first = speciesRoot.getIndividualTemplates().get(0); - return speciesRoot.getMemberStack(first, getDefaultType()); - } + @Override + public ItemStack getItemStackRepresentative() { + ISpeciesRoot speciesRoot = getSpeciesRoot(); + IIndividual first = speciesRoot.getIndividualTemplates().get(0); + return speciesRoot.getMemberStack(first, getDefaultType()); + } - @Override - public String toString() { - return getName(); - } + @Override + public String toString() { + return getName(); + } - public abstract boolean isDNAManipulable(ItemStack member); + public abstract boolean isDNAManipulable(ItemStack member); - public IIndividual getConversion(ItemStack stack) { - return null; - } + public IIndividual getConversion(ItemStack stack) { + return null; + } - public IIndividual getDefaultIndividual() { - return getSpeciesRoot().templateAsIndividual(getSpeciesRoot().getDefaultTemplate()); - } + public IIndividual getDefaultIndividual() { + return getSpeciesRoot().templateAsIndividual(getSpeciesRoot().getDefaultTemplate()); + } - public int getDefaultType() { - return getActiveTypes()[0]; - } + public int getDefaultType() { + return getActiveTypes()[0]; + } - public abstract int[] getActiveTypes(); + public abstract int[] getActiveTypes(); - public abstract void addExtraAlleles(IChromosomeType chromosome, TreeSet alleles); + public abstract void addExtraAlleles(IChromosomeType chromosome, TreeSet alleles); - public ItemStack getConversionStack(ItemStack stack) { - return getSpeciesRoot().getMemberStack(getConversion(stack), getDefaultType()); - } + public ItemStack getConversionStack(ItemStack stack) { + return getSpeciesRoot().getMemberStack(getConversion(stack), getDefaultType()); + } - public Collection getActiveKaryotype() { - return Binnie.Genetics.getActiveChromosomes(getSpeciesRoot()); - } + public Collection getActiveKaryotype() { + return Binnie.Genetics.getActiveChromosomes(getSpeciesRoot()); + } - public ItemStack getDefaultMember(String uid) { - return getSpeciesRoot().getMemberStack(getIndividual(uid), getDefaultType()); - } + public ItemStack getDefaultMember(String uid) { + return getSpeciesRoot().getMemberStack(getIndividual(uid), getDefaultType()); + } - public IIndividual getIndividual(String uid) { - return getSpeciesRoot().templateAsIndividual(getSpeciesRoot().getTemplate(uid)); - } + public IIndividual getIndividual(String uid) { + return getSpeciesRoot().templateAsIndividual(getSpeciesRoot().getTemplate(uid)); + } - public IGenome getGenome(String uid) { - return getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(uid)); - } + public IGenome getGenome(String uid) { + return getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(uid)); + } } diff --git a/src/main/java/binnie/core/genetics/EnumBeeBooleanModifier.java b/src/main/java/binnie/core/genetics/EnumBeeBooleanModifier.java index 1494ddc1..0d0d2a30 100644 --- a/src/main/java/binnie/core/genetics/EnumBeeBooleanModifier.java +++ b/src/main/java/binnie/core/genetics/EnumBeeBooleanModifier.java @@ -1,8 +1,8 @@ package binnie.core.genetics; public enum EnumBeeBooleanModifier { - SEALED, - SELF_LIGHTED, - SUNLIGHT_STIMULATED, - HELLISH + SEALED, + SELF_LIGHTED, + SUNLIGHT_STIMULATED, + HELLISH } diff --git a/src/main/java/binnie/core/genetics/EnumBeeModifier.java b/src/main/java/binnie/core/genetics/EnumBeeModifier.java index 94153196..49dd0618 100644 --- a/src/main/java/binnie/core/genetics/EnumBeeModifier.java +++ b/src/main/java/binnie/core/genetics/EnumBeeModifier.java @@ -3,14 +3,14 @@ package binnie.core.genetics; import binnie.core.util.I18N; public enum EnumBeeModifier { - TERRITORY, - MUTATION, - LIFESPAN, - PRODUCTION, - FLOWERING, - GENETIC_DECAY; + TERRITORY, + MUTATION, + LIFESPAN, + PRODUCTION, + FLOWERING, + GENETIC_DECAY; - public String getName() { - return I18N.localise("binniecore.beemodifier." + name().toLowerCase()); - } + public String getName() { + return I18N.localise("binniecore.beemodifier." + name().toLowerCase()); + } } diff --git a/src/main/java/binnie/core/genetics/FlowerBreedingSystem.java b/src/main/java/binnie/core/genetics/FlowerBreedingSystem.java index 4b265e7f..9119de7a 100644 --- a/src/main/java/binnie/core/genetics/FlowerBreedingSystem.java +++ b/src/main/java/binnie/core/genetics/FlowerBreedingSystem.java @@ -19,117 +19,114 @@ import forestry.api.genetics.IIndividual; import forestry.api.genetics.IMutation; import forestry.api.genetics.ISpeciesRoot; import forestry.core.genetics.alleles.EnumAllele; +import java.util.TreeSet; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import java.util.TreeSet; - class FlowerBreedingSystem extends BreedingSystem { - public FlowerBreedingSystem() { - iconUndiscovered = Binnie.Resource.getItemIcon(ExtraBees.instance, "icon/undiscoveredBee"); - iconDiscovered = Binnie.Resource.getItemIcon(ExtraBees.instance, "icon/discoveredBee"); - } + public FlowerBreedingSystem() { + iconUndiscovered = Binnie.Resource.getItemIcon(ExtraBees.instance, "icon/undiscoveredBee"); + iconDiscovered = Binnie.Resource.getItemIcon(ExtraBees.instance, "icon/discoveredBee"); + } - @Override - public float getChance(IMutation mutation, EntityPlayer player, IAllele species1, IAllele species2) { - return mutation.getBaseChance(); - } + @Override + public float getChance(IMutation mutation, EntityPlayer player, IAllele species1, IAllele species2) { + return mutation.getBaseChance(); + } - @Override - public ISpeciesRoot getSpeciesRoot() { - return Binnie.Genetics.getFlowerRoot(); - } + @Override + public ISpeciesRoot getSpeciesRoot() { + return Binnie.Genetics.getFlowerRoot(); + } - @Override - public int getColor() { - return 0xde3737; - } + @Override + public int getColor() { + return 0xde3737; + } - @Override - public Class getTrackerClass() { - return IBotanistTracker.class; - } + @Override + public Class getTrackerClass() { + return IBotanistTracker.class; + } - @Override - public String getAlleleName(IChromosomeType chromosome, IAllele allele) { - if (chromosome == EnumFlowerChromosome.FERTILITY) { - if (allele.getUID().contains("Low")) { - return I18N.localise("binniecore.allele.fertility.low"); - } - if (allele.getUID().contains("Normal")) { - return I18N.localise("binniecore.allele.fertility.normal"); - } - if (allele.getUID().contains("High")) { - return I18N.localise("binniecore.allele.fertility.high"); - } - if (allele.getUID().contains("Maximum")) { - return I18N.localise("binniecore.allele.fertility.maximum"); - } - } - return super.getAlleleName(chromosome, allele); - } + @Override + public String getAlleleName(IChromosomeType chromosome, IAllele allele) { + if (chromosome == EnumFlowerChromosome.FERTILITY) { + if (allele.getUID().contains("Low")) { + return I18N.localise("binniecore.allele.fertility.low"); + } + if (allele.getUID().contains("Normal")) { + return I18N.localise("binniecore.allele.fertility.normal"); + } + if (allele.getUID().contains("High")) { + return I18N.localise("binniecore.allele.fertility.high"); + } + if (allele.getUID().contains("Maximum")) { + return I18N.localise("binniecore.allele.fertility.maximum"); + } + } + return super.getAlleleName(chromosome, allele); + } - @Override - public boolean isDNAManipulable(ItemStack member) { - return ((IFlowerRoot) getSpeciesRoot()).getStageType(member) == EnumFlowerStage.POLLEN; - } + @Override + public boolean isDNAManipulable(ItemStack member) { + return ((IFlowerRoot) getSpeciesRoot()).getStageType(member) == EnumFlowerStage.POLLEN; + } - @Override - public IIndividual getConversion(ItemStack stack) { - return BotanyCore.getFlowerRoot().getConversion(stack); - } + @Override + public IIndividual getConversion(ItemStack stack) { + return BotanyCore.getFlowerRoot().getConversion(stack); + } - @Override - public int[] getActiveTypes() { - return new int[]{ - EnumFlowerStage.FLOWER.ordinal(), - EnumFlowerStage.POLLEN.ordinal(), - EnumFlowerStage.SEED.ordinal() - }; - } + @Override + public int[] getActiveTypes() { + return new int[] { + EnumFlowerStage.FLOWER.ordinal(), EnumFlowerStage.POLLEN.ordinal(), EnumFlowerStage.SEED.ordinal() + }; + } - @Override - public void addExtraAlleles(IChromosomeType chromosome, TreeSet alleles) { - switch ((EnumFlowerChromosome) chromosome) { - case FERTILITY: - for (EnumAllele.Fertility fertility : EnumAllele.Fertility.values()) { - alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(fertility))); - } - break; + @Override + public void addExtraAlleles(IChromosomeType chromosome, TreeSet alleles) { + switch ((EnumFlowerChromosome) chromosome) { + case FERTILITY: + for (EnumAllele.Fertility fertility : EnumAllele.Fertility.values()) { + alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(fertility))); + } + break; - case LIFESPAN: - for (EnumAllele.Lifespan lifespan : EnumAllele.Lifespan.values()) { - alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(lifespan))); - } - break; + case LIFESPAN: + for (EnumAllele.Lifespan lifespan : EnumAllele.Lifespan.values()) { + alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(lifespan))); + } + break; - case HUMIDITY_TOLERANCE: - case PH_TOLERANCE: - case TEMPERATURE_TOLERANCE: - for (EnumTolerance a3 : EnumTolerance.values()) { - alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(a3))); - } - break; + case HUMIDITY_TOLERANCE: + case PH_TOLERANCE: + case TEMPERATURE_TOLERANCE: + for (EnumTolerance a3 : EnumTolerance.values()) { + alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(a3))); + } + break; - case PRIMARY: - case SECONDARY: - case STEM: - for (EnumFlowerColor color : EnumFlowerColor.values()) { - alleles.add(color.getAllele()); - } - break; + case PRIMARY: + case SECONDARY: + case STEM: + for (EnumFlowerColor color : EnumFlowerColor.values()) { + alleles.add(color.getAllele()); + } + break; - case SAPPINESS: - for (EnumAllele.Sappiness sappiness : EnumAllele.Sappiness.values()) { - alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(sappiness))); - } - break; + case SAPPINESS: + for (EnumAllele.Sappiness sappiness : EnumAllele.Sappiness.values()) { + alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(sappiness))); + } + break; - case TERRITORY: - for (EnumAllele.Territory territory : EnumAllele.Territory.values()) { - alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(territory))); - } - break; - } - } + case TERRITORY: + for (EnumAllele.Territory territory : EnumAllele.Territory.values()) { + alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(territory))); + } + break; + } + } } diff --git a/src/main/java/binnie/core/genetics/ForestryAllele.java b/src/main/java/binnie/core/genetics/ForestryAllele.java index f91a7f39..95285be9 100644 --- a/src/main/java/binnie/core/genetics/ForestryAllele.java +++ b/src/main/java/binnie/core/genetics/ForestryAllele.java @@ -4,99 +4,99 @@ import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAllele; public class ForestryAllele { - public enum Lifespan { - Shortest, - Shorter, - Short, - Shortened, - Normal, - Elongated, - Long, - Longer, - Longest; + public enum Lifespan { + Shortest, + Shorter, + Short, + Shortened, + Normal, + Elongated, + Long, + Longer, + Longest; - public IAllele getAllele() { - return AlleleManager.alleleRegistry.getAllele("forestry.lifespan" + toString()); - } - } + public IAllele getAllele() { + return AlleleManager.alleleRegistry.getAllele("forestry.lifespan" + toString()); + } + } - public enum Speed { - Slowest, - Slower, - Slow, - Norm, - Fast, - Faster, - Fastest; + public enum Speed { + Slowest, + Slower, + Slow, + Norm, + Fast, + Faster, + Fastest; - public IAllele getAllele() { - return AlleleManager.alleleRegistry.getAllele("forestry.speed" + toString()); - } - } + public IAllele getAllele() { + return AlleleManager.alleleRegistry.getAllele("forestry.speed" + toString()); + } + } - public enum Fertility { - Low, - Normal, - High, - Maximum; + public enum Fertility { + Low, + Normal, + High, + Maximum; - public IAllele getAllele() { - return AlleleManager.alleleRegistry.getAllele("forestry.fertility" + toString()); - } - } + public IAllele getAllele() { + return AlleleManager.alleleRegistry.getAllele("forestry.fertility" + toString()); + } + } - public enum Territory { - Default, - Large, - Larger, - Largest; + public enum Territory { + Default, + Large, + Larger, + Largest; - public IAllele getAllele() { - return AlleleManager.alleleRegistry.getAllele("forestry.territory" + toString()); - } - } + public IAllele getAllele() { + return AlleleManager.alleleRegistry.getAllele("forestry.territory" + toString()); + } + } - public enum Size { - Smallest, - Smaller, - Small, - Average, - Large, - Larger, - Largest; + public enum Size { + Smallest, + Smaller, + Small, + Average, + Large, + Larger, + Largest; - public IAllele getAllele() { - return AlleleManager.alleleRegistry.getAllele("forestry.size" + toString()); - } - } + public IAllele getAllele() { + return AlleleManager.alleleRegistry.getAllele("forestry.size" + toString()); + } + } - public enum Bool { - True, - False; + public enum Bool { + True, + False; - public IAllele getAllele() { - return AlleleManager.alleleRegistry.getAllele("forestry.bool" + toString()); - } + public IAllele getAllele() { + return AlleleManager.alleleRegistry.getAllele("forestry.bool" + toString()); + } - public static IAllele get(boolean bool) { - return (bool ? Bool.True : Bool.False).getAllele(); - } - } + public static IAllele get(boolean bool) { + return (bool ? Bool.True : Bool.False).getAllele(); + } + } - public enum Int { - Int1, - Int2, - Int3, - Int4, - Int5, - Int6, - Int7, - Int8, - Int9, - Int10; + public enum Int { + Int1, + Int2, + Int3, + Int4, + Int5, + Int6, + Int7, + Int8, + Int9, + Int10; - public IAllele getAllele() { - return AlleleManager.alleleRegistry.getAllele("forestry.i" + (ordinal() + 1) + "d"); - } - } + public IAllele getAllele() { + return AlleleManager.alleleRegistry.getAllele("forestry.i" + (ordinal() + 1) + "d"); + } + } } diff --git a/src/main/java/binnie/core/genetics/Gene.java b/src/main/java/binnie/core/genetics/Gene.java index 77ddd50a..962dda8d 100644 --- a/src/main/java/binnie/core/genetics/Gene.java +++ b/src/main/java/binnie/core/genetics/Gene.java @@ -10,102 +10,102 @@ import forestry.api.genetics.ISpeciesRoot; import net.minecraft.nbt.NBTTagCompound; public class Gene implements INBTTagable, IGene { - private IAllele allele; - private IChromosomeType chromosome; - private ISpeciesRoot root; + private IAllele allele; + private IChromosomeType chromosome; + private ISpeciesRoot root; - @Override - public ISpeciesRoot getSpeciesRoot() { - return root; - } + @Override + public ISpeciesRoot getSpeciesRoot() { + return root; + } - @Override - public String toString() { - return getAlleleName(); - } + @Override + public String toString() { + return getAlleleName(); + } - public Gene(IAllele allele, IChromosomeType chromosome, ISpeciesRoot root) { - this.allele = allele; - this.chromosome = chromosome; - this.root = root; - } + public Gene(IAllele allele, IChromosomeType chromosome, ISpeciesRoot root) { + this.allele = allele; + this.chromosome = chromosome; + this.root = root; + } - public Gene(NBTTagCompound nbt) { - readFromNBT(nbt); - } + public Gene(NBTTagCompound nbt) { + readFromNBT(nbt); + } - @Override - public void readFromNBT(NBTTagCompound nbt) { - allele = AlleleManager.alleleRegistry.getAllele(nbt.getString("allele")); - root = AlleleManager.alleleRegistry.getSpeciesRoot(nbt.getString("root")); - int chromoID = nbt.getByte("chromo"); - if (root != null && chromoID >= 0 && chromoID < root.getKaryotype().length) { - chromosome = root.getKaryotype()[chromoID]; - } - } + @Override + public void readFromNBT(NBTTagCompound nbt) { + allele = AlleleManager.alleleRegistry.getAllele(nbt.getString("allele")); + root = AlleleManager.alleleRegistry.getSpeciesRoot(nbt.getString("root")); + int chromoID = nbt.getByte("chromo"); + if (root != null && chromoID >= 0 && chromoID < root.getKaryotype().length) { + chromosome = root.getKaryotype()[chromoID]; + } + } - @Override - public void writeToNBT(NBTTagCompound nbt) { - nbt.setString("allele", allele.getUID()); - nbt.setString("root", root.getUID()); - nbt.setByte("chromo", (byte) chromosome.ordinal()); - } + @Override + public void writeToNBT(NBTTagCompound nbt) { + nbt.setString("allele", allele.getUID()); + nbt.setString("root", root.getUID()); + nbt.setByte("chromo", (byte) chromosome.ordinal()); + } - public boolean isCorrupted() { - return allele == null || chromosome == null || root == null; - } + public boolean isCorrupted() { + return allele == null || chromosome == null || root == null; + } - public static Gene create(NBTTagCompound nbt) { - Gene gene = new Gene(nbt); - return gene.isCorrupted() ? null : gene; - } + public static Gene create(NBTTagCompound nbt) { + Gene gene = new Gene(nbt); + return gene.isCorrupted() ? null : gene; + } - public static Gene create(IAllele allele, IChromosomeType chromosome, ISpeciesRoot root) { - Gene gene = new Gene(allele, chromosome, root); - return gene.isCorrupted() ? null : gene; - } + public static Gene create(IAllele allele, IChromosomeType chromosome, ISpeciesRoot root) { + Gene gene = new Gene(allele, chromosome, root); + return gene.isCorrupted() ? null : gene; + } - @Override - public NBTTagCompound getNBTTagCompound() { - NBTTagCompound nbt = new NBTTagCompound(); - writeToNBT(nbt); - return nbt; - } + @Override + public NBTTagCompound getNBTTagCompound() { + NBTTagCompound nbt = new NBTTagCompound(); + writeToNBT(nbt); + return nbt; + } - @Override - public String getName() { - return Binnie.Genetics.getSystem(root).getAlleleName(chromosome, allele); - } + @Override + public String getName() { + return Binnie.Genetics.getSystem(root).getAlleleName(chromosome, allele); + } - public BreedingSystem getSystem() { - return Binnie.Genetics.getSystem(root); - } + public BreedingSystem getSystem() { + return Binnie.Genetics.getSystem(root); + } - @Override - public IChromosomeType getChromosome() { - return chromosome; - } + @Override + public IChromosomeType getChromosome() { + return chromosome; + } - @Override - public IAllele getAllele() { - return allele; - } + @Override + public IAllele getAllele() { + return allele; + } - @Override - public boolean equals(Object obj) { - if (!(obj instanceof Gene)) { - return false; - } + @Override + public boolean equals(Object obj) { + if (!(obj instanceof Gene)) { + return false; + } - Gene g = (Gene) obj; - return allele == g.allele && chromosome.ordinal() == g.chromosome.ordinal() && root == g.root; - } + Gene g = (Gene) obj; + return allele == g.allele && chromosome.ordinal() == g.chromosome.ordinal() && root == g.root; + } - public String getAlleleName() { - return getSystem().getAlleleName(chromosome, allele); - } + public String getAlleleName() { + return getSystem().getAlleleName(chromosome, allele); + } - public String getShortChromosomeName() { - return getSystem().getChromosomeShortName(chromosome); - } + public String getShortChromosomeName() { + return getSystem().getChromosomeShortName(chromosome); + } } diff --git a/src/main/java/binnie/core/genetics/IItemStackRepresentative.java b/src/main/java/binnie/core/genetics/IItemStackRepresentative.java index 191c64c1..2fba28f7 100644 --- a/src/main/java/binnie/core/genetics/IItemStackRepresentative.java +++ b/src/main/java/binnie/core/genetics/IItemStackRepresentative.java @@ -3,5 +3,5 @@ package binnie.core.genetics; import net.minecraft.item.ItemStack; public interface IItemStackRepresentative { - ItemStack getItemStackRepresentative(); + ItemStack getItemStackRepresentative(); } diff --git a/src/main/java/binnie/core/genetics/ManagerGenetics.java b/src/main/java/binnie/core/genetics/ManagerGenetics.java index 9194b73f..865343ca 100644 --- a/src/main/java/binnie/core/genetics/ManagerGenetics.java +++ b/src/main/java/binnie/core/genetics/ManagerGenetics.java @@ -19,9 +19,6 @@ import forestry.api.genetics.IGenome; import forestry.api.genetics.IIndividual; import forestry.api.genetics.ISpeciesRoot; import forestry.api.lepidopterology.IButterflyRoot; -import net.minecraft.item.ItemStack; -import net.minecraftforge.event.world.WorldEvent; - import java.util.ArrayList; import java.util.Collection; import java.util.Comparator; @@ -29,193 +26,195 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.TreeSet; +import net.minecraft.item.ItemStack; +import net.minecraftforge.event.world.WorldEvent; public class ManagerGenetics extends ManagerBase { - public BreedingSystem beeBreedingSystem; - public BreedingSystem treeBreedingSystem; - public BreedingSystem mothBreedingSystem; - public BreedingSystem flowerBreedingSystem; - private Map breedingSystems; - private List invalidChromosomeTypes; - private Map>> chromosomeArray; + public BreedingSystem beeBreedingSystem; + public BreedingSystem treeBreedingSystem; + public BreedingSystem mothBreedingSystem; + public BreedingSystem flowerBreedingSystem; + private Map breedingSystems; + private List invalidChromosomeTypes; + private Map>> chromosomeArray; - public ManagerGenetics() { - breedingSystems = new LinkedHashMap<>(); - invalidChromosomeTypes = new ArrayList<>(); - chromosomeArray = new LinkedHashMap<>(); - } + public ManagerGenetics() { + breedingSystems = new LinkedHashMap<>(); + invalidChromosomeTypes = new ArrayList<>(); + chromosomeArray = new LinkedHashMap<>(); + } - @Override - public void init() { - if (BinnieCore.isApicultureActive()) { - beeBreedingSystem = new BeeBreedingSystem(); - } - if (BinnieCore.isArboricultureActive()) { - treeBreedingSystem = new TreeBreedingSystem(); - } - if (BinnieCore.isLepidopteryActive()) { - mothBreedingSystem = new MothBreedingSystem(); - } - if (BinnieCore.isBotanyActive()) { - flowerBreedingSystem = new FlowerBreedingSystem(); - } - } + @Override + public void init() { + if (BinnieCore.isApicultureActive()) { + beeBreedingSystem = new BeeBreedingSystem(); + } + if (BinnieCore.isArboricultureActive()) { + treeBreedingSystem = new TreeBreedingSystem(); + } + if (BinnieCore.isLepidopteryActive()) { + mothBreedingSystem = new MothBreedingSystem(); + } + if (BinnieCore.isBotanyActive()) { + flowerBreedingSystem = new FlowerBreedingSystem(); + } + } - @Override - public void postInit() { - refreshData(); - } + @Override + public void postInit() { + refreshData(); + } - public ITreeRoot getTreeRoot() { - return (ITreeRoot) AlleleManager.alleleRegistry.getSpeciesRoot("rootTrees"); - } + public ITreeRoot getTreeRoot() { + return (ITreeRoot) AlleleManager.alleleRegistry.getSpeciesRoot("rootTrees"); + } - public IBeeRoot getBeeRoot() { - return (IBeeRoot) AlleleManager.alleleRegistry.getSpeciesRoot("rootBees"); - } + public IBeeRoot getBeeRoot() { + return (IBeeRoot) AlleleManager.alleleRegistry.getSpeciesRoot("rootBees"); + } - public IButterflyRoot getButterflyRoot() { - return (IButterflyRoot) AlleleManager.alleleRegistry.getSpeciesRoot("rootButterflies"); - } + public IButterflyRoot getButterflyRoot() { + return (IButterflyRoot) AlleleManager.alleleRegistry.getSpeciesRoot("rootButterflies"); + } - public IFlowerRoot getFlowerRoot() { - return (IFlowerRoot) AlleleManager.alleleRegistry.getSpeciesRoot("rootFlowers"); - } + public IFlowerRoot getFlowerRoot() { + return (IFlowerRoot) AlleleManager.alleleRegistry.getSpeciesRoot("rootFlowers"); + } - public BreedingSystem getSystem(String string) { - for (BreedingSystem system : breedingSystems.values()) { - if (system.getIdent().equals(string)) { - return system; - } - } - return null; - } + public BreedingSystem getSystem(String string) { + for (BreedingSystem system : breedingSystems.values()) { + if (system.getIdent().equals(string)) { + return system; + } + } + return null; + } - public BreedingSystem getSystem(ISpeciesRoot root) { - // Fix NPE - if (root == null) { - return null; - } - return getSystem(root.getUID()); - } + public BreedingSystem getSystem(ISpeciesRoot root) { + // Fix NPE + if (root == null) { + return null; + } + return getSystem(root.getUID()); + } - public ISpeciesRoot getSpeciesRoot(IAlleleSpecies species) { - for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { - if (root.getKaryotype()[0].getAlleleClass().isInstance(species)) { - return root; - } - } - return null; - } + public ISpeciesRoot getSpeciesRoot(IAlleleSpecies species) { + for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { + if (root.getKaryotype()[0].getAlleleClass().isInstance(species)) { + return root; + } + } + return null; + } - public int[] getTolerance(EnumTolerance tol) { - return Tolerance.values()[tol.ordinal()].getBounds(); - } + public int[] getTolerance(EnumTolerance tol) { + return Tolerance.values()[tol.ordinal()].getBounds(); + } - public Collection getActiveSystems() { - return breedingSystems.values(); - } + public Collection getActiveSystems() { + return breedingSystems.values(); + } - public void registerBreedingSystem(BreedingSystem system) { - breedingSystems.put(system.getSpeciesRoot(), system); - } + public void registerBreedingSystem(BreedingSystem system) { + breedingSystems.put(system.getSpeciesRoot(), system); + } - public BreedingSystem getConversionSystem(ItemStack stack) { - for (BreedingSystem system : getActiveSystems()) { - if (system.getConversion(stack) != null) { - return system; - } - } - return null; - } + public BreedingSystem getConversionSystem(ItemStack stack) { + for (BreedingSystem system : getActiveSystems()) { + if (system.getConversion(stack) != null) { + return system; + } + } + return null; + } - public ItemStack getConversionStack(ItemStack stack) { - BreedingSystem system = getConversionSystem(stack); - return (system == null) ? null : system.getConversionStack(stack); - } + public ItemStack getConversionStack(ItemStack stack) { + BreedingSystem system = getConversionSystem(stack); + return (system == null) ? null : system.getConversionStack(stack); + } - public IIndividual getConversion(ItemStack stack) { - BreedingSystem system = getConversionSystem(stack); - return (system == null) ? null : system.getConversion(stack); - } + public IIndividual getConversion(ItemStack stack) { + BreedingSystem system = getConversionSystem(stack); + return (system == null) ? null : system.getConversion(stack); + } - @SubscribeEvent - public void onWorldLoad(WorldEvent.Load event) { - refreshData(); - } + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) { + refreshData(); + } - private void refreshData() { - loadAlleles(); - for (BreedingSystem system : Binnie.Genetics.getActiveSystems()) { - system.calculateArrays(); - } - } + private void refreshData() { + loadAlleles(); + for (BreedingSystem system : Binnie.Genetics.getActiveSystems()) { + system.calculateArrays(); + } + } - private void loadAlleles() { - invalidChromosomeTypes.clear(); - for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { - BreedingSystem system = getSystem(root); - Map> chromosomeMap = new LinkedHashMap<>(); - for (IChromosomeType chromosome : root.getKaryotype()) { - TreeSet alleles = new TreeSet<>(new ComparatorAllele()); - for (IIndividual individual : root.getIndividualTemplates()) { - IGenome genome = individual.getGenome(); - try { - IAllele a1 = genome.getActiveAllele(chromosome); - IAllele a2 = genome.getInactiveAllele(chromosome); - if (chromosome.getAlleleClass().isInstance(a1)) { - alleles.add(a1); - } - if (!chromosome.getAlleleClass().isInstance(a2)) { - continue; - } - alleles.add(a2); - } catch (Exception ex) { - // ignored - } - } + private void loadAlleles() { + invalidChromosomeTypes.clear(); + for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { + BreedingSystem system = getSystem(root); + Map> chromosomeMap = new LinkedHashMap<>(); + for (IChromosomeType chromosome : root.getKaryotype()) { + TreeSet alleles = new TreeSet<>(new ComparatorAllele()); + for (IIndividual individual : root.getIndividualTemplates()) { + IGenome genome = individual.getGenome(); + try { + IAllele a1 = genome.getActiveAllele(chromosome); + IAllele a2 = genome.getInactiveAllele(chromosome); + if (chromosome.getAlleleClass().isInstance(a1)) { + alleles.add(a1); + } + if (!chromosome.getAlleleClass().isInstance(a2)) { + continue; + } + alleles.add(a2); + } catch (Exception ex) { + // ignored + } + } - system.addExtraAlleles(chromosome, alleles); - if (alleles.size() == 0) { - invalidChromosomeTypes.add(chromosome); - } else { - List alleleList = new ArrayList<>(); - alleleList.addAll(alleles); - chromosomeMap.put(chromosome, alleleList); - } - } - chromosomeArray.put(root, chromosomeMap); - } - } + system.addExtraAlleles(chromosome, alleles); + if (alleles.size() == 0) { + invalidChromosomeTypes.add(chromosome); + } else { + List alleleList = new ArrayList<>(); + alleleList.addAll(alleles); + chromosomeMap.put(chromosome, alleleList); + } + } + chromosomeArray.put(root, chromosomeMap); + } + } - public Map> getChromosomeMap(ISpeciesRoot root) { - return chromosomeArray.get(root); - } + public Map> getChromosomeMap(ISpeciesRoot root) { + return chromosomeArray.get(root); + } - public Collection getActiveChromosomes(ISpeciesRoot root) { - return getChromosomeMap(root).keySet(); - } + public Collection getActiveChromosomes(ISpeciesRoot root) { + return getChromosomeMap(root).keySet(); + } - public boolean isInvalidChromosome(IChromosomeType type) { - return invalidChromosomeTypes.contains(type); - } + public boolean isInvalidChromosome(IChromosomeType type) { + return invalidChromosomeTypes.contains(type); + } - static class ComparatorAllele implements Comparator { - @Override - public int compare(IAllele o1, IAllele o2) { - if (o1 == null || o2 == null) { - throw new NullPointerException("Allele is null!"); - } - if (o1 instanceof IAlleleFloat && o2 instanceof IAlleleFloat) { - return Float.valueOf(((IAlleleFloat) o1).getValue()).compareTo(((IAlleleFloat) o2).getValue()); - } - if (o1 instanceof IAlleleInteger && o2 instanceof IAlleleInteger && !(o1 instanceof AlleleColor)) { - return Integer.valueOf(((IAlleleInteger) o1).getValue()).compareTo(((IAlleleInteger) o2).getValue()); - } - if (o1.getName() != null && o2.getName() != null) { - return o1.getName().compareTo(o2.getName()); - } - return o1.getUID().compareTo(o2.getUID()); - } - } + static class ComparatorAllele implements Comparator { + @Override + public int compare(IAllele o1, IAllele o2) { + if (o1 == null || o2 == null) { + throw new NullPointerException("Allele is null!"); + } + if (o1 instanceof IAlleleFloat && o2 instanceof IAlleleFloat) { + return Float.valueOf(((IAlleleFloat) o1).getValue()).compareTo(((IAlleleFloat) o2).getValue()); + } + if (o1 instanceof IAlleleInteger && o2 instanceof IAlleleInteger && !(o1 instanceof AlleleColor)) { + return Integer.valueOf(((IAlleleInteger) o1).getValue()).compareTo(((IAlleleInteger) o2).getValue()); + } + if (o1.getName() != null && o2.getName() != null) { + return o1.getName().compareTo(o2.getName()); + } + return o1.getUID().compareTo(o2.getUID()); + } + } } diff --git a/src/main/java/binnie/core/genetics/MothBreedingSystem.java b/src/main/java/binnie/core/genetics/MothBreedingSystem.java index 73116a5c..69ce72a1 100644 --- a/src/main/java/binnie/core/genetics/MothBreedingSystem.java +++ b/src/main/java/binnie/core/genetics/MothBreedingSystem.java @@ -13,128 +13,125 @@ import forestry.api.lepidopterology.EnumButterflyChromosome; import forestry.api.lepidopterology.EnumFlutterType; import forestry.api.lepidopterology.IButterflyRoot; import forestry.api.lepidopterology.ILepidopteristTracker; +import java.util.TreeSet; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import java.util.TreeSet; - class MothBreedingSystem extends BreedingSystem { - public MothBreedingSystem() { - iconUndiscovered = Binnie.Resource.getItemIcon(ExtraTrees.instance, "icon/undiscoveredMoth"); - iconDiscovered = Binnie.Resource.getItemIcon(ExtraTrees.instance, "icon/discoveredMoth"); - } + public MothBreedingSystem() { + iconUndiscovered = Binnie.Resource.getItemIcon(ExtraTrees.instance, "icon/undiscoveredMoth"); + iconDiscovered = Binnie.Resource.getItemIcon(ExtraTrees.instance, "icon/discoveredMoth"); + } - @Override - public float getChance(IMutation mutation, EntityPlayer player, IAllele species1, IAllele species2) { - return 0.0f; - } + @Override + public float getChance(IMutation mutation, EntityPlayer player, IAllele species1, IAllele species2) { + return 0.0f; + } - @Override - public ISpeciesRoot getSpeciesRoot() { - return Binnie.Genetics.getButterflyRoot(); - } + @Override + public ISpeciesRoot getSpeciesRoot() { + return Binnie.Genetics.getButterflyRoot(); + } - @Override - public int getColor() { - return 0x00f2f2; - } + @Override + public int getColor() { + return 0x00f2f2; + } - @Override - public Class getTrackerClass() { - return ILepidopteristTracker.class; - } + @Override + public Class getTrackerClass() { + return ILepidopteristTracker.class; + } - @Override - public String getAlleleName(IChromosomeType chromosome, IAllele allele) { - if (chromosome == EnumButterflyChromosome.METABOLISM) { - int metabolism = ((IAlleleInteger) allele).getValue(); - if (metabolism >= 19) { - return I18N.localise("binniecore.allele.metabolism.highest"); - } - if (metabolism >= 16) { - return I18N.localise("binniecore.allele.metabolism.higher"); - } - if (metabolism >= 13) { - return I18N.localise("binniecore.allele.metabolism.high"); - } - if (metabolism >= 10) { - return I18N.localise("binniecore.allele.metabolism.average"); - } - if (metabolism >= 7) { - return I18N.localise("binniecore.allele.metabolism.slow"); - } - if (metabolism >= 4) { - return I18N.localise("binniecore.allele.metabolism.slower"); - } - return I18N.localise("binniecore.allele.metabolism.slowest"); - } - if (chromosome == EnumButterflyChromosome.FERTILITY) { - return ((IAlleleInteger) allele).getValue() + "x"; - } - return super.getAlleleName(chromosome, allele); - } + @Override + public String getAlleleName(IChromosomeType chromosome, IAllele allele) { + if (chromosome == EnumButterflyChromosome.METABOLISM) { + int metabolism = ((IAlleleInteger) allele).getValue(); + if (metabolism >= 19) { + return I18N.localise("binniecore.allele.metabolism.highest"); + } + if (metabolism >= 16) { + return I18N.localise("binniecore.allele.metabolism.higher"); + } + if (metabolism >= 13) { + return I18N.localise("binniecore.allele.metabolism.high"); + } + if (metabolism >= 10) { + return I18N.localise("binniecore.allele.metabolism.average"); + } + if (metabolism >= 7) { + return I18N.localise("binniecore.allele.metabolism.slow"); + } + if (metabolism >= 4) { + return I18N.localise("binniecore.allele.metabolism.slower"); + } + return I18N.localise("binniecore.allele.metabolism.slowest"); + } + if (chromosome == EnumButterflyChromosome.FERTILITY) { + return ((IAlleleInteger) allele).getValue() + "x"; + } + return super.getAlleleName(chromosome, allele); + } - @Override - public boolean isDNAManipulable(ItemStack member) { - return ((IButterflyRoot) getSpeciesRoot()).getType(member) == EnumFlutterType.SERUM; - } + @Override + public boolean isDNAManipulable(ItemStack member) { + return ((IButterflyRoot) getSpeciesRoot()).getType(member) == EnumFlutterType.SERUM; + } - @Override - public int[] getActiveTypes() { - return new int[]{ - EnumFlutterType.BUTTERFLY.ordinal(), - EnumFlutterType.CATERPILLAR.ordinal(), - EnumFlutterType.SERUM.ordinal() - }; - } + @Override + public int[] getActiveTypes() { + return new int[] { + EnumFlutterType.BUTTERFLY.ordinal(), EnumFlutterType.CATERPILLAR.ordinal(), EnumFlutterType.SERUM.ordinal() + }; + } - @Override - public void addExtraAlleles(IChromosomeType chromosome, TreeSet alleles) { - switch ((EnumButterflyChromosome) chromosome) { - case FERTILITY: - for (ForestryAllele.Int a : ForestryAllele.Int.values()) { - alleles.add(a.getAllele()); - } - break; + @Override + public void addExtraAlleles(IChromosomeType chromosome, TreeSet alleles) { + switch ((EnumButterflyChromosome) chromosome) { + case FERTILITY: + for (ForestryAllele.Int a : ForestryAllele.Int.values()) { + alleles.add(a.getAllele()); + } + break; - case LIFESPAN: - for (ForestryAllele.Lifespan a2 : ForestryAllele.Lifespan.values()) { - alleles.add(a2.getAllele()); - } - break; + case LIFESPAN: + for (ForestryAllele.Lifespan a2 : ForestryAllele.Lifespan.values()) { + alleles.add(a2.getAllele()); + } + break; - case METABOLISM: - for (ForestryAllele.Int a : ForestryAllele.Int.values()) { - alleles.add(a.getAllele()); - } - break; + case METABOLISM: + for (ForestryAllele.Int a : ForestryAllele.Int.values()) { + alleles.add(a.getAllele()); + } + break; - case TOLERANT_FLYER: - case FIRE_RESIST: - case NOCTURNAL: - for (ForestryAllele.Bool a3 : ForestryAllele.Bool.values()) { - alleles.add(a3.getAllele()); - } - break; + case TOLERANT_FLYER: + case FIRE_RESIST: + case NOCTURNAL: + for (ForestryAllele.Bool a3 : ForestryAllele.Bool.values()) { + alleles.add(a3.getAllele()); + } + break; - case SIZE: - for (ForestryAllele.Size a4 : ForestryAllele.Size.values()) { - alleles.add(a4.getAllele()); - } - break; + case SIZE: + for (ForestryAllele.Size a4 : ForestryAllele.Size.values()) { + alleles.add(a4.getAllele()); + } + break; - case SPEED: - for (ForestryAllele.Speed a5 : ForestryAllele.Speed.values()) { - alleles.add(a5.getAllele()); - } - break; + case SPEED: + for (ForestryAllele.Speed a5 : ForestryAllele.Speed.values()) { + alleles.add(a5.getAllele()); + } + break; - case HUMIDITY_TOLERANCE: - case TEMPERATURE_TOLERANCE: - for (Tolerance a6 : Tolerance.values()) { - alleles.add(a6.getAllele()); - } - break; - } - } + case HUMIDITY_TOLERANCE: + case TEMPERATURE_TOLERANCE: + for (Tolerance a6 : Tolerance.values()) { + alleles.add(a6.getAllele()); + } + break; + } + } } diff --git a/src/main/java/binnie/core/genetics/Tolerance.java b/src/main/java/binnie/core/genetics/Tolerance.java index b1cc4163..57b1d0a5 100644 --- a/src/main/java/binnie/core/genetics/Tolerance.java +++ b/src/main/java/binnie/core/genetics/Tolerance.java @@ -5,51 +5,50 @@ import forestry.api.genetics.EnumTolerance; import forestry.api.genetics.IAllele; public enum Tolerance { - None(0, 0), - Both1(-1, 1), - Both2(-2, 2), - Both3(-3, 3), - Both4(-4, 4), - Both5(-5, 5), - Up1(0, 1), - Up2(0, 2), - Up3(0, 3), - Up4(0, 4), - Up5(0, 5), - Down1(-1, 0), - Down2(-2, 0), - Down3(-3, 0), - Down4(-4, 0), - Down5(-5, 0); + None(0, 0), + Both1(-1, 1), + Both2(-2, 2), + Both3(-3, 3), + Both4(-4, 4), + Both5(-5, 5), + Up1(0, 1), + Up2(0, 2), + Up3(0, 3), + Up4(0, 4), + Up5(0, 5), + Down1(-1, 0), + Down2(-2, 0), + Down3(-3, 0), + Down4(-4, 0), + Down5(-5, 0); - private int[] bounds; + private int[] bounds; - Tolerance(int a, int b) { - bounds = new int[]{a, b}; - } + Tolerance(int a, int b) { + bounds = new int[] {a, b}; + } - public String getUID() { - return "forestry.tolerance" + toString(); - } + public String getUID() { + return "forestry.tolerance" + toString(); + } - public int[] getBounds() { - return bounds; - } + public int[] getBounds() { + return bounds; + } - public static Tolerance get(EnumTolerance tol) { - return values()[tol.ordinal()]; - } + public static Tolerance get(EnumTolerance tol) { + return values()[tol.ordinal()]; + } - public IAllele getAllele() { - return AlleleManager.alleleRegistry.getAllele(getUID()); - } + public IAllele getAllele() { + return AlleleManager.alleleRegistry.getAllele(getUID()); + } - public > boolean canTolerate(T base, T test) { - return test.ordinal() <= base.ordinal() + bounds[1] - && test.ordinal() >= base.ordinal() + bounds[0]; - } + public > boolean canTolerate(T base, T test) { + return test.ordinal() <= base.ordinal() + bounds[1] && test.ordinal() >= base.ordinal() + bounds[0]; + } - public static > boolean canTolerate(T base, T test, EnumTolerance tol) { - return get(tol).canTolerate(base, test); - } + public static > boolean canTolerate(T base, T test, EnumTolerance tol) { + return get(tol).canTolerate(base, test); + } } diff --git a/src/main/java/binnie/core/genetics/TreeBreedingSystem.java b/src/main/java/binnie/core/genetics/TreeBreedingSystem.java index e69c8063..cca32977 100644 --- a/src/main/java/binnie/core/genetics/TreeBreedingSystem.java +++ b/src/main/java/binnie/core/genetics/TreeBreedingSystem.java @@ -30,12 +30,6 @@ import forestry.api.genetics.IIndividual; import forestry.api.genetics.IMutation; import forestry.api.genetics.ISpeciesRoot; import forestry.core.genetics.alleles.EnumAllele; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.util.ForgeDirection; - import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -45,279 +39,298 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeSet; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.util.ForgeDirection; public class TreeBreedingSystem extends BreedingSystem { - public UniqueItemStackSet allFruits = new UniqueItemStackSet(); - public UniqueItemStackSet allWoods = new UniqueItemStackSet(); - private UniqueItemStackSet discoveredFruits = new UniqueItemStackSet(); - private UniqueItemStackSet discoveredWoods = new UniqueItemStackSet(); + public UniqueItemStackSet allFruits = new UniqueItemStackSet(); + public UniqueItemStackSet allWoods = new UniqueItemStackSet(); + private UniqueItemStackSet discoveredFruits = new UniqueItemStackSet(); + private UniqueItemStackSet discoveredWoods = new UniqueItemStackSet(); - public TreeBreedingSystem() { - iconUndiscovered = Binnie.Resource.getItemIcon(ExtraTrees.instance, "icon/undiscoveredTree"); - iconDiscovered = Binnie.Resource.getItemIcon(ExtraTrees.instance, "icon/discoveredTree"); - } + public TreeBreedingSystem() { + iconUndiscovered = Binnie.Resource.getItemIcon(ExtraTrees.instance, "icon/undiscoveredTree"); + iconDiscovered = Binnie.Resource.getItemIcon(ExtraTrees.instance, "icon/discoveredTree"); + } - @Override - public float getChance(IMutation mutation, EntityPlayer player, IAllele species1, IAllele species2) { - ISpeciesRoot speciesRoot = getSpeciesRoot(); - ITreeGenome genome0 = (ITreeGenome) speciesRoot.templateAsGenome(speciesRoot.getTemplate(species1.getUID())); - ITreeGenome genome2 = (ITreeGenome) speciesRoot.templateAsGenome(speciesRoot.getTemplate(species2.getUID())); - return ((ITreeMutation) mutation).getChance(player.worldObj, (int) player.posX, (int) player.posY, (int) player.posZ, (IAlleleTreeSpecies) species1, (IAlleleTreeSpecies) species2, genome0, genome2); - } + @Override + public float getChance(IMutation mutation, EntityPlayer player, IAllele species1, IAllele species2) { + ISpeciesRoot speciesRoot = getSpeciesRoot(); + ITreeGenome genome0 = (ITreeGenome) speciesRoot.templateAsGenome(speciesRoot.getTemplate(species1.getUID())); + ITreeGenome genome2 = (ITreeGenome) speciesRoot.templateAsGenome(speciesRoot.getTemplate(species2.getUID())); + return ((ITreeMutation) mutation) + .getChance( + player.worldObj, + (int) player.posX, + (int) player.posY, + (int) player.posZ, + (IAlleleTreeSpecies) species1, + (IAlleleTreeSpecies) species2, + genome0, + genome2); + } - @Override - public ISpeciesRoot getSpeciesRoot() { - return Binnie.Genetics.getTreeRoot(); - } + @Override + public ISpeciesRoot getSpeciesRoot() { + return Binnie.Genetics.getTreeRoot(); + } - @Override - public int getColor() { - return 0x00cf0e; - } + @Override + public int getColor() { + return 0x00cf0e; + } - @Override - public Class getTrackerClass() { - return IArboristTracker.class; - } + @Override + public Class getTrackerClass() { + return IArboristTracker.class; + } - @Override - public String getAlleleName(IChromosomeType chromosome, IAllele allele) { - if (chromosome == EnumTreeChromosome.GIRTH) { - return ((IAlleleInteger) allele).getValue() + "x" + ((IAlleleInteger) allele).getValue(); - } + @Override + public String getAlleleName(IChromosomeType chromosome, IAllele allele) { + if (chromosome == EnumTreeChromosome.GIRTH) { + return ((IAlleleInteger) allele).getValue() + "x" + ((IAlleleInteger) allele).getValue(); + } - if (chromosome == EnumTreeChromosome.PLANT) { - EnumSet types = ((IAllelePlantType) allele).getPlantTypes(); - return types.isEmpty() - ? I18N.localise("binniecore.allele.none") - : types.iterator().next().toString(); - } + if (chromosome == EnumTreeChromosome.PLANT) { + EnumSet types = ((IAllelePlantType) allele).getPlantTypes(); + return types.isEmpty() + ? I18N.localise("binniecore.allele.none") + : types.iterator().next().toString(); + } - if (chromosome == EnumTreeChromosome.FRUITS && allele.getUID().contains(".")) { - IFruitProvider provider = ((IAlleleFruit) allele).getProvider(); - return (provider.getProducts().length == 0) - ? I18N.localise("binniecore.allele.none") - : provider.getProducts()[0].getDisplayName(); - } + if (chromosome == EnumTreeChromosome.FRUITS && allele.getUID().contains(".")) { + IFruitProvider provider = ((IAlleleFruit) allele).getProvider(); + return (provider.getProducts().length == 0) + ? I18N.localise("binniecore.allele.none") + : provider.getProducts()[0].getDisplayName(); + } - if (chromosome == EnumTreeChromosome.GROWTH) { - if (allele.getUID().contains("Tropical")) { - return I18N.localise("binniecore.allele.growth.tropical"); - } - if (allele.getUID().contains("Lightlevel")) { - return I18N.localise("binniecore.allele.growth.lightlevel"); - } - } - return super.getAlleleName(chromosome, allele); - } + if (chromosome == EnumTreeChromosome.GROWTH) { + if (allele.getUID().contains("Tropical")) { + return I18N.localise("binniecore.allele.growth.tropical"); + } + if (allele.getUID().contains("Lightlevel")) { + return I18N.localise("binniecore.allele.growth.lightlevel"); + } + } + return super.getAlleleName(chromosome, allele); + } - @Override - public void onSyncBreedingTracker(IBreedingTracker tracker) { - discoveredFruits.clear(); - discoveredWoods.clear(); - for (IAlleleSpecies species : getDiscoveredSpecies(tracker)) { - IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; - ISpeciesRoot speciesRoot = getSpeciesRoot(); - ITreeGenome genome = (ITreeGenome) speciesRoot.templateAsGenome(speciesRoot.getTemplate(tSpecies.getUID())); + @Override + public void onSyncBreedingTracker(IBreedingTracker tracker) { + discoveredFruits.clear(); + discoveredWoods.clear(); + for (IAlleleSpecies species : getDiscoveredSpecies(tracker)) { + IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; + ISpeciesRoot speciesRoot = getSpeciesRoot(); + ITreeGenome genome = (ITreeGenome) speciesRoot.templateAsGenome(speciesRoot.getTemplate(tSpecies.getUID())); - FakeWorld world = FakeWorld.instance; - genome.getPrimary().getGenerator().setLogBlock(genome, world, 0, 0, 0, ForgeDirection.UP); - ItemStack wood = world.getWooLog(); - if (wood != null) { - discoveredWoods.add(wood); - } + FakeWorld world = FakeWorld.instance; + genome.getPrimary().getGenerator().setLogBlock(genome, world, 0, 0, 0, ForgeDirection.UP); + ItemStack wood = world.getWooLog(); + if (wood != null) { + discoveredWoods.add(wood); + } - // TODO ??? - // for (ItemStack wood : - // tSpecies.getRoot().templateAsIndividual(getSpeciesRoot().getTemplate(tSpecies.getUID())).getProduceList()) - // { - // this.discoveredWoods.add(wood); - // } - discoveredFruits.addAll(Arrays.asList(genome.getFruitProvider().getProducts())); - for (ItemStack wood2 : discoveredWoods) { - } - } - } + // TODO ??? + // for (ItemStack wood : + // tSpecies.getRoot().templateAsIndividual(getSpeciesRoot().getTemplate(tSpecies.getUID())).getProduceList()) + // { + // this.discoveredWoods.add(wood); + // } + discoveredFruits.addAll(Arrays.asList(genome.getFruitProvider().getProducts())); + for (ItemStack wood2 : discoveredWoods) {} + } + } - @Override - public void calculateArrays() { - super.calculateArrays(); - for (IAlleleSpecies species : allActiveSpecies) { - IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; - ITreeGenome genome = (ITreeGenome) getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(tSpecies.getUID())); + @Override + public void calculateArrays() { + super.calculateArrays(); + for (IAlleleSpecies species : allActiveSpecies) { + IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; + ITreeGenome genome = (ITreeGenome) + getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(tSpecies.getUID())); - FakeWorld world = FakeWorld.instance; - genome.getPrimary().getGenerator().setLogBlock(genome, world, 0, 0, 0, ForgeDirection.UP); - ItemStack wood = world.getWooLog(); - if (wood != null) { - allWoods.add(wood); - } + FakeWorld world = FakeWorld.instance; + genome.getPrimary().getGenerator().setLogBlock(genome, world, 0, 0, 0, ForgeDirection.UP); + ItemStack wood = world.getWooLog(); + if (wood != null) { + allWoods.add(wood); + } - // TODO ??? - // for (ItemStack wood : - // tSpecies.getRoot().templateAsIndividual(getSpeciesRoot().getTemplate(tSpecies.getUID())).getProduceList()) - // { - // this.allWoods.add(wood); - // } - allFruits.addAll(Arrays.asList(genome.getFruitProvider().getProducts())); - } - } + // TODO ??? + // for (ItemStack wood : + // tSpecies.getRoot().templateAsIndividual(getSpeciesRoot().getTemplate(tSpecies.getUID())).getProduceList()) + // { + // this.allWoods.add(wood); + // } + allFruits.addAll(Arrays.asList(genome.getFruitProvider().getProducts())); + } + } - public Collection getTreesThatBearFruit(ItemStack fruit, boolean nei, World world, GameProfile player) { - Collection set = nei ? getAllSpecies() : getDiscoveredSpecies(world, player); - List found = new ArrayList<>(); - for (IAlleleSpecies species : set) { - IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; - ITreeGenome genome = (ITreeGenome) getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(tSpecies.getUID())); - for (ItemStack fruit2 : genome.getFruitProvider().getProducts()) { - if (fruit2.isItemEqual(fruit)) { - found.add(species); - } - } - } - return found; - } + public Collection getTreesThatBearFruit( + ItemStack fruit, boolean nei, World world, GameProfile player) { + Collection set = nei ? getAllSpecies() : getDiscoveredSpecies(world, player); + List found = new ArrayList<>(); + for (IAlleleSpecies species : set) { + IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; + ITreeGenome genome = (ITreeGenome) + getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(tSpecies.getUID())); + for (ItemStack fruit2 : genome.getFruitProvider().getProducts()) { + if (fruit2.isItemEqual(fruit)) { + found.add(species); + } + } + } + return found; + } - public Collection getTreesThatCanBearFruit(ItemStack fruit, boolean nei, World world, GameProfile player) { - Collection set = nei ? getAllSpecies() : getDiscoveredSpecies(world, player); - List found = new ArrayList<>(); - Set providers = new HashSet<>(); - for (IAlleleSpecies species : set) { - IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; - ITreeGenome genome = (ITreeGenome) getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(tSpecies.getUID())); - for (ItemStack fruit2 : genome.getFruitProvider().getProducts()) { - if (fruit2.isItemEqual(fruit)) { - providers.add(genome.getFruitProvider().getFamily()); - } - } - } - for (IAlleleSpecies species : set) { - IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; - for (IFruitFamily family : providers) { - if (tSpecies.getSuitableFruit().contains(family)) { - found.add(species); - break; - } - } - } - return found; - } + public Collection getTreesThatCanBearFruit( + ItemStack fruit, boolean nei, World world, GameProfile player) { + Collection set = nei ? getAllSpecies() : getDiscoveredSpecies(world, player); + List found = new ArrayList<>(); + Set providers = new HashSet<>(); + for (IAlleleSpecies species : set) { + IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; + ITreeGenome genome = (ITreeGenome) + getSpeciesRoot().templateAsGenome(getSpeciesRoot().getTemplate(tSpecies.getUID())); + for (ItemStack fruit2 : genome.getFruitProvider().getProducts()) { + if (fruit2.isItemEqual(fruit)) { + providers.add(genome.getFruitProvider().getFamily()); + } + } + } + for (IAlleleSpecies species : set) { + IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; + for (IFruitFamily family : providers) { + if (tSpecies.getSuitableFruit().contains(family)) { + found.add(species); + break; + } + } + } + return found; + } - public Collection getTreesThatHaveWood(ItemStack fruit, boolean nei, World world, GameProfile player) { - Collection set = nei ? getAllSpecies() : getDiscoveredSpecies(world, player); - List found = new ArrayList<>(); - for (IAlleleSpecies species : set) { - IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; - ITreeGenome genome = TreeManager.treeRoot.templateAsGenome(TreeManager.treeRoot.getTemplate(tSpecies.getUID())); - // for (ItemStack fruit2 : - // tSpecies.getRoot().getMember(fruit).getProduceList()){ - tSpecies.getGenerator().setLogBlock(genome, FakeWorld.instance, 0, 0, 0, ForgeDirection.UP); - ItemStack fruit2 = FakeWorld.instance.getWooLog(); - if (fruit2.isItemEqual(fruit)) { - found.add(species); - // } - } - } - return found; - } + public Collection getTreesThatHaveWood( + ItemStack fruit, boolean nei, World world, GameProfile player) { + Collection set = nei ? getAllSpecies() : getDiscoveredSpecies(world, player); + List found = new ArrayList<>(); + for (IAlleleSpecies species : set) { + IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; + ITreeGenome genome = + TreeManager.treeRoot.templateAsGenome(TreeManager.treeRoot.getTemplate(tSpecies.getUID())); + // for (ItemStack fruit2 : + // tSpecies.getRoot().getMember(fruit).getProduceList()){ + tSpecies.getGenerator().setLogBlock(genome, FakeWorld.instance, 0, 0, 0, ForgeDirection.UP); + ItemStack fruit2 = FakeWorld.instance.getWooLog(); + if (fruit2.isItemEqual(fruit)) { + found.add(species); + // } + } + } + return found; + } - public Collection getTreesThatMakePlanks(ItemStack fruit, boolean nei, World world, GameProfile player) { - if (fruit == null) { - return new ArrayList<>(); - } - Collection set = nei ? getAllSpecies() : getDiscoveredSpecies(world, player); - List found = new ArrayList<>(); - for (IAlleleSpecies species : set) { - IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; - ITreeGenome genome = TreeManager.treeRoot.templateAsGenome(TreeManager.treeRoot.getTemplate(tSpecies.getUID())); - tSpecies.getGenerator().setLogBlock(genome, FakeWorld.instance, 0, 0, 0, ForgeDirection.UP); - ItemStack fruit2 = FakeWorld.instance.getWooLog(); - // for (ItemStack fruit2 : - // tSpecies.getRoot().getMember(fruit).getProduceList()) { - if (Lumbermill.getPlankProduct(fruit2) != null && fruit.isItemEqual(Lumbermill.getPlankProduct(fruit2))) { - found.add(species); - } - // } - } - return found; - } + public Collection getTreesThatMakePlanks( + ItemStack fruit, boolean nei, World world, GameProfile player) { + if (fruit == null) { + return new ArrayList<>(); + } + Collection set = nei ? getAllSpecies() : getDiscoveredSpecies(world, player); + List found = new ArrayList<>(); + for (IAlleleSpecies species : set) { + IAlleleTreeSpecies tSpecies = (IAlleleTreeSpecies) species; + ITreeGenome genome = + TreeManager.treeRoot.templateAsGenome(TreeManager.treeRoot.getTemplate(tSpecies.getUID())); + tSpecies.getGenerator().setLogBlock(genome, FakeWorld.instance, 0, 0, 0, ForgeDirection.UP); + ItemStack fruit2 = FakeWorld.instance.getWooLog(); + // for (ItemStack fruit2 : + // tSpecies.getRoot().getMember(fruit).getProduceList()) { + if (Lumbermill.getPlankProduct(fruit2) != null && fruit.isItemEqual(Lumbermill.getPlankProduct(fruit2))) { + found.add(species); + } + // } + } + return found; + } - @Override - public boolean isDNAManipulable(ItemStack member) { - return ((ITreeRoot) getSpeciesRoot()).getType(member) == EnumGermlingType.POLLEN; - } + @Override + public boolean isDNAManipulable(ItemStack member) { + return ((ITreeRoot) getSpeciesRoot()).getType(member) == EnumGermlingType.POLLEN; + } - @Override - public IIndividual getConversion(ItemStack stack) { - if (stack == null) { - return null; - } - for (Map.Entry entry : AlleleManager.ersatzSaplings.entrySet()) { - if (ItemStack.areItemStacksEqual(stack, entry.getKey())) { - return entry.getValue(); - } - } - return null; - } + @Override + public IIndividual getConversion(ItemStack stack) { + if (stack == null) { + return null; + } + for (Map.Entry entry : AlleleManager.ersatzSaplings.entrySet()) { + if (ItemStack.areItemStacksEqual(stack, entry.getKey())) { + return entry.getValue(); + } + } + return null; + } - @Override - public int[] getActiveTypes() { - return new int[]{ - EnumGermlingType.SAPLING.ordinal(), - EnumGermlingType.POLLEN.ordinal() - }; - } + @Override + public int[] getActiveTypes() { + return new int[] {EnumGermlingType.SAPLING.ordinal(), EnumGermlingType.POLLEN.ordinal()}; + } - @Override - public void addExtraAlleles(IChromosomeType chromosome, TreeSet alleles) { - switch ((EnumTreeChromosome) chromosome) { - case FERTILITY: - for (EnumAllele.Saplings saplings : EnumAllele.Saplings.values()) { - alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(saplings))); - } - break; + @Override + public void addExtraAlleles(IChromosomeType chromosome, TreeSet alleles) { + switch ((EnumTreeChromosome) chromosome) { + case FERTILITY: + for (EnumAllele.Saplings saplings : EnumAllele.Saplings.values()) { + alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(saplings))); + } + break; - case GIRTH: - for (ForestryAllele.Int a2 : ForestryAllele.Int.values()) { - alleles.add(a2.getAllele()); - } - break; + case GIRTH: + for (ForestryAllele.Int a2 : ForestryAllele.Int.values()) { + alleles.add(a2.getAllele()); + } + break; - case HEIGHT: - for (EnumAllele.Height height : EnumAllele.Height.values()) { - alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(height))); - } - break; + case HEIGHT: + for (EnumAllele.Height height : EnumAllele.Height.values()) { + alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(height))); + } + break; - case MATURATION: - for (EnumAllele.Maturation maturation : EnumAllele.Maturation.values()) { - alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(maturation))); - } - break; + case MATURATION: + for (EnumAllele.Maturation maturation : EnumAllele.Maturation.values()) { + alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(maturation))); + } + break; - case SAPPINESS: - for (EnumAllele.Sappiness sappiness : EnumAllele.Sappiness.values()) { - alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(sappiness))); - } - break; + case SAPPINESS: + for (EnumAllele.Sappiness sappiness : EnumAllele.Sappiness.values()) { + alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(sappiness))); + } + break; - case TERRITORY: - for (EnumAllele.Territory territory : EnumAllele.Territory.values()) { - alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(territory))); - } - break; + case TERRITORY: + for (EnumAllele.Territory territory : EnumAllele.Territory.values()) { + alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(territory))); + } + break; - case YIELD: - for (EnumAllele.Yield yield : EnumAllele.Yield.values()) { - alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(yield))); - } - break; + case YIELD: + for (EnumAllele.Yield yield : EnumAllele.Yield.values()) { + alleles.add(AlleleManager.alleleRegistry.getAllele(AlleleHelper.getUid(yield))); + } + break; - case FIREPROOF: - for (ForestryAllele.Bool bool : ForestryAllele.Bool.values()) { - alleles.add(bool.getAllele()); - } - break; - } - } + case FIREPROOF: + for (ForestryAllele.Bool bool : ForestryAllele.Bool.values()) { + alleles.add(bool.getAllele()); + } + break; + } + } } diff --git a/src/main/java/binnie/core/genetics/VirtualBeeHousing.java b/src/main/java/binnie/core/genetics/VirtualBeeHousing.java index 6265ed65..4f5d8f5e 100644 --- a/src/main/java/binnie/core/genetics/VirtualBeeHousing.java +++ b/src/main/java/binnie/core/genetics/VirtualBeeHousing.java @@ -12,162 +12,156 @@ import forestry.api.core.IErrorLogic; import forestry.api.genetics.IIndividual; import forestry.apiculture.InventoryBeeHousing; import forestry.core.access.FakeAccessHandler; +import java.util.ArrayList; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.Vec3; import net.minecraft.world.biome.BiomeGenBase; -import java.util.ArrayList; - public class VirtualBeeHousing extends VirtualHousing implements IBeeHousing, IBeeModifier { - ArrayList beeModifier = new ArrayList<>(); - private InventoryBeeHousing beeInventory; + ArrayList beeModifier = new ArrayList<>(); + private InventoryBeeHousing beeInventory; - public VirtualBeeHousing(EntityPlayer player) { - super(player); - beeModifier.add(this); - beeInventory = new InventoryBeeHousing(12, FakeAccessHandler.getInstance()); - } + public VirtualBeeHousing(EntityPlayer player) { + super(player); + beeModifier.add(this); + beeInventory = new InventoryBeeHousing(12, FakeAccessHandler.getInstance()); + } - @Override - public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { - return 1.0f; - } + @Override + public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { + return 1.0f; + } - @Override - public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - return 1.0f; - } + @Override + public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return 1.0f; + } - @Override - public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - return 1.0f; - } + @Override + public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return 1.0f; + } - @Override - public float getProductionModifier(IBeeGenome genome, float currentModifier) { - return 1.0f; - } + @Override + public float getProductionModifier(IBeeGenome genome, float currentModifier) { + return 1.0f; + } - public ItemStack getQueen() { - return null; - } + public ItemStack getQueen() { + return null; + } - public ItemStack getDrone() { - return null; - } + public ItemStack getDrone() { + return null; + } - public void setQueen(ItemStack itemStack) { - // ignored - } + public void setQueen(ItemStack itemStack) { + // ignored + } - public void setDrone(ItemStack itemStack) { - } + public void setDrone(ItemStack itemStack) {} - public boolean canBreed() { - return true; - } + public boolean canBreed() { + return true; + } - @Override - public boolean addProduct(ItemStack product, boolean all) { - return false; - } + @Override + public boolean addProduct(ItemStack product, boolean all) { + return false; + } - public void wearOutEquipment(int amount) { - } + public void wearOutEquipment(int amount) {} - public void onQueenChange(ItemStack queen) { - } + public void onQueenChange(ItemStack queen) {} - @Override - public boolean isSealed() { - return false; - } + @Override + public boolean isSealed() { + return false; + } - @Override - public boolean isSelfLighted() { - return false; - } + @Override + public boolean isSelfLighted() { + return false; + } - @Override - public boolean isSunlightSimulated() { - return false; - } + @Override + public boolean isSunlightSimulated() { + return false; + } - @Override - public boolean isHellish() { - return getBiomeId() == BiomeGenBase.hell.biomeID; - } + @Override + public boolean isHellish() { + return getBiomeId() == BiomeGenBase.hell.biomeID; + } - @Override - public float getFloweringModifier(IBeeGenome genome, float currentModifier) { - return 1.0f; - } + @Override + public float getFloweringModifier(IBeeGenome genome, float currentModifier) { + return 1.0f; + } - public void onQueenDeath(IBee queen) { - } + public void onQueenDeath(IBee queen) {} - public void onPostQueenDeath(IBee queen) { - } + public void onPostQueenDeath(IBee queen) {} - public boolean onPollenRetrieved(IBee queen, IIndividual pollen, boolean isHandled) { - return false; - } + public boolean onPollenRetrieved(IBee queen, IIndividual pollen, boolean isHandled) { + return false; + } - public boolean onEggLaid(IBee queen) { - return false; - } + public boolean onEggLaid(IBee queen) { + return false; + } - @Override - public float getGeneticDecay(IBeeGenome genome, float currentModifier) { - return 1.0f; - } + @Override + public float getGeneticDecay(IBeeGenome genome, float currentModifier) { + return 1.0f; + } - @Override - public IErrorLogic getErrorLogic() { - return null; - } + @Override + public IErrorLogic getErrorLogic() { + return null; + } - // TODO ?? - @Override - public boolean canBlockSeeTheSky() { - return true; - } + // TODO ?? + @Override + public boolean canBlockSeeTheSky() { + return true; + } - // TODO ?? - @Override - public Vec3 getBeeFXCoordinates() { - return Vec3.createVectorHelper(0, -100000, 0); - } + // TODO ?? + @Override + public Vec3 getBeeFXCoordinates() { + return Vec3.createVectorHelper(0, -100000, 0); + } - @Override - public IBeeHousingInventory getBeeInventory() { - return beeInventory; - } + @Override + public IBeeHousingInventory getBeeInventory() { + return beeInventory; + } - // TODO ?? - @Override - public Iterable getBeeListeners() { - return null; - } + // TODO ?? + @Override + public Iterable getBeeListeners() { + return null; + } - @Override - public Iterable getBeeModifiers() { - return beeModifier; - } + @Override + public Iterable getBeeModifiers() { + return beeModifier; + } - @Override - public IBeekeepingLogic getBeekeepingLogic() { - return null; - } + @Override + public IBeekeepingLogic getBeekeepingLogic() { + return null; + } - @Override - public int getBlockLightValue() { - return 0; - } + @Override + public int getBlockLightValue() { + return 0; + } - @Override - public GameProfile getOwner() { - return getOwnerName(); - } + @Override + public GameProfile getOwner() { + return getOwnerName(); + } } diff --git a/src/main/java/binnie/core/genetics/VirtualHousing.java b/src/main/java/binnie/core/genetics/VirtualHousing.java index 33a4efa0..46c7e1ae 100644 --- a/src/main/java/binnie/core/genetics/VirtualHousing.java +++ b/src/main/java/binnie/core/genetics/VirtualHousing.java @@ -5,86 +5,84 @@ import forestry.api.core.EnumHumidity; import forestry.api.core.EnumTemperature; import forestry.api.core.IErrorState; import forestry.api.genetics.IHousing; +import java.util.Set; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; -import java.util.Set; - class VirtualHousing implements IHousing { - private EntityPlayer player; + private EntityPlayer player; - public VirtualHousing(EntityPlayer player) { - this.player = player; - } + public VirtualHousing(EntityPlayer player) { + this.player = player; + } - public int getX() { - return (int) player.posX; - } + public int getX() { + return (int) player.posX; + } - public int getY() { - return (int) player.posY; - } + public int getY() { + return (int) player.posY; + } - public int getZ() { - return (int) player.posZ; - } + public int getZ() { + return (int) player.posZ; + } - public int getBiomeId() { - return player.worldObj.getBiomeGenForCoords(getX(), getY()).biomeID; - } + public int getBiomeId() { + return player.worldObj.getBiomeGenForCoords(getX(), getY()).biomeID; + } - public EnumTemperature getTemperature() { - return EnumTemperature.getFromValue(getBiome().temperature); - } + public EnumTemperature getTemperature() { + return EnumTemperature.getFromValue(getBiome().temperature); + } - public EnumHumidity getHumidity() { - return EnumHumidity.getFromValue(getBiome().rainfall); - } + public EnumHumidity getHumidity() { + return EnumHumidity.getFromValue(getBiome().rainfall); + } - public World getWorld() { - return player.worldObj; - } + public World getWorld() { + return player.worldObj; + } - public void setErrorState(int state) { - // ignored - } + public void setErrorState(int state) { + // ignored + } - public int getErrorOrdinal() { - return 0; - } + public int getErrorOrdinal() { + return 0; + } - public boolean addProduct(ItemStack product, boolean all) { - return false; - } + public boolean addProduct(ItemStack product, boolean all) { + return false; + } - public GameProfile getOwnerName() { - return player.getGameProfile(); - } + public GameProfile getOwnerName() { + return player.getGameProfile(); + } - public BiomeGenBase getBiome() { - return player.worldObj.getBiomeGenForCoords(getX(), getZ()); - } + public BiomeGenBase getBiome() { + return player.worldObj.getBiomeGenForCoords(getX(), getZ()); + } - // public EnumErrorCode getErrorState() { - // return null; - // } + // public EnumErrorCode getErrorState() { + // return null; + // } - public void setErrorState(IErrorState state) { - } + public void setErrorState(IErrorState state) {} - public boolean setErrorCondition(boolean condition, IErrorState errorState) { - return false; - } + public boolean setErrorCondition(boolean condition, IErrorState errorState) { + return false; + } - public Set getErrorStates() { - return null; - } + public Set getErrorStates() { + return null; + } - @Override - public ChunkCoordinates getCoordinates() { - return new ChunkCoordinates(getX(), getY(), getZ()); - } + @Override + public ChunkCoordinates getCoordinates() { + return new ChunkCoordinates(getX(), getY(), getZ()); + } } diff --git a/src/main/java/binnie/core/gui/BinnieCoreGUI.java b/src/main/java/binnie/core/gui/BinnieCoreGUI.java index 1be75f00..93898bc3 100644 --- a/src/main/java/binnie/core/gui/BinnieCoreGUI.java +++ b/src/main/java/binnie/core/gui/BinnieCoreGUI.java @@ -11,38 +11,38 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public enum BinnieCoreGUI implements IBinnieGUID { - Compartment, - FieldKit, - Genesis; + Compartment, + FieldKit, + Genesis; - public Window getWindow(EntityPlayer player, IInventory object, Side side) throws Exception { - switch (this) { - case Compartment: - return new WindowCompartment(player, object, side); + public Window getWindow(EntityPlayer player, IInventory object, Side side) throws Exception { + switch (this) { + case Compartment: + return new WindowCompartment(player, object, side); - case FieldKit: - return new WindowFieldKit(player, null, side); + case FieldKit: + return new WindowFieldKit(player, null, side); - case Genesis: - return new WindowGenesis(player, null, side); - } - return null; - } + case Genesis: + return new WindowGenesis(player, null, side); + } + return null; + } - @Override - public Window getWindow(EntityPlayer player, World world, int x, int y, int z, Side side) { - TileEntity tileEntity = world.getTileEntity(x, y, z); - IInventory object = null; - if (tileEntity instanceof IInventory) { - object = (IInventory) tileEntity; - } + @Override + public Window getWindow(EntityPlayer player, World world, int x, int y, int z, Side side) { + TileEntity tileEntity = world.getTileEntity(x, y, z); + IInventory object = null; + if (tileEntity instanceof IInventory) { + object = (IInventory) tileEntity; + } - Window window = null; - try { - window = getWindow(player, object, side); - } catch (Exception ex) { - ex.printStackTrace(); - } - return window; - } + Window window = null; + try { + window = getWindow(player, object, side); + } catch (Exception ex) { + ex.printStackTrace(); + } + return window; + } } diff --git a/src/main/java/binnie/core/gui/BinnieGUIHandler.java b/src/main/java/binnie/core/gui/BinnieGUIHandler.java index 055110a6..e4931008 100644 --- a/src/main/java/binnie/core/gui/BinnieGUIHandler.java +++ b/src/main/java/binnie/core/gui/BinnieGUIHandler.java @@ -9,41 +9,41 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; public class BinnieGUIHandler implements IGuiHandler { - private AbstractMod mod; + private AbstractMod mod; - public BinnieGUIHandler(AbstractMod mod) { - this.mod = mod; - } + public BinnieGUIHandler(AbstractMod mod) { + this.mod = mod; + } - @Override - public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { - Window window = getWindow(id, player, world, x, y, z, Side.SERVER); - if (window == null) { - return null; - } - window.initialiseServer(); - return window.getContainer(); - } + @Override + public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { + Window window = getWindow(id, player, world, x, y, z, Side.SERVER); + if (window == null) { + return null; + } + window.initialiseServer(); + return window.getContainer(); + } - @Override - public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { - if (BinnieCore.proxy.isSimulating(world)) { - return getServerGuiElement(id, player, world, x, y, z); - } + @Override + public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { + if (BinnieCore.proxy.isSimulating(world)) { + return getServerGuiElement(id, player, world, x, y, z); + } - Window window = getWindow(id, player, world, x, y, z, Side.CLIENT); - if (window == null) { - return null; - } - return window.getGui(); - } + Window window = getWindow(id, player, world, x, y, z, Side.CLIENT); + if (window == null) { + return null; + } + return window.getGui(); + } - public Window getWindow(int id, EntityPlayer player, World world, int x, int y, int z, Side side) { - for (IBinnieGUID guid : mod.getGUIDs()) { - if (guid.ordinal() == id) { - return guid.getWindow(player, world, x, y, z, side); - } - } - return null; - } + public Window getWindow(int id, EntityPlayer player, World world, int x, int y, int z, Side side) { + for (IBinnieGUID guid : mod.getGUIDs()) { + if (guid.ordinal() == id) { + return guid.getWindow(player, world, x, y, z, side); + } + } + return null; + } } diff --git a/src/main/java/binnie/core/gui/IBinnieGUID.java b/src/main/java/binnie/core/gui/IBinnieGUID.java index 917bd3ba..a5ae9373 100644 --- a/src/main/java/binnie/core/gui/IBinnieGUID.java +++ b/src/main/java/binnie/core/gui/IBinnieGUID.java @@ -7,5 +7,5 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; public interface IBinnieGUID extends IOrdinaled { - Window getWindow(EntityPlayer player, World world, int x, int y, int z, Side side); + Window getWindow(EntityPlayer player, World world, int x, int y, int z, Side side); } diff --git a/src/main/java/binnie/core/item/IItemEnum.java b/src/main/java/binnie/core/item/IItemEnum.java index 9890899c..3bbfbfca 100644 --- a/src/main/java/binnie/core/item/IItemEnum.java +++ b/src/main/java/binnie/core/item/IItemEnum.java @@ -3,11 +3,11 @@ package binnie.core.item; import net.minecraft.item.ItemStack; public interface IItemEnum { - boolean isActive(); + boolean isActive(); - String getName(ItemStack itemStack); + String getName(ItemStack itemStack); - int ordinal(); + int ordinal(); - ItemStack get(int count); + ItemStack get(int count); } diff --git a/src/main/java/binnie/core/item/IItemMisc.java b/src/main/java/binnie/core/item/IItemMisc.java index 79639c63..4e1212fa 100644 --- a/src/main/java/binnie/core/item/IItemMisc.java +++ b/src/main/java/binnie/core/item/IItemMisc.java @@ -2,17 +2,16 @@ package binnie.core.item; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import java.util.List; - public interface IItemMisc extends IItemEnum { - IIcon getIcon(ItemStack itemStack); + IIcon getIcon(ItemStack itemStack); - @SideOnly(Side.CLIENT) - void registerIcons(IIconRegister register); + @SideOnly(Side.CLIENT) + void registerIcons(IIconRegister register); - void addInformation(List data); + void addInformation(List data); } diff --git a/src/main/java/binnie/core/item/ItemGenesis.java b/src/main/java/binnie/core/item/ItemGenesis.java index d64d38b6..d3d89242 100644 --- a/src/main/java/binnie/core/item/ItemGenesis.java +++ b/src/main/java/binnie/core/item/ItemGenesis.java @@ -13,26 +13,27 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ItemGenesis extends Item { - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - itemIcon = BinnieCore.proxy.getIcon(register, "genesis"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = BinnieCore.proxy.getIcon(register, "genesis"); + } - public ItemGenesis() { - setCreativeTab(Tabs.tabApiculture); - setUnlocalizedName("genesis"); - setMaxStackSize(1); - } + public ItemGenesis() { + setCreativeTab(Tabs.tabApiculture); + setUnlocalizedName("genesis"); + setMaxStackSize(1); + } - @Override - public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { - BinnieCore.proxy.openGui(BinnieCoreGUI.Genesis, player, (int) player.posX, (int) player.posY, (int) player.posZ); - return itemStack; - } + @Override + public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { + BinnieCore.proxy.openGui( + BinnieCoreGUI.Genesis, player, (int) player.posX, (int) player.posY, (int) player.posZ); + return itemStack; + } - @Override - public String getItemStackDisplayName(ItemStack itemStack) { - return I18N.localise("binniecore.item.genesis.name"); - } + @Override + public String getItemStackDisplayName(ItemStack itemStack) { + return I18N.localise("binniecore.item.genesis.name"); + } } diff --git a/src/main/java/binnie/core/item/ItemMisc.java b/src/main/java/binnie/core/item/ItemMisc.java index 0ae9c6ed..fa779a82 100644 --- a/src/main/java/binnie/core/item/ItemMisc.java +++ b/src/main/java/binnie/core/item/ItemMisc.java @@ -2,6 +2,7 @@ package binnie.core.item; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -9,72 +10,70 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import java.util.List; - public class ItemMisc extends Item { - private IItemMisc[] items; + private IItemMisc[] items; - protected ItemMisc(CreativeTabs tab, IItemMisc[] items2) { - setCreativeTab(tab); - setHasSubtypes(true); - setUnlocalizedName("misc"); - items = items2; - } + protected ItemMisc(CreativeTabs tab, IItemMisc[] items2) { + setCreativeTab(tab); + setHasSubtypes(true); + setUnlocalizedName("misc"); + items = items2; + } - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item par1, CreativeTabs tab, List list) { - for (IItemMisc item : items) { - if (item.isActive()) { - list.add(getStack(item, 1)); - } - } - } + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item par1, CreativeTabs tab, List list) { + for (IItemMisc item : items) { + if (item.isActive()) { + list.add(getStack(item, 1)); + } + } + } - private IItemMisc getItem(int damage) { - if (damage >= items.length) { - return items[0]; - } - return items[damage]; - } + private IItemMisc getItem(int damage) { + if (damage >= items.length) { + return items[0]; + } + return items[damage]; + } - public ItemStack getStack(IItemMisc type, int size) { - return new ItemStack(this, size, type.ordinal()); - } + public ItemStack getStack(IItemMisc type, int size) { + return new ItemStack(this, size, type.ordinal()); + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack itemStack, EntityPlayer player, List tooltip, boolean advanced) { - super.addInformation(itemStack, player, tooltip, advanced); - IItemMisc item = getItem(itemStack.getItemDamage()); - if (item != null) { - item.addInformation(tooltip); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack itemStack, EntityPlayer player, List tooltip, boolean advanced) { + super.addInformation(itemStack, player, tooltip, advanced); + IItemMisc item = getItem(itemStack.getItemDamage()); + if (item != null) { + item.addInformation(tooltip); + } + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - IItemMisc item = getItem(stack.getItemDamage()); - return (item != null) ? item.getName(stack) : "null"; - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + IItemMisc item = getItem(stack.getItemDamage()); + return (item != null) ? item.getName(stack) : "null"; + } - @Override - public IIcon getIcon(ItemStack stack, int pass) { - IItemMisc item = getItem(stack.getItemDamage()); - return (item != null) ? item.getIcon(stack) : null; - } + @Override + public IIcon getIcon(ItemStack stack, int pass) { + IItemMisc item = getItem(stack.getItemDamage()); + return (item != null) ? item.getIcon(stack) : null; + } - @Override - public IIcon getIconFromDamage(int damage) { - IItemMisc item = getItem(damage); - return (item != null) ? item.getIcon(null) : null; - } + @Override + public IIcon getIconFromDamage(int damage) { + IItemMisc item = getItem(damage); + return (item != null) ? item.getIcon(null) : null; + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - for (IItemMisc item : items) { - item.registerIcons(register); - } - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + for (IItemMisc item : items) { + item.registerIcons(register); + } + } } diff --git a/src/main/java/binnie/core/item/ManagerItem.java b/src/main/java/binnie/core/item/ManagerItem.java index 29a68bd5..e2e951c5 100644 --- a/src/main/java/binnie/core/item/ManagerItem.java +++ b/src/main/java/binnie/core/item/ManagerItem.java @@ -3,7 +3,7 @@ package binnie.core.item; import net.minecraft.creativetab.CreativeTabs; public class ManagerItem { - public ItemMisc registerMiscItems(IItemMisc[] items, CreativeTabs tab) { - return new ItemMisc(tab, items); - } + public ItemMisc registerMiscItems(IItemMisc[] items, CreativeTabs tab) { + return new ItemMisc(tab, items); + } } diff --git a/src/main/java/binnie/core/item/ModuleItems.java b/src/main/java/binnie/core/item/ModuleItems.java index af7008a2..0876a6db 100644 --- a/src/main/java/binnie/core/item/ModuleItems.java +++ b/src/main/java/binnie/core/item/ModuleItems.java @@ -19,61 +19,67 @@ import net.minecraft.tileentity.TileEntity; import net.minecraftforge.event.entity.player.PlayerInteractEvent; public class ModuleItems implements IInitializable { - @Override - public void preInit() { - BinnieCore.fieldKit = new ItemFieldKit(); - BinnieCore.genesis = new ItemGenesis(); - } + @Override + public void preInit() { + BinnieCore.fieldKit = new ItemFieldKit(); + BinnieCore.genesis = new ItemGenesis(); + } - @Override - public void init() { - // ignored - } + @Override + public void init() { + // ignored + } - @Override - public void postInit() { - GameRegistry.addRecipe( - new ItemStack(BinnieCore.fieldKit, 1, 63), - "g ", " is", " pi", - 'g', Blocks.glass_pane, - 'i', Items.iron_ingot, - 'p', Items.paper, - 's', new ItemStack(Items.dye, 1) - ); - } + @Override + public void postInit() { + GameRegistry.addRecipe( + new ItemStack(BinnieCore.fieldKit, 1, 63), + "g ", + " is", + " pi", + 'g', + Blocks.glass_pane, + 'i', + Items.iron_ingot, + 'p', + Items.paper, + 's', + new ItemStack(Items.dye, 1)); + } - @SubscribeEvent - public void onUseFieldKit(PlayerInteractEvent event) { - if (!BinnieCore.isBotanyActive() || event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) { - return; - } + @SubscribeEvent + public void onUseFieldKit(PlayerInteractEvent event) { + if (!BinnieCore.isBotanyActive() || event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) { + return; + } - EntityPlayer player = event.entityPlayer; - if (player != null - && player.getHeldItem() != null - && player.getHeldItem().getItem() == BinnieCore.fieldKit - && player.isSneaking()) { - TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); - if (!(tile instanceof TileEntityFlower)) { - return; - } + EntityPlayer player = event.entityPlayer; + if (player != null + && player.getHeldItem() != null + && player.getHeldItem().getItem() == BinnieCore.fieldKit + && player.isSneaking()) { + TileEntity tile = event.world.getTileEntity(event.x, event.y, event.z); + if (!(tile instanceof TileEntityFlower)) { + return; + } - TileEntityFlower tileFlower = (TileEntityFlower) tile; - IFlower flower = tileFlower.getFlower(); - if (flower == null) { - return; - } + TileEntityFlower tileFlower = (TileEntityFlower) tile; + IFlower flower = tileFlower.getFlower(); + if (flower == null) { + return; + } - NBTTagCompound info = new NBTTagCompound(); - info.setString("Species", flower.getGenome().getPrimary().getUID()); - info.setString("Species2", flower.getGenome().getSecondary().getUID()); - info.setFloat("Age", flower.getAge() / flower.getGenome().getLifespan()); - info.setShort("Colour", (short) flower.getGenome().getPrimaryColor().getID()); - info.setShort("Colour2", (short) flower.getGenome().getSecondaryColor().getID()); - info.setBoolean("Wilting", flower.isWilted()); - info.setBoolean("Flowered", flower.hasFlowered()); - Botany.proxy.sendToPlayer(new MessageNBT(PacketID.FieldKit.ordinal(), info), event.entityPlayer); - event.entityPlayer.getHeldItem().damageItem(1, event.entityPlayer); - } - } + NBTTagCompound info = new NBTTagCompound(); + info.setString("Species", flower.getGenome().getPrimary().getUID()); + info.setString("Species2", flower.getGenome().getSecondary().getUID()); + info.setFloat("Age", flower.getAge() / flower.getGenome().getLifespan()); + info.setShort("Colour", (short) flower.getGenome().getPrimaryColor().getID()); + info.setShort( + "Colour2", (short) flower.getGenome().getSecondaryColor().getID()); + info.setBoolean("Wilting", flower.isWilted()); + info.setBoolean("Flowered", flower.hasFlowered()); + Botany.proxy.sendToPlayer(new MessageNBT(PacketID.FieldKit.ordinal(), info), event.entityPlayer); + event.entityPlayer.getHeldItem().damageItem(1, event.entityPlayer); + } + } } diff --git a/src/main/java/binnie/core/liquid/BinnieFluid.java b/src/main/java/binnie/core/liquid/BinnieFluid.java index 6172c444..dd3725d1 100644 --- a/src/main/java/binnie/core/liquid/BinnieFluid.java +++ b/src/main/java/binnie/core/liquid/BinnieFluid.java @@ -4,27 +4,27 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; class BinnieFluid extends Fluid { - protected IFluidType fluidType; + protected IFluidType fluidType; - private String name; + private String name; - @Override - public String getLocalizedName(FluidStack stack) { - return name; - } + @Override + public String getLocalizedName(FluidStack stack) { + return name; + } - public BinnieFluid(IFluidType fluid) { - super(fluid.getIdentifier()); - fluidType = fluid; - name = fluid.getName(); - } + public BinnieFluid(IFluidType fluid) { + super(fluid.getIdentifier()); + fluidType = fluid; + name = fluid.getName(); + } - @Override - public int getColor() { - return fluidType.getColor(); - } + @Override + public int getColor() { + return fluidType.getColor(); + } - public IFluidType getType() { - return fluidType; - } + public IFluidType getType() { + return fluidType; + } } diff --git a/src/main/java/binnie/core/liquid/FluidContainer.java b/src/main/java/binnie/core/liquid/FluidContainer.java index db473270..369a4ef7 100644 --- a/src/main/java/binnie/core/liquid/FluidContainer.java +++ b/src/main/java/binnie/core/liquid/FluidContainer.java @@ -13,90 +13,91 @@ import net.minecraft.util.IIcon; import net.minecraftforge.fluids.FluidContainerRegistry; public enum FluidContainer { - Bucket, - Capsule, - Refractory, - Can, - Glass, - Cylinder; + Bucket, + Capsule, + Refractory, + Can, + Glass, + Cylinder; - protected IIcon bottle; - protected IIcon contents; - protected ItemFluidContainer item; + protected IIcon bottle; + protected IIcon contents; + protected ItemFluidContainer item; - public int getMaxStackSize() { - return (this == FluidContainer.Bucket) ? 1 : 16; - } + public int getMaxStackSize() { + return (this == FluidContainer.Bucket) ? 1 : 16; + } - @SideOnly(Side.CLIENT) - public void updateIcons(IIconRegister register) { - String liquidName = "liquids/" + toString().toLowerCase(); - String modName; - if (this == FluidContainer.Cylinder) { - modName = "binniecore"; - } else { - modName = "forestry"; - } + @SideOnly(Side.CLIENT) + public void updateIcons(IIconRegister register) { + String liquidName = "liquids/" + toString().toLowerCase(); + String modName; + if (this == FluidContainer.Cylinder) { + modName = "binniecore"; + } else { + modName = "forestry"; + } - bottle = BinnieCore.proxy.getIcon(register, modName, liquidName + ".bottle"); - contents = BinnieCore.proxy.getIcon(register, modName, liquidName + ".contents"); - } + bottle = BinnieCore.proxy.getIcon(register, modName, liquidName + ".bottle"); + contents = BinnieCore.proxy.getIcon(register, modName, liquidName + ".contents"); + } - public IIcon getBottleIcon() { - return bottle; - } + public IIcon getBottleIcon() { + return bottle; + } - public IIcon getContentsIcon() { - return contents; - } + public IIcon getContentsIcon() { + return contents; + } - public String getName() { - return I18N.localise("binniecore.item.container." + name().toLowerCase()); - } + public String getName() { + return I18N.localise("binniecore.item.container." + name().toLowerCase()); + } - public String getName(String fluid) { - return I18N.localise("binniecore.item.container." + name().toLowerCase() + "." + fluid); - } + public String getName(String fluid) { + return I18N.localise("binniecore.item.container." + name().toLowerCase() + "." + fluid); + } - public boolean isActive() { - return getEmpty() != null; - } + public boolean isActive() { + return getEmpty() != null; + } - public ItemStack getEmpty() { - switch (this) { - case Bucket: - return new ItemStack(Items.bucket, 1, 0); + public ItemStack getEmpty() { + switch (this) { + case Bucket: + return new ItemStack(Items.bucket, 1, 0); - case Can: - return Mods.forestry.stack("canEmpty"); + case Can: + return Mods.forestry.stack("canEmpty"); - case Capsule: - return Mods.forestry.stack("waxCapsule"); + case Capsule: + return Mods.forestry.stack("waxCapsule"); - case Glass: - return new ItemStack(Items.glass_bottle, 1, 0); + case Glass: + return new ItemStack(Items.glass_bottle, 1, 0); - case Refractory: - return Mods.forestry.stack("refractoryEmpty"); + case Refractory: + return Mods.forestry.stack("refractoryEmpty"); - case Cylinder: - return GeneticsItems.Cylinder.get(1); - } - return null; - } + case Cylinder: + return GeneticsItems.Cylinder.get(1); + } + return null; + } - public void registerContainerData(IFluidType fluid) { - if (!isActive()) { - return; - } + public void registerContainerData(IFluidType fluid) { + if (!isActive()) { + return; + } - ItemStack filled = item.getContainer(fluid); - ItemStack empty = getEmpty(); - if (filled == null || empty == null || fluid.get(1000) == null) { - return; - } + ItemStack filled = item.getContainer(fluid); + ItemStack empty = getEmpty(); + if (filled == null || empty == null || fluid.get(1000) == null) { + return; + } - FluidContainerRegistry.FluidContainerData data = new FluidContainerRegistry.FluidContainerData(fluid.get(1000), filled, empty); - FluidContainerRegistry.registerFluidContainer(data); - } + FluidContainerRegistry.FluidContainerData data = + new FluidContainerRegistry.FluidContainerData(fluid.get(1000), filled, empty); + FluidContainerRegistry.registerFluidContainer(data); + } } diff --git a/src/main/java/binnie/core/liquid/IFluidType.java b/src/main/java/binnie/core/liquid/IFluidType.java index 8e29fba1..32c0fc54 100644 --- a/src/main/java/binnie/core/liquid/IFluidType.java +++ b/src/main/java/binnie/core/liquid/IFluidType.java @@ -5,23 +5,23 @@ import net.minecraft.util.IIcon; import net.minecraftforge.fluids.FluidStack; public interface IFluidType { - IIcon getIcon(); + IIcon getIcon(); - void registerIcon(IIconRegister register); + void registerIcon(IIconRegister register); - String getName(); + String getName(); - String getIdentifier(); + String getIdentifier(); - FluidStack get(int amount); + FluidStack get(int amount); - int getColor(); + int getColor(); - int getContainerColor(); + int getContainerColor(); - int getTransparency(); + int getTransparency(); - boolean canPlaceIn(FluidContainer container); + boolean canPlaceIn(FluidContainer container); - boolean showInCreative(FluidContainer container); + boolean showInCreative(FluidContainer container); } diff --git a/src/main/java/binnie/core/liquid/ILiquidType.java b/src/main/java/binnie/core/liquid/ILiquidType.java index b3508645..c6212c4b 100644 --- a/src/main/java/binnie/core/liquid/ILiquidType.java +++ b/src/main/java/binnie/core/liquid/ILiquidType.java @@ -1,6 +1,5 @@ package binnie.core.liquid; -public interface ILiquidType extends IFluidType -{ - int ordinal(); +public interface ILiquidType extends IFluidType { + int ordinal(); } diff --git a/src/main/java/binnie/core/liquid/ItemFluidContainer.java b/src/main/java/binnie/core/liquid/ItemFluidContainer.java index d9f22b57..ce48fbe8 100644 --- a/src/main/java/binnie/core/liquid/ItemFluidContainer.java +++ b/src/main/java/binnie/core/liquid/ItemFluidContainer.java @@ -4,6 +4,9 @@ import binnie.Binnie; import binnie.core.util.I18N; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -14,123 +17,119 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - public class ItemFluidContainer extends ItemFood { - private FluidContainer container; - public static int LiquidExtraBee = 64; - public static int LiquidExtraTree = 128; - public static int LiquidJuice = 256; - public static int LiquidAlcohol = 384; - public static int LiquidSpirit = 512; - public static int LiquidLiqueuer = 640; - public static int LiquidGenetics = 768; + private FluidContainer container; + public static int LiquidExtraBee = 64; + public static int LiquidExtraTree = 128; + public static int LiquidJuice = 256; + public static int LiquidAlcohol = 384; + public static int LiquidSpirit = 512; + public static int LiquidLiqueuer = 640; + public static int LiquidGenetics = 768; - private static Map idToFluid = new HashMap<>(); - private static Map fluidToID = new HashMap<>(); + private static Map idToFluid = new HashMap<>(); + private static Map fluidToID = new HashMap<>(); - public static void registerFluid(IFluidType fluid, int id) { - ItemFluidContainer.idToFluid.put(id, fluid.getIdentifier().toLowerCase()); - ItemFluidContainer.fluidToID.put(fluid.getIdentifier().toLowerCase(), id); - } + public static void registerFluid(IFluidType fluid, int id) { + ItemFluidContainer.idToFluid.put(id, fluid.getIdentifier().toLowerCase()); + ItemFluidContainer.fluidToID.put(fluid.getIdentifier().toLowerCase(), id); + } - public ItemFluidContainer(FluidContainer container) { - super(0, false); - this.container = container; - container.item = this; - maxStackSize = container.getMaxStackSize(); - setHasSubtypes(true); - setUnlocalizedName("container" + container.name()); - setCreativeTab(CreativeTabs.tabMaterials); - } + public ItemFluidContainer(FluidContainer container) { + super(0, false); + this.container = container; + container.item = this; + maxStackSize = container.getMaxStackSize(); + setHasSubtypes(true); + setUnlocalizedName("container" + container.name()); + setCreativeTab(CreativeTabs.tabMaterials); + } - private FluidStack getLiquid(ItemStack stack) { - String liquid = ItemFluidContainer.idToFluid.get(stack.getItemDamage()); - return (liquid == null) ? null : Binnie.Liquid.getLiquidStack(liquid, 1000); - } + private FluidStack getLiquid(ItemStack stack) { + String liquid = ItemFluidContainer.idToFluid.get(stack.getItemDamage()); + return (liquid == null) ? null : Binnie.Liquid.getLiquidStack(liquid, 1000); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - container.updateIcons(register); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + container.updateIcons(register); + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - if (stack == null) { - return "???"; - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + if (stack == null) { + return "???"; + } - FluidStack fluid = getLiquid(stack); - if (fluid == null) { - return I18N.localise("binniecore.item.fluidContainer.missed"); - } - return container.getName(fluid.getFluid().getName()); - } + FluidStack fluid = getLiquid(stack); + if (fluid == null) { + return I18N.localise("binniecore.item.fluidContainer.missed"); + } + return container.getName(fluid.getFluid().getName()); + } - @Override - public void getSubItems(Item item, CreativeTabs tab, List itemList) { - for (IFluidType liquid : Binnie.Liquid.fluids.values()) { - if (!liquid.canPlaceIn(container) || !liquid.showInCreative(container)) { - continue; - } - itemList.add(getContainer(liquid)); - } - } + @Override + public void getSubItems(Item item, CreativeTabs tab, List itemList) { + for (IFluidType liquid : Binnie.Liquid.fluids.values()) { + if (!liquid.canPlaceIn(container) || !liquid.showInCreative(container)) { + continue; + } + itemList.add(getContainer(liquid)); + } + } - public ItemStack getContainer(IFluidType liquid) { - int id = ItemFluidContainer.fluidToID.get(liquid.getIdentifier().toLowerCase()); - return new ItemStack(this, 1, id); - } + public ItemStack getContainer(IFluidType liquid) { + int id = ItemFluidContainer.fluidToID.get(liquid.getIdentifier().toLowerCase()); + return new ItemStack(this, 1, id); + } - @Override - public IIcon getIcon(ItemStack itemStack, int j) { - if (j > 0) { - return container.getBottleIcon(); - } - return container.getContentsIcon(); - } + @Override + public IIcon getIcon(ItemStack itemStack, int j) { + if (j > 0) { + return container.getBottleIcon(); + } + return container.getContentsIcon(); + } - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack item, int pass) { - FluidStack fluid = getLiquid(item); - if (fluid == null) { - return 0xffffff; - } - if (pass == 0 && fluid.getFluid() instanceof BinnieFluid) { - return ((BinnieFluid) fluid.getFluid()).fluidType.getContainerColor(); - } - return super.getColorFromItemStack(item, pass); - } + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack item, int pass) { + FluidStack fluid = getLiquid(item); + if (fluid == null) { + return 0xffffff; + } + if (pass == 0 && fluid.getFluid() instanceof BinnieFluid) { + return ((BinnieFluid) fluid.getFluid()).fluidType.getContainerColor(); + } + return super.getColorFromItemStack(item, pass); + } - @Override - public boolean requiresMultipleRenderPasses() { - return true; - } + @Override + public boolean requiresMultipleRenderPasses() { + return true; + } - @Override - public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) { - player.getFoodStats().func_151686_a(this, stack); - world.playSoundAtEntity(player, "random.burp", 0.5f, world.rand.nextFloat() * 0.1f + 0.9f); - onFoodEaten(stack, world, player); - return container.getEmpty(); - } + @Override + public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) { + player.getFoodStats().func_151686_a(this, stack); + world.playSoundAtEntity(player, "random.burp", 0.5f, world.rand.nextFloat() * 0.1f + 0.9f); + onFoodEaten(stack, world, player); + return container.getEmpty(); + } - @Override - public int getMaxItemUseDuration(ItemStack stack) { - return 32; - } + @Override + public int getMaxItemUseDuration(ItemStack stack) { + return 32; + } - @Override - public int func_150905_g(ItemStack stack) { - return 0; - } + @Override + public int func_150905_g(ItemStack stack) { + return 0; + } - @Override - public float func_150906_h(ItemStack stack) { - return 0.0f; - } + @Override + public float func_150906_h(ItemStack stack) { + return 0.0f; + } } diff --git a/src/main/java/binnie/core/liquid/ManagerLiquid.java b/src/main/java/binnie/core/liquid/ManagerLiquid.java index c7aa39e0..84c7a516 100644 --- a/src/main/java/binnie/core/liquid/ManagerLiquid.java +++ b/src/main/java/binnie/core/liquid/ManagerLiquid.java @@ -3,67 +3,66 @@ package binnie.core.liquid; import binnie.core.ManagerBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.LinkedHashMap; +import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import java.util.LinkedHashMap; -import java.util.Map; - public class ManagerLiquid extends ManagerBase { - public Map fluids; + public Map fluids; - public ManagerLiquid() { - fluids = new LinkedHashMap<>(); - } + public ManagerLiquid() { + fluids = new LinkedHashMap<>(); + } - public void createLiquids(IFluidType[] liquids, int startID) { - for (IFluidType liquid : liquids) { - BinnieFluid fluid = createLiquid(liquid, startID++); - if (fluid == null) { - throw new RuntimeException("Liquid registered incorrectly - " + liquid.getIdentifier()); - } - } - } + public void createLiquids(IFluidType[] liquids, int startID) { + for (IFluidType liquid : liquids) { + BinnieFluid fluid = createLiquid(liquid, startID++); + if (fluid == null) { + throw new RuntimeException("Liquid registered incorrectly - " + liquid.getIdentifier()); + } + } + } - public BinnieFluid createLiquid(IFluidType fluid, int id) { - fluids.put(fluid.getIdentifier().toLowerCase(), fluid); - BinnieFluid binnieFluid = new BinnieFluid(fluid); - FluidRegistry.registerFluid(binnieFluid); - ItemFluidContainer.registerFluid(fluid, id); - return binnieFluid; - } + public BinnieFluid createLiquid(IFluidType fluid, int id) { + fluids.put(fluid.getIdentifier().toLowerCase(), fluid); + BinnieFluid binnieFluid = new BinnieFluid(fluid); + FluidRegistry.registerFluid(binnieFluid); + ItemFluidContainer.registerFluid(fluid, id); + return binnieFluid; + } - public FluidStack getLiquidStack(String name, int amount) { - return FluidRegistry.getFluidStack(name.toLowerCase(), amount); - } + public FluidStack getLiquidStack(String name, int amount) { + return FluidRegistry.getFluidStack(name.toLowerCase(), amount); + } - @SideOnly(Side.CLIENT) - public void reloadIcons(IIconRegister register) { - for (IFluidType type : fluids.values()) { - Fluid fluid = getLiquidStack(type.getIdentifier(), 1).getFluid(); - type.registerIcon(register); - if (fluid == null) { - throw new RuntimeException("[Binnie] Liquid not registered properly - " + type.getIdentifier()); - } - fluid.setIcons(type.getIcon()); - } - } + @SideOnly(Side.CLIENT) + public void reloadIcons(IIconRegister register) { + for (IFluidType type : fluids.values()) { + Fluid fluid = getLiquidStack(type.getIdentifier(), 1).getFluid(); + type.registerIcon(register); + if (fluid == null) { + throw new RuntimeException("[Binnie] Liquid not registered properly - " + type.getIdentifier()); + } + fluid.setIcons(type.getIcon()); + } + } - @Override - public void init() { - // ignored - } + @Override + public void init() { + // ignored + } - @Override - public void postInit() { - for (IFluidType fluid : fluids.values()) { - for (FluidContainer container : FluidContainer.values()) { - if (container.isActive() && fluid.canPlaceIn(container)) { - container.registerContainerData(fluid); - } - } - } - } + @Override + public void postInit() { + for (IFluidType fluid : fluids.values()) { + for (FluidContainer container : FluidContainer.values()) { + if (container.isActive() && fluid.canPlaceIn(container)) { + container.registerContainerData(fluid); + } + } + } + } } diff --git a/src/main/java/binnie/core/machines/BlockMachine.java b/src/main/java/binnie/core/machines/BlockMachine.java index 4ae5f26f..89192105 100644 --- a/src/main/java/binnie/core/machines/BlockMachine.java +++ b/src/main/java/binnie/core/machines/BlockMachine.java @@ -5,6 +5,9 @@ import binnie.core.BinnieCore; import binnie.core.machines.component.IRender; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -20,158 +23,169 @@ 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; - class BlockMachine extends BlockContainer implements IBlockMachine { - private MachineGroup group; + private MachineGroup group; - public BlockMachine(MachineGroup group, String blockName) { - super(Material.iron); - this.group = group; - setHardness(1.5f); - setBlockName(blockName); - } + public BlockMachine(MachineGroup group, String blockName) { + super(Material.iron); + this.group = group; + setHardness(1.5f); + setBlockName(blockName); + } - @Override - public void getSubBlocks(Item item, CreativeTabs tab, List itemList) { - for (MachinePackage pack : group.getPackages()) { - if (pack.isActive()) { - itemList.add(new ItemStack(this, 1, pack.getMetadata())); - } - } - } + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List itemList) { + for (MachinePackage pack : group.getPackages()) { + if (pack.isActive()) { + itemList.add(new ItemStack(this, 1, pack.getMetadata())); + } + } + } - @Override - public boolean isOpaqueCube() { - return false; - } + @Override + public boolean isOpaqueCube() { + return false; + } - @Override - public boolean renderAsNormalBlock() { - return !group.customRenderer; - } + @Override + public boolean renderAsNormalBlock() { + return !group.customRenderer; + } - @Override - public int getRenderType() { - return Binnie.Machine.getMachineRenderID(); - } + @Override + public int getRenderType() { + return Binnie.Machine.getMachineRenderID(); + } - @Override - public TileEntity createTileEntity(World world, int meta) { - MachinePackage pkg = group.getPackage(meta); - if (pkg == null) { - return null; - } - return pkg.createTileEntity(); - } + @Override + public TileEntity createTileEntity(World world, int meta) { + MachinePackage pkg = group.getPackage(meta); + if (pkg == null) { + return null; + } + return pkg.createTileEntity(); + } - @Override - public MachinePackage getPackage(int meta) { - return group.getPackage(meta); - } + @Override + public MachinePackage getPackage(int meta) { + return group.getPackage(meta); + } - @Override - public String getMachineName(int meta) { - MachinePackage pkg = getPackage(meta); - return (pkg == null) ? "Unnamed Machine" : pkg.getDisplayName(); - } + @Override + public String getMachineName(int meta) { + MachinePackage pkg = getPackage(meta); + return (pkg == null) ? "Unnamed Machine" : pkg.getDisplayName(); + } - @Override - public int damageDropped(int meta) { - return meta; - } + @Override + public int damageDropped(int meta) { + return meta; + } - @Override - public TileEntity createNewTileEntity(World world, int meta) { - return createTileEntity(world, meta); - } + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return createTileEntity(world, meta); + } - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float xOffset, float yOffset, float zOffset) { - if (!BinnieCore.proxy.isSimulating(world) || player.isSneaking()) { - return true; - } + @Override + public boolean onBlockActivated( + World world, + int x, + int y, + int z, + EntityPlayer player, + int side, + float xOffset, + float yOffset, + float zOffset) { + if (!BinnieCore.proxy.isSimulating(world) || player.isSneaking()) { + return true; + } - TileEntity entity = world.getTileEntity(x, y, z); - if (entity instanceof TileEntityMachine) { - ((TileEntityMachine) entity).getMachine().onRightClick(world, player, x, y, z); - } - return true; - } + TileEntity entity = world.getTileEntity(x, y, z); + if (entity instanceof TileEntityMachine) { + ((TileEntityMachine) entity).getMachine().onRightClick(world, player, x, y, z); + } + return true; + } - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack stack) { - super.onBlockPlacedBy(world, x, y, z, entity, stack); - if (!BinnieCore.proxy.isSimulating(world)) { - return; - } + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack stack) { + super.onBlockPlacedBy(world, x, y, z, entity, stack); + if (!BinnieCore.proxy.isSimulating(world)) { + return; + } - IMachine machine = Machine.getMachine(world.getTileEntity(x, y, z)); - if (machine == null) { - return; - } + IMachine machine = Machine.getMachine(world.getTileEntity(x, y, z)); + if (machine == null) { + return; + } - if (entity instanceof EntityPlayer) { - machine.setOwner(((EntityPlayer) entity).getGameProfile()); - } - } + if (entity instanceof EntityPlayer) { + machine.setOwner(((EntityPlayer) entity).getGameProfile()); + } + } - @Override - public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { - TileEntity entity = world.getTileEntity(x, y, z); - if (entity instanceof TileEntityMachine && ((TileEntityMachine) entity).getMachine().hasInterface(IMachineTexturedFaces.class)) { - return ((TileEntityMachine) entity).getMachine().getInterface(IMachineTexturedFaces.class).getIcon(side); - } - return Blocks.dirt.getIcon(0, 0); - } + @Override + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + TileEntity entity = world.getTileEntity(x, y, z); + if (entity instanceof TileEntityMachine + && ((TileEntityMachine) entity).getMachine().hasInterface(IMachineTexturedFaces.class)) { + return ((TileEntityMachine) entity) + .getMachine() + .getInterface(IMachineTexturedFaces.class) + .getIcon(side); + } + return Blocks.dirt.getIcon(0, 0); + } - @Override - public void breakBlock(World world, int x, int y, int z, Block block, int meta) { - TileEntity tileentity = world.getTileEntity(x, y, z); - if (!(tileentity instanceof TileEntityMachine)) { - return; - } + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + TileEntity tileentity = world.getTileEntity(x, y, z); + if (!(tileentity instanceof TileEntityMachine)) { + return; + } - TileEntityMachine entity = (TileEntityMachine) tileentity; - entity.onBlockDestroy(); - super.breakBlock(world, x, y, z, block, meta); - } + TileEntityMachine entity = (TileEntityMachine) tileentity; + entity.onBlockDestroy(); + super.breakBlock(world, x, y, z, block, meta); + } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - // ignored - } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + // ignored + } - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World world, int x, int y, int z, Random rand) { - IMachine machine = Machine.getMachine(world.getTileEntity(x, y, z)); - if (machine != null) { - for (IRender.RandomDisplayTick renders : machine.getInterfaces(IRender.RandomDisplayTick.class)) { - renders.onRandomDisplayTick(world, x, y, z, rand); - } - } - } + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World world, int x, int y, int z, Random rand) { + IMachine machine = Machine.getMachine(world.getTileEntity(x, y, z)); + if (machine != null) { + for (IRender.RandomDisplayTick renders : machine.getInterfaces(IRender.RandomDisplayTick.class)) { + renders.onRandomDisplayTick(world, x, y, z, rand); + } + } + } - @Override - public ArrayList getDrops(World world, int x, int y, int z, int meta, int fortune) { - return new ArrayList<>(); - } + @Override + public ArrayList getDrops(World world, int x, int y, int z, int meta, int fortune) { + return new ArrayList<>(); + } - @Override - public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { - if (BinnieCore.proxy.isSimulating(world) && canHarvestBlock(player, world.getBlockMetadata(x, y, z)) && !player.capabilities.isCreativeMode) { - int metadata = world.getBlockMetadata(x, y, z); - ItemStack stack = new ItemStack(Item.getItemFromBlock(this), 1, damageDropped(metadata)); - dropBlockAsItem(world, x, y, z, stack); - } - return world.setBlockToAir(x, y, z); - } + @Override + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { + if (BinnieCore.proxy.isSimulating(world) + && canHarvestBlock(player, world.getBlockMetadata(x, y, z)) + && !player.capabilities.isCreativeMode) { + int metadata = world.getBlockMetadata(x, y, z); + ItemStack stack = new ItemStack(Item.getItemFromBlock(this), 1, damageDropped(metadata)); + dropBlockAsItem(world, x, y, z, stack); + } + return world.setBlockToAir(x, y, z); + } - public interface IMachineTexturedFaces { - IIcon getIcon(int p0); - } + public interface IMachineTexturedFaces { + IIcon getIcon(int p0); + } } diff --git a/src/main/java/binnie/core/machines/IBlockMachine.java b/src/main/java/binnie/core/machines/IBlockMachine.java index e11b4833..5b68648a 100644 --- a/src/main/java/binnie/core/machines/IBlockMachine.java +++ b/src/main/java/binnie/core/machines/IBlockMachine.java @@ -1,7 +1,7 @@ package binnie.core.machines; interface IBlockMachine { - MachinePackage getPackage(int meta); + MachinePackage getPackage(int meta); - String getMachineName(int meta); + String getMachineName(int meta); } diff --git a/src/main/java/binnie/core/machines/IMachine.java b/src/main/java/binnie/core/machines/IMachine.java index 58bc5fa1..465023ca 100644 --- a/src/main/java/binnie/core/machines/IMachine.java +++ b/src/main/java/binnie/core/machines/IMachine.java @@ -1,24 +1,23 @@ package binnie.core.machines; +import java.util.Collection; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import java.util.Collection; - public interface IMachine extends IOwnable { - void addComponent(MachineComponent component); + void addComponent(MachineComponent component); - MachineUtil getMachineUtil(); + MachineUtil getMachineUtil(); - T getInterface(Class cls); + T getInterface(Class cls); - void markDirty(); + void markDirty(); - World getWorld(); + World getWorld(); - TileEntity getTileEntity(); + TileEntity getTileEntity(); - Collection getInterfaces(Class cls); + Collection getInterfaces(Class cls); - MachinePackage getPackage(); + MachinePackage getPackage(); } diff --git a/src/main/java/binnie/core/machines/IMachineType.java b/src/main/java/binnie/core/machines/IMachineType.java index 3d89fa8f..adca35f1 100644 --- a/src/main/java/binnie/core/machines/IMachineType.java +++ b/src/main/java/binnie/core/machines/IMachineType.java @@ -3,7 +3,7 @@ package binnie.core.machines; import binnie.core.network.IOrdinaled; public interface IMachineType extends IOrdinaled { - Class getPackageClass(); + Class getPackageClass(); - boolean isActive(); + boolean isActive(); } diff --git a/src/main/java/binnie/core/machines/IOwnable.java b/src/main/java/binnie/core/machines/IOwnable.java index cd1bb643..4ae01f59 100644 --- a/src/main/java/binnie/core/machines/IOwnable.java +++ b/src/main/java/binnie/core/machines/IOwnable.java @@ -3,7 +3,7 @@ package binnie.core.machines; import com.mojang.authlib.GameProfile; interface IOwnable { - GameProfile getOwner(); + GameProfile getOwner(); - void setOwner(GameProfile owner); + void setOwner(GameProfile owner); } diff --git a/src/main/java/binnie/core/machines/ItemMachine.java b/src/main/java/binnie/core/machines/ItemMachine.java index 96262e72..673fce09 100644 --- a/src/main/java/binnie/core/machines/ItemMachine.java +++ b/src/main/java/binnie/core/machines/ItemMachine.java @@ -5,22 +5,22 @@ import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; public class ItemMachine extends ItemBlock { - private IBlockMachine associatedBlock; + private IBlockMachine associatedBlock; - public ItemMachine(Block block) { - super(block); - setMaxDamage(0); - setHasSubtypes(true); - associatedBlock = (IBlockMachine) block; - } + public ItemMachine(Block block) { + super(block); + setMaxDamage(0); + setHasSubtypes(true); + associatedBlock = (IBlockMachine) block; + } - @Override - public int getMetadata(int i) { - return i; - } + @Override + public int getMetadata(int i) { + return i; + } - @Override - public String getItemStackDisplayName(ItemStack itemstack) { - return associatedBlock.getMachineName(itemstack.getItemDamage()); - } + @Override + public String getItemStackDisplayName(ItemStack itemstack) { + return associatedBlock.getMachineName(itemstack.getItemDamage()); + } } diff --git a/src/main/java/binnie/core/machines/Machine.java b/src/main/java/binnie/core/machines/Machine.java index 1333d651..93fb6c71 100644 --- a/src/main/java/binnie/core/machines/Machine.java +++ b/src/main/java/binnie/core/machines/Machine.java @@ -11,6 +11,11 @@ import binnie.core.network.packet.PacketPayload; import com.mojang.authlib.GameProfile; import cpw.mods.fml.relauncher.Side; import forestry.api.core.INBTTagable; +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.nbt.NBTTagCompound; @@ -19,272 +24,268 @@ import net.minecraft.network.Packet; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import java.util.ArrayList; -import java.util.Collection; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - public class Machine implements INetworkedEntity, INBTTagable, INetwork.TilePacketSync, IMachine, INetwork.GuiNBT { - private MachinePackage machinePackage; - private Map> componentInterfaceMap; - private Map, MachineComponent> componentMap; - private TileEntity tile; - private boolean queuedInventoryUpdate; - private int nextProgressBarID; - private GameProfile owner; + private MachinePackage machinePackage; + private Map> componentInterfaceMap; + private Map, MachineComponent> componentMap; + private TileEntity tile; + private boolean queuedInventoryUpdate; + private int nextProgressBarID; + private GameProfile owner; - public Machine(MachinePackage pack, TileEntity tile) { - componentInterfaceMap = new LinkedHashMap<>(); - componentMap = new LinkedHashMap<>(); - queuedInventoryUpdate = false; - nextProgressBarID = 0; - owner = null; - this.tile = tile; - pack.createMachine(this); - machinePackage = pack; - } + public Machine(MachinePackage pack, TileEntity tile) { + componentInterfaceMap = new LinkedHashMap<>(); + componentMap = new LinkedHashMap<>(); + queuedInventoryUpdate = false; + nextProgressBarID = 0; + owner = null; + this.tile = tile; + pack.createMachine(this); + machinePackage = pack; + } - @Override - public void addComponent(MachineComponent component) { - if (component == null) { - throw new NullPointerException("Can't have a null machine component!"); - } - component.setMachine(this); - componentMap.put(component.getClass(), component); - for (Class inter : component.getComponentInterfaces()) { - if (!componentInterfaceMap.containsKey(inter)) { - componentInterfaceMap.put(inter, new ArrayList<>()); - } - componentInterfaceMap.get(inter).add(component); - } - } + @Override + public void addComponent(MachineComponent component) { + if (component == null) { + throw new NullPointerException("Can't have a null machine component!"); + } + component.setMachine(this); + componentMap.put(component.getClass(), component); + for (Class inter : component.getComponentInterfaces()) { + if (!componentInterfaceMap.containsKey(inter)) { + componentInterfaceMap.put(inter, new ArrayList<>()); + } + componentInterfaceMap.get(inter).add(component); + } + } - public Collection getComponents() { - return componentMap.values(); - } + public Collection getComponents() { + return componentMap.values(); + } - public T getComponent(Class componentClass) { - if (hasComponent(componentClass)) { - return componentClass.cast(componentMap.get(componentClass)); - } - return null; - } + public T getComponent(Class componentClass) { + if (hasComponent(componentClass)) { + return componentClass.cast(componentMap.get(componentClass)); + } + return null; + } - @Override - public T getInterface(Class cls) { - if (hasInterface(cls)) { - return getInterfaces(cls).get(0); - } - if (cls.isInstance(getPackage())) { - return cls.cast(getPackage()); - } + @Override + public T getInterface(Class cls) { + if (hasInterface(cls)) { + return getInterfaces(cls).get(0); + } + if (cls.isInstance(getPackage())) { + return cls.cast(getPackage()); + } - for (MachineComponent component : getComponents()) { - if (cls.isInstance(component)) { - return cls.cast(component); - } - } - return null; - } + for (MachineComponent component : getComponents()) { + if (cls.isInstance(component)) { + return cls.cast(component); + } + } + return null; + } - @Override - public List getInterfaces(Class cls) { - ArrayList interfaces = new ArrayList<>(); - if (!hasInterface(cls)) { - return interfaces; - } - for (MachineComponent component : componentInterfaceMap.get(cls)) { - interfaces.add(cls.cast(component)); - } - return interfaces; - } + @Override + public List getInterfaces(Class cls) { + ArrayList interfaces = new ArrayList<>(); + if (!hasInterface(cls)) { + return interfaces; + } + for (MachineComponent component : componentInterfaceMap.get(cls)) { + interfaces.add(cls.cast(component)); + } + return interfaces; + } - public boolean hasInterface(Class interfaceClass) { - return componentInterfaceMap.containsKey(interfaceClass); - } + public boolean hasInterface(Class interfaceClass) { + return componentInterfaceMap.containsKey(interfaceClass); + } - public boolean hasComponent(Class componentClass) { - return componentMap.containsKey(componentClass); - } + public boolean hasComponent(Class componentClass) { + return componentMap.containsKey(componentClass); + } - @Override - public TileEntity getTileEntity() { - return tile; - } + @Override + public TileEntity getTileEntity() { + return tile; + } - public Side getSide() { - return BinnieCore.proxy.isSimulating(getTileEntity().getWorldObj()) ? Side.SERVER : Side.CLIENT; - } + public Side getSide() { + return BinnieCore.proxy.isSimulating(getTileEntity().getWorldObj()) ? Side.SERVER : Side.CLIENT; + } - @Override - public void writeToPacket(PacketPayload payload) { - for (MachineComponent component : getComponents()) { - if (component instanceof INetworkedEntity) { - ((INetworkedEntity) component).writeToPacket(payload); - } - } - } + @Override + public void writeToPacket(PacketPayload payload) { + for (MachineComponent component : getComponents()) { + if (component instanceof INetworkedEntity) { + ((INetworkedEntity) component).writeToPacket(payload); + } + } + } - @Override - public void readFromPacket(PacketPayload payload) { - for (MachineComponent component : getComponents()) { - if (component instanceof INetworkedEntity) { - ((INetworkedEntity) component).readFromPacket(payload); - } - } - } + @Override + public void readFromPacket(PacketPayload payload) { + for (MachineComponent component : getComponents()) { + if (component instanceof INetworkedEntity) { + ((INetworkedEntity) component).readFromPacket(payload); + } + } + } - public void onRightClick(World world, EntityPlayer player, int x, int y, int z) { - for (IInteraction.RightClick component : getInterfaces(IInteraction.RightClick.class)) { - component.onRightClick(world, player, x, y, z); - } - } + public void onRightClick(World world, EntityPlayer player, int x, int y, int z) { + for (IInteraction.RightClick component : getInterfaces(IInteraction.RightClick.class)) { + component.onRightClick(world, player, x, y, z); + } + } - @Override - public void markDirty() { - queuedInventoryUpdate = true; - } + @Override + public void markDirty() { + queuedInventoryUpdate = true; + } - public void onUpdate() { - if (BinnieCore.proxy.isSimulating(getWorld())) { - for (MachineComponent component : getComponents()) { - component.onUpdate(); - } - } else { - for (IRender.DisplayTick renders : getInterfaces(IRender.DisplayTick.class)) { - TileEntity tileEntity = getTileEntity(); - renders.onDisplayTick(getWorld(), tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord, getWorld().rand); - } - } + public void onUpdate() { + if (BinnieCore.proxy.isSimulating(getWorld())) { + for (MachineComponent component : getComponents()) { + component.onUpdate(); + } + } else { + for (IRender.DisplayTick renders : getInterfaces(IRender.DisplayTick.class)) { + TileEntity tileEntity = getTileEntity(); + renders.onDisplayTick( + getWorld(), tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord, getWorld().rand); + } + } - if (queuedInventoryUpdate) { - for (MachineComponent component : getComponents()) { - component.onInventoryUpdate(); - } - queuedInventoryUpdate = false; - } - } + if (queuedInventoryUpdate) { + for (MachineComponent component : getComponents()) { + component.onInventoryUpdate(); + } + queuedInventoryUpdate = false; + } + } - public IInventory getInventory() { - return getInterface(IInventory.class); - } + public IInventory getInventory() { + return getInterface(IInventory.class); + } - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - for (MachineComponent component : getComponents()) { - component.readFromNBT(nbttagcompound); - } - owner = NBTUtil.func_152459_a(nbttagcompound.getCompoundTag("owner")); - markDirty(); - } + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + for (MachineComponent component : getComponents()) { + component.readFromNBT(nbttagcompound); + } + owner = NBTUtil.func_152459_a(nbttagcompound.getCompoundTag("owner")); + markDirty(); + } - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - for (MachineComponent component : getComponents()) { - component.writeToNBT(nbttagcompound); - } - if (owner != null) { - NBTTagCompound nbt = new NBTTagCompound(); - NBTUtil.func_152460_a(nbt, owner); - nbttagcompound.setTag("owner", nbt); - } - } + @Override + public void writeToNBT(NBTTagCompound nbttagcompound) { + for (MachineComponent component : getComponents()) { + component.writeToNBT(nbttagcompound); + } + if (owner != null) { + NBTTagCompound nbt = new NBTTagCompound(); + NBTUtil.func_152460_a(nbt, owner); + nbttagcompound.setTag("owner", nbt); + } + } - @Override - public MachinePackage getPackage() { - return machinePackage; - } + @Override + public MachinePackage getPackage() { + return machinePackage; + } - public static IMachine getMachine(Object inventory) { - if (inventory != null && inventory instanceof IMachine) { - return (IMachine) inventory; - } - if (inventory != null && inventory instanceof TileEntityMachine) { - return ((TileEntityMachine) inventory).getMachine(); - } - if (inventory != null && inventory instanceof MachineComponent) { - return ((MachineComponent) inventory).getMachine(); - } - return null; - } + public static IMachine getMachine(Object inventory) { + if (inventory != null && inventory instanceof IMachine) { + return (IMachine) inventory; + } + if (inventory != null && inventory instanceof TileEntityMachine) { + return ((TileEntityMachine) inventory).getMachine(); + } + if (inventory != null && inventory instanceof MachineComponent) { + return ((MachineComponent) inventory).getMachine(); + } + return null; + } - public static T getInterface(Class interfac, Object inventory) { - IMachine machine = getMachine(inventory); - if (machine != null) { - return machine.getInterface(interfac); - } - if (interfac.isInstance(inventory)) { - return interfac.cast(inventory); - } - return null; - } + public static T getInterface(Class interfac, Object inventory) { + IMachine machine = getMachine(inventory); + if (machine != null) { + return machine.getInterface(interfac); + } + if (interfac.isInstance(inventory)) { + return interfac.cast(inventory); + } + return null; + } - @Override - public MachineUtil getMachineUtil() { - return new MachineUtil(this); - } + @Override + public MachineUtil getMachineUtil() { + return new MachineUtil(this); + } - @Override - public World getWorld() { - return getTileEntity().getWorldObj(); - } + @Override + public World getWorld() { + return getTileEntity().getWorldObj(); + } - public void onBlockDestroy() { - for (MachineComponent component : getComponents()) { - component.onDestruction(); - } - } + public void onBlockDestroy() { + for (MachineComponent component : getComponents()) { + component.onDestruction(); + } + } - public int getUniqueProgressBarID() { - return nextProgressBarID++; - } + public int getUniqueProgressBarID() { + return nextProgressBarID++; + } - @Override - public GameProfile getOwner() { - return owner; - } + @Override + public GameProfile getOwner() { + return owner; + } - @Override - public void setOwner(GameProfile owner) { - this.owner = owner; - } + @Override + public void setOwner(GameProfile owner) { + this.owner = owner; + } - public Packet getDescriptionPacket() { - NBTTagCompound nbt = new NBTTagCompound(); - syncToNBT(nbt); - if (nbt.hasNoTags()) { - return null; - } - MessageTileNBT tileNbt = new MessageTileNBT(BinnieCorePacketID.TileDescriptionSync.ordinal(), getTileEntity(), nbt); - return BinnieCore.instance.getNetworkWrapper().getPacketFrom(tileNbt.getMessage()); - } + public Packet getDescriptionPacket() { + NBTTagCompound nbt = new NBTTagCompound(); + syncToNBT(nbt); + if (nbt.hasNoTags()) { + return null; + } + MessageTileNBT tileNbt = + new MessageTileNBT(BinnieCorePacketID.TileDescriptionSync.ordinal(), getTileEntity(), nbt); + return BinnieCore.instance.getNetworkWrapper().getPacketFrom(tileNbt.getMessage()); + } - @Override - public void syncToNBT(NBTTagCompound nbt) { - for (INetwork.TilePacketSync comp : getInterfaces(INetwork.TilePacketSync.class)) { - comp.syncToNBT(nbt); - } - } + @Override + public void syncToNBT(NBTTagCompound nbt) { + for (INetwork.TilePacketSync comp : getInterfaces(INetwork.TilePacketSync.class)) { + comp.syncToNBT(nbt); + } + } - @Override - public void syncFromNBT(NBTTagCompound nbt) { - for (INetwork.TilePacketSync comp : getInterfaces(INetwork.TilePacketSync.class)) { - comp.syncFromNBT(nbt); - } - } + @Override + public void syncFromNBT(NBTTagCompound nbt) { + for (INetwork.TilePacketSync comp : getInterfaces(INetwork.TilePacketSync.class)) { + comp.syncFromNBT(nbt); + } + } - @Override - public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { - for (INetwork.RecieveGuiNBT recieve : getInterfaces(INetwork.RecieveGuiNBT.class)) { - recieve.recieveGuiNBT(side, player, name, nbt); - } - } + @Override + public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { + for (INetwork.RecieveGuiNBT recieve : getInterfaces(INetwork.RecieveGuiNBT.class)) { + recieve.recieveGuiNBT(side, player, name, nbt); + } + } - @Override - public void sendGuiNBT(Map nbts) { - for (INetwork.SendGuiNBT recieve : getInterfaces(INetwork.SendGuiNBT.class)) { - recieve.sendGuiNBT(nbts); - } - } + @Override + public void sendGuiNBT(Map nbts) { + for (INetwork.SendGuiNBT recieve : getInterfaces(INetwork.SendGuiNBT.class)) { + recieve.sendGuiNBT(nbts); + } + } } diff --git a/src/main/java/binnie/core/machines/MachineComponent.java b/src/main/java/binnie/core/machines/MachineComponent.java index aae5711e..0b646ce3 100644 --- a/src/main/java/binnie/core/machines/MachineComponent.java +++ b/src/main/java/binnie/core/machines/MachineComponent.java @@ -7,59 +7,58 @@ import net.minecraft.inventory.IInventory; import net.minecraft.nbt.NBTTagCompound; public class MachineComponent implements INBTTagable { - private IMachine machine; + private IMachine machine; - public MachineComponent(IMachine machine) { - setMachine(machine); - machine.addComponent(this); - } + public MachineComponent(IMachine machine) { + setMachine(machine); + machine.addComponent(this); + } - public void setMachine(IMachine machine) { - this.machine = machine; - } + public void setMachine(IMachine machine) { + this.machine = machine; + } - public IMachine getMachine() { - return machine; - } + public IMachine getMachine() { + return machine; + } - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - // ignored - } + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + // ignored + } - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - // ignored - } + @Override + public void writeToNBT(NBTTagCompound nbttagcompound) { + // ignored + } - public void onUpdate() { - // ignored - } + public void onUpdate() { + // ignored + } - public Class[] getComponentInterfaces() { - return Binnie.Machine.getComponentInterfaces(getClass()); - } + public Class[] getComponentInterfaces() { + return Binnie.Machine.getComponentInterfaces(getClass()); + } - public void onInventoryUpdate() { - // ignored - } + public void onInventoryUpdate() { + // ignored + } - public MachinePayload getPayload() { - return new MachinePayload(Binnie.Machine.getNetworkID(getClass())); - } + public MachinePayload getPayload() { + return new MachinePayload(Binnie.Machine.getNetworkID(getClass())); + } - public void recieveData(MachinePayload payload) { - } + public void recieveData(MachinePayload payload) {} - public MachineUtil getUtil() { - return getMachine().getMachineUtil(); - } + public MachineUtil getUtil() { + return getMachine().getMachineUtil(); + } - public void onDestruction() { - // desctruction - } + public void onDestruction() { + // desctruction + } - public IInventory getInventory() { - return getMachine().getInterface(IInventory.class); - } + public IInventory getInventory() { + return getMachine().getInterface(IInventory.class); + } } diff --git a/src/main/java/binnie/core/machines/MachineGroup.java b/src/main/java/binnie/core/machines/MachineGroup.java index e8b5d1ec..b78c7ede 100644 --- a/src/main/java/binnie/core/machines/MachineGroup.java +++ b/src/main/java/binnie/core/machines/MachineGroup.java @@ -3,91 +3,90 @@ package binnie.core.machines; import binnie.Binnie; import binnie.core.AbstractMod; import cpw.mods.fml.common.registry.GameRegistry; -import net.minecraft.creativetab.CreativeTabs; - import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; +import net.minecraft.creativetab.CreativeTabs; public class MachineGroup { - private AbstractMod mod; - private String blockName; - private String uid; - private Map packages; - private Map packagesID; - private BlockMachine block; - public boolean customRenderer; - private boolean renderedTileEntity; + private AbstractMod mod; + private String blockName; + private String uid; + private Map packages; + private Map packagesID; + private BlockMachine block; + public boolean customRenderer; + private boolean renderedTileEntity; - public MachineGroup(AbstractMod mod, String uid, String blockName, IMachineType[] types) { - packages = new LinkedHashMap<>(); - packagesID = new LinkedHashMap<>(); - customRenderer = true; - renderedTileEntity = true; - this.mod = mod; - this.uid = uid; - this.blockName = blockName; + public MachineGroup(AbstractMod mod, String uid, String blockName, IMachineType[] types) { + packages = new LinkedHashMap<>(); + packagesID = new LinkedHashMap<>(); + customRenderer = true; + renderedTileEntity = true; + this.mod = mod; + this.uid = uid; + this.blockName = blockName; - for (IMachineType type : types) { - if (type.getPackageClass() != null && type.isActive()) { - try { - MachinePackage pack = type.getPackageClass().newInstance(); - pack.assignMetadata(type.ordinal()); - pack.setActive(type.isActive()); - addPackage(pack); - } catch (Exception e) { - throw new RuntimeException("Failed to create machine package " + type.toString(), e); - } - } - } - Binnie.Machine.registerMachineGroup(this); - block = new BlockMachine(this, blockName); - GameRegistry.registerBlock(block, ItemMachine.class, blockName); - } + for (IMachineType type : types) { + if (type.getPackageClass() != null && type.isActive()) { + try { + MachinePackage pack = type.getPackageClass().newInstance(); + pack.assignMetadata(type.ordinal()); + pack.setActive(type.isActive()); + addPackage(pack); + } catch (Exception e) { + throw new RuntimeException("Failed to create machine package " + type.toString(), e); + } + } + } + Binnie.Machine.registerMachineGroup(this); + block = new BlockMachine(this, blockName); + GameRegistry.registerBlock(block, ItemMachine.class, blockName); + } - private void addPackage(MachinePackage pack) { - packages.put(pack.getUID(), pack); - packagesID.put(pack.getMetadata(), pack); - pack.setGroup(this); - } + private void addPackage(MachinePackage pack) { + packages.put(pack.getUID(), pack); + packagesID.put(pack.getMetadata(), pack); + pack.setGroup(this); + } - public Collection getPackages() { - return packages.values(); - } + public Collection getPackages() { + return packages.values(); + } - public BlockMachine getBlock() { - return block; - } + public BlockMachine getBlock() { + return block; + } - public MachinePackage getPackage(int metadata) { - return packagesID.get(metadata); - } + public MachinePackage getPackage(int metadata) { + return packagesID.get(metadata); + } - public MachinePackage getPackage(String name) { - return packages.get(name); - } + public MachinePackage getPackage(String name) { + return packages.get(name); + } - public String getUID() { - return mod.getModID() + "." + uid; - } + public String getUID() { + return mod.getModID() + "." + uid; + } - public String getShortUID() { - return uid; - } + public String getShortUID() { + return uid; + } - boolean isTileEntityRenderered() { - return renderedTileEntity; - } + boolean isTileEntityRenderered() { + return renderedTileEntity; + } - public void renderAsBlock() { - renderedTileEntity = false; - } + public void renderAsBlock() { + renderedTileEntity = false; + } - public void setCreativeTab(CreativeTabs tab) { - block.setCreativeTab(tab); - } + public void setCreativeTab(CreativeTabs tab) { + block.setCreativeTab(tab); + } - public AbstractMod getMod() { - return mod; - } + public AbstractMod getMod() { + return mod; + } } diff --git a/src/main/java/binnie/core/machines/MachinePackage.java b/src/main/java/binnie/core/machines/MachinePackage.java index 4fa95904..d67fb35d 100644 --- a/src/main/java/binnie/core/machines/MachinePackage.java +++ b/src/main/java/binnie/core/machines/MachinePackage.java @@ -5,58 +5,59 @@ import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.tileentity.TileEntity; public abstract class MachinePackage { - private String uid; - private boolean active; - boolean powered; - private int metadata; - private MachineGroup group; + private String uid; + private boolean active; + boolean powered; + private int metadata; + private MachineGroup group; - public String getUID() { - return uid; - } + public String getUID() { + return uid; + } - protected MachinePackage(String uid, boolean powered) { - active = true; - metadata = -1; - this.uid = uid; - this.powered = powered; - } + protected MachinePackage(String uid, boolean powered) { + active = true; + metadata = -1; + this.uid = uid; + this.powered = powered; + } - public abstract void createMachine(Machine machine); + public abstract void createMachine(Machine machine); - public abstract TileEntity createTileEntity(); + public abstract TileEntity createTileEntity(); - public String getDisplayName() { - return I18N.localise(group.getMod().getModID() + ".machine." + group.getShortUID() + "." + getUID()); - } + public String getDisplayName() { + return I18N.localise(group.getMod().getModID() + ".machine." + group.getShortUID() + "." + getUID()); + } - public Integer getMetadata() { - return metadata; - } + public Integer getMetadata() { + return metadata; + } - public void assignMetadata(int meta) { - metadata = meta; - } + public void assignMetadata(int meta) { + metadata = meta; + } - public MachineGroup getGroup() { - return group; - } + public MachineGroup getGroup() { + return group; + } - public void setGroup(MachineGroup group) { - this.group = group; - } + public void setGroup(MachineGroup group) { + this.group = group; + } - public abstract void renderMachine(Machine machine, double x, double y, double z, float partialTick, RenderBlocks renderer); + public abstract void renderMachine( + Machine machine, double x, double y, double z, float partialTick, RenderBlocks renderer); - public boolean isActive() { - return active; - } + public boolean isActive() { + return active; + } - public void setActive(boolean active) { - this.active = active; - } + public void setActive(boolean active) { + this.active = active; + } - public String getInformation() { - return I18N.localise(group.getMod().getModID() + ".machine." + group.getShortUID() + "." + getUID() + ".info"); - } + public String getInformation() { + return I18N.localise(group.getMod().getModID() + ".machine." + group.getShortUID() + "." + getUID() + ".info"); + } } diff --git a/src/main/java/binnie/core/machines/MachineRendererBlock.java b/src/main/java/binnie/core/machines/MachineRendererBlock.java index 682772c5..a5863f41 100644 --- a/src/main/java/binnie/core/machines/MachineRendererBlock.java +++ b/src/main/java/binnie/core/machines/MachineRendererBlock.java @@ -8,23 +8,23 @@ import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class MachineRendererBlock { - public static MachineRendererBlock instance = new MachineRendererBlock(); - private BinnieResource texture; - private ModelBlock model; + public static MachineRendererBlock instance = new MachineRendererBlock(); + private BinnieResource texture; + private ModelBlock model; - public MachineRendererBlock() { - model = new ModelBlock(); - } + public MachineRendererBlock() { + model = new ModelBlock(); + } - public void renderMachine(BinnieResource texture, double x, double y, double z, float var8) { - this.texture = texture; - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5); - GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); - BinnieCore.proxy.bindTexture(texture); - GL11.glPushMatrix(); - model.render((float) x, (float) y, (float) z, 0.0625f, 0.0625f, 0.0625f); - GL11.glPopMatrix(); - GL11.glPopMatrix(); - } + public void renderMachine(BinnieResource texture, double x, double y, double z, float var8) { + this.texture = texture; + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5); + GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); + BinnieCore.proxy.bindTexture(texture); + GL11.glPushMatrix(); + model.render((float) x, (float) y, (float) z, 0.0625f, 0.0625f, 0.0625f); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } } diff --git a/src/main/java/binnie/core/machines/MachineUtil.java b/src/main/java/binnie/core/machines/MachineUtil.java index b1a0a823..a635ea7d 100644 --- a/src/main/java/binnie/core/machines/MachineUtil.java +++ b/src/main/java/binnie/core/machines/MachineUtil.java @@ -7,174 +7,173 @@ import binnie.core.machines.power.IProcess; import binnie.core.machines.power.ITankMachine; import binnie.core.machines.power.PowerSystem; import binnie.core.util.ItemStackSet; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Random; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidTank; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Random; - public class MachineUtil { - private IMachine machine; + private IMachine machine; - public MachineUtil(IMachine machine) { - this.machine = machine; - } + public MachineUtil(IMachine machine) { + this.machine = machine; + } - public IInventory getInventory() { - return machine.getInterface(IInventory.class); - } + public IInventory getInventory() { + return machine.getInterface(IInventory.class); + } - public ITankMachine getTankContainer() { - return machine.getInterface(ITankMachine.class); - } + public ITankMachine getTankContainer() { + return machine.getInterface(ITankMachine.class); + } - public IPoweredMachine getPoweredMachine() { - return machine.getInterface(IPoweredMachine.class); - } + public IPoweredMachine getPoweredMachine() { + return machine.getInterface(IPoweredMachine.class); + } - public boolean isSlotEmpty(int slot) { - return getInventory().getStackInSlot(slot) == null; - } + public boolean isSlotEmpty(int slot) { + return getInventory().getStackInSlot(slot) == null; + } - public IFluidTank getTank(int id) { - return getTankContainer().getTanks()[id]; - } + public IFluidTank getTank(int id) { + return getTankContainer().getTanks()[id]; + } - public boolean spaceInTank(int id, int amount) { - IFluidTank tank = getTank(id); - int space = tank.getCapacity() - tank.getFluidAmount(); - return amount <= space; - } + public boolean spaceInTank(int id, int amount) { + IFluidTank tank = getTank(id); + int space = tank.getCapacity() - tank.getFluidAmount(); + return amount <= space; + } - public ItemStack getStack(int slot) { - return getInventory().getStackInSlot(slot); - } + public ItemStack getStack(int slot) { + return getInventory().getStackInSlot(slot); + } - public void deleteStack(int slot) { - setStack(slot, null); - } + public void deleteStack(int slot) { + setStack(slot, null); + } - public ItemStack decreaseStack(int slot, int amount) { - return getInventory().decrStackSize(slot, amount); - } + public ItemStack decreaseStack(int slot, int amount) { + return getInventory().decrStackSize(slot, amount); + } - public void setStack(int slot, ItemStack stack) { - getInventory().setInventorySlotContents(slot, stack); - } + public void setStack(int slot, ItemStack stack) { + getInventory().setInventorySlotContents(slot, stack); + } - public void fillTank(int id, FluidStack liquidStack) { - IFluidTank tank = getTank(id); - tank.fill(liquidStack, true); - } + public void fillTank(int id, FluidStack liquidStack) { + IFluidTank tank = getTank(id); + tank.fill(liquidStack, true); + } - public void addStack(int slot, ItemStack addition) { - if (isSlotEmpty(slot)) { - setStack(slot, addition); - } else { - ItemStack merge = getStack(slot); - if (merge.isItemEqual(addition) && merge.stackSize + addition.stackSize <= merge.getMaxStackSize()) { - ItemStack itemStack = merge; - itemStack.stackSize += addition.stackSize; - setStack(slot, merge); - } - } - } + public void addStack(int slot, ItemStack addition) { + if (isSlotEmpty(slot)) { + setStack(slot, addition); + } else { + ItemStack merge = getStack(slot); + if (merge.isItemEqual(addition) && merge.stackSize + addition.stackSize <= merge.getMaxStackSize()) { + ItemStack itemStack = merge; + itemStack.stackSize += addition.stackSize; + setStack(slot, merge); + } + } + } - public FluidStack drainTank(int tank, int amount) { - return getTank(tank).drain(amount, true); - } + public FluidStack drainTank(int tank, int amount) { + return getTank(tank).drain(amount, true); + } - public boolean liquidInTank(int tank, int amount) { - FluidStack fluidStack = getTank(tank).drain(amount, false); - return fluidStack != null && fluidStack.amount == amount; - } + public boolean liquidInTank(int tank, int amount) { + FluidStack fluidStack = getTank(tank).drain(amount, false); + return fluidStack != null && fluidStack.amount == amount; + } - public void damageItem(int slot, int damage) { - ItemStack item = getStack(slot); - if (damage < 0) { - item.setItemDamage(Math.max(0, item.getItemDamage() + damage)); - } else if (item.attemptDamageItem(damage, new Random())) { - setStack(slot, null); - } - setStack(slot, item); - } + public void damageItem(int slot, int damage) { + ItemStack item = getStack(slot); + if (damage < 0) { + item.setItemDamage(Math.max(0, item.getItemDamage() + damage)); + } else if (item.attemptDamageItem(damage, new Random())) { + setStack(slot, null); + } + setStack(slot, item); + } - public boolean isTankEmpty(int tankInput) { - return getTank(tankInput).getFluidAmount() == 0; - } + public boolean isTankEmpty(int tankInput) { + return getTank(tankInput).getFluidAmount() == 0; + } - public FluidStack getFluid(int tankInput) { - return getTank(tankInput).getFluid(); - } + public FluidStack getFluid(int tankInput) { + return getTank(tankInput).getFluid(); + } - public ItemStack[] getStacks(int[] slotGrains) { - ItemStack[] stacks = new ItemStack[slotGrains.length]; - for (int i = 0; i < slotGrains.length; ++i) { - stacks[i] = getStack(slotGrains[i]); - } - return stacks; - } + public ItemStack[] getStacks(int[] slotGrains) { + ItemStack[] stacks = new ItemStack[slotGrains.length]; + for (int i = 0; i < slotGrains.length; ++i) { + stacks[i] = getStack(slotGrains[i]); + } + return stacks; + } - public ItemStack hasIngredients(int recipe, int[] inventory) { - return null; - } + public ItemStack hasIngredients(int recipe, int[] inventory) { + return null; + } - public boolean hasIngredients(int[] recipe, int[] inventory) { - ItemStackSet requiredStacks = new ItemStackSet(); - Collections.addAll(requiredStacks, getStacks(recipe)); + public boolean hasIngredients(int[] recipe, int[] inventory) { + ItemStackSet requiredStacks = new ItemStackSet(); + Collections.addAll(requiredStacks, getStacks(recipe)); - ItemStackSet inventoryStacks = new ItemStackSet(); - Collections.addAll(inventoryStacks, getStacks(inventory)); + ItemStackSet inventoryStacks = new ItemStackSet(); + Collections.addAll(inventoryStacks, getStacks(inventory)); - requiredStacks.removeAll(inventoryStacks); - return requiredStacks.isEmpty(); - } + requiredStacks.removeAll(inventoryStacks); + return requiredStacks.isEmpty(); + } - public void useEnergyMJ(float powerUsage) { - getPoweredMachine().getInterface().useEnergy(PowerSystem.MJ, powerUsage, true); - } + public void useEnergyMJ(float powerUsage) { + getPoweredMachine().getInterface().useEnergy(PowerSystem.MJ, powerUsage, true); + } - public boolean hasEnergyMJ(float powerUsage) { - return getPoweredMachine().getInterface().useEnergy(PowerSystem.MJ, powerUsage, false) >= powerUsage; - } + public boolean hasEnergyMJ(float powerUsage) { + return getPoweredMachine().getInterface().useEnergy(PowerSystem.MJ, powerUsage, false) >= powerUsage; + } - public float getSlotCharge(int slot) { - return machine.getInterface(IChargedSlots.class).getCharge(slot); - } + public float getSlotCharge(int slot) { + return machine.getInterface(IChargedSlots.class).getCharge(slot); + } - public void useCharge(int slot, float loss) { - machine.getInterface(IChargedSlots.class).alterCharge(slot, -loss); - } + public void useCharge(int slot, float loss) { + machine.getInterface(IChargedSlots.class).alterCharge(slot, -loss); + } - public Random getRandom() { - return new Random(); - } + public Random getRandom() { + return new Random(); + } - public void refreshBlock() { - TileEntity tileEntity = machine.getTileEntity(); - machine.getWorld().markBlockForUpdate(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); - } + public void refreshBlock() { + TileEntity tileEntity = machine.getTileEntity(); + machine.getWorld().markBlockForUpdate(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord); + } - public IProcess getProcess() { - return machine.getInterface(IProcess.class); - } + public IProcess getProcess() { + return machine.getInterface(IProcess.class); + } - public List getNonNullStacks(int[] slot) { - List stacks = new ArrayList<>(); - for (ItemStack stack : getStacks(slot)) { - if (stack != null) { - stacks.add(stack); - } - } - return stacks; - } + public List getNonNullStacks(int[] slot) { + List stacks = new ArrayList<>(); + for (ItemStack stack : getStacks(slot)) { + if (stack != null) { + stacks.add(stack); + } + } + return stacks; + } - public boolean isServer() { - return BinnieCore.proxy.isSimulating(machine.getWorld()); - } + public boolean isServer() { + return BinnieCore.proxy.isSimulating(machine.getWorld()); + } } diff --git a/src/main/java/binnie/core/machines/ManagerMachine.java b/src/main/java/binnie/core/machines/ManagerMachine.java index ed216037..9cee08c6 100644 --- a/src/main/java/binnie/core/machines/ManagerMachine.java +++ b/src/main/java/binnie/core/machines/ManagerMachine.java @@ -5,7 +5,6 @@ import binnie.core.ManagerBase; import binnie.core.machines.inventory.SlotValidator; import binnie.core.machines.inventory.ValidatorIcon; import forestry.api.core.INBTTagable; - import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -13,82 +12,86 @@ import java.util.Map; import java.util.Set; public class ManagerMachine extends ManagerBase { - private Map, Class[]> componentInterfaceMap; - private Map machineGroups; - private Map> networkIDToComponent; - private Map, Integer> componentToNetworkID; - private int nextNetworkID; - private int machineRenderID; + private Map, Class[]> componentInterfaceMap; + private Map machineGroups; + private Map> networkIDToComponent; + private Map, Integer> componentToNetworkID; + private int nextNetworkID; + private int machineRenderID; - public ManagerMachine() { - componentInterfaceMap = new HashMap<>(); - machineGroups = new HashMap<>(); - networkIDToComponent = new HashMap<>(); - componentToNetworkID = new HashMap<>(); - nextNetworkID = 0; - } + public ManagerMachine() { + componentInterfaceMap = new HashMap<>(); + machineGroups = new HashMap<>(); + networkIDToComponent = new HashMap<>(); + componentToNetworkID = new HashMap<>(); + nextNetworkID = 0; + } - public void registerMachineGroup(MachineGroup group) { - machineGroups.put(group.getUID(), group); - } + public void registerMachineGroup(MachineGroup group) { + machineGroups.put(group.getUID(), group); + } - public MachineGroup getGroup(String name) { - return machineGroups.get(name); - } + public MachineGroup getGroup(String name) { + return machineGroups.get(name); + } - public MachinePackage getPackage(String group, String name) { - MachineGroup machineGroup = getGroup(group); - return (machineGroup == null) ? null : machineGroup.getPackage(name); - } + public MachinePackage getPackage(String group, String name) { + MachineGroup machineGroup = getGroup(group); + return (machineGroup == null) ? null : machineGroup.getPackage(name); + } - private void registerComponentClass(Class component) { - if (componentInterfaceMap.containsKey(component)) { - return; - } + private void registerComponentClass(Class component) { + if (componentInterfaceMap.containsKey(component)) { + return; + } - Set> interfaces = new HashSet<>(); - for (Class currentClass = component; currentClass != null; currentClass = currentClass.getSuperclass()) { - Collections.addAll(interfaces, currentClass.getInterfaces()); - } + Set> interfaces = new HashSet<>(); + for (Class currentClass = component; currentClass != null; currentClass = currentClass.getSuperclass()) { + Collections.addAll(interfaces, currentClass.getInterfaces()); + } - interfaces.remove(INBTTagable.class); - componentInterfaceMap.put(component, interfaces.toArray(new Class[0])); - int networkID = nextNetworkID++; - networkIDToComponent.put(networkID, component); - componentToNetworkID.put(component, networkID); - } + interfaces.remove(INBTTagable.class); + componentInterfaceMap.put(component, interfaces.toArray(new Class[0])); + int networkID = nextNetworkID++; + networkIDToComponent.put(networkID, component); + componentToNetworkID.put(component, networkID); + } - public int getNetworkID(Class component) { - return componentToNetworkID.get(component); - } + public int getNetworkID(Class component) { + return componentToNetworkID.get(component); + } - public Class getComponentClass(int networkID) { - return networkIDToComponent.get(networkID); - } + public Class getComponentClass(int networkID) { + return networkIDToComponent.get(networkID); + } - public int getMachineRenderID() { - return machineRenderID; - } + public int getMachineRenderID() { + return machineRenderID; + } - @Override - public void init() { - machineRenderID = BinnieCore.proxy.getUniqueRenderID(); - SlotValidator.IconBee = new ValidatorIcon(BinnieCore.instance, "validator/bee.0", "validator/bee.1"); - SlotValidator.IconFrame = new ValidatorIcon(BinnieCore.instance, "validator/frame.0", "validator/frame.1"); - SlotValidator.IconCircuit = new ValidatorIcon(BinnieCore.instance, "validator/circuit.0", "validator/circuit.1"); - SlotValidator.IconBlock = new ValidatorIcon(BinnieCore.instance, "validator/block.0", "validator/block.1"); - } + @Override + public void init() { + machineRenderID = BinnieCore.proxy.getUniqueRenderID(); + SlotValidator.IconBee = new ValidatorIcon(BinnieCore.instance, "validator/bee.0", "validator/bee.1"); + SlotValidator.IconFrame = new ValidatorIcon(BinnieCore.instance, "validator/frame.0", "validator/frame.1"); + SlotValidator.IconCircuit = + new ValidatorIcon(BinnieCore.instance, "validator/circuit.0", "validator/circuit.1"); + SlotValidator.IconBlock = new ValidatorIcon(BinnieCore.instance, "validator/block.0", "validator/block.1"); + } - @Override - public void postInit() { - BinnieCore.proxy.registerBlockRenderer(BinnieCore.proxy.createObject("binnie.core.machines.RendererMachine")); - BinnieCore.proxy.registerTileEntity(TileEntityMachine.class, "binnie.tile.machine", BinnieCore.proxy.createObject("binnie.core.machines.RendererMachine")); - } + @Override + public void postInit() { + BinnieCore.proxy.registerBlockRenderer(BinnieCore.proxy.createObject("binnie.core.machines.RendererMachine")); + BinnieCore.proxy.registerTileEntity( + TileEntityMachine.class, + "binnie.tile.machine", + BinnieCore.proxy.createObject("binnie.core.machines.RendererMachine")); + } - public Class[] getComponentInterfaces(Class clss) { - if (!componentInterfaceMap.containsKey(clss)) { - registerComponentClass(clss); - } - return componentInterfaceMap.get(clss); - } + public Class[] getComponentInterfaces(Class clss) { + if (!componentInterfaceMap.containsKey(clss)) { + registerComponentClass(clss); + } + return componentInterfaceMap.get(clss); + } } diff --git a/src/main/java/binnie/core/machines/ModelBlock.java b/src/main/java/binnie/core/machines/ModelBlock.java index 8e3b43d2..283fc3ba 100644 --- a/src/main/java/binnie/core/machines/ModelBlock.java +++ b/src/main/java/binnie/core/machines/ModelBlock.java @@ -4,33 +4,33 @@ import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; class ModelBlock extends ModelBase { - private ModelRenderer block; + private ModelRenderer block; - public ModelBlock() { - textureWidth = 64; - textureHeight = 32; + public ModelBlock() { + textureWidth = 64; + textureHeight = 32; - block = new ModelRenderer(this, 0, 0); - block.addBox(0.0f, 0.0f, 0.0f, 16, 16, 16); - block.setRotationPoint(-8.0f, 8.0f, -8.0f); - block.setTextureSize(64, 32); - block.mirror = true; - setRotation(block, 0.0f, 0.0f, 0.0f); - } + block = new ModelRenderer(this, 0, 0); + block.addBox(0.0f, 0.0f, 0.0f, 16, 16, 16); + block.setRotationPoint(-8.0f, 8.0f, -8.0f); + block.setTextureSize(64, 32); + block.mirror = true; + setRotation(block, 0.0f, 0.0f, 0.0f); + } - public void render(float f, float f1, float f2, float f3, float f4, float f5) { - super.render(null, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5); - block.render(f5); - } + public void render(float f, float f1, float f2, float f3, float f4, float f5) { + super.render(null, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5); + block.render(f5); + } - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } + private void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, null); - } + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5) { + super.setRotationAngles(f, f1, f2, f3, f4, f5, null); + } } diff --git a/src/main/java/binnie/core/machines/RendererMachine.java b/src/main/java/binnie/core/machines/RendererMachine.java index 7f7aa2c3..4c0f0873 100644 --- a/src/main/java/binnie/core/machines/RendererMachine.java +++ b/src/main/java/binnie/core/machines/RendererMachine.java @@ -11,53 +11,59 @@ import net.minecraft.world.World; // Hmm. It's used class public class RendererMachine extends TileEntitySpecialRenderer implements ISimpleBlockRenderingHandler { - RenderBlocks blockRenderer; + RenderBlocks blockRenderer; - @Override - public void renderTileEntityAt(TileEntity entity, double x, double y, double z, float partialTick) { - renderTileEntity((TileEntityMachine) entity, x, y, z, partialTick, blockRenderer); - } + @Override + public void renderTileEntityAt(TileEntity entity, double x, double y, double z, float partialTick) { + renderTileEntity((TileEntityMachine) entity, x, y, z, partialTick, blockRenderer); + } - public void renderTileEntity(TileEntityMachine entity, double x, double y, double z, float partialTick, RenderBlocks renderer) { - if (entity != null && entity.getMachine() != null) { - MachinePackage machinePackage = entity.getMachine().getPackage(); - machinePackage.renderMachine(entity.getMachine(), x, y, z, partialTick, renderer); - } - } + public void renderTileEntity( + TileEntityMachine entity, double x, double y, double z, float partialTick, RenderBlocks renderer) { + if (entity != null && entity.getMachine() != null) { + MachinePackage machinePackage = entity.getMachine().getPackage(); + machinePackage.renderMachine(entity.getMachine(), x, y, z, partialTick, renderer); + } + } - public void renderInvBlock(RenderBlocks renderblocks, Block block, int i, int j) { - TileEntity entity = block.createTileEntity(null, i); - renderTileEntity((TileEntityMachine) entity, 0.0, -0.1, 0.0, 0.0625f, renderblocks); - } + public void renderInvBlock(RenderBlocks renderblocks, Block block, int i, int j) { + TileEntity entity = block.createTileEntity(null, i); + renderTileEntity((TileEntityMachine) entity, 0.0, -0.1, 0.0, 0.0625f, renderblocks); + } - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { - if (modelID == Binnie.Machine.getMachineRenderID()) { - renderInvBlock(renderer, block, metadata, modelID); - } - } + @Override + public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { + if (modelID == Binnie.Machine.getMachineRenderID()) { + renderInvBlock(renderer, block, metadata, modelID); + } + } - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - TileEntityMachine tile = (TileEntityMachine) world.getTileEntity(x, y, z); - if (tile != null && tile.getMachine() != null && tile.getMachine().getPackage() != null && tile.getMachine().getPackage().getGroup() != null && !tile.getMachine().getPackage().getGroup().customRenderer) { - renderTileEntity(tile, x, y, z, 1.0f, renderer); - } - return true; - } + @Override + public boolean renderWorldBlock( + IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + TileEntityMachine tile = (TileEntityMachine) world.getTileEntity(x, y, z); + if (tile != null + && tile.getMachine() != null + && tile.getMachine().getPackage() != null + && tile.getMachine().getPackage().getGroup() != null + && !tile.getMachine().getPackage().getGroup().customRenderer) { + renderTileEntity(tile, x, y, z, 1.0f, renderer); + } + return true; + } - @Override - public boolean shouldRender3DInInventory(int i) { - return true; - } + @Override + public boolean shouldRender3DInInventory(int i) { + return true; + } - @Override - public int getRenderId() { - return Binnie.Machine.getMachineRenderID(); - } + @Override + public int getRenderId() { + return Binnie.Machine.getMachineRenderID(); + } - @Override - public void func_147496_a(World par1World) { - blockRenderer = new RenderBlocks(par1World); - } + @Override + public void func_147496_a(World par1World) { + blockRenderer = new RenderBlocks(par1World); + } } diff --git a/src/main/java/binnie/core/machines/TileEntityMachine.java b/src/main/java/binnie/core/machines/TileEntityMachine.java index 4d96ee2f..9621e257 100644 --- a/src/main/java/binnie/core/machines/TileEntityMachine.java +++ b/src/main/java/binnie/core/machines/TileEntityMachine.java @@ -9,93 +9,93 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.Packet; public class TileEntityMachine extends TileEntityMachineBase implements INetworkedEntity { - private Machine machine; + private Machine machine; - @Override - public void updateEntity() { - super.updateEntity(); - if (machine != null) { - machine.onUpdate(); - } - } + @Override + public void updateEntity() { + super.updateEntity(); + if (machine != null) { + machine.onUpdate(); + } + } - public TileEntityMachine(MachinePackage pack) { - setMachine(pack); - } + public TileEntityMachine(MachinePackage pack) { + setMachine(pack); + } - public TileEntityMachine() { - // ignored - } + public TileEntityMachine() { + // ignored + } - public void setMachine(MachinePackage pack) { - if (pack != null) { - machine = new Machine(pack, this); - } - } + public void setMachine(MachinePackage pack) { + if (pack != null) { + machine = new Machine(pack, this); + } + } - @Override - public void readFromNBT(NBTTagCompound nbtTagCompound) { - super.readFromNBT(nbtTagCompound); - String name = nbtTagCompound.getString("name"); - String group = nbtTagCompound.getString("group"); - MachinePackage pack = Binnie.Machine.getPackage(group, name); - if (pack == null) { - invalidate(); - return; - } + @Override + public void readFromNBT(NBTTagCompound nbtTagCompound) { + super.readFromNBT(nbtTagCompound); + String name = nbtTagCompound.getString("name"); + String group = nbtTagCompound.getString("group"); + MachinePackage pack = Binnie.Machine.getPackage(group, name); + if (pack == null) { + invalidate(); + return; + } - setMachine(pack); - getMachine().readFromNBT(nbtTagCompound); - } + setMachine(pack); + getMachine().readFromNBT(nbtTagCompound); + } - @Override - public void writeToNBT(NBTTagCompound nbtTagCompound) { - super.writeToNBT(nbtTagCompound); - String name = machine.getPackage().getUID(); - String group = machine.getPackage().getGroup().getUID(); - nbtTagCompound.setString("group", group); - nbtTagCompound.setString("name", name); - getMachine().writeToNBT(nbtTagCompound); - } + @Override + public void writeToNBT(NBTTagCompound nbtTagCompound) { + super.writeToNBT(nbtTagCompound); + String name = machine.getPackage().getUID(); + String group = machine.getPackage().getGroup().getUID(); + nbtTagCompound.setString("group", group); + nbtTagCompound.setString("name", name); + getMachine().writeToNBT(nbtTagCompound); + } - @Override - public void writeToPacket(PacketPayload payload) { - machine.writeToPacket(payload); - } + @Override + public void writeToPacket(PacketPayload payload) { + machine.writeToPacket(payload); + } - @Override - public void readFromPacket(PacketPayload payload) { - machine.readFromPacket(payload); - } + @Override + public void readFromPacket(PacketPayload payload) { + machine.readFromPacket(payload); + } - public Machine getMachine() { - return machine; - } + public Machine getMachine() { + return machine; + } - public void onBlockDestroy() { - if (getMachine() != null) { - getMachine().onBlockDestroy(); - } - } + public void onBlockDestroy() { + if (getMachine() != null) { + getMachine().onBlockDestroy(); + } + } - @Override - public Packet getDescriptionPacket() { - return (getMachine() != null) ? getMachine().getDescriptionPacket() : null; - } + @Override + public Packet getDescriptionPacket() { + return (getMachine() != null) ? getMachine().getDescriptionPacket() : null; + } - @Override - public void invalidate() { - super.invalidate(); - for (IInteraction.Invalidation c : getMachine().getInterfaces(IInteraction.Invalidation.class)) { - c.onInvalidation(); - } - } + @Override + public void invalidate() { + super.invalidate(); + for (IInteraction.Invalidation c : getMachine().getInterfaces(IInteraction.Invalidation.class)) { + c.onInvalidation(); + } + } - @Override - public void onChunkUnload() { - super.onChunkUnload(); - for (IInteraction.ChunkUnload c : getMachine().getInterfaces(IInteraction.ChunkUnload.class)) { - c.onChunkUnload(); - } - } + @Override + public void onChunkUnload() { + super.onChunkUnload(); + for (IInteraction.ChunkUnload c : getMachine().getInterfaces(IInteraction.ChunkUnload.class)) { + c.onChunkUnload(); + } + } } diff --git a/src/main/java/binnie/core/machines/base/DefaultInventory.java b/src/main/java/binnie/core/machines/base/DefaultInventory.java index 8d837a57..dcf008b2 100644 --- a/src/main/java/binnie/core/machines/base/DefaultInventory.java +++ b/src/main/java/binnie/core/machines/base/DefaultInventory.java @@ -5,88 +5,88 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; class DefaultInventory implements IInventoryMachine { - @Override - public int getSizeInventory() { - return 0; - } + @Override + public int getSizeInventory() { + return 0; + } - @Override - public ItemStack getStackInSlot(int slot) { - return null; - } + @Override + public ItemStack getStackInSlot(int slot) { + return null; + } - @Override - public ItemStack decrStackSize(int index, int count) { - return null; - } + @Override + public ItemStack decrStackSize(int index, int count) { + return null; + } - @Override - public ItemStack getStackInSlotOnClosing(int index) { - return null; - } + @Override + public ItemStack getStackInSlotOnClosing(int index) { + return null; + } - @Override - public void setInventorySlotContents(int index, ItemStack itemStack) { - // ignored - } + @Override + public void setInventorySlotContents(int index, ItemStack itemStack) { + // ignored + } - @Override - public int getInventoryStackLimit() { - return 64; - } + @Override + public int getInventoryStackLimit() { + return 64; + } - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - return false; - } + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + return false; + } - @Override - public boolean isItemValidForSlot(int index, ItemStack itemStack) { - return false; - } + @Override + public boolean isItemValidForSlot(int index, ItemStack itemStack) { + return false; + } - @Override - public int[] getAccessibleSlotsFromSide(int side) { - return new int[0]; - } + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return new int[0]; + } - @Override - public boolean canInsertItem(int index, ItemStack itemStack, int direction) { - return false; - } + @Override + public boolean canInsertItem(int index, ItemStack itemStack, int direction) { + return false; + } - @Override - public boolean canExtractItem(int index, ItemStack itemStack, int direction) { - return false; - } + @Override + public boolean canExtractItem(int index, ItemStack itemStack, int direction) { + return false; + } - @Override - public boolean isReadOnly(int slot) { - return false; - } + @Override + public boolean isReadOnly(int slot) { + return false; + } - @Override - public String getInventoryName() { - return ""; - } + @Override + public String getInventoryName() { + return ""; + } - @Override - public boolean hasCustomInventoryName() { - return false; - } + @Override + public boolean hasCustomInventoryName() { + return false; + } - @Override - public void markDirty() { - // ignored - } + @Override + public void markDirty() { + // ignored + } - @Override - public void openInventory() { - // ignored - } + @Override + public void openInventory() { + // ignored + } - @Override - public void closeInventory() { - // ignored - } + @Override + public void closeInventory() { + // ignored + } } diff --git a/src/main/java/binnie/core/machines/base/DefaultPower.java b/src/main/java/binnie/core/machines/base/DefaultPower.java index 3f7f4147..f0ce9fda 100644 --- a/src/main/java/binnie/core/machines/base/DefaultPower.java +++ b/src/main/java/binnie/core/machines/base/DefaultPower.java @@ -8,62 +8,62 @@ import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; class DefaultPower implements IPoweredMachine { - @Override - public PowerInfo getPowerInfo() { - return new PowerInfo(this, 0.0f); - } + @Override + public PowerInfo getPowerInfo() { + return new PowerInfo(this, 0.0f); + } - @Override - @Optional.Method(modid = "IC2") - public double getDemandedEnergy() { - return 0.0; - } + @Override + @Optional.Method(modid = "IC2") + public double getDemandedEnergy() { + return 0.0; + } - @Override - @Optional.Method(modid = "IC2") - public int getSinkTier() { - return 0; - } + @Override + @Optional.Method(modid = "IC2") + public int getSinkTier() { + return 0; + } - @Override - @Optional.Method(modid = "IC2") - public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) { - return 0.0; - } + @Override + @Optional.Method(modid = "IC2") + public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) { + return 0.0; + } - @Override - @Optional.Method(modid = "IC2") - public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction) { - return false; - } + @Override + @Optional.Method(modid = "IC2") + public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction) { + return false; + } - @Override - public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) { - return 0; - } + @Override + public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) { + return 0; + } - @Override - public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) { - return 0; - } + @Override + public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) { + return 0; + } - @Override - public int getEnergyStored(ForgeDirection from) { - return 0; - } + @Override + public int getEnergyStored(ForgeDirection from) { + return 0; + } - @Override - public int getMaxEnergyStored(ForgeDirection from) { - return 0; - } + @Override + public int getMaxEnergyStored(ForgeDirection from) { + return 0; + } - @Override - public boolean canConnectEnergy(ForgeDirection from) { - return false; - } + @Override + public boolean canConnectEnergy(ForgeDirection from) { + return false; + } - @Override - public PowerInterface getInterface() { - return null; - } + @Override + public PowerInterface getInterface() { + return null; + } } diff --git a/src/main/java/binnie/core/machines/base/DefaultTankContainer.java b/src/main/java/binnie/core/machines/base/DefaultTankContainer.java index 97a0eb7c..33f3634a 100644 --- a/src/main/java/binnie/core/machines/base/DefaultTankContainer.java +++ b/src/main/java/binnie/core/machines/base/DefaultTankContainer.java @@ -10,68 +10,68 @@ import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidTank; class DefaultTankContainer implements ITankMachine { - @Override - public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { - return 0; - } + @Override + public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { + return 0; + } - @Override - public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { - return null; - } + @Override + public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { + return null; + } - @Override - public TankInfo[] getTankInfos() { - return new TankInfo[0]; - } + @Override + public TankInfo[] getTankInfos() { + return new TankInfo[0]; + } - @Override - public boolean isTankReadOnly(int tank) { - return false; - } + @Override + public boolean isTankReadOnly(int tank) { + return false; + } - @Override - public boolean isLiquidValidForTank(FluidStack liquid, int tank) { - return false; - } + @Override + public boolean isLiquidValidForTank(FluidStack liquid, int tank) { + return false; + } - @Override - public TankSlot addTank(int index, String name, int capacity) { - return null; - } + @Override + public TankSlot addTank(int index, String name, int capacity) { + return null; + } - @Override - public IFluidTank getTank(int index) { - return null; - } + @Override + public IFluidTank getTank(int index) { + return null; + } - @Override - public TankSlot getTankSlot(int slot) { - return null; - } + @Override + public TankSlot getTankSlot(int slot) { + return null; + } - @Override - public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { - return null; - } + @Override + public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { + return null; + } - @Override - public boolean canFill(ForgeDirection from, Fluid fluid) { - return false; - } + @Override + public boolean canFill(ForgeDirection from, Fluid fluid) { + return false; + } - @Override - public boolean canDrain(ForgeDirection from, Fluid fluid) { - return false; - } + @Override + public boolean canDrain(ForgeDirection from, Fluid fluid) { + return false; + } - @Override - public FluidTankInfo[] getTankInfo(ForgeDirection from) { - return new FluidTankInfo[0]; - } + @Override + public FluidTankInfo[] getTankInfo(ForgeDirection from) { + return new FluidTankInfo[0]; + } - @Override - public IFluidTank[] getTanks() { - return new IFluidTank[0]; - } + @Override + public IFluidTank[] getTanks() { + return new IFluidTank[0]; + } } diff --git a/src/main/java/binnie/core/machines/base/TileEntityMachineBase.java b/src/main/java/binnie/core/machines/base/TileEntityMachineBase.java index c4d4755f..9d8c42ae 100644 --- a/src/main/java/binnie/core/machines/base/TileEntityMachineBase.java +++ b/src/main/java/binnie/core/machines/base/TileEntityMachineBase.java @@ -19,231 +19,231 @@ import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidTank; public class TileEntityMachineBase extends TileEntity implements IInventoryMachine, ITankMachine, IPoweredMachine { - public IInventoryMachine getInventory() { - IInventoryMachine inv = Machine.getInterface(IInventoryMachine.class, this); - return (inv == null || inv == this) ? new DefaultInventory() : inv; - } + public IInventoryMachine getInventory() { + IInventoryMachine inv = Machine.getInterface(IInventoryMachine.class, this); + return (inv == null || inv == this) ? new DefaultInventory() : inv; + } - public ITankMachine getTankContainer() { - ITankMachine inv = Machine.getInterface(ITankMachine.class, this); - return (inv == null || inv == this) ? new DefaultTankContainer() : inv; - } + public ITankMachine getTankContainer() { + ITankMachine inv = Machine.getInterface(ITankMachine.class, this); + return (inv == null || inv == this) ? new DefaultTankContainer() : inv; + } - public IPoweredMachine getPower() { - IPoweredMachine inv = Machine.getInterface(IPoweredMachine.class, this); - return (inv == null || inv == this) ? new DefaultPower() : inv; - } + public IPoweredMachine getPower() { + IPoweredMachine inv = Machine.getInterface(IPoweredMachine.class, this); + return (inv == null || inv == this) ? new DefaultPower() : inv; + } - @Override - public int getSizeInventory() { - return getInventory().getSizeInventory(); - } + @Override + public int getSizeInventory() { + return getInventory().getSizeInventory(); + } - @Override - public ItemStack getStackInSlot(int index) { - return getInventory().getStackInSlot(index); - } + @Override + public ItemStack getStackInSlot(int index) { + return getInventory().getStackInSlot(index); + } - @Override - public ItemStack decrStackSize(int index, int amount) { - return getInventory().decrStackSize(index, amount); - } + @Override + public ItemStack decrStackSize(int index, int amount) { + return getInventory().decrStackSize(index, amount); + } - @Override - public ItemStack getStackInSlotOnClosing(int var1) { - return getInventory().getStackInSlotOnClosing(var1); - } + @Override + public ItemStack getStackInSlotOnClosing(int var1) { + return getInventory().getStackInSlotOnClosing(var1); + } - @Override - public void setInventorySlotContents(int index, ItemStack itemStack) { - getInventory().setInventorySlotContents(index, itemStack); - } + @Override + public void setInventorySlotContents(int index, ItemStack itemStack) { + getInventory().setInventorySlotContents(index, itemStack); + } - @Override - public String getInventoryName() { - return getInventory().getInventoryName(); - } + @Override + public String getInventoryName() { + return getInventory().getInventoryName(); + } - @Override - public int getInventoryStackLimit() { - return getInventory().getInventoryStackLimit(); - } + @Override + public int getInventoryStackLimit() { + return getInventory().getInventoryStackLimit(); + } - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - return !isInvalid() - && getWorldObj().getTileEntity(xCoord, yCoord, zCoord) == this - && player.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) <= 64.0 - && getInventory().isUseableByPlayer(player); - } + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + return !isInvalid() + && getWorldObj().getTileEntity(xCoord, yCoord, zCoord) == this + && player.getDistanceSq(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) <= 64.0 + && getInventory().isUseableByPlayer(player); + } - @Override - public void openInventory() { - getInventory().openInventory(); - } + @Override + public void openInventory() { + getInventory().openInventory(); + } - @Override - public void closeInventory() { - getInventory().closeInventory(); - } + @Override + public void closeInventory() { + getInventory().closeInventory(); + } - @Override - public boolean hasCustomInventoryName() { - return getInventory().hasCustomInventoryName(); - } + @Override + public boolean hasCustomInventoryName() { + return getInventory().hasCustomInventoryName(); + } - @Override - public void markDirty() { - super.markDirty(); - getInventory().markDirty(); - } + @Override + public void markDirty() { + super.markDirty(); + getInventory().markDirty(); + } - @Override - public boolean isItemValidForSlot(int slot, ItemStack itemStack) { - return getInventory().isItemValidForSlot(slot, itemStack); - } + @Override + public boolean isItemValidForSlot(int slot, ItemStack itemStack) { + return getInventory().isItemValidForSlot(slot, itemStack); + } - @Override - public int[] getAccessibleSlotsFromSide(int var1) { - return getInventory().getAccessibleSlotsFromSide(var1); - } + @Override + public int[] getAccessibleSlotsFromSide(int var1) { + return getInventory().getAccessibleSlotsFromSide(var1); + } - @Override - public boolean canInsertItem(int i, ItemStack itemstack, int j) { - return getInventory().canInsertItem(i, itemstack, j); - } + @Override + public boolean canInsertItem(int i, ItemStack itemstack, int j) { + return getInventory().canInsertItem(i, itemstack, j); + } - @Override - public boolean canExtractItem(int i, ItemStack itemstack, int j) { - return getInventory().canExtractItem(i, itemstack, j); - } + @Override + public boolean canExtractItem(int i, ItemStack itemstack, int j) { + return getInventory().canExtractItem(i, itemstack, j); + } - @Override - public boolean isReadOnly(int slot) { - return getInventory().isReadOnly(slot); - } + @Override + public boolean isReadOnly(int slot) { + return getInventory().isReadOnly(slot); + } - @Override - public PowerInfo getPowerInfo() { - return getPower().getPowerInfo(); - } + @Override + public PowerInfo getPowerInfo() { + return getPower().getPowerInfo(); + } - @Override - public TankInfo[] getTankInfos() { - return getTankContainer().getTankInfos(); - } + @Override + public TankInfo[] getTankInfos() { + return getTankContainer().getTankInfos(); + } - @Override - public boolean isTankReadOnly(int tank) { - return getTankContainer().isTankReadOnly(tank); - } + @Override + public boolean isTankReadOnly(int tank) { + return getTankContainer().isTankReadOnly(tank); + } - @Override - public boolean isLiquidValidForTank(FluidStack liquid, int tank) { - return getTankContainer().isLiquidValidForTank(liquid, tank); - } + @Override + public boolean isLiquidValidForTank(FluidStack liquid, int tank) { + return getTankContainer().isLiquidValidForTank(liquid, tank); + } - @Override - public TankSlot addTank(int index, String name, int capacity) { - return getTankContainer().addTank(index, name, capacity); - } + @Override + public TankSlot addTank(int index, String name, int capacity) { + return getTankContainer().addTank(index, name, capacity); + } - @Override - public IFluidTank getTank(int index) { - return getTankContainer().getTank(index); - } + @Override + public IFluidTank getTank(int index) { + return getTankContainer().getTank(index); + } - @Override - public TankSlot getTankSlot(int slot) { - return getTankContainer().getTankSlot(slot); - } + @Override + public TankSlot getTankSlot(int slot) { + return getTankContainer().getTankSlot(slot); + } - @Override - public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { - return getTankContainer().fill(from, resource, doFill); - } + @Override + public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { + return getTankContainer().fill(from, resource, doFill); + } - @Override - public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { - return getTankContainer().drain(from, resource, doDrain); - } + @Override + public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { + return getTankContainer().drain(from, resource, doDrain); + } - @Override - public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { - return getTankContainer().drain(from, maxDrain, doDrain); - } + @Override + public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { + return getTankContainer().drain(from, maxDrain, doDrain); + } - @Override - public boolean canFill(ForgeDirection from, Fluid fluid) { - return getTankContainer().canFill(from, fluid); - } + @Override + public boolean canFill(ForgeDirection from, Fluid fluid) { + return getTankContainer().canFill(from, fluid); + } - @Override - public boolean canDrain(ForgeDirection from, Fluid fluid) { - return getTankContainer().canDrain(from, fluid); - } + @Override + public boolean canDrain(ForgeDirection from, Fluid fluid) { + return getTankContainer().canDrain(from, fluid); + } - @Override - public FluidTankInfo[] getTankInfo(ForgeDirection from) { - return getTankContainer().getTankInfo(from); - } + @Override + public FluidTankInfo[] getTankInfo(ForgeDirection from) { + return getTankContainer().getTankInfo(from); + } - @Override - public IFluidTank[] getTanks() { - return getTankContainer().getTanks(); - } + @Override + public IFluidTank[] getTanks() { + return getTankContainer().getTanks(); + } - @Override - @Optional.Method(modid = "IC2") - public double getDemandedEnergy() { - return getPower().getDemandedEnergy(); - } + @Override + @Optional.Method(modid = "IC2") + public double getDemandedEnergy() { + return getPower().getDemandedEnergy(); + } - @Override - @Optional.Method(modid = "IC2") - public int getSinkTier() { - return getPower().getSinkTier(); - } + @Override + @Optional.Method(modid = "IC2") + public int getSinkTier() { + return getPower().getSinkTier(); + } - @Override - @Optional.Method(modid = "IC2") - public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) { - return getPower().injectEnergy(directionFrom, amount, voltage); - } + @Override + @Optional.Method(modid = "IC2") + public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) { + return getPower().injectEnergy(directionFrom, amount, voltage); + } - @Override - @Optional.Method(modid = "IC2") - public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction) { - return getPower().acceptsEnergyFrom(emitter, direction); - } + @Override + @Optional.Method(modid = "IC2") + public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction) { + return getPower().acceptsEnergyFrom(emitter, direction); + } - @Override - public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) { - return getPower().receiveEnergy(from, maxReceive, simulate); - } + @Override + public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) { + return getPower().receiveEnergy(from, maxReceive, simulate); + } - @Override - public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) { - return getPower().extractEnergy(from, maxExtract, simulate); - } + @Override + public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) { + return getPower().extractEnergy(from, maxExtract, simulate); + } - @Override - public int getEnergyStored(ForgeDirection from) { - return getPower().getEnergyStored(from); - } + @Override + public int getEnergyStored(ForgeDirection from) { + return getPower().getEnergyStored(from); + } - @Override - public int getMaxEnergyStored(ForgeDirection from) { - return getPower().getMaxEnergyStored(from); - } + @Override + public int getMaxEnergyStored(ForgeDirection from) { + return getPower().getMaxEnergyStored(from); + } - @Override - public boolean canConnectEnergy(ForgeDirection from) { - return getPower().canConnectEnergy(from); - } + @Override + public boolean canConnectEnergy(ForgeDirection from) { + return getPower().canConnectEnergy(from); + } - @Override - public PowerInterface getInterface() { - return getPower().getInterface(); - } + @Override + public PowerInterface getInterface() { + return getPower().getInterface(); + } } diff --git a/src/main/java/binnie/core/machines/component/ComponentRecipe.java b/src/main/java/binnie/core/machines/component/ComponentRecipe.java index c2a8df73..b7faaa06 100644 --- a/src/main/java/binnie/core/machines/component/ComponentRecipe.java +++ b/src/main/java/binnie/core/machines/component/ComponentRecipe.java @@ -4,7 +4,7 @@ import binnie.core.machines.Machine; import binnie.core.machines.MachineComponent; public abstract class ComponentRecipe extends MachineComponent implements IComponentRecipe { - public ComponentRecipe(Machine machine) { - super(machine); - } + public ComponentRecipe(Machine machine) { + super(machine); + } } diff --git a/src/main/java/binnie/core/machines/component/IBuildcraft.java b/src/main/java/binnie/core/machines/component/IBuildcraft.java index 87094ee8..8f8ee5f2 100644 --- a/src/main/java/binnie/core/machines/component/IBuildcraft.java +++ b/src/main/java/binnie/core/machines/component/IBuildcraft.java @@ -3,15 +3,14 @@ package binnie.core.machines.component; import binnie.core.triggers.TriggerData; import buildcraft.api.statements.IActionExternal; import buildcraft.api.statements.IActionReceptor; - import java.util.List; public interface IBuildcraft { - interface TriggerProvider { - void getTriggers(List p0); - } + interface TriggerProvider { + void getTriggers(List p0); + } - interface ActionProvider extends IActionReceptor { - void getActions(List p0); - } + interface ActionProvider extends IActionReceptor { + void getActions(List p0); + } } diff --git a/src/main/java/binnie/core/machines/component/IComponentRecipe.java b/src/main/java/binnie/core/machines/component/IComponentRecipe.java index 2f669814..5f5d059b 100644 --- a/src/main/java/binnie/core/machines/component/IComponentRecipe.java +++ b/src/main/java/binnie/core/machines/component/IComponentRecipe.java @@ -3,9 +3,9 @@ package binnie.core.machines.component; import net.minecraft.item.ItemStack; public interface IComponentRecipe { - boolean isRecipe(); + boolean isRecipe(); - ItemStack doRecipe(boolean p0); + ItemStack doRecipe(boolean p0); - ItemStack getProduct(); + ItemStack getProduct(); } diff --git a/src/main/java/binnie/core/machines/component/IInteraction.java b/src/main/java/binnie/core/machines/component/IInteraction.java index 25fa7af7..39b37396 100644 --- a/src/main/java/binnie/core/machines/component/IInteraction.java +++ b/src/main/java/binnie/core/machines/component/IInteraction.java @@ -4,15 +4,15 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; public interface IInteraction { - interface ChunkUnload { - void onChunkUnload(); - } + interface ChunkUnload { + void onChunkUnload(); + } - interface Invalidation { - void onInvalidation(); - } + interface Invalidation { + void onInvalidation(); + } - interface RightClick { - void onRightClick(World world, EntityPlayer player, int x, int y, int z); - } + interface RightClick { + void onRightClick(World world, EntityPlayer player, int x, int y, int z); + } } diff --git a/src/main/java/binnie/core/machines/component/IRender.java b/src/main/java/binnie/core/machines/component/IRender.java index cd6e9720..17adfa77 100644 --- a/src/main/java/binnie/core/machines/component/IRender.java +++ b/src/main/java/binnie/core/machines/component/IRender.java @@ -2,24 +2,23 @@ package binnie.core.machines.component; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.world.World; -import java.util.Random; - public interface IRender { - interface DisplayTick { - @SideOnly(Side.CLIENT) - void onDisplayTick(World world, int x, int y, int z, Random rand); - } + interface DisplayTick { + @SideOnly(Side.CLIENT) + void onDisplayTick(World world, int x, int y, int z, Random rand); + } - interface RandomDisplayTick { - @SideOnly(Side.CLIENT) - void onRandomDisplayTick(World world, int x, int y, int p3, Random rand); - } + interface RandomDisplayTick { + @SideOnly(Side.CLIENT) + void onRandomDisplayTick(World world, int x, int y, int p3, Random rand); + } - interface Render { - @SideOnly(Side.CLIENT) - void renderInWorld(RenderItem renderItem, double x, double y, double z); - } + interface Render { + @SideOnly(Side.CLIENT) + void renderInWorld(RenderItem renderItem, double x, double y, double z); + } } diff --git a/src/main/java/binnie/core/machines/inventory/AccessDirection.java b/src/main/java/binnie/core/machines/inventory/AccessDirection.java index 1148d0ce..5d76f6f8 100644 --- a/src/main/java/binnie/core/machines/inventory/AccessDirection.java +++ b/src/main/java/binnie/core/machines/inventory/AccessDirection.java @@ -1,60 +1,58 @@ package binnie.core.machines.inventory; enum AccessDirection { - Both, - In, - Out, - Neither; + Both, + In, + Out, + Neither; - boolean canInsert() { - return this == AccessDirection.Both - || this == AccessDirection.In; - } + boolean canInsert() { + return this == AccessDirection.Both || this == AccessDirection.In; + } - boolean canExtract() { - return this == AccessDirection.Both - || this == AccessDirection.Out; - } + boolean canExtract() { + return this == AccessDirection.Both || this == AccessDirection.Out; + } - boolean canAccess() { - return this != AccessDirection.Neither; - } + boolean canAccess() { + return this != AccessDirection.Neither; + } - AccessDirection changeInsert(boolean b) { - if (b) { - if (this == AccessDirection.Out) { - return AccessDirection.Both; - } - if (this == AccessDirection.Neither) { - return AccessDirection.In; - } - } else { - if (this == AccessDirection.Both) { - return AccessDirection.Out; - } - if (this == AccessDirection.In) { - return AccessDirection.Neither; - } - } - return this; - } + AccessDirection changeInsert(boolean b) { + if (b) { + if (this == AccessDirection.Out) { + return AccessDirection.Both; + } + if (this == AccessDirection.Neither) { + return AccessDirection.In; + } + } else { + if (this == AccessDirection.Both) { + return AccessDirection.Out; + } + if (this == AccessDirection.In) { + return AccessDirection.Neither; + } + } + return this; + } - AccessDirection changeExtract(boolean b) { - if (b) { - if (this == AccessDirection.In) { - return AccessDirection.Both; - } - if (this == AccessDirection.Neither) { - return AccessDirection.Out; - } - } else { - if (this == AccessDirection.Both) { - return AccessDirection.In; - } - if (this == AccessDirection.Out) { - return AccessDirection.Neither; - } - } - return this; - } + AccessDirection changeExtract(boolean b) { + if (b) { + if (this == AccessDirection.In) { + return AccessDirection.Both; + } + if (this == AccessDirection.Neither) { + return AccessDirection.Out; + } + } else { + if (this == AccessDirection.Both) { + return AccessDirection.In; + } + if (this == AccessDirection.Out) { + return AccessDirection.Neither; + } + } + return this; + } } diff --git a/src/main/java/binnie/core/machines/inventory/BaseSlot.java b/src/main/java/binnie/core/machines/inventory/BaseSlot.java index a3369aa2..c8b2b516 100644 --- a/src/main/java/binnie/core/machines/inventory/BaseSlot.java +++ b/src/main/java/binnie/core/machines/inventory/BaseSlot.java @@ -2,117 +2,114 @@ package binnie.core.machines.inventory; import binnie.core.util.IValidator; import forestry.api.core.INBTTagable; -import net.minecraftforge.common.util.ForgeDirection; - import java.util.Collection; import java.util.EnumSet; +import net.minecraftforge.common.util.ForgeDirection; public abstract class BaseSlot implements INBTTagable, IValidator { - protected Validator validator; - protected String unlocName; + protected Validator validator; + protected String unlocName; - private SidedAccess access; - private boolean readOnly; - private int index; + private SidedAccess access; + private boolean readOnly; + private int index; - public BaseSlot(int index, String unlocalizedName) { - access = new SidedAccess(); - validator = null; - readOnly = false; - setIndex(index); - setUnlocalizedName(unlocalizedName); - } + public BaseSlot(int index, String unlocalizedName) { + access = new SidedAccess(); + validator = null; + readOnly = false; + setIndex(index); + setUnlocalizedName(unlocalizedName); + } - public void setReadOnly() { - readOnly = true; - forbidInsertion(); - } + public void setReadOnly() { + readOnly = true; + forbidInsertion(); + } - @Override - public boolean isValid(T item) { - return item == null - || validator == null - || validator.isValid(item); - } + @Override + public boolean isValid(T item) { + return item == null || validator == null || validator.isValid(item); + } - public abstract T getContent(); + public abstract T getContent(); - public abstract void setContent(T p0); + public abstract void setContent(T p0); - public void setValidator(Validator validator) { - this.validator = validator; - } + public void setValidator(Validator validator) { + this.validator = validator; + } - public boolean isEmpty() { - return getContent() == null; - } + public boolean isEmpty() { + return getContent() == null; + } - public boolean isReadOnly() { - return readOnly; - } + public boolean isReadOnly() { + return readOnly; + } - public int getIndex() { - return index; - } + public int getIndex() { + return index; + } - private void setIndex(int index) { - this.index = index; - } + private void setIndex(int index) { + this.index = index; + } - public boolean canInsert() { - return !access.getInsertionSides().isEmpty(); - } + public boolean canInsert() { + return !access.getInsertionSides().isEmpty(); + } - public boolean canExtract() { - return !access.getExtractionSides().isEmpty(); - } + public boolean canExtract() { + return !access.getExtractionSides().isEmpty(); + } - public void forbidInteraction() { - forbidInsertion(); - forbidExtraction(); - } + public void forbidInteraction() { + forbidInsertion(); + forbidExtraction(); + } - public void setOutputSides(EnumSet sides) { - for (ForgeDirection side : EnumSet.complementOf(sides)) { - if (side != ForgeDirection.UNKNOWN) { - access.setExtract(side, false); - } - } - } + public void setOutputSides(EnumSet sides) { + for (ForgeDirection side : EnumSet.complementOf(sides)) { + if (side != ForgeDirection.UNKNOWN) { + access.setExtract(side, false); + } + } + } - public void forbidExtraction() { - access.setExtract(false); - access.forbidExtractChange(); - } + public void forbidExtraction() { + access.setExtract(false); + access.forbidExtractChange(); + } - public void forbidInsertion() { - access.setInsert(false); - access.forbidInsertChange(); - } + public void forbidInsertion() { + access.setInsert(false); + access.forbidInsertChange(); + } - public boolean canInsert(ForgeDirection dir) { - return access.canInsert(dir); - } + public boolean canInsert(ForgeDirection dir) { + return access.canInsert(dir); + } - public boolean canExtract(ForgeDirection dir) { - return access.canExtract(dir); - } + public boolean canExtract(ForgeDirection dir) { + return access.canExtract(dir); + } - public Collection getInputSides() { - return access.getInsertionSides(); - } + public Collection getInputSides() { + return access.getInsertionSides(); + } - public Collection getOutputSides() { - return access.getExtractionSides(); - } + public Collection getOutputSides() { + return access.getExtractionSides(); + } - public void setUnlocalizedName(String name) { - unlocName = name; - } + public void setUnlocalizedName(String name) { + unlocName = name; + } - public abstract String getName(); + public abstract String getName(); - public Validator getValidator() { - return validator; - } + public Validator getValidator() { + return validator; + } } diff --git a/src/main/java/binnie/core/machines/inventory/ComponentChargedSlots.java b/src/main/java/binnie/core/machines/inventory/ComponentChargedSlots.java index d87f3b9a..152695c4 100644 --- a/src/main/java/binnie/core/machines/inventory/ComponentChargedSlots.java +++ b/src/main/java/binnie/core/machines/inventory/ComponentChargedSlots.java @@ -4,97 +4,96 @@ import binnie.core.machines.Machine; import binnie.core.machines.MachineComponent; import binnie.core.machines.network.INetwork; import cpw.mods.fml.relauncher.Side; +import java.util.HashMap; +import java.util.Map; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import java.util.HashMap; -import java.util.Map; - public class ComponentChargedSlots extends MachineComponent implements INetwork.GuiNBT, IChargedSlots { - private Map charges = new HashMap<>(); + private Map charges = new HashMap<>(); - public ComponentChargedSlots(Machine machine) { - super(machine); - } + public ComponentChargedSlots(Machine machine) { + super(machine); + } - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - charges.clear(); - NBTTagList list = nbttagcompound.getTagList("charges", 10); - for (int i = 0; i < list.tagCount(); ++i) { - NBTTagCompound tag = list.getCompoundTagAt(i); - charges.put((int) tag.getByte("i"), tag.getByte("v") / 100.0f); - } - } + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + super.readFromNBT(nbttagcompound); + charges.clear(); + NBTTagList list = nbttagcompound.getTagList("charges", 10); + for (int i = 0; i < list.tagCount(); ++i) { + NBTTagCompound tag = list.getCompoundTagAt(i); + charges.put((int) tag.getByte("i"), tag.getByte("v") / 100.0f); + } + } - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - NBTTagList chargeList = new NBTTagList(); - for (Map.Entry entry : charges.entrySet()) { - NBTTagCompound chargesNBT = new NBTTagCompound(); - chargesNBT.setByte("i", (byte) (0 + entry.getKey())); - chargesNBT.setByte("v", (byte) (entry.getValue() * 100.0f)); - chargeList.appendTag(chargesNBT); - } - nbttagcompound.setTag("charges", chargeList); - } + @Override + public void writeToNBT(NBTTagCompound nbttagcompound) { + super.writeToNBT(nbttagcompound); + NBTTagList chargeList = new NBTTagList(); + for (Map.Entry entry : charges.entrySet()) { + NBTTagCompound chargesNBT = new NBTTagCompound(); + chargesNBT.setByte("i", (byte) (0 + entry.getKey())); + chargesNBT.setByte("v", (byte) (entry.getValue() * 100.0f)); + chargeList.appendTag(chargesNBT); + } + nbttagcompound.setTag("charges", chargeList); + } - public void addCharge(int slot) { - charges.put(slot, 0.0f); - } + public void addCharge(int slot) { + charges.put(slot, 0.0f); + } - @Override - public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { - if (!name.equals("slot-charges")) { - return; - } + @Override + public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { + if (!name.equals("slot-charges")) { + return; + } - for (int i : charges.keySet()) { - charges.put(i, nbt.getShort("" + i) / 100.0f); - } - } + for (int i : charges.keySet()) { + charges.put(i, nbt.getShort("" + i) / 100.0f); + } + } - @Override - public void sendGuiNBT(Map nbts) { - NBTTagCompound tag = new NBTTagCompound(); - for (int i : charges.keySet()) { - tag.setShort("" + i, (short) (charges.get(i) * 100.0f)); - } - nbts.put("slot-charges", tag); - } + @Override + public void sendGuiNBT(Map nbts) { + NBTTagCompound tag = new NBTTagCompound(); + for (int i : charges.keySet()) { + tag.setShort("" + i, (short) (charges.get(i) * 100.0f)); + } + nbts.put("slot-charges", tag); + } - @Override - public float getCharge(int slot) { - return charges.getOrDefault(slot, 0.0f); - } + @Override + public float getCharge(int slot) { + return charges.getOrDefault(slot, 0.0f); + } - @Override - public void setCharge(int slot, float value) { - if (value > 1.0f) { - value = 1.0f; - } - if (value < 0.0f) { - value = 0.0f; - } - if (charges.containsKey(slot)) { - charges.put(slot, value); - } - } + @Override + public void setCharge(int slot, float value) { + if (value > 1.0f) { + value = 1.0f; + } + if (value < 0.0f) { + value = 0.0f; + } + if (charges.containsKey(slot)) { + charges.put(slot, value); + } + } - @Override - public void onUpdate() { - for (int slot : charges.keySet()) { - if (getCharge(slot) <= 0.0f && getUtil().decreaseStack(slot, 1) != null) { - setCharge(slot, 1.0f); - } - } - } + @Override + public void onUpdate() { + for (int slot : charges.keySet()) { + if (getCharge(slot) <= 0.0f && getUtil().decreaseStack(slot, 1) != null) { + setCharge(slot, 1.0f); + } + } + } - @Override - public void alterCharge(int slot, float value) { - setCharge(slot, getCharge(slot) + value); - } + @Override + public void alterCharge(int slot, float value) { + setCharge(slot, getCharge(slot) + value); + } } diff --git a/src/main/java/binnie/core/machines/inventory/ComponentInventory.java b/src/main/java/binnie/core/machines/inventory/ComponentInventory.java index 9c1be4dd..ee713930 100644 --- a/src/main/java/binnie/core/machines/inventory/ComponentInventory.java +++ b/src/main/java/binnie/core/machines/inventory/ComponentInventory.java @@ -5,15 +5,15 @@ import binnie.core.machines.MachineComponent; import net.minecraft.inventory.IInventory; public abstract class ComponentInventory extends MachineComponent implements IInventory { - public ComponentInventory(IMachine machine) { - super(machine); - } + public ComponentInventory(IMachine machine) { + super(machine); + } - @Override - public void markDirty() { - IMachine machine = getMachine(); - if (machine != null) { - machine.markDirty(); - } - } + @Override + public void markDirty() { + IMachine machine = getMachine(); + if (machine != null) { + machine.markDirty(); + } + } } diff --git a/src/main/java/binnie/core/machines/inventory/ComponentInventorySlots.java b/src/main/java/binnie/core/machines/inventory/ComponentInventorySlots.java index 185fea8f..f572e5ce 100644 --- a/src/main/java/binnie/core/machines/inventory/ComponentInventorySlots.java +++ b/src/main/java/binnie/core/machines/inventory/ComponentInventorySlots.java @@ -1,6 +1,11 @@ package binnie.core.machines.inventory; import binnie.core.machines.IMachine; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -10,224 +15,223 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Random; - public class ComponentInventorySlots extends ComponentInventory implements IInventoryMachine, IInventorySlots { - private Map inventory = new LinkedHashMap<>(); + private Map inventory = new LinkedHashMap<>(); - public ComponentInventorySlots(IMachine machine) { - super(machine); - } + public ComponentInventorySlots(IMachine machine) { + super(machine); + } - @Override - public int getSizeInventory() { - int size = 0; - for (Integer index : inventory.keySet()) { - size = Math.max(size, index + 1); - } - return size; - } + @Override + public int getSizeInventory() { + int size = 0; + for (Integer index : inventory.keySet()) { + size = Math.max(size, index + 1); + } + return size; + } - @Override - public ItemStack getStackInSlot(int index) { - if (inventory.containsKey(index)) { - return inventory.get(index).getContent(); - } - return null; - } + @Override + public ItemStack getStackInSlot(int index) { + if (inventory.containsKey(index)) { + return inventory.get(index).getContent(); + } + return null; + } - @Override - public ItemStack decrStackSize(int index, int amount) { - if (inventory.containsKey(index)) { - ItemStack stack = inventory.get(index).decrStackSize(amount); - markDirty(); - return stack; - } - return null; - } + @Override + public ItemStack decrStackSize(int index, int amount) { + if (inventory.containsKey(index)) { + ItemStack stack = inventory.get(index).decrStackSize(amount); + markDirty(); + return stack; + } + return null; + } - @Override - public ItemStack getStackInSlotOnClosing(int var1) { - return null; - } + @Override + public ItemStack getStackInSlotOnClosing(int var1) { + return null; + } - @Override - public void setInventorySlotContents(int index, ItemStack itemStack) { - if (inventory.containsKey(index) && (itemStack == null || inventory.get(index).isValid(itemStack))) { - inventory.get(index).setContent(itemStack); - } - markDirty(); - } + @Override + public void setInventorySlotContents(int index, ItemStack itemStack) { + if (inventory.containsKey(index) + && (itemStack == null || inventory.get(index).isValid(itemStack))) { + inventory.get(index).setContent(itemStack); + } + markDirty(); + } - @Override - public String getInventoryName() { - return ""; - } + @Override + public String getInventoryName() { + return ""; + } - @Override - public int getInventoryStackLimit() { - return 64; - } + @Override + public int getInventoryStackLimit() { + return 64; + } - @Override - public boolean isUseableByPlayer(EntityPlayer var1) { - return true; - } + @Override + public boolean isUseableByPlayer(EntityPlayer var1) { + return true; + } - @Override - public void openInventory() { - // ignored - } + @Override + public void openInventory() { + // ignored + } - @Override - public void closeInventory() { - // ignored - } + @Override + public void closeInventory() { + // ignored + } - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - if (nbttagcompound.hasKey("inventory")) { - NBTTagList inventoryNBT = nbttagcompound.getTagList("inventory", 10); - for (int i = 0; i < inventoryNBT.tagCount(); ++i) { - NBTTagCompound slotNBT = inventoryNBT.getCompoundTagAt(i); - int index = slotNBT.getInteger("id"); - if (slotNBT.hasKey("Slot")) { - index = (slotNBT.getByte("Slot") & 0xFF); - } - if (inventory.containsKey(index)) { - inventory.get(index).readFromNBT(slotNBT); - } - } - } - markDirty(); - } + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + super.readFromNBT(nbttagcompound); + if (nbttagcompound.hasKey("inventory")) { + NBTTagList inventoryNBT = nbttagcompound.getTagList("inventory", 10); + for (int i = 0; i < inventoryNBT.tagCount(); ++i) { + NBTTagCompound slotNBT = inventoryNBT.getCompoundTagAt(i); + int index = slotNBT.getInteger("id"); + if (slotNBT.hasKey("Slot")) { + index = (slotNBT.getByte("Slot") & 0xFF); + } + if (inventory.containsKey(index)) { + inventory.get(index).readFromNBT(slotNBT); + } + } + } + markDirty(); + } - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - NBTTagList inventoryNBT = new NBTTagList(); - for (Map.Entry entry : inventory.entrySet()) { - NBTTagCompound slotNBT = new NBTTagCompound(); - slotNBT.setInteger("id", entry.getKey()); - entry.getValue().writeToNBT(slotNBT); - inventoryNBT.appendTag(slotNBT); - } - nbttagcompound.setTag("inventory", inventoryNBT); - } + @Override + public void writeToNBT(NBTTagCompound nbttagcompound) { + super.writeToNBT(nbttagcompound); + NBTTagList inventoryNBT = new NBTTagList(); + for (Map.Entry entry : inventory.entrySet()) { + NBTTagCompound slotNBT = new NBTTagCompound(); + slotNBT.setInteger("id", entry.getKey()); + entry.getValue().writeToNBT(slotNBT); + inventoryNBT.appendTag(slotNBT); + } + nbttagcompound.setTag("inventory", inventoryNBT); + } - @Override - public InventorySlot addSlot(int index, String unlocalizedName) { - inventory.put(index, new InventorySlot(index, unlocalizedName)); - return getSlot(index); - } + @Override + public InventorySlot addSlot(int index, String unlocalizedName) { + inventory.put(index, new InventorySlot(index, unlocalizedName)); + return getSlot(index); + } - @Override - public InventorySlot[] addSlotArray(int[] indexes, String unlocalizedName) { - for (int k : indexes) { - addSlot(k, unlocalizedName); - } - return getSlots(indexes); - } + @Override + public InventorySlot[] addSlotArray(int[] indexes, String unlocalizedName) { + for (int k : indexes) { + addSlot(k, unlocalizedName); + } + return getSlots(indexes); + } - @Override - public InventorySlot getSlot(int index) { - if (inventory.containsKey(index)) { - return inventory.get(index); - } - return null; - } + @Override + public InventorySlot getSlot(int index) { + if (inventory.containsKey(index)) { + return inventory.get(index); + } + return null; + } - @Override - public InventorySlot[] getAllSlots() { - return inventory.values().toArray(new InventorySlot[0]); - } + @Override + public InventorySlot[] getAllSlots() { + return inventory.values().toArray(new InventorySlot[0]); + } - @Override - public InventorySlot[] getSlots(int[] indexes) { - List list = new ArrayList<>(); - for (int i : indexes) { - if (getSlot(i) != null) { - list.add(getSlot(i)); - } - } - return list.toArray(new InventorySlot[0]); - } + @Override + public InventorySlot[] getSlots(int[] indexes) { + List list = new ArrayList<>(); + for (int i : indexes) { + if (getSlot(i) != null) { + list.add(getSlot(i)); + } + } + return list.toArray(new InventorySlot[0]); + } - @Override - public boolean isReadOnly(int slot) { - InventorySlot iSlot = getSlot(slot); - return iSlot == null || iSlot.isReadOnly(); - } + @Override + public boolean isReadOnly(int slot) { + InventorySlot iSlot = getSlot(slot); + return iSlot == null || iSlot.isReadOnly(); + } - @Override - public boolean hasCustomInventoryName() { - return true; - } + @Override + public boolean hasCustomInventoryName() { + return true; + } - @Override - public boolean isItemValidForSlot(int slot, ItemStack itemStack) { - InventorySlot iSlot = getSlot(slot); - return iSlot != null && (iSlot.isValid(itemStack) && !isReadOnly(slot)); - } + @Override + public boolean isItemValidForSlot(int slot, ItemStack itemStack) { + InventorySlot iSlot = getSlot(slot); + return iSlot != null && (iSlot.isValid(itemStack) && !isReadOnly(slot)); + } - @Override - public void onDestruction() { - for (InventorySlot slot : inventory.values()) { - ItemStack stack = slot.getContent(); - if (slot.isRecipe() || stack == null) { - continue; - } - - IMachine machine = getMachine(); - World world = machine.getWorld(); - Random rand = world.rand; - TileEntity tileEntity = machine.getTileEntity(); - float xOffset = rand.nextFloat() * 0.8f + 0.1f; - float yOffset = rand.nextFloat() * 0.8f + 0.1f; - float zOffset = rand.nextFloat() * 0.8f + 0.1f; - - if (stack.stackSize == 0) { - stack.stackSize = 1; - } + @Override + public void onDestruction() { + for (InventorySlot slot : inventory.values()) { + ItemStack stack = slot.getContent(); + if (slot.isRecipe() || stack == null) { + continue; + } - EntityItem entityItem = new EntityItem(world, tileEntity.xCoord + xOffset, tileEntity.yCoord + yOffset, tileEntity.zCoord + zOffset, stack.copy()); - float accel = 0.05f; - entityItem.motionX = (float) rand.nextGaussian() * accel; - entityItem.motionY = (float) rand.nextGaussian() * accel + 0.2f; - entityItem.motionZ = (float) rand.nextGaussian() * accel; - world.spawnEntityInWorld(entityItem); - } - } + IMachine machine = getMachine(); + World world = machine.getWorld(); + Random rand = world.rand; + TileEntity tileEntity = machine.getTileEntity(); + float xOffset = rand.nextFloat() * 0.8f + 0.1f; + float yOffset = rand.nextFloat() * 0.8f + 0.1f; + float zOffset = rand.nextFloat() * 0.8f + 0.1f; - @Override - public int[] getAccessibleSlotsFromSide(int var1) { - List slots = new ArrayList<>(); - for (InventorySlot slot : inventory.values()) { - if (slot.canInsert() || slot.canExtract()) { - slots.add(slot.getIndex()); - } - } + if (stack.stackSize == 0) { + stack.stackSize = 1; + } - int[] ids = new int[slots.size()]; - for (int i = 0; i < slots.size(); ++i) { - ids[i] = slots.get(i); - } - return ids; - } + EntityItem entityItem = new EntityItem( + world, + tileEntity.xCoord + xOffset, + tileEntity.yCoord + yOffset, + tileEntity.zCoord + zOffset, + stack.copy()); + float accel = 0.05f; + entityItem.motionX = (float) rand.nextGaussian() * accel; + entityItem.motionY = (float) rand.nextGaussian() * accel + 0.2f; + entityItem.motionZ = (float) rand.nextGaussian() * accel; + world.spawnEntityInWorld(entityItem); + } + } - @Override - public boolean canInsertItem(int slot, ItemStack itemstack, int direction) { - return isItemValidForSlot(slot, itemstack) - && getSlot(slot).canInsert(ForgeDirection.getOrientation(direction)); - } + @Override + public int[] getAccessibleSlotsFromSide(int var1) { + List slots = new ArrayList<>(); + for (InventorySlot slot : inventory.values()) { + if (slot.canInsert() || slot.canExtract()) { + slots.add(slot.getIndex()); + } + } - @Override - public boolean canExtractItem(int slot, ItemStack itemstack, int direction) { - return getSlot(slot).canExtract(ForgeDirection.getOrientation(direction)); - } + int[] ids = new int[slots.size()]; + for (int i = 0; i < slots.size(); ++i) { + ids[i] = slots.get(i); + } + return ids; + } + + @Override + public boolean canInsertItem(int slot, ItemStack itemstack, int direction) { + return isItemValidForSlot(slot, itemstack) && getSlot(slot).canInsert(ForgeDirection.getOrientation(direction)); + } + + @Override + public boolean canExtractItem(int slot, ItemStack itemstack, int direction) { + return getSlot(slot).canExtract(ForgeDirection.getOrientation(direction)); + } } diff --git a/src/main/java/binnie/core/machines/inventory/ComponentInventoryTransfer.java b/src/main/java/binnie/core/machines/inventory/ComponentInventoryTransfer.java index ce8bf0a5..006b8d12 100644 --- a/src/main/java/binnie/core/machines/inventory/ComponentInventoryTransfer.java +++ b/src/main/java/binnie/core/machines/inventory/ComponentInventoryTransfer.java @@ -3,152 +3,149 @@ package binnie.core.machines.inventory; import binnie.core.machines.IMachine; import binnie.core.machines.MachineComponent; import binnie.core.machines.transfer.TransferRequest; +import java.util.ArrayList; +import java.util.List; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; -import java.util.ArrayList; -import java.util.List; - public class ComponentInventoryTransfer extends MachineComponent { - private List transfers = new ArrayList<>(); - private ITransferRestockListener transferListener; + private List transfers = new ArrayList<>(); + private ITransferRestockListener transferListener; - public ComponentInventoryTransfer(IMachine machine) { - super(machine); - } + public ComponentInventoryTransfer(IMachine machine) { + super(machine); + } - public void addRestock(int[] buffer, int destination, int limit) { - transfers.add(new Restock(getMachine(), buffer, destination, limit)); - } + public void addRestock(int[] buffer, int destination, int limit) { + transfers.add(new Restock(getMachine(), buffer, destination, limit)); + } - public void addRestock(int[] buffer, int destination) { - transfers.add(new Restock(getMachine(), buffer, destination)); - } + public void addRestock(int[] buffer, int destination) { + transfers.add(new Restock(getMachine(), buffer, destination)); + } - public void addStorage(int source, int[] destination) { - transfers.add(new Storage(getMachine(), source, destination)); - } + public void addStorage(int source, int[] destination) { + transfers.add(new Storage(getMachine(), source, destination)); + } - @Override - public void onUpdate() { - for (Transfer transfer : transfers) { - transfer.transfer(getMachine().getInterface(IInventoryMachine.class)); - } - } + @Override + public void onUpdate() { + for (Transfer transfer : transfers) { + transfer.transfer(getMachine().getInterface(IInventoryMachine.class)); + } + } - public void addStorage(int source, int[] destination, Condition condition) { - transfers.add(new Storage(getMachine(), source, destination).setCondition(condition)); - } + public void addStorage(int source, int[] destination, Condition condition) { + transfers.add(new Storage(getMachine(), source, destination).setCondition(condition)); + } - public void setTransferListener(ITransferRestockListener transferListener) { - this.transferListener = transferListener; - } + public void setTransferListener(ITransferRestockListener transferListener) { + this.transferListener = transferListener; + } - public abstract class Transfer { - protected Condition condition; - protected IMachine machine; + public abstract class Transfer { + protected Condition condition; + protected IMachine machine; - private Transfer(IMachine machine) { - this.machine = machine; - } + private Transfer(IMachine machine) { + this.machine = machine; + } - public void transfer(IInventory inv) { - if (condition == null || fufilled(inv)) { - doTransfer(inv); - } - } + public void transfer(IInventory inv) { + if (condition == null || fufilled(inv)) { + doTransfer(inv); + } + } - protected boolean fufilled(IInventory inv) { - return true; - } + protected boolean fufilled(IInventory inv) { + return true; + } - protected void doTransfer(IInventory inv) { - } + protected void doTransfer(IInventory inv) {} - public Transfer setCondition(Condition condition) { - this.condition = condition; - return condition.transfer = this; - } + public Transfer setCondition(Condition condition) { + this.condition = condition; + return condition.transfer = this; + } - public IMachine getMachine() { - return machine; - } - } + public IMachine getMachine() { + return machine; + } + } - private class Restock extends Transfer { - private int[] buffer; - private int destination; - private int limit; + private class Restock extends Transfer { + private int[] buffer; + private int destination; + private int limit; - private Restock(IMachine machine, int[] buffer, int destination, int limit) { - super(machine); - this.buffer = buffer; - this.destination = destination; - this.limit = limit; - } + private Restock(IMachine machine, int[] buffer, int destination, int limit) { + super(machine); + this.buffer = buffer; + this.destination = destination; + this.limit = limit; + } - private Restock(IMachine machine, int[] buffer, int destination) { - this(machine, buffer, destination, 64); - } + private Restock(IMachine machine, int[] buffer, int destination) { + this(machine, buffer, destination, 64); + } - @Override - protected void doTransfer(IInventory inv) { - if (inv.getStackInSlot(destination) != null) { - return; - } + @Override + protected void doTransfer(IInventory inv) { + if (inv.getStackInSlot(destination) != null) { + return; + } - for (int slot : buffer) { - if (inv.getStackInSlot(slot) == null) { - continue; - } + for (int slot : buffer) { + if (inv.getStackInSlot(slot) == null) { + continue; + } - ItemStack newStack = inv.decrStackSize(slot, limit); - if (newStack != null) { - inv.setInventorySlotContents(destination, newStack); - if (transferListener != null) { - transferListener.onRestock(destination); - } - return; - } - } - } - } + ItemStack newStack = inv.decrStackSize(slot, limit); + if (newStack != null) { + inv.setInventorySlotContents(destination, newStack); + if (transferListener != null) { + transferListener.onRestock(destination); + } + return; + } + } + } + } - private class Storage extends Transfer { - private int source; - private int[] destination; + private class Storage extends Transfer { + private int source; + private int[] destination; - private Storage(IMachine machine, int source, int[] destination) { - super(machine); - this.source = source; - this.destination = destination; - } + private Storage(IMachine machine, int source, int[] destination) { + super(machine); + this.source = source; + this.destination = destination; + } - @Override - protected void doTransfer(IInventory inv) { - if (inv.getStackInSlot(source) != null) { - TransferRequest request = new TransferRequest(inv.getStackInSlot(source), inv); - ItemStack itemStack = request.setTargetSlots(destination) - .ignoreValidation() - .transfer(true); - inv.setInventorySlotContents(source, itemStack); - } - } + @Override + protected void doTransfer(IInventory inv) { + if (inv.getStackInSlot(source) != null) { + TransferRequest request = new TransferRequest(inv.getStackInSlot(source), inv); + ItemStack itemStack = + request.setTargetSlots(destination).ignoreValidation().transfer(true); + inv.setInventorySlotContents(source, itemStack); + } + } - @Override - protected boolean fufilled(IInventory inv) { - ItemStack stack = inv.getStackInSlot(source); - return stack != null && condition.fufilled(stack); - } - } + @Override + protected boolean fufilled(IInventory inv) { + ItemStack stack = inv.getStackInSlot(source); + return stack != null && condition.fufilled(stack); + } + } - public abstract static class Condition { - public Transfer transfer; + public abstract static class Condition { + public Transfer transfer; - public abstract boolean fufilled(ItemStack p0); - } - - public interface ITransferRestockListener { - void onRestock(int target); - } + public abstract boolean fufilled(ItemStack p0); + } + + public interface ITransferRestockListener { + void onRestock(int target); + } } diff --git a/src/main/java/binnie/core/machines/inventory/ComponentTankContainer.java b/src/main/java/binnie/core/machines/inventory/ComponentTankContainer.java index a7e0044c..330902ff 100644 --- a/src/main/java/binnie/core/machines/inventory/ComponentTankContainer.java +++ b/src/main/java/binnie/core/machines/inventory/ComponentTankContainer.java @@ -4,6 +4,10 @@ import binnie.core.machines.IMachine; import binnie.core.machines.MachineComponent; import binnie.core.machines.power.ITankMachine; import binnie.core.machines.power.TankInfo; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraftforge.common.util.ForgeDirection; @@ -12,186 +16,182 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidTank; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - public class ComponentTankContainer extends MachineComponent implements ITankMachine { - private Map tanks = new LinkedHashMap<>(); + private Map tanks = new LinkedHashMap<>(); - public ComponentTankContainer(IMachine machine) { - super(machine); - } + public ComponentTankContainer(IMachine machine) { + super(machine); + } - @Override - public TankSlot addTank(int index, String name, int capacity) { - TankSlot tank = new TankSlot(index, name, capacity); - tanks.put(index, tank); - return tank; - } + @Override + public TankSlot addTank(int index, String name, int capacity) { + TankSlot tank = new TankSlot(index, name, capacity); + tanks.put(index, tank); + return tank; + } - @Override - public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { - int index = getTankIndexToFill(from, resource); - if (tanks.containsKey(index)) { - return fill(index, resource, doFill); - } - return 0; - } + @Override + public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { + int index = getTankIndexToFill(from, resource); + if (tanks.containsKey(index)) { + return fill(index, resource, doFill); + } + return 0; + } - @Override - public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { - int index = getTankIndexToDrain(from, null); - if (tanks.containsKey(index)) { - return drain(index, maxDrain, doDrain); - } - return null; - } + @Override + public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) { + int index = getTankIndexToDrain(from, null); + if (tanks.containsKey(index)) { + return drain(index, maxDrain, doDrain); + } + return null; + } - private int fill(int tankIndex, FluidStack resource, boolean doFill) { - if (!tanks.containsKey(tankIndex) || - !isLiquidValidForTank(resource, tankIndex)) { - return 0; - } + private int fill(int tankIndex, FluidStack resource, boolean doFill) { + if (!tanks.containsKey(tankIndex) || !isLiquidValidForTank(resource, tankIndex)) { + return 0; + } - TankSlot tank = tanks.get(tankIndex); - int filled = tank.getTank().fill(resource, doFill); - if (filled > 0) { - markDirty(); - } - return filled; - } + TankSlot tank = tanks.get(tankIndex); + int filled = tank.getTank().fill(resource, doFill); + if (filled > 0) { + markDirty(); + } + return filled; + } - private FluidStack drain(int tankIndex, int maxDrain, boolean doDrain) { - if (!tanks.containsKey(tankIndex)) { - return null; - } + private FluidStack drain(int tankIndex, int maxDrain, boolean doDrain) { + if (!tanks.containsKey(tankIndex)) { + return null; + } - TankSlot tank = tanks.get(tankIndex); - FluidStack drained = tank.getTank().drain(maxDrain, doDrain); - if (drained != null) { - markDirty(); - } - return drained; - } + TankSlot tank = tanks.get(tankIndex); + FluidStack drained = tank.getTank().drain(maxDrain, doDrain); + if (drained != null) { + markDirty(); + } + return drained; + } - private int getTankIndexToFill(ForgeDirection from, FluidStack resource) { - for (TankSlot tank : tanks.values()) { - if (tank.isValid(resource) && tank.canInsert(from) && (tank.getContent() == null || tank.getContent().isFluidEqual(resource))) { - return tank.getIndex(); - } - } - return -1; - } + private int getTankIndexToFill(ForgeDirection from, FluidStack resource) { + for (TankSlot tank : tanks.values()) { + if (tank.isValid(resource) + && tank.canInsert(from) + && (tank.getContent() == null || tank.getContent().isFluidEqual(resource))) { + return tank.getIndex(); + } + } + return -1; + } - private int getTankIndexToDrain(ForgeDirection from, FluidStack resource) { - for (TankSlot tank : tanks.values()) { - if (tank.getContent() != null && tank.canExtract(from) && (resource == null || resource.isFluidEqual(tank.getContent()))) { - return tank.getIndex(); - } - } - return -1; - } + private int getTankIndexToDrain(ForgeDirection from, FluidStack resource) { + for (TankSlot tank : tanks.values()) { + if (tank.getContent() != null + && tank.canExtract(from) + && (resource == null || resource.isFluidEqual(tank.getContent()))) { + return tank.getIndex(); + } + } + return -1; + } - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - if (!nbttagcompound.hasKey("liquidTanks")) { - return; - } + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + super.readFromNBT(nbttagcompound); + if (!nbttagcompound.hasKey("liquidTanks")) { + return; + } - NBTTagList tanksNBT = nbttagcompound.getTagList("liquidTanks", 10); - for (int i = 0; i < tanksNBT.tagCount(); ++i) { - NBTTagCompound tankNBT = tanksNBT.getCompoundTagAt(i); - int index = tankNBT.getInteger("index"); - if (tanks.containsKey(index)) { - tanks.get(index).readFromNBT(tankNBT); - } - } - } + NBTTagList tanksNBT = nbttagcompound.getTagList("liquidTanks", 10); + for (int i = 0; i < tanksNBT.tagCount(); ++i) { + NBTTagCompound tankNBT = tanksNBT.getCompoundTagAt(i); + int index = tankNBT.getInteger("index"); + if (tanks.containsKey(index)) { + tanks.get(index).readFromNBT(tankNBT); + } + } + } - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - NBTTagList tanksNBT = new NBTTagList(); - for (Map.Entry entry : tanks.entrySet()) { - NBTTagCompound tankNBT = new NBTTagCompound(); - tankNBT.setInteger("index", entry.getKey()); - entry.getValue().writeToNBT(tankNBT); - tanksNBT.appendTag(tankNBT); - } - nbttagcompound.setTag("liquidTanks", tanksNBT); - } + @Override + public void writeToNBT(NBTTagCompound nbttagcompound) { + super.writeToNBT(nbttagcompound); + NBTTagList tanksNBT = new NBTTagList(); + for (Map.Entry entry : tanks.entrySet()) { + NBTTagCompound tankNBT = new NBTTagCompound(); + tankNBT.setInteger("index", entry.getKey()); + entry.getValue().writeToNBT(tankNBT); + tanksNBT.appendTag(tankNBT); + } + nbttagcompound.setTag("liquidTanks", tanksNBT); + } - @Override - public boolean isTankReadOnly(int tank) { - return tanks.get(tank).isReadOnly(); - } + @Override + public boolean isTankReadOnly(int tank) { + return tanks.get(tank).isReadOnly(); + } - @Override - public boolean isLiquidValidForTank(FluidStack liquid, int tank) { - TankSlot slot = getTankSlot(tank); - return slot != null - && slot.isValid(liquid) - && !slot.isReadOnly(); - } + @Override + public boolean isLiquidValidForTank(FluidStack liquid, int tank) { + TankSlot slot = getTankSlot(tank); + return slot != null && slot.isValid(liquid) && !slot.isReadOnly(); + } - @Override - public TankInfo[] getTankInfos() { - return TankInfo.get(this); - } + @Override + public TankInfo[] getTankInfos() { + return TankInfo.get(this); + } - @Override - public IFluidTank getTank(int index) { - return getTanks()[index]; - } + @Override + public IFluidTank getTank(int index) { + return getTanks()[index]; + } - @Override - public IFluidTank[] getTanks() { - List ltanks = new ArrayList<>(); - for (TankSlot tank : tanks.values()) { - ltanks.add(tank.getTank()); - } - return ltanks.toArray(new IFluidTank[0]); - } + @Override + public IFluidTank[] getTanks() { + List ltanks = new ArrayList<>(); + for (TankSlot tank : tanks.values()) { + ltanks.add(tank.getTank()); + } + return ltanks.toArray(new IFluidTank[0]); + } - @Override - public TankSlot getTankSlot(int slot) { - return tanks.get(slot); - } + @Override + public TankSlot getTankSlot(int slot) { + return tanks.get(slot); + } - @Override - public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { - int index = getTankIndexToDrain(from, null); - if (!tanks.containsKey(index)) { - return null; - } - return drain(index, resource.amount, doDrain); - } + @Override + public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { + int index = getTankIndexToDrain(from, null); + if (!tanks.containsKey(index)) { + return null; + } + return drain(index, resource.amount, doDrain); + } - @Override - public boolean canFill(ForgeDirection from, Fluid fluid) { - return fill(from, new FluidStack(fluid, 1), false) > 0; - } + @Override + public boolean canFill(ForgeDirection from, Fluid fluid) { + return fill(from, new FluidStack(fluid, 1), false) > 0; + } - @Override - public boolean canDrain(ForgeDirection from, Fluid fluid) { - return drain(from, new FluidStack(fluid, 1), false) != null; - } + @Override + public boolean canDrain(ForgeDirection from, Fluid fluid) { + return drain(from, new FluidStack(fluid, 1), false) != null; + } - @Override - public FluidTankInfo[] getTankInfo(ForgeDirection from) { - FluidTankInfo[] info = new FluidTankInfo[getTanks().length]; - for (int i = 0; i < info.length; ++i) { - info[i] = new FluidTankInfo(getTanks()[i]); - } - return info; - } + @Override + public FluidTankInfo[] getTankInfo(ForgeDirection from) { + FluidTankInfo[] info = new FluidTankInfo[getTanks().length]; + for (int i = 0; i < info.length; ++i) { + info[i] = new FluidTankInfo(getTanks()[i]); + } + return info; + } - public void markDirty() { - if (getMachine() != null) { - getMachine().markDirty(); - } - } + public void markDirty() { + if (getMachine() != null) { + getMachine().markDirty(); + } + } } diff --git a/src/main/java/binnie/core/machines/inventory/IChargedSlots.java b/src/main/java/binnie/core/machines/inventory/IChargedSlots.java index 85c7e587..44a60e07 100644 --- a/src/main/java/binnie/core/machines/inventory/IChargedSlots.java +++ b/src/main/java/binnie/core/machines/inventory/IChargedSlots.java @@ -1,9 +1,9 @@ package binnie.core.machines.inventory; public interface IChargedSlots { - float getCharge(int slot); + float getCharge(int slot); - void setCharge(int slot, float value); + void setCharge(int slot, float value); - void alterCharge(int slot, float value); + void alterCharge(int slot, float value); } diff --git a/src/main/java/binnie/core/machines/inventory/IInventoryMachine.java b/src/main/java/binnie/core/machines/inventory/IInventoryMachine.java index 752a3115..5733b98b 100644 --- a/src/main/java/binnie/core/machines/inventory/IInventoryMachine.java +++ b/src/main/java/binnie/core/machines/inventory/IInventoryMachine.java @@ -3,5 +3,4 @@ package binnie.core.machines.inventory; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; -public interface IInventoryMachine extends IInventory, ISidedInventory, IValidatedInventory { -} +public interface IInventoryMachine extends IInventory, ISidedInventory, IValidatedInventory {} diff --git a/src/main/java/binnie/core/machines/inventory/IInventorySlots.java b/src/main/java/binnie/core/machines/inventory/IInventorySlots.java index 946d53ad..2de2899f 100644 --- a/src/main/java/binnie/core/machines/inventory/IInventorySlots.java +++ b/src/main/java/binnie/core/machines/inventory/IInventorySlots.java @@ -1,13 +1,13 @@ package binnie.core.machines.inventory; public interface IInventorySlots { - InventorySlot addSlot(int index, String unlocalizedName); + InventorySlot addSlot(int index, String unlocalizedName); - InventorySlot[] addSlotArray(int[] indexes, String unlocalizedName); + InventorySlot[] addSlotArray(int[] indexes, String unlocalizedName); - InventorySlot getSlot(int index); + InventorySlot getSlot(int index); - InventorySlot[] getSlots(int[] indexes); + InventorySlot[] getSlots(int[] indexes); - InventorySlot[] getAllSlots(); + InventorySlot[] getAllSlots(); } diff --git a/src/main/java/binnie/core/machines/inventory/IValidatedInventory.java b/src/main/java/binnie/core/machines/inventory/IValidatedInventory.java index ed34b69c..8ca83634 100644 --- a/src/main/java/binnie/core/machines/inventory/IValidatedInventory.java +++ b/src/main/java/binnie/core/machines/inventory/IValidatedInventory.java @@ -3,5 +3,5 @@ package binnie.core.machines.inventory; import net.minecraft.inventory.IInventory; interface IValidatedInventory extends IInventory { - boolean isReadOnly(int slot); + boolean isReadOnly(int slot); } diff --git a/src/main/java/binnie/core/machines/inventory/IValidatedTankContainer.java b/src/main/java/binnie/core/machines/inventory/IValidatedTankContainer.java index b3e609b0..286ce38c 100644 --- a/src/main/java/binnie/core/machines/inventory/IValidatedTankContainer.java +++ b/src/main/java/binnie/core/machines/inventory/IValidatedTankContainer.java @@ -3,7 +3,7 @@ package binnie.core.machines.inventory; import net.minecraftforge.fluids.FluidStack; public interface IValidatedTankContainer { - boolean isTankReadOnly(int tank); + boolean isTankReadOnly(int tank); - boolean isLiquidValidForTank(FluidStack liquid, int tank); + boolean isLiquidValidForTank(FluidStack liquid, int tank); } diff --git a/src/main/java/binnie/core/machines/inventory/InventorySlot.java b/src/main/java/binnie/core/machines/inventory/InventorySlot.java index f3af2eb3..3fc7a5c8 100644 --- a/src/main/java/binnie/core/machines/inventory/InventorySlot.java +++ b/src/main/java/binnie/core/machines/inventory/InventorySlot.java @@ -5,98 +5,98 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; public class InventorySlot extends BaseSlot { - private ItemStack itemStack; - private Type type; + private ItemStack itemStack; + private Type type; - public InventorySlot(int index, String unlocalizedName) { - super(index, unlocalizedName); - itemStack = null; - type = Type.Standard; - } + public InventorySlot(int index, String unlocalizedName) { + super(index, unlocalizedName); + itemStack = null; + type = Type.Standard; + } - @Override - public ItemStack getContent() { - return itemStack; - } + @Override + public ItemStack getContent() { + return itemStack; + } - public ItemStack getItemStack() { - return getContent(); - } + public ItemStack getItemStack() { + return getContent(); + } - @Override - public void setContent(ItemStack itemStack) { - this.itemStack = itemStack; - } + @Override + public void setContent(ItemStack itemStack) { + this.itemStack = itemStack; + } - public ItemStack decrStackSize(int amount) { - if (itemStack == null) { - return null; - } + public ItemStack decrStackSize(int amount) { + if (itemStack == null) { + return null; + } - if (itemStack.stackSize <= amount) { - ItemStack returnStack = itemStack.copy(); - itemStack = null; - return returnStack; - } + if (itemStack.stackSize <= amount) { + ItemStack returnStack = itemStack.copy(); + itemStack = null; + return returnStack; + } - ItemStack returnStack = itemStack.copy(); - ItemStack itemStack = this.itemStack; - itemStack.stackSize -= amount; - returnStack.stackSize = amount; - return returnStack; - } + ItemStack returnStack = itemStack.copy(); + ItemStack itemStack = this.itemStack; + itemStack.stackSize -= amount; + returnStack.stackSize = amount; + return returnStack; + } - @Override - public void readFromNBT(NBTTagCompound slotNBT) { - if (slotNBT.hasKey("item")) { - NBTTagCompound itemNBT = slotNBT.getCompoundTag("item"); - itemStack = ItemStack.loadItemStackFromNBT(itemNBT); - } else { - itemStack = null; - } - } + @Override + public void readFromNBT(NBTTagCompound slotNBT) { + if (slotNBT.hasKey("item")) { + NBTTagCompound itemNBT = slotNBT.getCompoundTag("item"); + itemStack = ItemStack.loadItemStackFromNBT(itemNBT); + } else { + itemStack = null; + } + } - @Override - public void writeToNBT(NBTTagCompound slotNBT) { - NBTTagCompound itemNBT = new NBTTagCompound(); - if (itemStack != null) { - itemStack.writeToNBT(itemNBT); - } - slotNBT.setTag("item", itemNBT); - } + @Override + public void writeToNBT(NBTTagCompound slotNBT) { + NBTTagCompound itemNBT = new NBTTagCompound(); + if (itemStack != null) { + itemStack.writeToNBT(itemNBT); + } + slotNBT.setTag("item", itemNBT); + } - public void setItemStack(ItemStack duplicate) { - setContent(duplicate); - } + public void setItemStack(ItemStack duplicate) { + setContent(duplicate); + } - @Override - public SlotValidator getValidator() { - return (SlotValidator) validator; - } + @Override + public SlotValidator getValidator() { + return (SlotValidator) validator; + } - public void setType(Type type) { - this.type = type; - if (type == Type.Recipe) { - setReadOnly(); - forbidInteraction(); - } - } + public void setType(Type type) { + this.type = type; + if (type == Type.Recipe) { + setReadOnly(); + forbidInteraction(); + } + } - public Type getType() { - return type; - } + public Type getType() { + return type; + } - public boolean isRecipe() { - return type == Type.Recipe; - } + public boolean isRecipe() { + return type == Type.Recipe; + } - @Override - public String getName() { - return I18N.localise("binniecore.gui.slot." + unlocName); - } + @Override + public String getName() { + return I18N.localise("binniecore.gui.slot." + unlocName); + } - public enum Type { - Standard, - Recipe - } + public enum Type { + Standard, + Recipe + } } diff --git a/src/main/java/binnie/core/machines/inventory/MachineSide.java b/src/main/java/binnie/core/machines/inventory/MachineSide.java index e330b029..064ba55d 100644 --- a/src/main/java/binnie/core/machines/inventory/MachineSide.java +++ b/src/main/java/binnie/core/machines/inventory/MachineSide.java @@ -1,90 +1,81 @@ package binnie.core.machines.inventory; import binnie.core.util.I18N; -import net.minecraftforge.common.util.ForgeDirection; - import java.util.Collection; import java.util.EnumSet; +import net.minecraftforge.common.util.ForgeDirection; public class MachineSide { - public static final EnumSet TOP_AND_BOTTOM = EnumSet.of( - ForgeDirection.UP, - ForgeDirection.DOWN - ); - public static final EnumSet NONE = EnumSet.noneOf(ForgeDirection.class); - public static final EnumSet SIDES = EnumSet.of( - ForgeDirection.NORTH, - ForgeDirection.SOUTH, - ForgeDirection.EAST, - ForgeDirection.WEST - ); + public static final EnumSet TOP_AND_BOTTOM = EnumSet.of(ForgeDirection.UP, ForgeDirection.DOWN); + public static final EnumSet NONE = EnumSet.noneOf(ForgeDirection.class); + public static final EnumSet SIDES = + EnumSet.of(ForgeDirection.NORTH, ForgeDirection.SOUTH, ForgeDirection.EAST, ForgeDirection.WEST); - private static final EnumSet ALL = EnumSet.of( - ForgeDirection.UP, - ForgeDirection.DOWN, - ForgeDirection.NORTH, - ForgeDirection.SOUTH, - ForgeDirection.EAST, - ForgeDirection.WEST - ); + private static final EnumSet ALL = EnumSet.of( + ForgeDirection.UP, + ForgeDirection.DOWN, + ForgeDirection.NORTH, + ForgeDirection.SOUTH, + ForgeDirection.EAST, + ForgeDirection.WEST); - public static String asString(Collection sides) { - if (sides.containsAll(MachineSide.ALL)) { - return I18N.localise("binniecore.gui.side.any"); - } - if (sides.isEmpty()) { - return I18N.localise("binniecore.gui.side.none"); - } + public static String asString(Collection sides) { + if (sides.containsAll(MachineSide.ALL)) { + return I18N.localise("binniecore.gui.side.any"); + } + if (sides.isEmpty()) { + return I18N.localise("binniecore.gui.side.none"); + } - String text = ""; - if (sides.contains(ForgeDirection.UP)) { - if (sides.size() > 0) { - text += ", "; - } - text += I18N.localise("binniecore.gui.side.up"); - } + String text = ""; + if (sides.contains(ForgeDirection.UP)) { + if (sides.size() > 0) { + text += ", "; + } + text += I18N.localise("binniecore.gui.side.up"); + } - if (sides.contains(ForgeDirection.DOWN)) { - if (sides.size() > 0) { - text += ", "; - } - text += I18N.localise("binniecore.gui.side.down"); - } + if (sides.contains(ForgeDirection.DOWN)) { + if (sides.size() > 0) { + text += ", "; + } + text += I18N.localise("binniecore.gui.side.down"); + } - if (sides.containsAll(MachineSide.SIDES)) { - if (sides.size() > 0) { - text += ", "; - } - text += I18N.localise("binniecore.gui.side.sides"); - } else { - if (sides.contains(ForgeDirection.NORTH)) { - if (sides.size() > 0) { - text += ", "; - } - text += I18N.localise("binniecore.gui.side.north"); - } + if (sides.containsAll(MachineSide.SIDES)) { + if (sides.size() > 0) { + text += ", "; + } + text += I18N.localise("binniecore.gui.side.sides"); + } else { + if (sides.contains(ForgeDirection.NORTH)) { + if (sides.size() > 0) { + text += ", "; + } + text += I18N.localise("binniecore.gui.side.north"); + } - if (sides.contains(ForgeDirection.EAST)) { - if (sides.size() > 0) { - text += ", "; - } - text += I18N.localise("binniecore.gui.side.east"); - } + if (sides.contains(ForgeDirection.EAST)) { + if (sides.size() > 0) { + text += ", "; + } + text += I18N.localise("binniecore.gui.side.east"); + } - if (sides.contains(ForgeDirection.SOUTH)) { - if (sides.size() > 0) { - text += ", "; - } - text += I18N.localise("binniecore.gui.side.south"); - } + if (sides.contains(ForgeDirection.SOUTH)) { + if (sides.size() > 0) { + text += ", "; + } + text += I18N.localise("binniecore.gui.side.south"); + } - if (sides.contains(ForgeDirection.WEST)) { - if (sides.size() > 0) { - text += ", "; - } - text += I18N.localise("binniecore.gui.side.west"); - } - } - return text; - } + if (sides.contains(ForgeDirection.WEST)) { + if (sides.size() > 0) { + text += ", "; + } + text += I18N.localise("binniecore.gui.side.west"); + } + } + return text; + } } diff --git a/src/main/java/binnie/core/machines/inventory/SetList.java b/src/main/java/binnie/core/machines/inventory/SetList.java index c00389c0..2e6a747f 100644 --- a/src/main/java/binnie/core/machines/inventory/SetList.java +++ b/src/main/java/binnie/core/machines/inventory/SetList.java @@ -5,29 +5,29 @@ import java.util.Collection; import java.util.Set; public class SetList extends ArrayList implements Set { - private static long serialVersionUID = 1277112003159980135L; + private static long serialVersionUID = 1277112003159980135L; - @Override - public boolean add(E e) { - return !contains(e) && super.add(e); - } + @Override + public boolean add(E e) { + return !contains(e) && super.add(e); + } - @Override - public void add(int index, E e) { - if (!contains(e)) { - super.add(index, e); - } - } + @Override + public void add(int index, E e) { + if (!contains(e)) { + super.add(index, e); + } + } - @Override - public boolean addAll(Collection c) { - return addAll(size(), c); - } + @Override + public boolean addAll(Collection c) { + return addAll(size(), c); + } - @Override - public boolean addAll(int index, Collection c) { - Collection copy = new ArrayList<>(c); - copy.removeAll(this); - return super.addAll(index, copy); - } + @Override + public boolean addAll(int index, Collection c) { + Collection copy = new ArrayList<>(c); + copy.removeAll(this); + return super.addAll(index, copy); + } } diff --git a/src/main/java/binnie/core/machines/inventory/SidedAccess.java b/src/main/java/binnie/core/machines/inventory/SidedAccess.java index 41bb8bd3..d92586f1 100644 --- a/src/main/java/binnie/core/machines/inventory/SidedAccess.java +++ b/src/main/java/binnie/core/machines/inventory/SidedAccess.java @@ -1,78 +1,77 @@ package binnie.core.machines.inventory; -import net.minecraftforge.common.util.ForgeDirection; - import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; +import net.minecraftforge.common.util.ForgeDirection; class SidedAccess { - private Map accesses = new HashMap<>(); - private AccessDirection base = AccessDirection.Both; - private boolean insertLocked; - private boolean extractLocked; + private Map accesses = new HashMap<>(); + private AccessDirection base = AccessDirection.Both; + private boolean insertLocked; + private boolean extractLocked; - public SidedAccess() { - // ignored - } + public SidedAccess() { + // ignored + } - public AccessDirection getAccess(ForgeDirection side) { - return accesses.getOrDefault(side, base); - } + public AccessDirection getAccess(ForgeDirection side) { + return accesses.getOrDefault(side, base); + } - public boolean canInsert(ForgeDirection side) { - return getAccess(side).canInsert(); - } + public boolean canInsert(ForgeDirection side) { + return getAccess(side).canInsert(); + } - public boolean canExtract(ForgeDirection side) { - return getAccess(side).canExtract(); - } + public boolean canExtract(ForgeDirection side) { + return getAccess(side).canExtract(); + } - public void forbidInsertChange() { - insertLocked = true; - } + public void forbidInsertChange() { + insertLocked = true; + } - public void forbidExtractChange() { - extractLocked = true; - } + public void forbidExtractChange() { + extractLocked = true; + } - public Collection getInsertionSides() { - List dirs = new ArrayList<>(); - for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - if (getAccess(dir).canInsert()) { - dirs.add(dir); - } - } - return dirs; - } + public Collection getInsertionSides() { + List dirs = new ArrayList<>(); + for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if (getAccess(dir).canInsert()) { + dirs.add(dir); + } + } + return dirs; + } - public Collection getExtractionSides() { - List dirs = new ArrayList<>(); - for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - if (getAccess(dir).canExtract()) { - dirs.add(dir); - } - } - return dirs; - } + public Collection getExtractionSides() { + List dirs = new ArrayList<>(); + for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if (getAccess(dir).canExtract()) { + dirs.add(dir); + } + } + return dirs; + } - public void setExtract(ForgeDirection side, boolean b) { - if (getAccess(side).canExtract() != b) { - accesses.put(side, getAccess(side).changeExtract(b)); - } - } + public void setExtract(ForgeDirection side, boolean b) { + if (getAccess(side).canExtract() != b) { + accesses.put(side, getAccess(side).changeExtract(b)); + } + } - public void setInsert(boolean b) { - if (base.canInsert() != b) { - base = base.changeInsert(b); - } - } + public void setInsert(boolean b) { + if (base.canInsert() != b) { + base = base.changeInsert(b); + } + } - public void setExtract(boolean b) { - if (base.canExtract() != b) { - base = base.changeExtract(b); - } - } + public void setExtract(boolean b) { + if (base.canExtract() != b) { + base = base.changeExtract(b); + } + } } diff --git a/src/main/java/binnie/core/machines/inventory/SlotValidator.java b/src/main/java/binnie/core/machines/inventory/SlotValidator.java index 17c572b6..5f2a3b60 100644 --- a/src/main/java/binnie/core/machines/inventory/SlotValidator.java +++ b/src/main/java/binnie/core/machines/inventory/SlotValidator.java @@ -6,55 +6,55 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; public abstract class SlotValidator extends Validator { - public static ValidatorIcon IconBee; - public static ValidatorIcon IconFrame; - public static ValidatorIcon IconCircuit; - public static ValidatorIcon IconBlock; - private ValidatorIcon icon; + public static ValidatorIcon IconBee; + public static ValidatorIcon IconFrame; + public static ValidatorIcon IconCircuit; + public static ValidatorIcon IconBlock; + private ValidatorIcon icon; - public SlotValidator(ValidatorIcon icon) { - this.icon = icon; - } + public SlotValidator(ValidatorIcon icon) { + this.icon = icon; + } - public IIcon getIcon(boolean input) { - if (icon == null) { - return null; - } - return icon.getIcon(input).getIcon(); - } + public IIcon getIcon(boolean input) { + if (icon == null) { + return null; + } + return icon.getIcon(input).getIcon(); + } - public static class Item extends SlotValidator { - private ItemStack target; + public static class Item extends SlotValidator { + private ItemStack target; - public Item(ItemStack target, ValidatorIcon icon) { - super(icon); - this.target = target; - } + public Item(ItemStack target, ValidatorIcon icon) { + super(icon); + this.target = target; + } - @Override - public boolean isValid(ItemStack itemStack) { - return itemStack.isItemEqual(target); - } + @Override + public boolean isValid(ItemStack itemStack) { + return itemStack.isItemEqual(target); + } - @Override - public String getTooltip() { - return target.getDisplayName(); - } - } + @Override + public String getTooltip() { + return target.getDisplayName(); + } + } - public static class Individual extends SlotValidator { - public Individual() { - super(null); - } + public static class Individual extends SlotValidator { + public Individual() { + super(null); + } - @Override - public boolean isValid(ItemStack itemStack) { - return AlleleManager.alleleRegistry.getIndividual(itemStack) != null; - } + @Override + public boolean isValid(ItemStack itemStack) { + return AlleleManager.alleleRegistry.getIndividual(itemStack) != null; + } - @Override - public String getTooltip() { - return I18N.localise("binniecore.gui.slot.breedableIndividual"); - } - } + @Override + public String getTooltip() { + return I18N.localise("binniecore.gui.slot.breedableIndividual"); + } + } } diff --git a/src/main/java/binnie/core/machines/inventory/TankSlot.java b/src/main/java/binnie/core/machines/inventory/TankSlot.java index 23b3ec80..25822c81 100644 --- a/src/main/java/binnie/core/machines/inventory/TankSlot.java +++ b/src/main/java/binnie/core/machines/inventory/TankSlot.java @@ -7,47 +7,47 @@ import net.minecraftforge.fluids.FluidTank; import net.minecraftforge.fluids.IFluidTank; public class TankSlot extends BaseSlot { - public static final String NAME_JUICE = "Juice Tank"; - public static final String NAME_WATER = "Water Tank"; - public static final String NAME_CUPBOARD = "Cupboard Slot"; + public static final String NAME_JUICE = "Juice Tank"; + public static final String NAME_WATER = "Water Tank"; + public static final String NAME_CUPBOARD = "Cupboard Slot"; - private FluidTank tank; + private FluidTank tank; - public TankSlot(int index, String name, int capacity) { - super(index, name); - tank = new FluidTank(capacity); - } + public TankSlot(int index, String name, int capacity) { + super(index, name); + tank = new FluidTank(capacity); + } - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - FluidStack liquid = FluidStack.loadFluidStackFromNBT(nbttagcompound); - setContent(liquid); - } + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + FluidStack liquid = FluidStack.loadFluidStackFromNBT(nbttagcompound); + setContent(liquid); + } - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - FluidStack content = getContent(); - if (content != null) { - content.writeToNBT(nbttagcompound); - } - } + @Override + public void writeToNBT(NBTTagCompound nbttagcompound) { + FluidStack content = getContent(); + if (content != null) { + content.writeToNBT(nbttagcompound); + } + } - @Override - public FluidStack getContent() { - return tank.getFluid(); - } + @Override + public FluidStack getContent() { + return tank.getFluid(); + } - @Override - public void setContent(FluidStack itemStack) { - tank.setFluid(itemStack); - } + @Override + public void setContent(FluidStack itemStack) { + tank.setFluid(itemStack); + } - public IFluidTank getTank() { - return tank; - } + public IFluidTank getTank() { + return tank; + } - @Override - public String getName() { - return I18N.localise("binniecore.gui.slot." + unlocName); - } + @Override + public String getName() { + return I18N.localise("binniecore.gui.slot." + unlocName); + } } diff --git a/src/main/java/binnie/core/machines/inventory/TankValidator.java b/src/main/java/binnie/core/machines/inventory/TankValidator.java index 08c72f8e..d2b98a89 100644 --- a/src/main/java/binnie/core/machines/inventory/TankValidator.java +++ b/src/main/java/binnie/core/machines/inventory/TankValidator.java @@ -5,24 +5,24 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; public abstract class TankValidator extends Validator { - @Override - public abstract boolean isValid(FluidStack liquid); + @Override + public abstract boolean isValid(FluidStack liquid); - public static class Basic extends TankValidator { - private Fluid fluid; + public static class Basic extends TankValidator { + private Fluid fluid; - public Basic(String name) { - fluid = Binnie.Liquid.getLiquidStack(name, 1).getFluid(); - } + public Basic(String name) { + fluid = Binnie.Liquid.getLiquidStack(name, 1).getFluid(); + } - @Override - public boolean isValid(FluidStack liquid) { - return new FluidStack(fluid, 1).isFluidEqual(liquid); - } + @Override + public boolean isValid(FluidStack liquid) { + return new FluidStack(fluid, 1).isFluidEqual(liquid); + } - @Override - public String getTooltip() { - return new FluidStack(fluid, 1).getLocalizedName(); - } - } + @Override + public String getTooltip() { + return new FluidStack(fluid, 1).getLocalizedName(); + } + } } diff --git a/src/main/java/binnie/core/machines/inventory/TransferHandler.java b/src/main/java/binnie/core/machines/inventory/TransferHandler.java index b0a1289a..920caf62 100644 --- a/src/main/java/binnie/core/machines/inventory/TransferHandler.java +++ b/src/main/java/binnie/core/machines/inventory/TransferHandler.java @@ -10,216 +10,223 @@ import net.minecraftforge.fluids.IFluidTank; // TODO unused class? public class TransferHandler { - public static ItemStack transfer(ItemStack item, IInventory origin, IInventory destination, boolean doAdd) { - ItemStack ret = transferItemToInventory(item, destination, doAdd); - if (destination instanceof ITankMachine) { - ret = transferContainerIntoTank(ret, origin, (ITankMachine) destination, doAdd); - ret = transferTankIntoContainer(ret, origin, (ITankMachine) destination, doAdd); - } - return ret; - } + public static ItemStack transfer(ItemStack item, IInventory origin, IInventory destination, boolean doAdd) { + ItemStack ret = transferItemToInventory(item, destination, doAdd); + if (destination instanceof ITankMachine) { + ret = transferContainerIntoTank(ret, origin, (ITankMachine) destination, doAdd); + ret = transferTankIntoContainer(ret, origin, (ITankMachine) destination, doAdd); + } + return ret; + } - public static ItemStack transferItemToInventory(ItemStack item, IInventory destination, boolean doAdd) { - if (item == null || destination == null) { - return item; - } + public static ItemStack transferItemToInventory(ItemStack item, IInventory destination, boolean doAdd) { + if (item == null || destination == null) { + return item; + } - ItemStack addition = item.copy(); - for (int i = 0; i < destination.getSizeInventory(); ++i) { - addition = transferToInventory(addition, destination, new int[]{i}, doAdd, false); - if (addition == null) { - return null; - } - } - return addition; - } + ItemStack addition = item.copy(); + for (int i = 0; i < destination.getSizeInventory(); ++i) { + addition = transferToInventory(addition, destination, new int[] {i}, doAdd, false); + if (addition == null) { + return null; + } + } + return addition; + } - public static ItemStack transferToInventory(ItemStack item, IInventory destination, int[] targetSlots, boolean doAdd, boolean ignoreValidation) { - for (int i : targetSlots) { - if (destination.isItemValidForSlot(i, item) || ignoreValidation) { - if (destination.getStackInSlot(i) == null) { - if (doAdd) { - destination.setInventorySlotContents(i, item.copy()); - } - return null; - } - if (item.isStackable()) { - ItemStack merged = destination.getStackInSlot(i).copy(); - ItemStack[] newStacks = mergeStacks(item.copy(), merged.copy()); - item = newStacks[0]; - if (doAdd) { - destination.setInventorySlotContents(i, newStacks[1]); - } - if (item == null) { - return null; - } - } - } - } - return item; - } + public static ItemStack transferToInventory( + ItemStack item, IInventory destination, int[] targetSlots, boolean doAdd, boolean ignoreValidation) { + for (int i : targetSlots) { + if (destination.isItemValidForSlot(i, item) || ignoreValidation) { + if (destination.getStackInSlot(i) == null) { + if (doAdd) { + destination.setInventorySlotContents(i, item.copy()); + } + return null; + } + if (item.isStackable()) { + ItemStack merged = destination.getStackInSlot(i).copy(); + ItemStack[] newStacks = mergeStacks(item.copy(), merged.copy()); + item = newStacks[0]; + if (doAdd) { + destination.setInventorySlotContents(i, newStacks[1]); + } + if (item == null) { + return null; + } + } + } + } + return item; + } - public static ItemStack[] mergeStacks(ItemStack itemstack, ItemStack merged) { - if (ItemStack.areItemStackTagsEqual(itemstack, merged) && itemstack.isItemEqual(merged)) { - int space = merged.getMaxStackSize() - merged.stackSize; - if (space > 0) { - if (itemstack.stackSize > space) { - ItemStack itemStack = itemstack; - itemStack.stackSize -= space; - merged.stackSize += space; - } else if (itemstack.stackSize <= space) { - merged.stackSize += itemstack.stackSize; - itemstack = null; - } - } - } - return new ItemStack[]{itemstack, merged}; - } + public static ItemStack[] mergeStacks(ItemStack itemstack, ItemStack merged) { + if (ItemStack.areItemStackTagsEqual(itemstack, merged) && itemstack.isItemEqual(merged)) { + int space = merged.getMaxStackSize() - merged.stackSize; + if (space > 0) { + if (itemstack.stackSize > space) { + ItemStack itemStack = itemstack; + itemStack.stackSize -= space; + merged.stackSize += space; + } else if (itemstack.stackSize <= space) { + merged.stackSize += itemstack.stackSize; + itemstack = null; + } + } + } + return new ItemStack[] {itemstack, merged}; + } - public static ItemStack transferContainerIntoTank(ItemStack item, IInventory origin, ITankMachine destination, boolean doAdd) { - if (item == null) { - return null; - } + public static ItemStack transferContainerIntoTank( + ItemStack item, IInventory origin, ITankMachine destination, boolean doAdd) { + if (item == null) { + return null; + } - IFluidTank[] tanks = destination.getTanks(); - ItemStack stack = item.copy(); - for (int i = 0; i < tanks.length; ++i) { - stack = transferToTank(stack, origin, destination, i, doAdd); - } - return stack; - } + IFluidTank[] tanks = destination.getTanks(); + ItemStack stack = item.copy(); + for (int i = 0; i < tanks.length; ++i) { + stack = transferToTank(stack, origin, destination, i, doAdd); + } + return stack; + } - public static ItemStack transferTankIntoContainer(ItemStack item, IInventory origin, ITankMachine destination, boolean doAdd) { - if (item == null) { - return null; - } + public static ItemStack transferTankIntoContainer( + ItemStack item, IInventory origin, ITankMachine destination, boolean doAdd) { + if (item == null) { + return null; + } - IFluidTank[] tanks = destination.getTanks(); - ItemStack stack = item.copy(); - for (int i = 0; i < tanks.length; ++i) { - stack = transferFromTank(stack, origin, destination, i, doAdd); - } - return stack; - } + IFluidTank[] tanks = destination.getTanks(); + ItemStack stack = item.copy(); + for (int i = 0; i < tanks.length; ++i) { + stack = transferFromTank(stack, origin, destination, i, doAdd); + } + return stack; + } - public static ItemStack transferToTank(ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { - if (item == null) { - return item; - } + public static ItemStack transferToTank( + ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { + if (item == null) { + return item; + } - FluidStack containerLiquid = null; - FluidContainerRegistry.FluidContainerData containerLiquidData = null; - for (FluidContainerRegistry.FluidContainerData data : FluidContainerRegistry.getRegisteredFluidContainerData()) { - if (data.filledContainer.isItemEqual(item)) { - containerLiquidData = data; - containerLiquid = data.fluid.copy(); - break; - } - } + FluidStack containerLiquid = null; + FluidContainerRegistry.FluidContainerData containerLiquidData = null; + for (FluidContainerRegistry.FluidContainerData data : + FluidContainerRegistry.getRegisteredFluidContainerData()) { + if (data.filledContainer.isItemEqual(item)) { + containerLiquidData = data; + containerLiquid = data.fluid.copy(); + break; + } + } - if (containerLiquid == null) { - return item; - } + if (containerLiquid == null) { + return item; + } - IFluidTank tank = destination.getTanks()[tankID]; - IValidatedTankContainer validated = Machine.getInterface(IValidatedTankContainer.class, destination); - if (validated != null && !validated.isLiquidValidForTank(containerLiquid, tankID)) { - return item; - } + IFluidTank tank = destination.getTanks()[tankID]; + IValidatedTankContainer validated = Machine.getInterface(IValidatedTankContainer.class, destination); + if (validated != null && !validated.isLiquidValidForTank(containerLiquid, tankID)) { + return item; + } - FluidStack largeAmountOfLiquid = containerLiquid.copy(); - largeAmountOfLiquid.amount = tank.getCapacity(); - int amountAdded = tank.fill(largeAmountOfLiquid, false); - int numberOfContainersToAdd = amountAdded / containerLiquid.amount; - if (numberOfContainersToAdd > item.stackSize) { - numberOfContainersToAdd = item.stackSize; - } + FluidStack largeAmountOfLiquid = containerLiquid.copy(); + largeAmountOfLiquid.amount = tank.getCapacity(); + int amountAdded = tank.fill(largeAmountOfLiquid, false); + int numberOfContainersToAdd = amountAdded / containerLiquid.amount; + if (numberOfContainersToAdd > item.stackSize) { + numberOfContainersToAdd = item.stackSize; + } - ItemStack copy; - ItemStack leftOverContainers = copy = item.copy(); - copy.stackSize -= numberOfContainersToAdd; - if (leftOverContainers.stackSize <= 0) { - leftOverContainers = null; - } + ItemStack copy; + ItemStack leftOverContainers = copy = item.copy(); + copy.stackSize -= numberOfContainersToAdd; + if (leftOverContainers.stackSize <= 0) { + leftOverContainers = null; + } - ItemStack emptyContainers = containerLiquidData.emptyContainer.copy(); - emptyContainers.stackSize = 0; - ItemStack itemStack = emptyContainers; - itemStack.stackSize += numberOfContainersToAdd; - if (emptyContainers.stackSize <= 0) { - emptyContainers = null; - } + ItemStack emptyContainers = containerLiquidData.emptyContainer.copy(); + emptyContainers.stackSize = 0; + ItemStack itemStack = emptyContainers; + itemStack.stackSize += numberOfContainersToAdd; + if (emptyContainers.stackSize <= 0) { + emptyContainers = null; + } - ItemStack containersThatCantBeDumped = transferItemToInventory(emptyContainers, origin, false); - if (containersThatCantBeDumped != null) { - return item; - } + ItemStack containersThatCantBeDumped = transferItemToInventory(emptyContainers, origin, false); + if (containersThatCantBeDumped != null) { + return item; + } - if (doAdd) { - FluidStack copy2; - FluidStack liquidToFillTank = copy2 = containerLiquid.copy(); - copy2.amount *= numberOfContainersToAdd; - tank.fill(liquidToFillTank, true); - transferItemToInventory(emptyContainers, origin, true); - } - return leftOverContainers; - } + if (doAdd) { + FluidStack copy2; + FluidStack liquidToFillTank = copy2 = containerLiquid.copy(); + copy2.amount *= numberOfContainersToAdd; + tank.fill(liquidToFillTank, true); + transferItemToInventory(emptyContainers, origin, true); + } + return leftOverContainers; + } - public static ItemStack transferFromTank(ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { - if (item == null) { - return item; - } + public static ItemStack transferFromTank( + ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { + if (item == null) { + return item; + } - IFluidTank tank = destination.getTanks()[tankID]; - FluidStack liquidInTank = tank.getFluid(); - if (liquidInTank == null) { - return item; - } + IFluidTank tank = destination.getTanks()[tankID]; + FluidStack liquidInTank = tank.getFluid(); + if (liquidInTank == null) { + return item; + } - FluidContainerRegistry.FluidContainerData containerLiquidData = null; - for (FluidContainerRegistry.FluidContainerData data : FluidContainerRegistry.getRegisteredFluidContainerData()) { - if (data.emptyContainer.isItemEqual(item) && liquidInTank.isFluidEqual(data.fluid)) { - containerLiquidData = data; - break; - } - } + FluidContainerRegistry.FluidContainerData containerLiquidData = null; + for (FluidContainerRegistry.FluidContainerData data : + FluidContainerRegistry.getRegisteredFluidContainerData()) { + if (data.emptyContainer.isItemEqual(item) && liquidInTank.isFluidEqual(data.fluid)) { + containerLiquidData = data; + break; + } + } - if (containerLiquidData == null) { - return item; - } + if (containerLiquidData == null) { + return item; + } - int maximumExtractedLiquid = item.stackSize * containerLiquidData.fluid.amount; - FluidStack drainedLiquid = tank.drain(maximumExtractedLiquid, false); - int amountInTank = (drainedLiquid == null) ? 0 : drainedLiquid.amount; - int numberOfContainersToFill = amountInTank / containerLiquidData.fluid.amount; - if (numberOfContainersToFill > item.stackSize) { - numberOfContainersToFill = item.stackSize; - } + int maximumExtractedLiquid = item.stackSize * containerLiquidData.fluid.amount; + FluidStack drainedLiquid = tank.drain(maximumExtractedLiquid, false); + int amountInTank = (drainedLiquid == null) ? 0 : drainedLiquid.amount; + int numberOfContainersToFill = amountInTank / containerLiquidData.fluid.amount; + if (numberOfContainersToFill > item.stackSize) { + numberOfContainersToFill = item.stackSize; + } - ItemStack copy; - ItemStack leftOverContainers = copy = item.copy(); - copy.stackSize -= numberOfContainersToFill; - if (leftOverContainers.stackSize <= 0) { - leftOverContainers = null; - } + ItemStack copy; + ItemStack leftOverContainers = copy = item.copy(); + copy.stackSize -= numberOfContainersToFill; + if (leftOverContainers.stackSize <= 0) { + leftOverContainers = null; + } - ItemStack filledContainers = containerLiquidData.filledContainer.copy(); - filledContainers.stackSize = 0; - ItemStack itemStack = filledContainers; - itemStack.stackSize += numberOfContainersToFill; - if (filledContainers.stackSize <= 0) { - filledContainers = null; - } + ItemStack filledContainers = containerLiquidData.filledContainer.copy(); + filledContainers.stackSize = 0; + ItemStack itemStack = filledContainers; + itemStack.stackSize += numberOfContainersToFill; + if (filledContainers.stackSize <= 0) { + filledContainers = null; + } - ItemStack containersThatCantBeDumped = transferItemToInventory(filledContainers, origin, false); - if (containersThatCantBeDumped != null) { - return item; - } + ItemStack containersThatCantBeDumped = transferItemToInventory(filledContainers, origin, false); + if (containersThatCantBeDumped != null) { + return item; + } - if (doAdd) { - tank.drain(maximumExtractedLiquid, true); - transferItemToInventory(filledContainers, origin, true); - } - return leftOverContainers; - } + if (doAdd) { + tank.drain(maximumExtractedLiquid, true); + transferItemToInventory(filledContainers, origin, true); + } + return leftOverContainers; + } } diff --git a/src/main/java/binnie/core/machines/inventory/Validator.java b/src/main/java/binnie/core/machines/inventory/Validator.java index d63cf40d..78af0387 100644 --- a/src/main/java/binnie/core/machines/inventory/Validator.java +++ b/src/main/java/binnie/core/machines/inventory/Validator.java @@ -3,5 +3,5 @@ package binnie.core.machines.inventory; import binnie.core.util.IValidator; public abstract class Validator implements IValidator { - public abstract String getTooltip(); + public abstract String getTooltip(); } diff --git a/src/main/java/binnie/core/machines/inventory/ValidatorIcon.java b/src/main/java/binnie/core/machines/inventory/ValidatorIcon.java index db033cbc..e721eaf7 100644 --- a/src/main/java/binnie/core/machines/inventory/ValidatorIcon.java +++ b/src/main/java/binnie/core/machines/inventory/ValidatorIcon.java @@ -3,22 +3,21 @@ package binnie.core.machines.inventory; import binnie.Binnie; import binnie.core.AbstractMod; import binnie.core.resource.BinnieIcon; - import java.util.ArrayList; import java.util.List; public class ValidatorIcon { - private List iconsInput; - private List iconsOutput; + private List iconsInput; + private List iconsOutput; - public ValidatorIcon(AbstractMod mod, String pathInput, String pathOutput) { - iconsInput = new ArrayList<>(); - iconsOutput = new ArrayList<>(); - iconsInput.add(Binnie.Resource.getItemIcon(mod, pathInput)); - iconsOutput.add(Binnie.Resource.getItemIcon(mod, pathOutput)); - } + public ValidatorIcon(AbstractMod mod, String pathInput, String pathOutput) { + iconsInput = new ArrayList<>(); + iconsOutput = new ArrayList<>(); + iconsInput.add(Binnie.Resource.getItemIcon(mod, pathInput)); + iconsOutput.add(Binnie.Resource.getItemIcon(mod, pathOutput)); + } - public BinnieIcon getIcon(boolean input) { - return input ? iconsInput.get(0) : iconsOutput.get(0); - } + public BinnieIcon getIcon(boolean input) { + return input ? iconsInput.get(0) : iconsOutput.get(0); + } } diff --git a/src/main/java/binnie/core/machines/network/INetwork.java b/src/main/java/binnie/core/machines/network/INetwork.java index 65a9b561..de92c46c 100644 --- a/src/main/java/binnie/core/machines/network/INetwork.java +++ b/src/main/java/binnie/core/machines/network/INetwork.java @@ -1,26 +1,24 @@ package binnie.core.machines.network; import cpw.mods.fml.relauncher.Side; +import java.util.Map; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; -import java.util.Map; - public interface INetwork { - interface SendGuiNBT { - void sendGuiNBT(Map nbts); - } + interface SendGuiNBT { + void sendGuiNBT(Map nbts); + } - interface TilePacketSync { - void syncToNBT(NBTTagCompound nbt); + interface TilePacketSync { + void syncToNBT(NBTTagCompound nbt); - void syncFromNBT(NBTTagCompound nbt); - } + void syncFromNBT(NBTTagCompound nbt); + } - interface RecieveGuiNBT { - void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt); - } + interface RecieveGuiNBT { + void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt); + } - interface GuiNBT extends RecieveGuiNBT, SendGuiNBT { - } + interface GuiNBT extends RecieveGuiNBT, SendGuiNBT {} } diff --git a/src/main/java/binnie/core/machines/power/ComponentPowerReceptor.java b/src/main/java/binnie/core/machines/power/ComponentPowerReceptor.java index bf36258c..4a484839 100644 --- a/src/main/java/binnie/core/machines/power/ComponentPowerReceptor.java +++ b/src/main/java/binnie/core/machines/power/ComponentPowerReceptor.java @@ -11,174 +11,172 @@ import cpw.mods.fml.common.Optional; import ic2.api.energy.event.EnergyTileLoadEvent; import ic2.api.energy.event.EnergyTileUnloadEvent; import ic2.api.energy.tile.IEnergyTile; +import java.util.LinkedList; +import java.util.List; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.ForgeDirection; -import java.util.LinkedList; -import java.util.List; - @Optional.Interface(iface = "binnie.core.machines.component.IBuildcraft.TriggerProvider", modid = "BuildCraft|Silicon") -public class ComponentPowerReceptor extends MachineComponent implements - IPoweredMachine, - IBuildcraft.TriggerProvider, - IInteraction.ChunkUnload, - IInteraction.Invalidation { - public float previousPower; - public LinkedList inputs; +public class ComponentPowerReceptor extends MachineComponent + implements IPoweredMachine, IBuildcraft.TriggerProvider, IInteraction.ChunkUnload, IInteraction.Invalidation { + public float previousPower; + public LinkedList inputs; - private boolean registeredToIC2EnergyNet; - private PowerInterface container; + private boolean registeredToIC2EnergyNet; + private PowerInterface container; - public ComponentPowerReceptor(IMachine machine) { - this(machine, 1000); - } + public ComponentPowerReceptor(IMachine machine) { + this(machine, 1000); + } - public ComponentPowerReceptor(IMachine machine, int storage) { - super(machine); - registeredToIC2EnergyNet = false; - previousPower = 0.0f; - inputs = new LinkedList<>(); - container = new PowerInterface(storage); - if (!registeredToIC2EnergyNet) { - addToEnergyNet(); - } - } + public ComponentPowerReceptor(IMachine machine, int storage) { + super(machine); + registeredToIC2EnergyNet = false; + previousPower = 0.0f; + inputs = new LinkedList<>(); + container = new PowerInterface(storage); + if (!registeredToIC2EnergyNet) { + addToEnergyNet(); + } + } - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - container.readFromNBT(nbttagcompound); - if (!registeredToIC2EnergyNet) { - addToEnergyNet(); - } - } + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + super.readFromNBT(nbttagcompound); + container.readFromNBT(nbttagcompound); + if (!registeredToIC2EnergyNet) { + addToEnergyNet(); + } + } - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - container.writeToNBT(nbttagcompound); - } + @Override + public void writeToNBT(NBTTagCompound nbttagcompound) { + super.writeToNBT(nbttagcompound); + container.writeToNBT(nbttagcompound); + } - @Override - public void onUpdate() { - if (!registeredToIC2EnergyNet && !getMachine().getTileEntity().isInvalid()) { - addToEnergyNet(); - } - } + @Override + public void onUpdate() { + if (!registeredToIC2EnergyNet && !getMachine().getTileEntity().isInvalid()) { + addToEnergyNet(); + } + } - @Override - public PowerInfo getPowerInfo() { - return new PowerInfo(this, 0.0f); - } + @Override + public PowerInfo getPowerInfo() { + return new PowerInfo(this, 0.0f); + } - @Optional.Method(modid = "BuildCraft|Silicon") - @Override - public void getTriggers(List triggers) { - triggers.add(TriggerPower.powerNone(this)); - triggers.add(TriggerPower.powerLow(this)); - triggers.add(TriggerPower.powerMedium(this)); - triggers.add(TriggerPower.powerHigh(this)); - triggers.add(TriggerPower.powerFull(this)); - } + @Optional.Method(modid = "BuildCraft|Silicon") + @Override + public void getTriggers(List triggers) { + triggers.add(TriggerPower.powerNone(this)); + triggers.add(TriggerPower.powerLow(this)); + triggers.add(TriggerPower.powerMedium(this)); + triggers.add(TriggerPower.powerHigh(this)); + triggers.add(TriggerPower.powerFull(this)); + } - @Override - @Optional.Method(modid = "IC2") - public double getDemandedEnergy() { - return container.getEnergySpace(PowerSystem.EU); - } + @Override + @Optional.Method(modid = "IC2") + public double getDemandedEnergy() { + return container.getEnergySpace(PowerSystem.EU); + } - @Override - @Optional.Method(modid = "IC2") - public int getSinkTier() { - return 1; - } + @Override + @Optional.Method(modid = "IC2") + public int getSinkTier() { + return 1; + } - @Override - @Optional.Method(modid = "IC2") - public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) { - container.addEnergy(PowerSystem.EU, amount, true); - return 0.0; - } + @Override + @Optional.Method(modid = "IC2") + public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) { + container.addEnergy(PowerSystem.EU, amount, true); + return 0.0; + } - @Override - @Optional.Method(modid = "IC2") - public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction) { - return acceptsPowerSystem(PowerSystem.EU); - } + @Override + @Optional.Method(modid = "IC2") + public boolean acceptsEnergyFrom(TileEntity emitter, ForgeDirection direction) { + return acceptsPowerSystem(PowerSystem.EU); + } - @Override - public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) { - return (int) container.addEnergy(PowerSystem.RF, maxReceive, !simulate); - } + @Override + public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) { + return (int) container.addEnergy(PowerSystem.RF, maxReceive, !simulate); + } - @Override - public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) { - return container.useEnergy(maxExtract, simulate); - } + @Override + public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) { + return container.useEnergy(maxExtract, simulate); + } - @Override - public int getEnergyStored(ForgeDirection from) { - return (int) container.getEnergy(PowerSystem.RF); - } + @Override + public int getEnergyStored(ForgeDirection from) { + return (int) container.getEnergy(PowerSystem.RF); + } - @Override - public int getMaxEnergyStored(ForgeDirection from) { - return (int) container.getCapacity(PowerSystem.RF); - } + @Override + public int getMaxEnergyStored(ForgeDirection from) { + return (int) container.getCapacity(PowerSystem.RF); + } - @Override - public boolean canConnectEnergy(ForgeDirection from) { - return acceptsPowerSystem(PowerSystem.RF); - } + @Override + public boolean canConnectEnergy(ForgeDirection from) { + return acceptsPowerSystem(PowerSystem.RF); + } - @Override - public PowerInterface getInterface() { - return container; - } + @Override + public PowerInterface getInterface() { + return container; + } - private boolean acceptsPowerSystem(PowerSystem system) { - return true; - } + private boolean acceptsPowerSystem(PowerSystem system) { + return true; + } - @Override - public void onInvalidation() { - removeFromEnergyNet(); - } + @Override + public void onInvalidation() { + removeFromEnergyNet(); + } - @Override - public void onChunkUnload() { - removeFromEnergyNet(); - } + @Override + public void onChunkUnload() { + removeFromEnergyNet(); + } - private void addToEnergyNet() { - if (getMachine().getWorld() == null) { - return; - } - if (Mods.ic2.active()) { - do_addToEnergyNet(); - } - } + private void addToEnergyNet() { + if (getMachine().getWorld() == null) { + return; + } + if (Mods.ic2.active()) { + do_addToEnergyNet(); + } + } - private void removeFromEnergyNet() { - if (getMachine().getWorld() == null) { - return; - } - if (Mods.ic2.active()) { - do_removeFromEnergyNet(); - } - } + private void removeFromEnergyNet() { + if (getMachine().getWorld() == null) { + return; + } + if (Mods.ic2.active()) { + do_removeFromEnergyNet(); + } + } - @Optional.Method(modid = "IC2") - private void do_addToEnergyNet() { - MinecraftForge.EVENT_BUS.post(new EnergyTileLoadEvent((IEnergyTile) getMachine().getTileEntity())); - registeredToIC2EnergyNet = true; - } + @Optional.Method(modid = "IC2") + private void do_addToEnergyNet() { + MinecraftForge.EVENT_BUS.post( + new EnergyTileLoadEvent((IEnergyTile) getMachine().getTileEntity())); + registeredToIC2EnergyNet = true; + } - @Optional.Method(modid = "IC2") - private void do_removeFromEnergyNet() { - MinecraftForge.EVENT_BUS.post(new EnergyTileUnloadEvent((IEnergyTile) getMachine().getTileEntity())); - registeredToIC2EnergyNet = false; - } + @Optional.Method(modid = "IC2") + private void do_removeFromEnergyNet() { + MinecraftForge.EVENT_BUS.post( + new EnergyTileUnloadEvent((IEnergyTile) getMachine().getTileEntity())); + registeredToIC2EnergyNet = false; + } } diff --git a/src/main/java/binnie/core/machines/power/ComponentProcess.java b/src/main/java/binnie/core/machines/power/ComponentProcess.java index 56daf79a..ccb572ff 100644 --- a/src/main/java/binnie/core/machines/power/ComponentProcess.java +++ b/src/main/java/binnie/core/machines/power/ComponentProcess.java @@ -4,85 +4,85 @@ import binnie.core.machines.IMachine; import net.minecraft.nbt.NBTTagCompound; public abstract class ComponentProcess extends ComponentProcessIndefinate implements IProcessTimed { - private float progressAmount; + private float progressAmount; - public ComponentProcess(IMachine machine) { - super(machine, 0.0f); - progressAmount = 0.0f; - } + public ComponentProcess(IMachine machine) { + super(machine, 0.0f); + progressAmount = 0.0f; + } - @Override - public float getEnergyPerTick() { - return getProcessEnergy() / getProcessLength(); - } + @Override + public float getEnergyPerTick() { + return getProcessEnergy() / getProcessLength(); + } - @Override - public float getProgressPerTick() { - return 100.0f / getProcessLength(); - } + @Override + public float getProgressPerTick() { + return 100.0f / getProcessLength(); + } - @Override - protected void onStartTask() { - progressAmount += 0.01f; - } + @Override + protected void onStartTask() { + progressAmount += 0.01f; + } - @Override - protected void onCancelTask() { - progressAmount = 0.0f; - } + @Override + protected void onCancelTask() { + progressAmount = 0.0f; + } - @Override - public void onUpdate() { - super.onUpdate(); - if (progressAmount >= 100.0f) { - onFinishTask(); - progressAmount = 0.0f; - } - } + @Override + public void onUpdate() { + super.onUpdate(); + if (progressAmount >= 100.0f) { + onFinishTask(); + progressAmount = 0.0f; + } + } - public void alterProgress(float value) { - progressAmount += value; - } + public void alterProgress(float value) { + progressAmount += value; + } - public void setProgress(float value) { - progressAmount = value; - } + public void setProgress(float value) { + progressAmount = value; + } - @Override - protected void progressTick() { - super.progressTick(); - alterProgress(getProgressPerTick()); - } + @Override + protected void progressTick() { + super.progressTick(); + alterProgress(getProgressPerTick()); + } - @Override - public boolean inProgress() { - return progressAmount > 0.0f; - } + @Override + public boolean inProgress() { + return progressAmount > 0.0f; + } - @Override - public float getProgress() { - return progressAmount; - } + @Override + public float getProgress() { + return progressAmount; + } - protected void onFinishTask() { - // ignored - } + protected void onFinishTask() { + // ignored + } - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - progressAmount = nbt.getFloat("progress"); - } + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + progressAmount = nbt.getFloat("progress"); + } - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setFloat("progress", progressAmount); - } + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setFloat("progress", progressAmount); + } - @Override - public abstract int getProcessLength(); + @Override + public abstract int getProcessLength(); - @Override - public abstract int getProcessEnergy(); + @Override + public abstract int getProcessEnergy(); } diff --git a/src/main/java/binnie/core/machines/power/ComponentProcessIndefinate.java b/src/main/java/binnie/core/machines/power/ComponentProcessIndefinate.java index 69327f62..48e35374 100644 --- a/src/main/java/binnie/core/machines/power/ComponentProcessIndefinate.java +++ b/src/main/java/binnie/core/machines/power/ComponentProcessIndefinate.java @@ -7,121 +7,119 @@ import binnie.core.util.I18N; import net.minecraft.nbt.NBTTagCompound; public abstract class ComponentProcessIndefinate extends MachineComponent implements IProcess, INetwork.TilePacketSync { - private float energyPerTick; - private boolean inProgress; - private float actionPauseProcess; - private float actionCancelTask; - int clientEnergyPerSecond; + private float energyPerTick; + private boolean inProgress; + private float actionPauseProcess; + private float actionCancelTask; + int clientEnergyPerSecond; - @Override - public void syncFromNBT(NBTTagCompound nbt) { - inProgress = nbt.getBoolean("progress"); - } + @Override + public void syncFromNBT(NBTTagCompound nbt) { + inProgress = nbt.getBoolean("progress"); + } - @Override - public void syncToNBT(NBTTagCompound nbt) { - nbt.setBoolean("progress", inProgress); - } + @Override + public void syncToNBT(NBTTagCompound nbt) { + nbt.setBoolean("progress", inProgress); + } - public ComponentProcessIndefinate(IMachine machine, float energyPerTick) { - super(machine); - this.energyPerTick = energyPerTick; - actionPauseProcess = 0.0f; - actionCancelTask = 0.0f; - clientEnergyPerSecond = 0; - } + public ComponentProcessIndefinate(IMachine machine, float energyPerTick) { + super(machine); + this.energyPerTick = energyPerTick; + actionPauseProcess = 0.0f; + actionCancelTask = 0.0f; + clientEnergyPerSecond = 0; + } - protected IPoweredMachine getPower() { - return getMachine().getInterface(IPoweredMachine.class); - } + protected IPoweredMachine getPower() { + return getMachine().getInterface(IPoweredMachine.class); + } - @Override - public float getEnergyPerTick() { - return energyPerTick; - } + @Override + public float getEnergyPerTick() { + return energyPerTick; + } - @Override - public void onUpdate() { - if (canWork() == null) { - if (!isInProgress() && canProgress() == null) { - onStartTask(); - } else if (canProgress() == null) { - progressTick(); - onTickTask(); - } - } else if (isInProgress()) { - onCancelTask(); - } + @Override + public void onUpdate() { + if (canWork() == null) { + if (!isInProgress() && canProgress() == null) { + onStartTask(); + } else if (canProgress() == null) { + progressTick(); + onTickTask(); + } + } else if (isInProgress()) { + onCancelTask(); + } - if (actionPauseProcess > 0.0f) { - actionPauseProcess--; - } - if (actionCancelTask > 0.0f) { - actionCancelTask--; - } + if (actionPauseProcess > 0.0f) { + actionPauseProcess--; + } + if (actionCancelTask > 0.0f) { + actionCancelTask--; + } - super.onUpdate(); - if (inProgress != inProgress()) { - inProgress = inProgress(); - getUtil().refreshBlock(); - } - } + super.onUpdate(); + if (inProgress != inProgress()) { + inProgress = inProgress(); + getUtil().refreshBlock(); + } + } - protected void progressTick() { - getPower().getInterface().useEnergy(PowerSystem.RF, getEnergyPerTick(), true); - } + protected void progressTick() { + getPower().getInterface().useEnergy(PowerSystem.RF, getEnergyPerTick(), true); + } - @Override - public ErrorState canWork() { - if (actionCancelTask == 0.0f) { - return null; - } - return new ErrorState( - I18N.localise("binniecore.gui.tooltip.task.canceled"), - I18N.localise("binniecore.gui.tooltip.task.canceled.desc") - ); - } + @Override + public ErrorState canWork() { + if (actionCancelTask == 0.0f) { + return null; + } + return new ErrorState( + I18N.localise("binniecore.gui.tooltip.task.canceled"), + I18N.localise("binniecore.gui.tooltip.task.canceled.desc")); + } - @Override - public ErrorState canProgress() { - if (actionPauseProcess != 0.0f) { - return new ErrorState( - I18N.localise("binniecore.gui.tooltip.task.paused"), - I18N.localise("binniecore.gui.tooltip.task.paused.desc") - ); - } - if (getPower().getInterface().getEnergy(PowerSystem.RF) < getEnergyPerTick()) { - return new ErrorState.InsufficientPower(); - } - return null; - } + @Override + public ErrorState canProgress() { + if (actionPauseProcess != 0.0f) { + return new ErrorState( + I18N.localise("binniecore.gui.tooltip.task.paused"), + I18N.localise("binniecore.gui.tooltip.task.paused.desc")); + } + if (getPower().getInterface().getEnergy(PowerSystem.RF) < getEnergyPerTick()) { + return new ErrorState.InsufficientPower(); + } + return null; + } - @Override - public boolean isInProgress() { - return inProgress; - } + @Override + public boolean isInProgress() { + return inProgress; + } - protected abstract boolean inProgress(); + protected abstract boolean inProgress(); - protected void onCancelTask() { - // ignored - } + protected void onCancelTask() { + // ignored + } - protected void onStartTask() { - // ignored - } + protected void onStartTask() { + // ignored + } - protected void onTickTask() { - // ignored - } + protected void onTickTask() { + // ignored + } - @Override - public String getTooltip() { - return I18N.localise("binniecore.gui.tooltip.processing"); - } + @Override + public String getTooltip() { + return I18N.localise("binniecore.gui.tooltip.processing"); + } - @Override - public ProcessInfo getInfo() { - return new ProcessInfo(this); - } + @Override + public ProcessInfo getInfo() { + return new ProcessInfo(this); + } } diff --git a/src/main/java/binnie/core/machines/power/ComponentProcessSetCost.java b/src/main/java/binnie/core/machines/power/ComponentProcessSetCost.java index b33b0376..41052671 100644 --- a/src/main/java/binnie/core/machines/power/ComponentProcessSetCost.java +++ b/src/main/java/binnie/core/machines/power/ComponentProcessSetCost.java @@ -3,22 +3,22 @@ package binnie.core.machines.power; import binnie.core.machines.IMachine; public class ComponentProcessSetCost extends ComponentProcess { - private int processLength; - private int processEnergy; + private int processLength; + private int processEnergy; - public ComponentProcessSetCost(IMachine machine, int rfCost, int timePeriod) { - super(machine); - processLength = timePeriod; - processEnergy = rfCost; - } + public ComponentProcessSetCost(IMachine machine, int rfCost, int timePeriod) { + super(machine); + processLength = timePeriod; + processEnergy = rfCost; + } - @Override - public int getProcessLength() { - return processLength; - } + @Override + public int getProcessLength() { + return processLength; + } - @Override - public int getProcessEnergy() { - return processEnergy; - } + @Override + public int getProcessEnergy() { + return processEnergy; + } } diff --git a/src/main/java/binnie/core/machines/power/ErrorState.java b/src/main/java/binnie/core/machines/power/ErrorState.java index 09605422..1406f80d 100644 --- a/src/main/java/binnie/core/machines/power/ErrorState.java +++ b/src/main/java/binnie/core/machines/power/ErrorState.java @@ -5,149 +5,148 @@ import forestry.api.core.INBTTagable; import net.minecraft.nbt.NBTTagCompound; public class ErrorState implements INBTTagable { - private String name; - private String desc; - private int[] data; - private boolean progress; - private boolean itemError; - private boolean tankError; - private boolean powerError; + private String name; + private String desc; + private int[] data; + private boolean progress; + private boolean itemError; + private boolean tankError; + private boolean powerError; - public ErrorState(String name, String desc) { - data = new int[0]; - progress = false; - itemError = false; - tankError = false; - powerError = false; - this.name = name; - this.desc = desc; - } + public ErrorState(String name, String desc) { + data = new int[0]; + progress = false; + itemError = false; + tankError = false; + powerError = false; + this.name = name; + this.desc = desc; + } - public ErrorState(String name, String desc, int[] data) { - progress = false; - itemError = false; - tankError = false; - powerError = false; - this.name = name; - this.desc = desc; - this.data = data; - } + public ErrorState(String name, String desc, int[] data) { + progress = false; + itemError = false; + tankError = false; + powerError = false; + this.name = name; + this.desc = desc; + this.data = data; + } - @Override - public String toString() { - return name; - } + @Override + public String toString() { + return name; + } - public String getTooltip() { - return desc; - } + public String getTooltip() { + return desc; + } - public int[] getData() { - return data; - } + public int[] getData() { + return data; + } - public boolean isProgress() { - return progress; - } + public boolean isProgress() { + return progress; + } - @Override - public void readFromNBT(NBTTagCompound nbt) { - name = nbt.getString("name"); - desc = nbt.getString("desc"); - data = nbt.getIntArray("data"); - itemError = nbt.getBoolean("item"); - tankError = nbt.getBoolean("tank"); - powerError = nbt.getBoolean("power"); - } + @Override + public void readFromNBT(NBTTagCompound nbt) { + name = nbt.getString("name"); + desc = nbt.getString("desc"); + data = nbt.getIntArray("data"); + itemError = nbt.getBoolean("item"); + tankError = nbt.getBoolean("tank"); + powerError = nbt.getBoolean("power"); + } - @Override - public void writeToNBT(NBTTagCompound nbt) { - nbt.setString("name", toString()); - nbt.setString("desc", getTooltip()); - nbt.setIntArray("data", data); - if (isItemError()) { - nbt.setBoolean("item", true); - } - if (isTankError()) { - nbt.setBoolean("tank", true); - } - if (isPowerError()) { - nbt.setBoolean("power", true); - } - } + @Override + public void writeToNBT(NBTTagCompound nbt) { + nbt.setString("name", toString()); + nbt.setString("desc", getTooltip()); + nbt.setIntArray("data", data); + if (isItemError()) { + nbt.setBoolean("item", true); + } + if (isTankError()) { + nbt.setBoolean("tank", true); + } + if (isPowerError()) { + nbt.setBoolean("power", true); + } + } - public boolean isItemError() { - return itemError || this instanceof Item; - } + public boolean isItemError() { + return itemError || this instanceof Item; + } - public boolean isTankError() { - return tankError || this instanceof Tank; - } + public boolean isTankError() { + return tankError || this instanceof Tank; + } - public boolean isPowerError() { - return powerError || this instanceof InsufficientPower; - } + public boolean isPowerError() { + return powerError || this instanceof InsufficientPower; + } - public static class Item extends ErrorState { - public Item(String name, String desc, int[] slots) { - super(name, desc, slots); - } - } + public static class Item extends ErrorState { + public Item(String name, String desc, int[] slots) { + super(name, desc, slots); + } + } - public static class Tank extends ErrorState { - public Tank(String name, String desc, int[] slots) { - super(name, desc, slots); - } - } + public static class Tank extends ErrorState { + public Tank(String name, String desc, int[] slots) { + super(name, desc, slots); + } + } - public static class NoItem extends Item { - public NoItem(String desc, int slot) { - this(desc, new int[]{slot}); - } + public static class NoItem extends Item { + public NoItem(String desc, int slot) { + this(desc, new int[] {slot}); + } - public NoItem(String desc, int[] slots) { - super(I18N.localise("binniecore.machine.error.noItem"), desc, slots); - } - } + public NoItem(String desc, int[] slots) { + super(I18N.localise("binniecore.machine.error.noItem"), desc, slots); + } + } - public static class InvalidItem extends Item { - public InvalidItem(String desc, int slot) { - this(I18N.localise("binniecore.machine.error.invalidItem"), desc, slot); - } + public static class InvalidItem extends Item { + public InvalidItem(String desc, int slot) { + this(I18N.localise("binniecore.machine.error.invalidItem"), desc, slot); + } - public InvalidItem(String name, String desc, int slot) { - super(name, desc, new int[]{slot}); - } - } + public InvalidItem(String name, String desc, int slot) { + super(name, desc, new int[] {slot}); + } + } - public static class NoSpace extends Item { - public NoSpace(String desc, int slot) { - super(I18N.localise("binniecore.machine.error.noSpace"), desc, new int[]{slot}); - } + public static class NoSpace extends Item { + public NoSpace(String desc, int slot) { + super(I18N.localise("binniecore.machine.error.noSpace"), desc, new int[] {slot}); + } - public NoSpace(String desc, int[] slots) { - super(I18N.localise("binniecore.machine.error.noSpace"), desc, slots); - } - } + public NoSpace(String desc, int[] slots) { + super(I18N.localise("binniecore.machine.error.noSpace"), desc, slots); + } + } - public static class InsufficientPower extends ErrorState { - public InsufficientPower() { - super( - I18N.localise("binniecore.machine.error.insufficientPower.title"), - I18N.localise("binniecore.machine.error.insufficientPower.desc") - ); - } - } + public static class InsufficientPower extends ErrorState { + public InsufficientPower() { + super( + I18N.localise("binniecore.machine.error.insufficientPower.title"), + I18N.localise("binniecore.machine.error.insufficientPower.desc")); + } + } - public static class TankSpace extends Tank { - public TankSpace(String desc, int tank) { - super(I18N.localise("binniecore.machine.error.tankFull"), desc, new int[]{tank}); - } - } + public static class TankSpace extends Tank { + public TankSpace(String desc, int tank) { + super(I18N.localise("binniecore.machine.error.tankFull"), desc, new int[] {tank}); + } + } - public static class InsufficientLiquid extends Tank { - public InsufficientLiquid(String desc, int tank) { - super(I18N.localise("binniecore.machine.error.insufficientLiquid"), desc, new int[]{tank}); - } - } + public static class InsufficientLiquid extends Tank { + public InsufficientLiquid(String desc, int tank) { + super(I18N.localise("binniecore.machine.error.insufficientLiquid"), desc, new int[] {tank}); + } + } } diff --git a/src/main/java/binnie/core/machines/power/IErrorStateSource.java b/src/main/java/binnie/core/machines/power/IErrorStateSource.java index 537b612b..4924ad1f 100644 --- a/src/main/java/binnie/core/machines/power/IErrorStateSource.java +++ b/src/main/java/binnie/core/machines/power/IErrorStateSource.java @@ -1,7 +1,7 @@ package binnie.core.machines.power; public interface IErrorStateSource { - ErrorState canWork(); + ErrorState canWork(); - ErrorState canProgress(); + ErrorState canProgress(); } diff --git a/src/main/java/binnie/core/machines/power/IPoweredMachine.java b/src/main/java/binnie/core/machines/power/IPoweredMachine.java index 38db4ddc..1672ed94 100644 --- a/src/main/java/binnie/core/machines/power/IPoweredMachine.java +++ b/src/main/java/binnie/core/machines/power/IPoweredMachine.java @@ -6,7 +6,7 @@ import ic2.api.energy.tile.IEnergySink; @Optional.Interface(iface = "ic2.api.energy.tile.IEnergySink", modid = "IC2") public interface IPoweredMachine extends IEnergySink, IEnergyHandler { - PowerInfo getPowerInfo(); + PowerInfo getPowerInfo(); - PowerInterface getInterface(); + PowerInterface getInterface(); } diff --git a/src/main/java/binnie/core/machines/power/IProcess.java b/src/main/java/binnie/core/machines/power/IProcess.java index 8acebc2d..0286026a 100644 --- a/src/main/java/binnie/core/machines/power/IProcess.java +++ b/src/main/java/binnie/core/machines/power/IProcess.java @@ -1,11 +1,11 @@ package binnie.core.machines.power; public interface IProcess extends IErrorStateSource { - float getEnergyPerTick(); + float getEnergyPerTick(); - String getTooltip(); + String getTooltip(); - boolean isInProgress(); + boolean isInProgress(); - ProcessInfo getInfo(); + ProcessInfo getInfo(); } diff --git a/src/main/java/binnie/core/machines/power/IProcessTimed.java b/src/main/java/binnie/core/machines/power/IProcessTimed.java index 5346ebe2..5500698f 100644 --- a/src/main/java/binnie/core/machines/power/IProcessTimed.java +++ b/src/main/java/binnie/core/machines/power/IProcessTimed.java @@ -1,11 +1,11 @@ package binnie.core.machines.power; interface IProcessTimed extends IProcess, IErrorStateSource { - int getProcessLength(); + int getProcessLength(); - int getProcessEnergy(); + int getProcessEnergy(); - float getProgress(); + float getProgress(); - float getProgressPerTick(); + float getProgressPerTick(); } diff --git a/src/main/java/binnie/core/machines/power/ITankMachine.java b/src/main/java/binnie/core/machines/power/ITankMachine.java index cb7434b4..5ece7ca6 100644 --- a/src/main/java/binnie/core/machines/power/ITankMachine.java +++ b/src/main/java/binnie/core/machines/power/ITankMachine.java @@ -6,13 +6,13 @@ import net.minecraftforge.fluids.IFluidHandler; import net.minecraftforge.fluids.IFluidTank; public interface ITankMachine extends IFluidHandler, IValidatedTankContainer { - TankInfo[] getTankInfos(); + TankInfo[] getTankInfos(); - IFluidTank[] getTanks(); + IFluidTank[] getTanks(); - TankSlot addTank(int index, String name, int capacity); + TankSlot addTank(int index, String name, int capacity); - IFluidTank getTank(int index); + IFluidTank getTank(int index); - TankSlot getTankSlot(int slot); + TankSlot getTankSlot(int slot); } diff --git a/src/main/java/binnie/core/machines/power/PowerInfo.java b/src/main/java/binnie/core/machines/power/PowerInfo.java index 09866edc..42290332 100644 --- a/src/main/java/binnie/core/machines/power/PowerInfo.java +++ b/src/main/java/binnie/core/machines/power/PowerInfo.java @@ -4,36 +4,36 @@ import forestry.api.core.INBTTagable; import net.minecraft.nbt.NBTTagCompound; public class PowerInfo implements INBTTagable { - private float currentEnergy; - private float maxEnergy; + private float currentEnergy; + private float maxEnergy; - public PowerInfo(IPoweredMachine machine, float currentInput) { - currentEnergy = (float) machine.getInterface().getEnergy(PowerSystem.RF); - maxEnergy = (float) machine.getInterface().getCapacity(PowerSystem.RF); - } + public PowerInfo(IPoweredMachine machine, float currentInput) { + currentEnergy = (float) machine.getInterface().getEnergy(PowerSystem.RF); + maxEnergy = (float) machine.getInterface().getCapacity(PowerSystem.RF); + } - public PowerInfo() { - currentEnergy = 0.0f; - maxEnergy = 0.0f; - } + public PowerInfo() { + currentEnergy = 0.0f; + maxEnergy = 0.0f; + } - public int getStoredEnergy() { - return (int) currentEnergy; - } + public int getStoredEnergy() { + return (int) currentEnergy; + } - public int getMaxEnergy() { - return (int) maxEnergy; - } + public int getMaxEnergy() { + return (int) maxEnergy; + } - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - currentEnergy = nbttagcompound.getInteger("current"); - maxEnergy = nbttagcompound.getInteger("max"); - } + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + currentEnergy = nbttagcompound.getInteger("current"); + maxEnergy = nbttagcompound.getInteger("max"); + } - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - nbttagcompound.setInteger("current", getStoredEnergy()); - nbttagcompound.setInteger("max", getMaxEnergy()); - } + @Override + public void writeToNBT(NBTTagCompound nbttagcompound) { + nbttagcompound.setInteger("current", getStoredEnergy()); + nbttagcompound.setInteger("max", getMaxEnergy()); + } } diff --git a/src/main/java/binnie/core/machines/power/PowerInterface.java b/src/main/java/binnie/core/machines/power/PowerInterface.java index dcd28660..6815c895 100644 --- a/src/main/java/binnie/core/machines/power/PowerInterface.java +++ b/src/main/java/binnie/core/machines/power/PowerInterface.java @@ -4,74 +4,74 @@ import forestry.api.core.INBTTagable; import net.minecraft.nbt.NBTTagCompound; public class PowerInterface implements INBTTagable { - private int capacity; - private int energy; + private int capacity; + private int energy; - public PowerInterface(int capacity) { - this.capacity = capacity * 100; - energy = 0; - } + public PowerInterface(int capacity) { + this.capacity = capacity * 100; + energy = 0; + } - public int getCapacity() { - return capacity; - } + public int getCapacity() { + return capacity; + } - public int getEnergy() { - return energy; - } + public int getEnergy() { + return energy; + } - public int addEnergy(int amount, boolean shouldDo) { - int added = Math.min(getEnergySpace(), amount); - if (shouldDo) { - energy += added; - } - return added; - } + public int addEnergy(int amount, boolean shouldDo) { + int added = Math.min(getEnergySpace(), amount); + if (shouldDo) { + energy += added; + } + return added; + } - public int useEnergy(int amount, boolean simulate) { - int added = Math.min(getEnergy(), amount); - if (simulate) { - energy -= added; - } - return added; - } + public int useEnergy(int amount, boolean simulate) { + int added = Math.min(getEnergy(), amount); + if (simulate) { + energy -= added; + } + return added; + } - public int getEnergySpace() { - return getCapacity() - getEnergy(); - } + public int getEnergySpace() { + return getCapacity() - getEnergy(); + } - public double addEnergy(PowerSystem unit, double amount, boolean simulate) { - return unit.convertTo(addEnergy(unit.convertFrom(amount), simulate)); - } + public double addEnergy(PowerSystem unit, double amount, boolean simulate) { + return unit.convertTo(addEnergy(unit.convertFrom(amount), simulate)); + } - public double useEnergy(PowerSystem unit, double amount, boolean simulate) { - return unit.convertTo(useEnergy(unit.convertFrom(amount), simulate)); - } + public double useEnergy(PowerSystem unit, double amount, boolean simulate) { + return unit.convertTo(useEnergy(unit.convertFrom(amount), simulate)); + } - public double getEnergy(PowerSystem unit) { - return unit.convertTo(getEnergy()); - } + public double getEnergy(PowerSystem unit) { + return unit.convertTo(getEnergy()); + } - public double getCapacity(PowerSystem unit) { - return unit.convertTo(getCapacity()); - } + public double getCapacity(PowerSystem unit) { + return unit.convertTo(getCapacity()); + } - public double getEnergySpace(PowerSystem unit) { - return unit.convertTo(getEnergySpace()); - } + public double getEnergySpace(PowerSystem unit) { + return unit.convertTo(getEnergySpace()); + } - @Override - public void readFromNBT(NBTTagCompound nbt) { - energy = nbt.getInteger("Energy"); - if (energy > capacity) { - energy = capacity; - } else if (energy < 0) { - energy = 0; - } - } + @Override + public void readFromNBT(NBTTagCompound nbt) { + energy = nbt.getInteger("Energy"); + if (energy > capacity) { + energy = capacity; + } else if (energy < 0) { + energy = 0; + } + } - @Override - public void writeToNBT(NBTTagCompound nbt) { - nbt.setInteger("Energy", getEnergy()); - } + @Override + public void writeToNBT(NBTTagCompound nbt) { + nbt.setInteger("Energy", getEnergy()); + } } diff --git a/src/main/java/binnie/core/machines/power/PowerSystem.java b/src/main/java/binnie/core/machines/power/PowerSystem.java index 016e4285..ac62de2c 100644 --- a/src/main/java/binnie/core/machines/power/PowerSystem.java +++ b/src/main/java/binnie/core/machines/power/PowerSystem.java @@ -4,36 +4,36 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; public enum PowerSystem { - MJ(100.0), - RF(10.0), - EU(40.0); + MJ(100.0), + RF(10.0), + EU(40.0); - private double conversion; + private double conversion; - PowerSystem(double conversion) { - this.conversion = conversion; - } + PowerSystem(double conversion) { + this.conversion = conversion; + } - public double convertTo(int value) { - return value / conversion; - } + public double convertTo(int value) { + return value / conversion; + } - public int convertFrom(double value) { - return (int) (value * conversion); - } + public int convertFrom(double value) { + return (int) (value * conversion); + } - public static PowerSystem get(int i) { - return values()[i % values().length]; - } + public static PowerSystem get(int i) { + return values()[i % values().length]; + } - public String getUnitName() { - return name(); - } + public String getUnitName() { + return name(); + } - public ItemStack saveTo(ItemStack stack) { - NBTTagCompound tag = stack.hasTagCompound() ? stack.getTagCompound() : new NBTTagCompound(); - tag.setByte("power-system", (byte) ordinal()); - stack.setTagCompound(tag); - return stack; - } + public ItemStack saveTo(ItemStack stack) { + NBTTagCompound tag = stack.hasTagCompound() ? stack.getTagCompound() : new NBTTagCompound(); + tag.setByte("power-system", (byte) ordinal()); + stack.setTagCompound(tag); + return stack; + } } diff --git a/src/main/java/binnie/core/machines/power/ProcessInfo.java b/src/main/java/binnie/core/machines/power/ProcessInfo.java index a702f06e..5d722fbc 100644 --- a/src/main/java/binnie/core/machines/power/ProcessInfo.java +++ b/src/main/java/binnie/core/machines/power/ProcessInfo.java @@ -4,63 +4,63 @@ import forestry.api.core.INBTTagable; import net.minecraft.nbt.NBTTagCompound; public class ProcessInfo implements INBTTagable { - private float currentProgress; - private int processEnergy; - private int processTime; - private float energyPerTick; + private float currentProgress; + private int processEnergy; + private int processTime; + private float energyPerTick; - public ProcessInfo(IProcess process) { - currentProgress = 0.0f; - processEnergy = 0; - processTime = 0; - energyPerTick = process.getEnergyPerTick(); + public ProcessInfo(IProcess process) { + currentProgress = 0.0f; + processEnergy = 0; + processTime = 0; + energyPerTick = process.getEnergyPerTick(); - if (process instanceof IProcessTimed) { - IProcessTimed time = (IProcessTimed) process; - currentProgress = time.getProgress(); - processEnergy = time.getProcessEnergy(); - processTime = time.getProcessLength(); - } else { - currentProgress = process.isInProgress() ? 100.0f : 0.0f; - } - } + if (process instanceof IProcessTimed) { + IProcessTimed time = (IProcessTimed) process; + currentProgress = time.getProgress(); + processEnergy = time.getProcessEnergy(); + processTime = time.getProcessLength(); + } else { + currentProgress = process.isInProgress() ? 100.0f : 0.0f; + } + } - public ProcessInfo() { - currentProgress = 0.0f; - processEnergy = 0; - processTime = 0; - energyPerTick = 0.0f; - } + public ProcessInfo() { + currentProgress = 0.0f; + processEnergy = 0; + processTime = 0; + energyPerTick = 0.0f; + } - public float getCurrentProgress() { - return currentProgress; - } + public float getCurrentProgress() { + return currentProgress; + } - public int getProcessEnergy() { - return processEnergy; - } + public int getProcessEnergy() { + return processEnergy; + } - public int getProcessTime() { - return processTime; - } + public int getProcessTime() { + return processTime; + } - public float getEnergyPerTick() { - return energyPerTick; - } + public float getEnergyPerTick() { + return energyPerTick; + } - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - energyPerTick = nbttagcompound.getFloat("ept"); - processEnergy = nbttagcompound.getInteger("e"); - processTime = nbttagcompound.getInteger("t"); - currentProgress = nbttagcompound.getFloat("p"); - } + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + energyPerTick = nbttagcompound.getFloat("ept"); + processEnergy = nbttagcompound.getInteger("e"); + processTime = nbttagcompound.getInteger("t"); + currentProgress = nbttagcompound.getFloat("p"); + } - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - nbttagcompound.setFloat("ept", energyPerTick); - nbttagcompound.setFloat("p", currentProgress); - nbttagcompound.setInteger("e", processEnergy); - nbttagcompound.setInteger("t", processTime); - } + @Override + public void writeToNBT(NBTTagCompound nbttagcompound) { + nbttagcompound.setFloat("ept", energyPerTick); + nbttagcompound.setFloat("p", currentProgress); + nbttagcompound.setInteger("e", processEnergy); + nbttagcompound.setInteger("t", processTime); + } } diff --git a/src/main/java/binnie/core/machines/power/TankInfo.java b/src/main/java/binnie/core/machines/power/TankInfo.java index afc57124..35179089 100644 --- a/src/main/java/binnie/core/machines/power/TankInfo.java +++ b/src/main/java/binnie/core/machines/power/TankInfo.java @@ -7,62 +7,62 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidTank; public class TankInfo implements INBTTagable { - public FluidStack liquid; - private float capacity; + public FluidStack liquid; + private float capacity; - public TankInfo(IFluidTank tank) { - capacity = tank.getCapacity(); - liquid = tank.getFluid(); - } + public TankInfo(IFluidTank tank) { + capacity = tank.getCapacity(); + liquid = tank.getFluid(); + } - public TankInfo() { - capacity = 0.0f; - } + public TankInfo() { + capacity = 0.0f; + } - public float getAmount() { - return (liquid == null) ? 0.0f : liquid.amount; - } + public float getAmount() { + return (liquid == null) ? 0.0f : liquid.amount; + } - public float getCapacity() { - return capacity; - } + public float getCapacity() { + return capacity; + } - public boolean isEmpty() { - return liquid == null; - } + public boolean isEmpty() { + return liquid == null; + } - public IIcon getIcon() { - return liquid.getFluid().getStillIcon(); - } + public IIcon getIcon() { + return liquid.getFluid().getStillIcon(); + } - public String getName() { - return (liquid == null) ? "" : liquid.getFluid().getLocalizedName(); - } + public String getName() { + return (liquid == null) ? "" : liquid.getFluid().getLocalizedName(); + } - @Override - public void readFromNBT(NBTTagCompound nbt) { - capacity = nbt.getInteger("capacity"); - if (nbt.hasKey("liquid")) { - liquid = FluidStack.loadFluidStackFromNBT(nbt.getCompoundTag("liquid")); - } - } + @Override + public void readFromNBT(NBTTagCompound nbt) { + capacity = nbt.getInteger("capacity"); + if (nbt.hasKey("liquid")) { + liquid = FluidStack.loadFluidStackFromNBT(nbt.getCompoundTag("liquid")); + } + } - @Override - public void writeToNBT(NBTTagCompound nbt) { - nbt.setInteger("capacity", (int) getCapacity()); - if (liquid == null) { - return; - } - NBTTagCompound tag = new NBTTagCompound(); - liquid.writeToNBT(tag); - nbt.setTag("liquid", tag); - } + @Override + public void writeToNBT(NBTTagCompound nbt) { + nbt.setInteger("capacity", (int) getCapacity()); + if (liquid == null) { + return; + } + NBTTagCompound tag = new NBTTagCompound(); + liquid.writeToNBT(tag); + nbt.setTag("liquid", tag); + } - public static TankInfo[] get(ITankMachine machine) { - TankInfo[] info = new TankInfo[machine.getTanks().length]; - for (int i = 0; i < info.length; ++i) { - info[i] = new TankInfo(machine.getTanks()[i]); - } - return info; - } + public static TankInfo[] get(ITankMachine machine) { + TankInfo[] info = new TankInfo[machine.getTanks().length]; + for (int i = 0; i < info.length; ++i) { + info[i] = new TankInfo(machine.getTanks()[i]); + } + return info; + } } diff --git a/src/main/java/binnie/core/machines/storage/Compartment.java b/src/main/java/binnie/core/machines/storage/Compartment.java index 0569da73..b6ee135a 100644 --- a/src/main/java/binnie/core/machines/storage/Compartment.java +++ b/src/main/java/binnie/core/machines/storage/Compartment.java @@ -12,49 +12,50 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; enum Compartment implements IMachineType { - Compartment(StandardCompartment.PackageCompartment.class), - CompartmentCopper(StandardCompartment.PackageCompartmentCopper.class), - CompartmentBronze(StandardCompartment.PackageCompartmentBronze.class), - CompartmentIron(StandardCompartment.PackageCompartmentIron.class), - CompartmentGold(StandardCompartment.PackageCompartmentGold.class), - CompartmentDiamond(StandardCompartment.PackageCompartmentDiamond.class); + Compartment(StandardCompartment.PackageCompartment.class), + CompartmentCopper(StandardCompartment.PackageCompartmentCopper.class), + CompartmentBronze(StandardCompartment.PackageCompartmentBronze.class), + CompartmentIron(StandardCompartment.PackageCompartmentIron.class), + CompartmentGold(StandardCompartment.PackageCompartmentGold.class), + CompartmentDiamond(StandardCompartment.PackageCompartmentDiamond.class); - Class clss; + Class clss; - Compartment(Class clss) { - this.clss = clss; - } + Compartment(Class clss) { + this.clss = clss; + } - @Override - public Class getPackageClass() { - return clss; - } + @Override + public Class getPackageClass() { + return clss; + } - @Override - public boolean isActive() { - return true; - } + @Override + public boolean isActive() { + return true; + } - public ItemStack get(int i) { - return new ItemStack(BinnieCore.packageCompartment.getBlock(), i, ordinal()); - } + public ItemStack get(int i) { + return new ItemStack(BinnieCore.packageCompartment.getBlock(), i, ordinal()); + } - public abstract static class PackageCompartment extends MachinePackage { - private BinnieResource renderTexture; + public abstract static class PackageCompartment extends MachinePackage { + private BinnieResource renderTexture; - protected PackageCompartment(String uid, IBinnieTexture renderTexture) { - super(uid, false); - this.renderTexture = renderTexture.getTexture(); - } + protected PackageCompartment(String uid, IBinnieTexture renderTexture) { + super(uid, false); + this.renderTexture = renderTexture.getTexture(); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } - @Override - public void renderMachine(Machine machine, double x, double y, double z, float partialTick, RenderBlocks renderer) { - MachineRendererCompartment.instance.renderMachine(machine, 0xffffff, renderTexture, x, y, z, partialTick); - } - } + @Override + public void renderMachine( + Machine machine, double x, double y, double z, float partialTick, RenderBlocks renderer) { + MachineRendererCompartment.instance.renderMachine(machine, 0xffffff, renderTexture, x, y, z, partialTick); + } + } } diff --git a/src/main/java/binnie/core/machines/storage/CompartmentTab.java b/src/main/java/binnie/core/machines/storage/CompartmentTab.java index fe23e325..9aaddef6 100644 --- a/src/main/java/binnie/core/machines/storage/CompartmentTab.java +++ b/src/main/java/binnie/core/machines/storage/CompartmentTab.java @@ -7,65 +7,65 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; class CompartmentTab implements INBTTagable { - private String name; - private ItemStack icon; - private EnumColor color; - private int id; + private String name; + private ItemStack icon; + private EnumColor color; + private int id; - public CompartmentTab(int id) { - name = ""; - icon = new ItemStack(Items.paper); - color = EnumColor.White; - this.id = id; - } + public CompartmentTab(int id) { + name = ""; + icon = new ItemStack(Items.paper); + color = EnumColor.White; + this.id = id; + } - @Override - public void readFromNBT(NBTTagCompound nbt) { - name = nbt.getString("name"); - icon = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("icon")); - color = EnumColor.values()[nbt.getByte("color")]; - id = nbt.getByte("id"); - } + @Override + public void readFromNBT(NBTTagCompound nbt) { + name = nbt.getString("name"); + icon = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("icon")); + color = EnumColor.values()[nbt.getByte("color")]; + id = nbt.getByte("id"); + } - @Override - public void writeToNBT(NBTTagCompound nbt) { - nbt.setString("name", name); - NBTTagCompound n = new NBTTagCompound(); - icon.writeToNBT(n); - nbt.setTag("icon", n); - nbt.setByte("color", (byte) color.ordinal()); - nbt.setByte("id", (byte) id); - } + @Override + public void writeToNBT(NBTTagCompound nbt) { + nbt.setString("name", name); + NBTTagCompound n = new NBTTagCompound(); + icon.writeToNBT(n); + nbt.setTag("icon", n); + nbt.setByte("color", (byte) color.ordinal()); + nbt.setByte("id", (byte) id); + } - public String getName() { - return name; - } + public String getName() { + return name; + } - public ItemStack getIcon() { - return icon; - } + public ItemStack getIcon() { + return icon; + } - public EnumColor getColor() { - return color; - } + public EnumColor getColor() { + return color; + } - public int getId() { - return id; - } + public int getId() { + return id; + } - public void setName(String name) { - if (name == null) { - this.name = ""; - } else { - this.name = name; - } - } + public void setName(String name) { + if (name == null) { + this.name = ""; + } else { + this.name = name; + } + } - public void setIcon(ItemStack icon) { - this.icon = icon; - } + public void setIcon(ItemStack icon) { + this.icon = icon; + } - public void setColor(EnumColor color) { - this.color = color; - } + public void setColor(EnumColor color) { + this.color = color; + } } diff --git a/src/main/java/binnie/core/machines/storage/ComponentBinnieCoreGUI.java b/src/main/java/binnie/core/machines/storage/ComponentBinnieCoreGUI.java index 9b6b6d86..1d2155a0 100644 --- a/src/main/java/binnie/core/machines/storage/ComponentBinnieCoreGUI.java +++ b/src/main/java/binnie/core/machines/storage/ComponentBinnieCoreGUI.java @@ -9,15 +9,15 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; class ComponentBinnieCoreGUI extends MachineComponent implements IInteraction.RightClick { - private BinnieCoreGUI id; + private BinnieCoreGUI id; - public ComponentBinnieCoreGUI(Machine machine, BinnieCoreGUI id) { - super(machine); - this.id = id; - } + public ComponentBinnieCoreGUI(Machine machine, BinnieCoreGUI id) { + super(machine); + this.id = id; + } - @Override - public void onRightClick(World world, EntityPlayer player, int x, int y, int z) { - BinnieCore.proxy.openGui(id, player, x, y, z); - } + @Override + public void onRightClick(World world, EntityPlayer player, int x, int y, int z) { + BinnieCore.proxy.openGui(id, player, x, y, z); + } } diff --git a/src/main/java/binnie/core/machines/storage/ComponentCompartmentInventory.java b/src/main/java/binnie/core/machines/storage/ComponentCompartmentInventory.java index 6c3d9dd5..d427db2d 100644 --- a/src/main/java/binnie/core/machines/storage/ComponentCompartmentInventory.java +++ b/src/main/java/binnie/core/machines/storage/ComponentCompartmentInventory.java @@ -4,108 +4,107 @@ import binnie.core.machines.IMachine; import binnie.core.machines.inventory.ComponentInventorySlots; import binnie.core.machines.network.INetwork; import cpw.mods.fml.relauncher.Side; +import java.util.HashMap; +import java.util.Map; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import java.util.HashMap; -import java.util.Map; - class ComponentCompartmentInventory extends ComponentInventorySlots implements INetwork.GuiNBT { - private int numberOfTabs; - private int slotsPerPage; - private Map tabs; + private int numberOfTabs; + private int slotsPerPage; + private Map tabs; - public ComponentCompartmentInventory(IMachine machine, int sections) { - this(machine, sections, 4); - } + public ComponentCompartmentInventory(IMachine machine, int sections) { + this(machine, sections, 4); + } - public ComponentCompartmentInventory(IMachine machine, int tabs, int pageSize) { - super(machine); - this.tabs = new HashMap<>(); - numberOfTabs = tabs; - slotsPerPage = pageSize; - for (int i = 0; i < numberOfTabs * slotsPerPage; ++i) { - addSlot(i, "compartment"); - } - } + public ComponentCompartmentInventory(IMachine machine, int tabs, int pageSize) { + super(machine); + this.tabs = new HashMap<>(); + numberOfTabs = tabs; + slotsPerPage = pageSize; + for (int i = 0; i < numberOfTabs * slotsPerPage; ++i) { + addSlot(i, "compartment"); + } + } - public int getPageSize() { - return slotsPerPage; - } + public int getPageSize() { + return slotsPerPage; + } - public int getTabNumber() { - return numberOfTabs; - } + public int getTabNumber() { + return numberOfTabs; + } - public int[] getSlotsForTab(int currentTab) { - int[] slots = new int[slotsPerPage]; - for (int i = 0; i < slotsPerPage; ++i) { - slots[i] = i + currentTab * slotsPerPage; - } - return slots; - } + public int[] getSlotsForTab(int currentTab) { + int[] slots = new int[slotsPerPage]; + for (int i = 0; i < slotsPerPage; ++i) { + slots[i] = i + currentTab * slotsPerPage; + } + return slots; + } - public CompartmentTab getTab(int i) { - if (!tabs.containsKey(i)) { - tabs.put(i, new CompartmentTab(i)); - } - return tabs.get(i); - } + public CompartmentTab getTab(int i) { + if (!tabs.containsKey(i)) { + tabs.put(i, new CompartmentTab(i)); + } + return tabs.get(i); + } - @Override - public void sendGuiNBT(Map nbts) { - NBTTagList list = new NBTTagList(); - for (int i = 0; i < numberOfTabs; ++i) { - NBTTagCompound nbt2 = new NBTTagCompound(); - getTab(i).writeToNBT(nbt2); - list.appendTag(nbt2); - } - NBTTagCompound tag = new NBTTagCompound(); - tag.setTag("tabs", list); - nbts.put("comp-tabs", tag); - } + @Override + public void sendGuiNBT(Map nbts) { + NBTTagList list = new NBTTagList(); + for (int i = 0; i < numberOfTabs; ++i) { + NBTTagCompound nbt2 = new NBTTagCompound(); + getTab(i).writeToNBT(nbt2); + list.appendTag(nbt2); + } + NBTTagCompound tag = new NBTTagCompound(); + tag.setTag("tabs", list); + nbts.put("comp-tabs", tag); + } - @Override - public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { - if (name.equals("comp-tabs")) { - NBTTagList tags = nbt.getTagList("tabs", 10); - for (int i = 0; i < tags.tagCount(); ++i) { - NBTTagCompound tag = tags.getCompoundTagAt(i); - CompartmentTab tab = new CompartmentTab(0); - tab.readFromNBT(tag); - tabs.put(tab.getId(), tab); - } - } - if (name.equals("comp-change-tab")) { - CompartmentTab tab2 = new CompartmentTab(0); - tab2.readFromNBT(nbt); - tabs.put(tab2.getId(), tab2); - getMachine().getTileEntity().markDirty(); - } - } + @Override + public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { + if (name.equals("comp-tabs")) { + NBTTagList tags = nbt.getTagList("tabs", 10); + for (int i = 0; i < tags.tagCount(); ++i) { + NBTTagCompound tag = tags.getCompoundTagAt(i); + CompartmentTab tab = new CompartmentTab(0); + tab.readFromNBT(tag); + tabs.put(tab.getId(), tab); + } + } + if (name.equals("comp-change-tab")) { + CompartmentTab tab2 = new CompartmentTab(0); + tab2.readFromNBT(nbt); + tabs.put(tab2.getId(), tab2); + getMachine().getTileEntity().markDirty(); + } + } - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList tags = nbt.getTagList("tabs", 10); - for (int i = 0; i < tags.tagCount(); ++i) { - NBTTagCompound tag = tags.getCompoundTagAt(i); - CompartmentTab tab = new CompartmentTab(0); - tab.readFromNBT(tag); - tabs.put(tab.getId(), tab); - } - } + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList tags = nbt.getTagList("tabs", 10); + for (int i = 0; i < tags.tagCount(); ++i) { + NBTTagCompound tag = tags.getCompoundTagAt(i); + CompartmentTab tab = new CompartmentTab(0); + tab.readFromNBT(tag); + tabs.put(tab.getId(), tab); + } + } - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - NBTTagList list = new NBTTagList(); - for (int i = 0; i < numberOfTabs; ++i) { - NBTTagCompound nbt2 = new NBTTagCompound(); - getTab(i).writeToNBT(nbt2); - list.appendTag(nbt2); - } - nbt.setTag("tabs", list); - } + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); + for (int i = 0; i < numberOfTabs; ++i) { + NBTTagCompound nbt2 = new NBTTagCompound(); + getTab(i).writeToNBT(nbt2); + list.appendTag(nbt2); + } + nbt.setTag("tabs", list); + } } diff --git a/src/main/java/binnie/core/machines/storage/ControlColourSelector.java b/src/main/java/binnie/core/machines/storage/ControlColourSelector.java index 1419bfd6..6aa6ed76 100644 --- a/src/main/java/binnie/core/machines/storage/ControlColourSelector.java +++ b/src/main/java/binnie/core/machines/storage/ControlColourSelector.java @@ -10,33 +10,33 @@ import binnie.core.craftgui.controls.core.IControlValue; import binnie.core.craftgui.minecraft.EnumColor; class ControlColourSelector extends Control implements ITooltip, IControlValue { - private EnumColor value; + private EnumColor value; - public ControlColourSelector(IWidget parent, float x, float y, float w, float h, EnumColor value) { - super(parent, x, y, w, h); - setValue(value); - addAttribute(WidgetAttribute.MOUSE_OVER); - } + public ControlColourSelector(IWidget parent, float x, float y, float w, float h, EnumColor value) { + super(parent, x, y, w, h); + setValue(value); + addAttribute(WidgetAttribute.MOUSE_OVER); + } - @Override - public void getTooltip(Tooltip tooltip) { - tooltip.add(value.toString()); - } + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.add(value.toString()); + } - @Override - public EnumColor getValue() { - return value; - } + @Override + public EnumColor getValue() { + return value; + } - @Override - public void setValue(EnumColor value) { - this.value = value; - setColor(value.getColor()); - } + @Override + public void setValue(EnumColor value) { + this.value = value; + setColor(value.getColor()); + } - @Override - public void onRenderBackground() { - super.onRenderBackground(); - CraftGUI.render.gradientRect(getArea(), 0xff000000 + value.getColor(), 0xff000000 + value.getColor()); - } + @Override + public void onRenderBackground() { + super.onRenderBackground(); + CraftGUI.render.gradientRect(getArea(), 0xff000000 + value.getColor(), 0xff000000 + value.getColor()); + } } diff --git a/src/main/java/binnie/core/machines/storage/MachineRendererCompartment.java b/src/main/java/binnie/core/machines/storage/MachineRendererCompartment.java index 94a47d5d..709b6f8b 100644 --- a/src/main/java/binnie/core/machines/storage/MachineRendererCompartment.java +++ b/src/main/java/binnie/core/machines/storage/MachineRendererCompartment.java @@ -9,29 +9,30 @@ import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) class MachineRendererCompartment { - public static MachineRendererCompartment instance = new MachineRendererCompartment(); - private ModelCompartment model; + public static MachineRendererCompartment instance = new MachineRendererCompartment(); + private ModelCompartment model; - public MachineRendererCompartment() { - model = new ModelCompartment(); - } + public MachineRendererCompartment() { + model = new ModelCompartment(); + } - public void renderMachine(Machine machine, int colour, BinnieResource texture, double x, double y, double z, float var8) { - GL11.glPushMatrix(); - int i1 = 0; - int ix = machine.getTileEntity().xCoord; - int iy = machine.getTileEntity().yCoord; - int iz = machine.getTileEntity().zCoord; - if (machine.getTileEntity() != null) { - i1 = ix * iy * iz + ix * iy - ix * iz + iy * iz - ix + iy - iz; - } - float phase = (float) Math.max(0.0, Math.sin((System.currentTimeMillis() + i1) * 0.003)); - GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5); - GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); - BinnieCore.proxy.bindTexture(texture); - GL11.glPushMatrix(); - model.render(null, (float) x, (float) y, (float) z, 0.0625f, 0.0625f, 0.0625f); - GL11.glPopMatrix(); - GL11.glPopMatrix(); - } + public void renderMachine( + Machine machine, int colour, BinnieResource texture, double x, double y, double z, float var8) { + GL11.glPushMatrix(); + int i1 = 0; + int ix = machine.getTileEntity().xCoord; + int iy = machine.getTileEntity().yCoord; + int iz = machine.getTileEntity().zCoord; + if (machine.getTileEntity() != null) { + i1 = ix * iy * iz + ix * iy - ix * iz + iy * iz - ix + iy - iz; + } + float phase = (float) Math.max(0.0, Math.sin((System.currentTimeMillis() + i1) * 0.003)); + GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5); + GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); + BinnieCore.proxy.bindTexture(texture); + GL11.glPushMatrix(); + model.render(null, (float) x, (float) y, (float) z, 0.0625f, 0.0625f, 0.0625f); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } } diff --git a/src/main/java/binnie/core/machines/storage/ModelCompartment.java b/src/main/java/binnie/core/machines/storage/ModelCompartment.java index 3ef72e1b..f463a3e0 100644 --- a/src/main/java/binnie/core/machines/storage/ModelCompartment.java +++ b/src/main/java/binnie/core/machines/storage/ModelCompartment.java @@ -5,178 +5,178 @@ import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; class ModelCompartment extends ModelBase { - private ModelRenderer column1; - private ModelRenderer column4; - private ModelRenderer column2; - private ModelRenderer column3; - private ModelRenderer lid1; - private ModelRenderer body1; - private ModelRenderer lock1; - private ModelRenderer lid2; - private ModelRenderer body2; - private ModelRenderer lock2; - private ModelRenderer body; - private ModelRenderer lid3; - private ModelRenderer body3; - private ModelRenderer lock3; - private ModelRenderer lid4; - private ModelRenderer body4; - private ModelRenderer lock4; + private ModelRenderer column1; + private ModelRenderer column4; + private ModelRenderer column2; + private ModelRenderer column3; + private ModelRenderer lid1; + private ModelRenderer body1; + private ModelRenderer lock1; + private ModelRenderer lid2; + private ModelRenderer body2; + private ModelRenderer lock2; + private ModelRenderer body; + private ModelRenderer lid3; + private ModelRenderer body3; + private ModelRenderer lock3; + private ModelRenderer lid4; + private ModelRenderer body4; + private ModelRenderer lock4; - public ModelCompartment() { - textureWidth = 128; - textureHeight = 128; + public ModelCompartment() { + textureWidth = 128; + textureHeight = 128; - column1 = new ModelRenderer(this, 0, 0); - column1.addBox(-8.0f, 8.0f, -8.0f, 4, 16, 4); - column1.setRotationPoint(0.0f, 0.0f, 0.0f); - column1.setTextureSize(128, 128); - column1.mirror = true; - setRotation(column1, 0.0f, 0.0f, 0.0f); + column1 = new ModelRenderer(this, 0, 0); + column1.addBox(-8.0f, 8.0f, -8.0f, 4, 16, 4); + column1.setRotationPoint(0.0f, 0.0f, 0.0f); + column1.setTextureSize(128, 128); + column1.mirror = true; + setRotation(column1, 0.0f, 0.0f, 0.0f); - column4 = new ModelRenderer(this, 0, 0); - column4.addBox(4.0f, 8.0f, -8.0f, 4, 16, 4); - column4.setRotationPoint(0.0f, 0.0f, 0.0f); - column4.setTextureSize(128, 128); - column4.mirror = true; - setRotation(column4, 0.0f, 0.0f, 0.0f); + column4 = new ModelRenderer(this, 0, 0); + column4.addBox(4.0f, 8.0f, -8.0f, 4, 16, 4); + column4.setRotationPoint(0.0f, 0.0f, 0.0f); + column4.setTextureSize(128, 128); + column4.mirror = true; + setRotation(column4, 0.0f, 0.0f, 0.0f); - column2 = new ModelRenderer(this, 0, 0); - column2.addBox(-8.0f, 8.0f, 4.0f, 4, 16, 4); - column2.setRotationPoint(0.0f, 0.0f, 0.0f); - column2.setTextureSize(128, 128); - column2.mirror = true; - setRotation(column2, 0.0f, 0.0f, 0.0f); + column2 = new ModelRenderer(this, 0, 0); + column2.addBox(-8.0f, 8.0f, 4.0f, 4, 16, 4); + column2.setRotationPoint(0.0f, 0.0f, 0.0f); + column2.setTextureSize(128, 128); + column2.mirror = true; + setRotation(column2, 0.0f, 0.0f, 0.0f); - column3 = new ModelRenderer(this, 0, 0); - column3.addBox(4.0f, 8.0f, 4.0f, 4, 16, 4); - column3.setRotationPoint(0.0f, 0.0f, 0.0f); - column3.setTextureSize(128, 128); - column3.mirror = true; - setRotation(column3, 0.0f, 0.0f, 0.0f); + column3 = new ModelRenderer(this, 0, 0); + column3.addBox(4.0f, 8.0f, 4.0f, 4, 16, 4); + column3.setRotationPoint(0.0f, 0.0f, 0.0f); + column3.setTextureSize(128, 128); + column3.mirror = true; + setRotation(column3, 0.0f, 0.0f, 0.0f); - lid1 = new ModelRenderer(this, 48, 0); - lid1.addBox(-4.0f, 9.0f, -7.0f, 8, 5, 3); - lid1.setRotationPoint(0.0f, 0.0f, 0.0f); - lid1.setTextureSize(128, 128); - lid1.mirror = true; - setRotation(lid1, 0.0f, 0.0f, 0.0f); + lid1 = new ModelRenderer(this, 48, 0); + lid1.addBox(-4.0f, 9.0f, -7.0f, 8, 5, 3); + lid1.setRotationPoint(0.0f, 0.0f, 0.0f); + lid1.setTextureSize(128, 128); + lid1.mirror = true; + setRotation(lid1, 0.0f, 0.0f, 0.0f); - body1 = new ModelRenderer(this, 0, 24); - body1.addBox(-4.0f, 14.0f, -7.0f, 8, 10, 3); - body1.setRotationPoint(0.0f, 0.0f, 0.0f); - body1.setTextureSize(128, 128); - body1.mirror = true; - setRotation(body1, 0.0f, 0.0f, 0.0f); + body1 = new ModelRenderer(this, 0, 24); + body1.addBox(-4.0f, 14.0f, -7.0f, 8, 10, 3); + body1.setRotationPoint(0.0f, 0.0f, 0.0f); + body1.setTextureSize(128, 128); + body1.mirror = true; + setRotation(body1, 0.0f, 0.0f, 0.0f); - lock1 = new ModelRenderer(this, 22, 24); - lock1.addBox(-1.0f, 12.0f, -8.0f, 2, 4, 1); - lock1.setRotationPoint(0.0f, 0.0f, 0.0f); - lock1.setTextureSize(128, 128); - lock1.mirror = true; - setRotation(lock1, 0.0f, 0.0f, 0.0f); + lock1 = new ModelRenderer(this, 22, 24); + lock1.addBox(-1.0f, 12.0f, -8.0f, 2, 4, 1); + lock1.setRotationPoint(0.0f, 0.0f, 0.0f); + lock1.setTextureSize(128, 128); + lock1.mirror = true; + setRotation(lock1, 0.0f, 0.0f, 0.0f); - lid2 = new ModelRenderer(this, 48, 0); - lid2.addBox(-4.0f, 9.0f, -7.0f, 8, 5, 3); - lid2.setRotationPoint(0.0f, 0.0f, 0.0f); - lid2.setTextureSize(128, 128); - lid2.mirror = true; - setRotation(lid2, 0.0f, 1.570796f, 0.0f); + lid2 = new ModelRenderer(this, 48, 0); + lid2.addBox(-4.0f, 9.0f, -7.0f, 8, 5, 3); + lid2.setRotationPoint(0.0f, 0.0f, 0.0f); + lid2.setTextureSize(128, 128); + lid2.mirror = true; + setRotation(lid2, 0.0f, 1.570796f, 0.0f); - body2 = new ModelRenderer(this, 0, 24); - body2.addBox(-4.0f, 14.0f, -7.0f, 8, 10, 3); - body2.setRotationPoint(0.0f, 0.0f, 0.0f); - body2.setTextureSize(128, 128); - body2.mirror = true; - setRotation(body2, 0.0f, 1.570796f, 0.0f); + body2 = new ModelRenderer(this, 0, 24); + body2.addBox(-4.0f, 14.0f, -7.0f, 8, 10, 3); + body2.setRotationPoint(0.0f, 0.0f, 0.0f); + body2.setTextureSize(128, 128); + body2.mirror = true; + setRotation(body2, 0.0f, 1.570796f, 0.0f); - lock2 = new ModelRenderer(this, 22, 24); - lock2.addBox(-1.0f, 12.0f, -8.0f, 2, 4, 1); - lock2.setRotationPoint(0.0f, 0.0f, 0.0f); - lock2.setTextureSize(128, 128); - lock2.mirror = true; - setRotation(lock2, 0.0f, 1.570796f, 0.0f); + lock2 = new ModelRenderer(this, 22, 24); + lock2.addBox(-1.0f, 12.0f, -8.0f, 2, 4, 1); + lock2.setRotationPoint(0.0f, 0.0f, 0.0f); + lock2.setTextureSize(128, 128); + lock2.mirror = true; + setRotation(lock2, 0.0f, 1.570796f, 0.0f); - body = new ModelRenderer(this, 16, 0); - body.addBox(-4.0f, 8.0f, -4.0f, 8, 16, 8); - body.setRotationPoint(0.0f, 0.0f, 0.0f); - body.setTextureSize(128, 128); - body.mirror = true; - setRotation(body, 0.0f, 0.0f, 0.0f); + body = new ModelRenderer(this, 16, 0); + body.addBox(-4.0f, 8.0f, -4.0f, 8, 16, 8); + body.setRotationPoint(0.0f, 0.0f, 0.0f); + body.setTextureSize(128, 128); + body.mirror = true; + setRotation(body, 0.0f, 0.0f, 0.0f); - lid3 = new ModelRenderer(this, 48, 0); - lid3.addBox(-4.0f, 9.0f, -7.0f, 8, 5, 3); - lid3.setRotationPoint(0.0f, 0.0f, 0.0f); - lid3.setTextureSize(128, 128); - lid3.mirror = true; - setRotation(lid3, 0.0f, 3.141593f, 0.0f); + lid3 = new ModelRenderer(this, 48, 0); + lid3.addBox(-4.0f, 9.0f, -7.0f, 8, 5, 3); + lid3.setRotationPoint(0.0f, 0.0f, 0.0f); + lid3.setTextureSize(128, 128); + lid3.mirror = true; + setRotation(lid3, 0.0f, 3.141593f, 0.0f); - body3 = new ModelRenderer(this, 0, 24); - body3.addBox(-4.0f, 14.0f, -7.0f, 8, 10, 3); - body3.setRotationPoint(0.0f, 0.0f, 0.0f); - body3.setTextureSize(128, 128); - body3.mirror = true; - setRotation(body3, 0.0f, 3.141593f, 0.0f); + body3 = new ModelRenderer(this, 0, 24); + body3.addBox(-4.0f, 14.0f, -7.0f, 8, 10, 3); + body3.setRotationPoint(0.0f, 0.0f, 0.0f); + body3.setTextureSize(128, 128); + body3.mirror = true; + setRotation(body3, 0.0f, 3.141593f, 0.0f); - lock3 = new ModelRenderer(this, 22, 24); - lock3.addBox(-1.0f, 12.0f, -8.0f, 2, 4, 1); - lock3.setRotationPoint(0.0f, 0.0f, 0.0f); - lock3.setTextureSize(128, 128); - lock3.mirror = true; - setRotation(lock3, 0.0f, 3.141593f, 0.0f); + lock3 = new ModelRenderer(this, 22, 24); + lock3.addBox(-1.0f, 12.0f, -8.0f, 2, 4, 1); + lock3.setRotationPoint(0.0f, 0.0f, 0.0f); + lock3.setTextureSize(128, 128); + lock3.mirror = true; + setRotation(lock3, 0.0f, 3.141593f, 0.0f); - lid4 = new ModelRenderer(this, 48, 0); - lid4.addBox(-4.0f, 9.0f, -7.0f, 8, 5, 3); - lid4.setRotationPoint(0.0f, 0.0f, 0.0f); - lid4.setTextureSize(128, 128); - lid4.mirror = true; - setRotation(lid4, 0.0f, -1.570796f, 0.0f); + lid4 = new ModelRenderer(this, 48, 0); + lid4.addBox(-4.0f, 9.0f, -7.0f, 8, 5, 3); + lid4.setRotationPoint(0.0f, 0.0f, 0.0f); + lid4.setTextureSize(128, 128); + lid4.mirror = true; + setRotation(lid4, 0.0f, -1.570796f, 0.0f); - body4 = new ModelRenderer(this, 0, 24); - body4.addBox(-4.0f, 14.0f, -7.0f, 8, 10, 3); - body4.setRotationPoint(0.0f, 0.0f, 0.0f); - body4.setTextureSize(128, 128); - body4.mirror = true; - setRotation(body4, 0.0f, -1.570796f, 0.0f); + body4 = new ModelRenderer(this, 0, 24); + body4.addBox(-4.0f, 14.0f, -7.0f, 8, 10, 3); + body4.setRotationPoint(0.0f, 0.0f, 0.0f); + body4.setTextureSize(128, 128); + body4.mirror = true; + setRotation(body4, 0.0f, -1.570796f, 0.0f); - lock4 = new ModelRenderer(this, 22, 24); - lock4.addBox(-1.0f, 12.0f, -8.0f, 2, 4, 1); - lock4.setRotationPoint(0.0f, 0.0f, 0.0f); - lock4.setTextureSize(128, 128); - lock4.mirror = true; - setRotation(lock4, 0.0f, -1.570796f, 0.0f); - } + lock4 = new ModelRenderer(this, 22, 24); + lock4.addBox(-1.0f, 12.0f, -8.0f, 2, 4, 1); + lock4.setRotationPoint(0.0f, 0.0f, 0.0f); + lock4.setTextureSize(128, 128); + lock4.mirror = true; + setRotation(lock4, 0.0f, -1.570796f, 0.0f); + } - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5); - column1.render(f5); - column4.render(f5); - column2.render(f5); - column3.render(f5); - lid1.render(f5); - body1.render(f5); - lock1.render(f5); - lid2.render(f5); - body2.render(f5); - lock2.render(f5); - body.render(f5); - lid3.render(f5); - body3.render(f5); - lock3.render(f5); - lid4.render(f5); - body4.render(f5); - lock4.render(f5); - } + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5); + column1.render(f5); + column4.render(f5); + column2.render(f5); + column3.render(f5); + lid1.render(f5); + body1.render(f5); + lock1.render(f5); + lid2.render(f5); + body2.render(f5); + lock2.render(f5); + body.render(f5); + lid3.render(f5); + body3.render(f5); + lock3.render(f5); + lid4.render(f5); + body4.render(f5); + lock4.render(f5); + } - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } + private void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, null); - } + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5) { + super.setRotationAngles(f, f1, f2, f3, f4, f5, null); + } } diff --git a/src/main/java/binnie/core/machines/storage/ModuleStorage.java b/src/main/java/binnie/core/machines/storage/ModuleStorage.java index f255ce8e..3353ed43 100644 --- a/src/main/java/binnie/core/machines/storage/ModuleStorage.java +++ b/src/main/java/binnie/core/machines/storage/ModuleStorage.java @@ -11,58 +11,41 @@ import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; public class ModuleStorage implements IInitializable { - @Override - public void preInit() { - BinnieCore.packageCompartment = new MachineGroup(BinnieCore.instance, "storage", "storage", Compartment.values()); - BinnieCore.packageCompartment.setCreativeTab(CreativeTabs.tabBlock); - } + @Override + public void preInit() { + BinnieCore.packageCompartment = + new MachineGroup(BinnieCore.instance, "storage", "storage", Compartment.values()); + BinnieCore.packageCompartment.setCreativeTab(CreativeTabs.tabBlock); + } - @Override - public void init() { - // ignored - } + @Override + public void init() { + // ignored + } - @Override - public void postInit() { - String ironGear = OreDictionary.getOres("gearIron").isEmpty() ? "ingotIron" : "gearIron"; - String goldGear = OreDictionary.getOres("gearGold").isEmpty() ? "ingotGold" : "gearGold"; - String diamondGear = "gemDiamond"; + @Override + public void postInit() { + String ironGear = OreDictionary.getOres("gearIron").isEmpty() ? "ingotIron" : "gearIron"; + String goldGear = OreDictionary.getOres("gearGold").isEmpty() ? "ingotGold" : "gearGold"; + String diamondGear = "gemDiamond"; - GameRegistry.addRecipe(new ShapedOreRecipe(Compartment.Compartment.get(1), new Object[]{ - "pcp", "cbc", "pcp", - 'b', Items.book, - 'c', Blocks.chest, - 'p', Blocks.stone_button - })); - GameRegistry.addRecipe(new ShapedOreRecipe(Compartment.CompartmentCopper.get(1), new Object[]{ - "pcp", "cbc", "pcp", - 'b', Compartment.Compartment.get(1), - 'c', "gearCopper", - 'p', Blocks.stone_button - })); - GameRegistry.addRecipe(new ShapedOreRecipe(Compartment.CompartmentBronze.get(1), new Object[]{ - "pcp", "cbc", "pcp", - 'b', Compartment.CompartmentCopper.get(1), - 'c', "gearBronze", - 'p', Items.gold_nugget - })); - GameRegistry.addRecipe(new ShapedOreRecipe(Compartment.CompartmentIron.get(1), new Object[]{ - "pcp", "cbc", "pcp", - 'b', Compartment.CompartmentCopper.get(1), - 'c', ironGear, - 'p', Items.gold_nugget - })); - GameRegistry.addRecipe(new ShapedOreRecipe(Compartment.CompartmentGold.get(1), new Object[]{ - "pcp", "cbc", "pcp", - 'b', Compartment.CompartmentIron.get(1), - 'c', goldGear, - 'p', Items.emerald - })); - GameRegistry.addRecipe(new ShapedOreRecipe(Compartment.CompartmentDiamond.get(1), new Object[]{ - "pcp", "cbc", "pcp", - 'b', Compartment.CompartmentGold.get(1), - 'c', diamondGear, - 'p', Items.emerald - })); - } + GameRegistry.addRecipe(new ShapedOreRecipe( + Compartment.Compartment.get(1), + new Object[] {"pcp", "cbc", "pcp", 'b', Items.book, 'c', Blocks.chest, 'p', Blocks.stone_button})); + GameRegistry.addRecipe(new ShapedOreRecipe(Compartment.CompartmentCopper.get(1), new Object[] { + "pcp", "cbc", "pcp", 'b', Compartment.Compartment.get(1), 'c', "gearCopper", 'p', Blocks.stone_button + })); + GameRegistry.addRecipe(new ShapedOreRecipe(Compartment.CompartmentBronze.get(1), new Object[] { + "pcp", "cbc", "pcp", 'b', Compartment.CompartmentCopper.get(1), 'c', "gearBronze", 'p', Items.gold_nugget + })); + GameRegistry.addRecipe(new ShapedOreRecipe(Compartment.CompartmentIron.get(1), new Object[] { + "pcp", "cbc", "pcp", 'b', Compartment.CompartmentCopper.get(1), 'c', ironGear, 'p', Items.gold_nugget + })); + GameRegistry.addRecipe(new ShapedOreRecipe(Compartment.CompartmentGold.get(1), new Object[] { + "pcp", "cbc", "pcp", 'b', Compartment.CompartmentIron.get(1), 'c', goldGear, 'p', Items.emerald + })); + GameRegistry.addRecipe(new ShapedOreRecipe(Compartment.CompartmentDiamond.get(1), new Object[] { + "pcp", "cbc", "pcp", 'b', Compartment.CompartmentGold.get(1), 'c', diamondGear, 'p', Items.emerald + })); + } } diff --git a/src/main/java/binnie/core/machines/storage/StandardCompartment.java b/src/main/java/binnie/core/machines/storage/StandardCompartment.java index 1bc14c13..d30f69cd 100644 --- a/src/main/java/binnie/core/machines/storage/StandardCompartment.java +++ b/src/main/java/binnie/core/machines/storage/StandardCompartment.java @@ -7,105 +7,105 @@ import binnie.core.texture.BinnieCoreTexture; import net.minecraft.tileentity.TileEntity; class StandardCompartment { - public static class PackageCompartment extends Compartment.PackageCompartment { - public PackageCompartment() { - super("compartment", BinnieCoreTexture.Compartment); - } + public static class PackageCompartment extends Compartment.PackageCompartment { + public PackageCompartment() { + super("compartment", BinnieCoreTexture.Compartment); + } - @Override - public void createMachine(Machine machine) { - new ComponentBinnieCoreGUI(machine, BinnieCoreGUI.Compartment); - new ComponentCompartmentInventory(machine, 4, 25); - } + @Override + public void createMachine(Machine machine) { + new ComponentBinnieCoreGUI(machine, BinnieCoreGUI.Compartment); + new ComponentCompartmentInventory(machine, 4, 25); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } + } - public static class PackageCompartmentCopper extends Compartment.PackageCompartment { - public PackageCompartmentCopper() { - super("compartmentCopper", BinnieCoreTexture.CompartmentCopper); - } + public static class PackageCompartmentCopper extends Compartment.PackageCompartment { + public PackageCompartmentCopper() { + super("compartmentCopper", BinnieCoreTexture.CompartmentCopper); + } - @Override - public void createMachine(Machine machine) { - new ComponentBinnieCoreGUI(machine, BinnieCoreGUI.Compartment); - new ComponentCompartmentInventory(machine, 6, 25); - } + @Override + public void createMachine(Machine machine) { + new ComponentBinnieCoreGUI(machine, BinnieCoreGUI.Compartment); + new ComponentCompartmentInventory(machine, 6, 25); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } + } - public static class PackageCompartmentBronze extends Compartment.PackageCompartment { - public PackageCompartmentBronze() { - super("compartmentBronze", BinnieCoreTexture.CompartmentBronze); - } + public static class PackageCompartmentBronze extends Compartment.PackageCompartment { + public PackageCompartmentBronze() { + super("compartmentBronze", BinnieCoreTexture.CompartmentBronze); + } - @Override - public void createMachine(Machine machine) { - new ComponentBinnieCoreGUI(machine, BinnieCoreGUI.Compartment); - new ComponentCompartmentInventory(machine, 8, 25); - } + @Override + public void createMachine(Machine machine) { + new ComponentBinnieCoreGUI(machine, BinnieCoreGUI.Compartment); + new ComponentCompartmentInventory(machine, 8, 25); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } + } - public static class PackageCompartmentIron extends Compartment.PackageCompartment { - public PackageCompartmentIron() { - super("compartmentIron", BinnieCoreTexture.CompartmentIron); - } + public static class PackageCompartmentIron extends Compartment.PackageCompartment { + public PackageCompartmentIron() { + super("compartmentIron", BinnieCoreTexture.CompartmentIron); + } - @Override - public void createMachine(Machine machine) { - new ComponentBinnieCoreGUI(machine, BinnieCoreGUI.Compartment); - new ComponentCompartmentInventory(machine, 4, 50); - } + @Override + public void createMachine(Machine machine) { + new ComponentBinnieCoreGUI(machine, BinnieCoreGUI.Compartment); + new ComponentCompartmentInventory(machine, 4, 50); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } + } - public static class PackageCompartmentGold extends Compartment.PackageCompartment { - public PackageCompartmentGold() { - super("compartmentGold", BinnieCoreTexture.CompartmentGold); - } + public static class PackageCompartmentGold extends Compartment.PackageCompartment { + public PackageCompartmentGold() { + super("compartmentGold", BinnieCoreTexture.CompartmentGold); + } - @Override - public void createMachine(Machine machine) { - new ComponentBinnieCoreGUI(machine, BinnieCoreGUI.Compartment); - new ComponentCompartmentInventory(machine, 6, 50); - } + @Override + public void createMachine(Machine machine) { + new ComponentBinnieCoreGUI(machine, BinnieCoreGUI.Compartment); + new ComponentCompartmentInventory(machine, 6, 50); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } + } - public static class PackageCompartmentDiamond extends Compartment.PackageCompartment { - public PackageCompartmentDiamond() { - super("compartmentDiamond", BinnieCoreTexture.CompartmentDiamond); - } + public static class PackageCompartmentDiamond extends Compartment.PackageCompartment { + public PackageCompartmentDiamond() { + super("compartmentDiamond", BinnieCoreTexture.CompartmentDiamond); + } - @Override - public void createMachine(Machine machine) { - new ComponentBinnieCoreGUI(machine, BinnieCoreGUI.Compartment); - new ComponentCompartmentInventory(machine, 8, 50); - } + @Override + public void createMachine(Machine machine) { + new ComponentBinnieCoreGUI(machine, BinnieCoreGUI.Compartment); + new ComponentCompartmentInventory(machine, 8, 50); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } + } } diff --git a/src/main/java/binnie/core/machines/storage/WindowCompartment.java b/src/main/java/binnie/core/machines/storage/WindowCompartment.java index 82b5f887..f433442f 100644 --- a/src/main/java/binnie/core/machines/storage/WindowCompartment.java +++ b/src/main/java/binnie/core/machines/storage/WindowCompartment.java @@ -42,14 +42,6 @@ import binnie.core.machines.transfer.TransferRequest; import binnie.core.util.I18N; import binnie.genetics.craftgui.WindowMachine; import cpw.mods.fml.relauncher.Side; -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; @@ -58,430 +50,475 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; @SuppressWarnings("Duplicates") public class WindowCompartment extends WindowMachine implements IWindowAffectsShiftClick { - private Map panels; - private ControlTextEdit tabName; - private ControlItemDisplay tabIcon; - private ControlColourSelector tabColour; - private int currentTab; + private Map panels; + private ControlTextEdit tabName; + private ControlItemDisplay tabIcon; + private ControlColourSelector tabColour; + private int currentTab; - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowCompartment(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowCompartment(player, inventory, side); + } - public WindowCompartment(EntityPlayer player, IInventory inventory, Side side) { - super(320, 226, player, inventory, side); - panels = new HashMap<>(); - currentTab = 0; - } + public WindowCompartment(EntityPlayer player, IInventory inventory, Side side) { + super(320, 226, player, inventory, side); + panels = new HashMap<>(); + currentTab = 0; + } - @Override - public void initialiseClient() { - setTitle(Machine.getMachine(getInventory()).getPackage().getDisplayName()); - int x = 16; - int y = 32; - ComponentCompartmentInventory inv = Machine.getMachine(getInventory()).getInterface(ComponentCompartmentInventory.class); - Integer[] tabs1 = new Integer[0]; - Integer[] tabs2 = new Integer[0]; - if (inv.getTabNumber() == 4) { - tabs1 = new Integer[]{0, 1}; - tabs2 = new Integer[]{2, 3}; - } - if (inv.getTabNumber() == 6) { - tabs1 = new Integer[]{0, 1, 2}; - tabs2 = new Integer[]{3, 4, 5}; - } - if (inv.getTabNumber() == 8) { - tabs1 = new Integer[]{0, 1, 2, 3}; - tabs2 = new Integer[]{4, 5, 6, 7}; - } - boolean doubleTabbed = tabs2.length > 0; - int compartmentPageWidth = 16 + 18 * inv.getPageSize() / 5; - int compartmentPageHeight = 106; - int compartmentWidth = compartmentPageWidth + (doubleTabbed ? 48 : 24); + @Override + public void initialiseClient() { + setTitle(Machine.getMachine(getInventory()).getPackage().getDisplayName()); + int x = 16; + int y = 32; + ComponentCompartmentInventory inv = + Machine.getMachine(getInventory()).getInterface(ComponentCompartmentInventory.class); + Integer[] tabs1 = new Integer[0]; + Integer[] tabs2 = new Integer[0]; + if (inv.getTabNumber() == 4) { + tabs1 = new Integer[] {0, 1}; + tabs2 = new Integer[] {2, 3}; + } + if (inv.getTabNumber() == 6) { + tabs1 = new Integer[] {0, 1, 2}; + tabs2 = new Integer[] {3, 4, 5}; + } + if (inv.getTabNumber() == 8) { + tabs1 = new Integer[] {0, 1, 2, 3}; + tabs2 = new Integer[] {4, 5, 6, 7}; + } + boolean doubleTabbed = tabs2.length > 0; + int compartmentPageWidth = 16 + 18 * inv.getPageSize() / 5; + int compartmentPageHeight = 106; + int compartmentWidth = compartmentPageWidth + (doubleTabbed ? 48 : 24); - Control controlCompartment = new Control(this, x, y, compartmentWidth, compartmentPageHeight); - ControlTabBar tab = new ControlTabBar(controlCompartment, 0.0f, 0.0f, 24.0f, compartmentPageHeight, Position.LEFT) { - @Override - public ControlTab createTab(float x, float y, float w, float h, Integer value) { - return new ControlTabIcon(this, x, y, w, h, value) { - @Override - public ItemStack getItemStack() { - return getTab(value).getIcon(); - } + Control controlCompartment = new Control(this, x, y, compartmentWidth, compartmentPageHeight); + ControlTabBar tab = + new ControlTabBar( + controlCompartment, 0.0f, 0.0f, 24.0f, compartmentPageHeight, Position.LEFT) { + @Override + public ControlTab createTab(float x, float y, float w, float h, Integer value) { + return new ControlTabIcon(this, x, y, w, h, value) { + @Override + public ItemStack getItemStack() { + return getTab(value).getIcon(); + } - @Override - public String getName() { - return getTab(value).getName(); - } + @Override + public String getName() { + return getTab(value).getName(); + } - @Override - public int getOutlineColor() { - return getTab(value).getColor().getColor(); - } + @Override + public int getOutlineColor() { + return getTab(value).getColor().getColor(); + } - @Override - public boolean hasOutline() { - return true; - } - }; - } - }; + @Override + public boolean hasOutline() { + return true; + } + }; + } + }; - String[] tabHelp = { - I18N.localise("binniecore.machine.storage.tab"), - I18N.localise("binniecore.machine.storage.tab.desc") - }; - tab.addHelp(tabHelp); - tab.setValues(Arrays.asList(tabs1)); - tab.setValue(0); - tab.addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(EventValueChanged event) { - NBTTagCompound nbt = new NBTTagCompound(); - int i = (Integer) event.getValue(); - nbt.setByte("i", (byte) i); - Window.get(tab).sendClientAction("tab-change", nbt); - currentTab = i; - } - }.setOrigin(EventHandler.Origin.DirectChild, tab)); - x += 24; + String[] tabHelp = { + I18N.localise("binniecore.machine.storage.tab"), I18N.localise("binniecore.machine.storage.tab.desc") + }; + tab.addHelp(tabHelp); + tab.setValues(Arrays.asList(tabs1)); + tab.setValue(0); + tab.addEventHandler( + new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + NBTTagCompound nbt = new NBTTagCompound(); + int i = (Integer) event.getValue(); + nbt.setByte("i", (byte) i); + Window.get(tab).sendClientAction("tab-change", nbt); + currentTab = i; + } + }.setOrigin(EventHandler.Origin.DirectChild, tab)); + x += 24; - ControlPages compartmentPages = new ControlPages<>(controlCompartment, 24.0f, 0.0f, compartmentPageWidth, compartmentPageHeight); - ControlPage[] page = new ControlPage[inv.getTabNumber()]; - for (int p = 0; p < inv.getTabNumber(); ++p) { - page[p] = new ControlPage(compartmentPages, p); - } - CraftGUIUtil.linkWidgets(tab, compartmentPages); - int i = 0; - for (int p2 = 0; p2 < inv.getTabNumber(); ++p2) { - ControlPage thisPage = page[p2]; - Panel panel = new Panel(thisPage, 0.0f, 0.0f, thisPage.w(), thisPage.h(), MinecraftGUI.PanelType.Black) { - @Override - public void onRenderForeground() { - Texture iTexture = CraftGUI.render.getTexture(CraftGUITexture.TabOutline); - CraftGUI.render.color(getTab(panels.get(this)).getColor().getColor()); - CraftGUI.render.texture(iTexture, getArea().inset(3)); - } - }; + ControlPages compartmentPages = + new ControlPages<>(controlCompartment, 24.0f, 0.0f, compartmentPageWidth, compartmentPageHeight); + ControlPage[] page = new ControlPage[inv.getTabNumber()]; + for (int p = 0; p < inv.getTabNumber(); ++p) { + page[p] = new ControlPage(compartmentPages, p); + } + CraftGUIUtil.linkWidgets(tab, compartmentPages); + int i = 0; + for (int p2 = 0; p2 < inv.getTabNumber(); ++p2) { + ControlPage thisPage = page[p2]; + Panel panel = new Panel(thisPage, 0.0f, 0.0f, thisPage.w(), thisPage.h(), MinecraftGUI.PanelType.Black) { + @Override + public void onRenderForeground() { + Texture iTexture = CraftGUI.render.getTexture(CraftGUITexture.TabOutline); + CraftGUI.render.color(getTab(panels.get(this)).getColor().getColor()); + CraftGUI.render.texture(iTexture, getArea().inset(3)); + } + }; - panels.put(panel, p2); - int[] slotsIDs = new int[inv.getPageSize()]; - for (int k = 0; k < inv.getPageSize(); ++k) { - slotsIDs[k] = i++; - } - new ControlSlotArray(thisPage, 8, 8, inv.getPageSize() / 5, 5).create(slotsIDs); - } - x += compartmentPageWidth; - if (tabs2.length > 0) { - ControlTabBar tab2 = new ControlTabBar(controlCompartment, 24 + compartmentPageWidth, 0.0f, 24.0f, compartmentPageHeight, Position.RIGHT) { - @Override - public ControlTab createTab(float x, float y, float w, float h, Integer value) { - return new ControlTabIcon(this, x, y, w, h, value) { - @Override - public ItemStack getItemStack() { - return getTab(value).getIcon(); - } + panels.put(panel, p2); + int[] slotsIDs = new int[inv.getPageSize()]; + for (int k = 0; k < inv.getPageSize(); ++k) { + slotsIDs[k] = i++; + } + new ControlSlotArray(thisPage, 8, 8, inv.getPageSize() / 5, 5).create(slotsIDs); + } + x += compartmentPageWidth; + if (tabs2.length > 0) { + ControlTabBar tab2 = + new ControlTabBar( + controlCompartment, + 24 + compartmentPageWidth, + 0.0f, + 24.0f, + compartmentPageHeight, + Position.RIGHT) { + @Override + public ControlTab createTab(float x, float y, float w, float h, Integer value) { + return new ControlTabIcon(this, x, y, w, h, value) { + @Override + public ItemStack getItemStack() { + return getTab(value).getIcon(); + } - @Override - public String getName() { - return getTab(value).getName(); - } + @Override + public String getName() { + return getTab(value).getName(); + } - @Override - public int getOutlineColor() { - return getTab(value).getColor().getColor(); - } + @Override + public int getOutlineColor() { + return getTab(value).getColor().getColor(); + } - @Override - public boolean hasOutline() { - return true; - } - }; - } - }; - tab2.setValues(Arrays.asList(tabs2)); - tab2.setValue(0); - tab2.addHelp(tabHelp); - tab2.addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(EventValueChanged event) { - NBTTagCompound nbt = new NBTTagCompound(); - int i = (Integer) event.getValue(); - nbt.setByte("i", (byte) i); - Window.get(tab).sendClientAction("tab-change", nbt); - currentTab = i; - } - }.setOrigin(EventHandler.Origin.DirectChild, tab2)); - CraftGUIUtil.linkWidgets(tab2, compartmentPages); - x += 24; - } + @Override + public boolean hasOutline() { + return true; + } + }; + } + }; + tab2.setValues(Arrays.asList(tabs2)); + tab2.setValue(0); + tab2.addHelp(tabHelp); + tab2.addEventHandler( + new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + NBTTagCompound nbt = new NBTTagCompound(); + int i = (Integer) event.getValue(); + nbt.setByte("i", (byte) i); + Window.get(tab).sendClientAction("tab-change", nbt); + currentTab = i; + } + }.setOrigin(EventHandler.Origin.DirectChild, tab2)); + CraftGUIUtil.linkWidgets(tab2, compartmentPages); + x += 24; + } - setSize(new IPoint(Math.max(32 + compartmentWidth, 252), h())); - controlCompartment.setPosition(new IPoint((w() - controlCompartment.w()) / 2.0f, controlCompartment.y())); - new ControlPlayerInventory(this, true); - ControlSlide slide = new ControlSlide(this, 0.0f, 134.0f, 136.0f, 92.0f, Position.LEFT); - slide.setLabel(I18N.localise("binniecore.machine.storage.tab.properties")); - slide.setSlide(false); - slide.addHelp(I18N.localise("binniecore.machine.storage.tooltip.properties")); - slide.addHelp(I18N.localise("binniecore.machine.storage.tooltip.properties.desc")); - Panel tabPropertyPanel = new Panel(slide, 16.0f, 8.0f, 112.0f, 76.0f, MinecraftGUI.PanelType.Gray); - int y2 = 4; - new ControlText(tabPropertyPanel, new IPoint(4.0f, y2), I18N.localise("binniecore.machine.storage.tab.name")); - float x2 = 4.0f; - y2 += 12; + setSize(new IPoint(Math.max(32 + compartmentWidth, 252), h())); + controlCompartment.setPosition(new IPoint((w() - controlCompartment.w()) / 2.0f, controlCompartment.y())); + new ControlPlayerInventory(this, true); + ControlSlide slide = new ControlSlide(this, 0.0f, 134.0f, 136.0f, 92.0f, Position.LEFT); + slide.setLabel(I18N.localise("binniecore.machine.storage.tab.properties")); + slide.setSlide(false); + slide.addHelp(I18N.localise("binniecore.machine.storage.tooltip.properties")); + slide.addHelp(I18N.localise("binniecore.machine.storage.tooltip.properties.desc")); + Panel tabPropertyPanel = new Panel(slide, 16.0f, 8.0f, 112.0f, 76.0f, MinecraftGUI.PanelType.Gray); + int y2 = 4; + new ControlText(tabPropertyPanel, new IPoint(4.0f, y2), I18N.localise("binniecore.machine.storage.tab.name")); + float x2 = 4.0f; + y2 += 12; - tabName = new ControlTextEdit(tabPropertyPanel, x2, y2, 104.0f, 12.0f); - tabName.addSelfEventHandler(new EventTextEdit.Handler() { - @Override - public void onEvent(EventTextEdit event) { - CompartmentTab tab = getCurrentTab(); - tab.setName(event.getValue()); - NBTTagCompound nbt = new NBTTagCompound(); - tab.writeToNBT(nbt); - sendClientAction("comp-change-tab", nbt); - } - }.setOrigin(EventHandler.Origin.Self, tabName)); - y2 += 20; - new ControlText(tabPropertyPanel, new IPoint(4.0f, y2), I18N.localise("binniecore.machine.storage.tab.icon")); + tabName = new ControlTextEdit(tabPropertyPanel, x2, y2, 104.0f, 12.0f); + tabName.addSelfEventHandler( + new EventTextEdit.Handler() { + @Override + public void onEvent(EventTextEdit event) { + CompartmentTab tab = getCurrentTab(); + tab.setName(event.getValue()); + NBTTagCompound nbt = new NBTTagCompound(); + tab.writeToNBT(nbt); + sendClientAction("comp-change-tab", nbt); + } + }.setOrigin(EventHandler.Origin.Self, tabName)); + y2 += 20; + new ControlText(tabPropertyPanel, new IPoint(4.0f, y2), I18N.localise("binniecore.machine.storage.tab.icon")); - tabIcon = new ControlItemDisplay(tabPropertyPanel, 58.0f, y2 - 4); - tabIcon.setItemStack(new ItemStack(Items.paper)); - tabIcon.addAttribute(WidgetAttribute.MOUSE_OVER); - tabIcon.addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - if (getHeldItemStack() == null) { - return; - } - CompartmentTab tab = getCurrentTab(); - ItemStack stack = getHeldItemStack().copy(); - stack.stackSize = 1; - tab.setIcon(stack); - NBTTagCompound nbt = new NBTTagCompound(); - tab.writeToNBT(nbt); - sendClientAction("comp-change-tab", nbt); - } - }); + tabIcon = new ControlItemDisplay(tabPropertyPanel, 58.0f, y2 - 4); + tabIcon.setItemStack(new ItemStack(Items.paper)); + tabIcon.addAttribute(WidgetAttribute.MOUSE_OVER); + tabIcon.addSelfEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + if (getHeldItemStack() == null) { + return; + } + CompartmentTab tab = getCurrentTab(); + ItemStack stack = getHeldItemStack().copy(); + stack.stackSize = 1; + tab.setIcon(stack); + NBTTagCompound nbt = new NBTTagCompound(); + tab.writeToNBT(nbt); + sendClientAction("comp-change-tab", nbt); + } + }); - tabColour = new ControlColourSelector(tabPropertyPanel, 82.0f, y2 - 4, 16.0f, 16.0f, EnumColor.White); - tabIcon.addHelp(I18N.localise("binniecore.machine.storage.tooltip.icon")); - tabIcon.addHelp(I18N.localise("binniecore.machine.storage.tooltip.icon.desc")); - y2 += 20; + tabColour = new ControlColourSelector(tabPropertyPanel, 82.0f, y2 - 4, 16.0f, 16.0f, EnumColor.White); + tabIcon.addHelp(I18N.localise("binniecore.machine.storage.tooltip.icon")); + tabIcon.addHelp(I18N.localise("binniecore.machine.storage.tooltip.icon.desc")); + y2 += 20; - new ControlText(tabPropertyPanel, new IPoint(4.0f, y2), I18N.localise("binniecore.machine.storage.tab.color")); - int cw = 8; - Panel panelColour = new Panel(tabPropertyPanel, 40.0f, y2 - 4, cw * 8 + 2, cw * 2 + 1, MinecraftGUI.PanelType.Gray); - for (int cc = 0; cc < 16; ++cc) { - ControlColourSelector color = new ControlColourSelector(panelColour, 1 + cw * (cc % 8), 1 + cw * (cc / 8), cw, cw, EnumColor.values()[cc]); - color.addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - CompartmentTab tab = getCurrentTab(); - tab.setColor(color.getValue()); - NBTTagCompound nbt = new NBTTagCompound(); - tab.writeToNBT(nbt); - sendClientAction("comp-change-tab", nbt); - } - }); - color.addHelp(I18N.localise("binniecore.machine.storage.tooltip.color")); - color.addHelp(I18N.localise("binniecore.machine.storage.tooltip.color.desc")); - } + new ControlText(tabPropertyPanel, new IPoint(4.0f, y2), I18N.localise("binniecore.machine.storage.tab.color")); + int cw = 8; + Panel panelColour = + new Panel(tabPropertyPanel, 40.0f, y2 - 4, cw * 8 + 2, cw * 2 + 1, MinecraftGUI.PanelType.Gray); + for (int cc = 0; cc < 16; ++cc) { + ControlColourSelector color = new ControlColourSelector( + panelColour, 1 + cw * (cc % 8), 1 + cw * (cc / 8), cw, cw, EnumColor.values()[cc]); + color.addSelfEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + CompartmentTab tab = getCurrentTab(); + tab.setColor(color.getValue()); + NBTTagCompound nbt = new NBTTagCompound(); + tab.writeToNBT(nbt); + sendClientAction("comp-change-tab", nbt); + } + }); + color.addHelp(I18N.localise("binniecore.machine.storage.tooltip.color")); + color.addHelp(I18N.localise("binniecore.machine.storage.tooltip.color.desc")); + } - ControlButton searchButton = new SearchButton(controlCompartment, compartmentWidth, compartmentPageHeight); - searchButton.addHelp(I18N.localise("binniecore.machine.storage.tooltip.search")); - searchButton.addHelp(I18N.localise("binniecore.machine.storage.tooltip.search.desc")); - } + ControlButton searchButton = new SearchButton(controlCompartment, compartmentWidth, compartmentPageHeight); + searchButton.addHelp(I18N.localise("binniecore.machine.storage.tooltip.search")); + searchButton.addHelp(I18N.localise("binniecore.machine.storage.tooltip.search.desc")); + } - public void createSearchDialog() { - new Dialog(this, 252.0f, 192.0f) { - Control slotGrid; - String textSearch = ""; - boolean sortByName = false; - boolean includeItems = true; - boolean includeBlocks = true; + public void createSearchDialog() { + new Dialog(this, 252.0f, 192.0f) { + Control slotGrid; + String textSearch = ""; + boolean sortByName = false; + boolean includeItems = true; + boolean includeBlocks = true; - @Override - public void onClose() { - // ignored - } + @Override + public void onClose() { + // ignored + } - @Override - public void initialise() { - ControlScrollableContent scroll = new ControlScrollableContent(this, 124.0f, 16.0f, 116.0f, 92.0f, 6.0f) { - @Override - public void onRenderBackground() { - CraftGUI.render.color(11184810); - CraftGUI.render.texture(CraftGUITexture.Outline, getArea().inset(new IBorder(0.0f, 6.0f, 0.0f, 0.0f))); - } - }; - slotGrid = new Control(scroll, 1.0f, 1.0f, 108.0f, 18.0f); - scroll.setScrollableContent(slotGrid); - new ControlPlayerInventory(this, true); - new ControlTextEdit(this, 16.0f, 16.0f, 100.0f, 14.0f).addEventHandler(new EventTextEdit.Handler() { - @Override - public void onEvent(EventTextEdit event) { - textSearch = event.value; - updateSearch(); - } - }); - includeItems = true; - includeBlocks = true; - new ControlCheckbox(this, 16.0f, 40.0f, 100.0f, I18N.localise("binniecore.machine.storage.sort"), sortByName) { - @Override - protected void onValueChanged(boolean value) { - sortByName = value; - updateSearch(); - } - }; - new ControlCheckbox(this, 16.0f, 64.0f, 100.0f, I18N.localise("binniecore.machine.storage.filterItems"), includeItems) { - @Override - protected void onValueChanged(boolean value) { - includeItems = value; - updateSearch(); - } - }; - new ControlCheckbox(this, 16.0f, 88.0f, 100.0f, I18N.localise("binniecore.machine.storage.filterBlocks"), includeBlocks) { - @Override - protected void onValueChanged(boolean value) { - includeBlocks = value; - updateSearch(); - } - }; - updateSearch(); - } + @Override + public void initialise() { + ControlScrollableContent scroll = + new ControlScrollableContent(this, 124.0f, 16.0f, 116.0f, 92.0f, 6.0f) { + @Override + public void onRenderBackground() { + CraftGUI.render.color(11184810); + CraftGUI.render.texture( + CraftGUITexture.Outline, getArea().inset(new IBorder(0.0f, 6.0f, 0.0f, 0.0f))); + } + }; + slotGrid = new Control(scroll, 1.0f, 1.0f, 108.0f, 18.0f); + scroll.setScrollableContent(slotGrid); + new ControlPlayerInventory(this, true); + new ControlTextEdit(this, 16.0f, 16.0f, 100.0f, 14.0f).addEventHandler(new EventTextEdit.Handler() { + @Override + public void onEvent(EventTextEdit event) { + textSearch = event.value; + updateSearch(); + } + }); + includeItems = true; + includeBlocks = true; + new ControlCheckbox( + this, 16.0f, 40.0f, 100.0f, I18N.localise("binniecore.machine.storage.sort"), sortByName) { + @Override + protected void onValueChanged(boolean value) { + sortByName = value; + updateSearch(); + } + }; + new ControlCheckbox( + this, + 16.0f, + 64.0f, + 100.0f, + I18N.localise("binniecore.machine.storage.filterItems"), + includeItems) { + @Override + protected void onValueChanged(boolean value) { + includeItems = value; + updateSearch(); + } + }; + new ControlCheckbox( + this, + 16.0f, + 88.0f, + 100.0f, + I18N.localise("binniecore.machine.storage.filterBlocks"), + includeBlocks) { + @Override + protected void onValueChanged(boolean value) { + includeBlocks = value; + updateSearch(); + } + }; + updateSearch(); + } - private void updateSearch() { - Map slotIds = new HashMap<>(); - IInventory inv = getInventory(); - for (int i = 0; i < inv.getSizeInventory(); ++i) { - ItemStack stack = inv.getStackInSlot(i); - if (stack == null) { - continue; - } + private void updateSearch() { + Map slotIds = new HashMap<>(); + IInventory inv = getInventory(); + for (int i = 0; i < inv.getSizeInventory(); ++i) { + ItemStack stack = inv.getStackInSlot(i); + if (stack == null) { + continue; + } - String name = stack.getDisplayName().toLowerCase(); - if (textSearch == null || name.contains(textSearch)) { - Block block = Block.getBlockFromItem(stack.getItem()); - if ((includeBlocks || block == Blocks.air) && (includeItems || block != Blocks.air)) { - slotIds.put(i, name); - } - } - } + String name = stack.getDisplayName().toLowerCase(); + if (textSearch == null || name.contains(textSearch)) { + Block block = Block.getBlockFromItem(stack.getItem()); + if ((includeBlocks || block == Blocks.air) && (includeItems || block != Blocks.air)) { + slotIds.put(i, name); + } + } + } - if (sortByName) { - List> list = new LinkedList(slotIds.entrySet()); - list.sort(new Comparator>() { - @Override - public int compare(Entry o1, Entry o2) { - return -o2.getValue().compareTo(o1.getValue()); - } - }); + if (sortByName) { + List> list = new LinkedList(slotIds.entrySet()); + list.sort(new Comparator>() { + @Override + public int compare(Entry o1, Entry o2) { + return -o2.getValue().compareTo(o1.getValue()); + } + }); - Map result = new LinkedHashMap(); - for (Map.Entry entry : list) { - result.put(entry.getKey(), entry.getValue()); - } - slotIds = result; - } + Map result = new LinkedHashMap(); + for (Map.Entry entry : list) { + result.put(entry.getKey(), entry.getValue()); + } + slotIds = result; + } - int y = 0; - int x = 0; - int width = 108; - int height = 2 + 18 * (1 + (slotIds.size() - 1) / 6); - slotGrid.deleteAllChildren(); - slotGrid.setSize(new IPoint(width, height)); + int y = 0; + int x = 0; + int width = 108; + int height = 2 + 18 * (1 + (slotIds.size() - 1) / 6); + slotGrid.deleteAllChildren(); + slotGrid.setSize(new IPoint(width, height)); - for (int k : slotIds.keySet()) { - new ControlSlot(slotGrid, x, y).assign(k); - x += 18; - if (x >= 108) { - x = 0; - y += 18; - } - } + for (int k : slotIds.keySet()) { + new ControlSlot(slotGrid, x, y).assign(k); + x += 18; + if (x >= 108) { + x = 0; + y += 18; + } + } - while (y < 108 || x != 0) { - new ControlSlot(slotGrid, x, y); - x += 18; - if (x >= 108) { - x = 0; - y += 18; - } - } - } - }; - } + while (y < 108 || x != 0) { + new ControlSlot(slotGrid, x, y); + x += 18; + if (x >= 108) { + x = 0; + y += 18; + } + } + } + }; + } - @Override - public void onUpdateClient() { - super.onUpdateClient(); - updateTabs(); - } + @Override + public void onUpdateClient() { + super.onUpdateClient(); + updateTabs(); + } - public void updateTabs() { - CompartmentTab tab = getCurrentTab(); - tabName.setValue(tab.getName()); - tabIcon.setItemStack(tab.getIcon()); - tabColour.setValue(tab.getColor()); - } + public void updateTabs() { + CompartmentTab tab = getCurrentTab(); + tabName.setValue(tab.getName()); + tabIcon.setItemStack(tab.getIcon()); + tabColour.setValue(tab.getColor()); + } - @Override - public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { - super.recieveGuiNBT(side, player, name, nbt); - if (name.equals("tab-change")) { - currentTab = nbt.getByte("i"); - } - } + @Override + public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { + super.recieveGuiNBT(side, player, name, nbt); + if (name.equals("tab-change")) { + currentTab = nbt.getByte("i"); + } + } - @Override - public String getTitle() { - return I18N.localise("binniecore.machine.storage.compartment"); - } + @Override + public String getTitle() { + return I18N.localise("binniecore.machine.storage.compartment"); + } - @Override - protected AbstractMod getMod() { - return BinnieCore.instance; - } + @Override + protected AbstractMod getMod() { + return BinnieCore.instance; + } - @Override - protected String getName() { - return "compartment"; - } + @Override + protected String getName() { + return "compartment"; + } - @Override - public void alterRequest(TransferRequest request) { - IInventory inventory = getInventory(); - if (request.getDestination() == inventory) { - ComponentCompartmentInventory inv = Machine.getMachine(inventory).getInterface(ComponentCompartmentInventory.class); - request.setTargetSlots(inv.getSlotsForTab(currentTab)); - } - } + @Override + public void alterRequest(TransferRequest request) { + IInventory inventory = getInventory(); + if (request.getDestination() == inventory) { + ComponentCompartmentInventory inv = + Machine.getMachine(inventory).getInterface(ComponentCompartmentInventory.class); + request.setTargetSlots(inv.getSlotsForTab(currentTab)); + } + } - public CompartmentTab getTab(int i) { - return Machine.getInterface(ComponentCompartmentInventory.class, getInventory()).getTab(i); - } + public CompartmentTab getTab(int i) { + return Machine.getInterface(ComponentCompartmentInventory.class, getInventory()) + .getTab(i); + } - public CompartmentTab getCurrentTab() { - return getTab(currentTab); - } + public CompartmentTab getCurrentTab() { + return getTab(currentTab); + } - private class SearchButton extends ControlButton { - public SearchButton(Control controlCompartment, int compartmentWidth, int compartmentPageHeight) { - super(controlCompartment, compartmentWidth - 24 - 64 - 8, compartmentPageHeight, 64.0f, 16.0f, I18N.localise("binniecore.machine.storage.search")); - } + private class SearchButton extends ControlButton { + public SearchButton(Control controlCompartment, int compartmentWidth, int compartmentPageHeight) { + super( + controlCompartment, + compartmentWidth - 24 - 64 - 8, + compartmentPageHeight, + 64.0f, + 16.0f, + I18N.localise("binniecore.machine.storage.search")); + } - @Override - protected void onMouseClick(EventMouse.Down event) { - createSearchDialog(); - } + @Override + protected void onMouseClick(EventMouse.Down event) { + createSearchDialog(); + } - @Override - public void onRenderBackground() { - Object texture = isMouseOver() ? CraftGUITexture.TabHighlighted : CraftGUITexture.Tab; - CraftGUI.render.texture(CraftGUI.render.getTexture(texture).crop(Position.BOTTOM, 8.0f), getArea()); - } - } + @Override + public void onRenderBackground() { + Object texture = isMouseOver() ? CraftGUITexture.TabHighlighted : CraftGUITexture.Tab; + CraftGUI.render.texture(CraftGUI.render.getTexture(texture).crop(Position.BOTTOM, 8.0f), getArea()); + } + } } diff --git a/src/main/java/binnie/core/machines/transfer/TransferHandler.java b/src/main/java/binnie/core/machines/transfer/TransferHandler.java index 210f0b2f..7cafe3f1 100644 --- a/src/main/java/binnie/core/machines/transfer/TransferHandler.java +++ b/src/main/java/binnie/core/machines/transfer/TransferHandler.java @@ -1,5 +1,4 @@ package binnie.core.machines.transfer; // TODO unused class? -public class TransferHandler { -} +public class TransferHandler {} diff --git a/src/main/java/binnie/core/machines/transfer/TransferRequest.java b/src/main/java/binnie/core/machines/transfer/TransferRequest.java index f9b7233d..795d36d4 100644 --- a/src/main/java/binnie/core/machines/transfer/TransferRequest.java +++ b/src/main/java/binnie/core/machines/transfer/TransferRequest.java @@ -4,6 +4,8 @@ import binnie.core.machines.Machine; import binnie.core.machines.inventory.IInventorySlots; import binnie.core.machines.inventory.IValidatedTankContainer; import binnie.core.machines.power.ITankMachine; +import java.util.ArrayList; +import java.util.List; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidContainerRegistry; @@ -11,397 +13,408 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidContainerItem; import net.minecraftforge.fluids.IFluidTank; -import java.util.ArrayList; -import java.util.List; - public class TransferRequest { - private ItemStack itemToTransfer; - private ItemStack returnItem; - private IInventory origin; - private IInventory destination; - private int[] targetSlots; - private int[] targetTanks; - private boolean transferLiquids; - private boolean ignoreReadOnly; - private List insertedSlots; - private List insertedTanks; + private ItemStack itemToTransfer; + private ItemStack returnItem; + private IInventory origin; + private IInventory destination; + private int[] targetSlots; + private int[] targetTanks; + private boolean transferLiquids; + private boolean ignoreReadOnly; + private List insertedSlots; + private List insertedTanks; - public TransferRequest(ItemStack toTransfer, IInventory destination) { - itemToTransfer = null; - returnItem = null; - targetSlots = new int[0]; - targetTanks = new int[0]; - transferLiquids = true; - ignoreReadOnly = false; - insertedSlots = new ArrayList<>(); - insertedTanks = new ArrayList<>(); - int[] target = new int[destination.getSizeInventory()]; + public TransferRequest(ItemStack toTransfer, IInventory destination) { + itemToTransfer = null; + returnItem = null; + targetSlots = new int[0]; + targetTanks = new int[0]; + transferLiquids = true; + ignoreReadOnly = false; + insertedSlots = new ArrayList<>(); + insertedTanks = new ArrayList<>(); + int[] target = new int[destination.getSizeInventory()]; - for (int i = 0; i < target.length; ++i) { - target[i] = i; - } + for (int i = 0; i < target.length; ++i) { + target[i] = i; + } - int[] targetTanks = new int[0]; - if (destination instanceof ITankMachine) { - targetTanks = new int[((ITankMachine) destination).getTanks().length]; - for (int j = 0; j < targetTanks.length; ++j) { - targetTanks[j] = j; - } - } + int[] targetTanks = new int[0]; + if (destination instanceof ITankMachine) { + targetTanks = new int[((ITankMachine) destination).getTanks().length]; + for (int j = 0; j < targetTanks.length; ++j) { + targetTanks[j] = j; + } + } - if (toTransfer != null) { - setItemToTransfer(toTransfer.copy()); - setReturnItem(toTransfer.copy()); - } + if (toTransfer != null) { + setItemToTransfer(toTransfer.copy()); + setReturnItem(toTransfer.copy()); + } - setOrigin(null); - setDestination(destination); - setTargetSlots(target); - setTargetTanks(targetTanks); - transferLiquids = true; - } + setOrigin(null); + setDestination(destination); + setTargetSlots(target); + setTargetTanks(targetTanks); + transferLiquids = true; + } - private void setItemToTransfer(ItemStack itemToTransfer) { - this.itemToTransfer = itemToTransfer; - } + private void setItemToTransfer(ItemStack itemToTransfer) { + this.itemToTransfer = itemToTransfer; + } - private void setReturnItem(ItemStack returnItem) { - this.returnItem = returnItem; - } + private void setReturnItem(ItemStack returnItem) { + this.returnItem = returnItem; + } - public TransferRequest setOrigin(IInventory origin) { - this.origin = origin; - return this; - } + public TransferRequest setOrigin(IInventory origin) { + this.origin = origin; + return this; + } - private void setDestination(IInventory destination) { - this.destination = destination; - } + private void setDestination(IInventory destination) { + this.destination = destination; + } - public TransferRequest setTargetSlots(int[] targetSlots) { - this.targetSlots = targetSlots; - return this; - } + public TransferRequest setTargetSlots(int[] targetSlots) { + this.targetSlots = targetSlots; + return this; + } - public TransferRequest setTargetTanks(int[] targetTanks) { - this.targetTanks = targetTanks; - return this; - } + public TransferRequest setTargetTanks(int[] targetTanks) { + this.targetTanks = targetTanks; + return this; + } - public TransferRequest ignoreValidation() { - ignoreReadOnly = true; - return this; - } + public TransferRequest ignoreValidation() { + ignoreReadOnly = true; + return this; + } - public ItemStack getReturnItem() { - return returnItem; - } + public ItemStack getReturnItem() { + return returnItem; + } - public ItemStack transfer(boolean doAdd) { - ItemStack item = returnItem; - if (item == null || destination == null) { - return null; - } + public ItemStack transfer(boolean doAdd) { + ItemStack item = returnItem; + if (item == null || destination == null) { + return null; + } - if (transferLiquids && destination instanceof ITankMachine) { - for (int tankID : targetTanks) { - item = transferToTank(item, origin, (ITankMachine) destination, tankID, doAdd); - if (item != null) { - item = transferFromTank(item, origin, (ITankMachine) destination, tankID, doAdd); - } - } - } + if (transferLiquids && destination instanceof ITankMachine) { + for (int tankID : targetTanks) { + item = transferToTank(item, origin, (ITankMachine) destination, tankID, doAdd); + if (item != null) { + item = transferFromTank(item, origin, (ITankMachine) destination, tankID, doAdd); + } + } + } - // TODO simplify - if (item != null) { - for (int slot : targetSlots) { - if (destination.isItemValidForSlot(slot, item) || ignoreReadOnly) { - if (!(destination instanceof IInventorySlots) || ((IInventorySlots) destination).getSlot(slot) == null || !((IInventorySlots) destination).getSlot(slot).isRecipe()) { - if (destination.getStackInSlot(slot) != null) { - if (item.isStackable()) { - ItemStack merged = destination.getStackInSlot(slot).copy(); - ItemStack[] newStacks = mergeStacks(item.copy(), merged.copy()); - item = newStacks[0]; - if (!areItemsEqual(merged, newStacks[1])) { - insertedSlots.add(new TransferSlot(slot, destination)); - } - if (doAdd) { - destination.setInventorySlotContents(slot, newStacks[1]); - } - if (item == null) { - return null; - } - } - } - } - } - } + // TODO simplify + if (item != null) { + for (int slot : targetSlots) { + if (destination.isItemValidForSlot(slot, item) || ignoreReadOnly) { + if (!(destination instanceof IInventorySlots) + || ((IInventorySlots) destination).getSlot(slot) == null + || !((IInventorySlots) destination).getSlot(slot).isRecipe()) { + if (destination.getStackInSlot(slot) != null) { + if (item.isStackable()) { + ItemStack merged = + destination.getStackInSlot(slot).copy(); + ItemStack[] newStacks = mergeStacks(item.copy(), merged.copy()); + item = newStacks[0]; + if (!areItemsEqual(merged, newStacks[1])) { + insertedSlots.add(new TransferSlot(slot, destination)); + } + if (doAdd) { + destination.setInventorySlotContents(slot, newStacks[1]); + } + if (item == null) { + return null; + } + } + } + } + } + } - for (int slot : targetSlots) { - if (destination.isItemValidForSlot(slot, item) || ignoreReadOnly) { - if (!(destination instanceof IInventorySlots) || ((IInventorySlots) destination).getSlot(slot) == null || !((IInventorySlots) destination).getSlot(slot).isRecipe()) { - if (destination.getStackInSlot(slot) == null) { - insertedSlots.add(new TransferSlot(slot, destination)); - if (doAdd) { - destination.setInventorySlotContents(slot, item.copy()); - } - return null; - } - } - } - } - } + for (int slot : targetSlots) { + if (destination.isItemValidForSlot(slot, item) || ignoreReadOnly) { + if (!(destination instanceof IInventorySlots) + || ((IInventorySlots) destination).getSlot(slot) == null + || !((IInventorySlots) destination).getSlot(slot).isRecipe()) { + if (destination.getStackInSlot(slot) == null) { + insertedSlots.add(new TransferSlot(slot, destination)); + if (doAdd) { + destination.setInventorySlotContents(slot, item.copy()); + } + return null; + } + } + } + } + } - setReturnItem(item); - return item; - } + setReturnItem(item); + return item; + } - private static boolean areItemsEqual(ItemStack merged, ItemStack itemstack) { - return ItemStack.areItemStackTagsEqual(itemstack, merged) && itemstack.isItemEqual(merged); - } + private static boolean areItemsEqual(ItemStack merged, ItemStack itemstack) { + return ItemStack.areItemStackTagsEqual(itemstack, merged) && itemstack.isItemEqual(merged); + } - public static ItemStack[] mergeStacks(ItemStack itemstack, ItemStack merged) { - if (areItemsEqual(itemstack, merged)) { - int space = merged.getMaxStackSize() - merged.stackSize; - if (space > 0) { - if (itemstack.stackSize > space) { - ItemStack itemStack = itemstack; - itemStack.stackSize -= space; - merged.stackSize += space; - } else if (itemstack.stackSize <= space) { - merged.stackSize += itemstack.stackSize; - itemstack = null; - } - } - } - return new ItemStack[]{itemstack, merged}; - } + public static ItemStack[] mergeStacks(ItemStack itemstack, ItemStack merged) { + if (areItemsEqual(itemstack, merged)) { + int space = merged.getMaxStackSize() - merged.stackSize; + if (space > 0) { + if (itemstack.stackSize > space) { + ItemStack itemStack = itemstack; + itemStack.stackSize -= space; + merged.stackSize += space; + } else if (itemstack.stackSize <= space) { + merged.stackSize += itemstack.stackSize; + itemstack = null; + } + } + } + return new ItemStack[] {itemstack, merged}; + } - private ItemStack transferToTank(ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { - item = transferToTankUsingContainerData(item, origin, destination, tankID, doAdd); - item = transferToTankUsingFluidContainer(item, origin, destination, tankID, doAdd); - return item; - } + private ItemStack transferToTank( + ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { + item = transferToTankUsingContainerData(item, origin, destination, tankID, doAdd); + item = transferToTankUsingFluidContainer(item, origin, destination, tankID, doAdd); + return item; + } - private ItemStack transferToTankUsingFluidContainer(ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { - if (item == null || !(item.getItem() instanceof IFluidContainerItem)) { - return item; - } + private ItemStack transferToTankUsingFluidContainer( + ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { + if (item == null || !(item.getItem() instanceof IFluidContainerItem)) { + return item; + } - IFluidContainerItem fluidContainer = (IFluidContainerItem) item.getItem(); - FluidStack fluid = fluidContainer.getFluid(item); - if (fluid == null) { - return item; - } + IFluidContainerItem fluidContainer = (IFluidContainerItem) item.getItem(); + FluidStack fluid = fluidContainer.getFluid(item); + if (fluid == null) { + return item; + } - IFluidTank tank = destination.getTanks()[tankID]; - IValidatedTankContainer validated = Machine.getInterface(IValidatedTankContainer.class, destination); - if (validated != null && (!validated.isLiquidValidForTank(fluid, tankID) || validated.isTankReadOnly(tankID))) { - return item; - } + IFluidTank tank = destination.getTanks()[tankID]; + IValidatedTankContainer validated = Machine.getInterface(IValidatedTankContainer.class, destination); + if (validated != null && (!validated.isLiquidValidForTank(fluid, tankID) || validated.isTankReadOnly(tankID))) { + return item; + } - int maxFill = tank.fill(fluid, false); - FluidStack toTake = fluidContainer.drain(item, maxFill, true); - if (doAdd) { - tank.fill(toTake, true); - } - return item; - } + int maxFill = tank.fill(fluid, false); + FluidStack toTake = fluidContainer.drain(item, maxFill, true); + if (doAdd) { + tank.fill(toTake, true); + } + return item; + } - private ItemStack transferToTankUsingContainerData(ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { - if (item == null) { - return item; - } + private ItemStack transferToTankUsingContainerData( + ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { + if (item == null) { + return item; + } - FluidStack containerLiquid = null; - FluidContainerRegistry.FluidContainerData containerLiquidData = null; - for (FluidContainerRegistry.FluidContainerData data : FluidContainerRegistry.getRegisteredFluidContainerData()) { - if (data.filledContainer.isItemEqual(item)) { - containerLiquidData = data; - containerLiquid = data.fluid.copy(); - break; - } - } + FluidStack containerLiquid = null; + FluidContainerRegistry.FluidContainerData containerLiquidData = null; + for (FluidContainerRegistry.FluidContainerData data : + FluidContainerRegistry.getRegisteredFluidContainerData()) { + if (data.filledContainer.isItemEqual(item)) { + containerLiquidData = data; + containerLiquid = data.fluid.copy(); + break; + } + } - if (containerLiquid == null) { - return item; - } + if (containerLiquid == null) { + return item; + } - IFluidTank tank = destination.getTanks()[tankID]; - IValidatedTankContainer validated = Machine.getInterface(IValidatedTankContainer.class, destination); - if (validated != null && (!validated.isLiquidValidForTank(containerLiquid, tankID) || validated.isTankReadOnly(tankID))) { - return item; - } + IFluidTank tank = destination.getTanks()[tankID]; + IValidatedTankContainer validated = Machine.getInterface(IValidatedTankContainer.class, destination); + if (validated != null + && (!validated.isLiquidValidForTank(containerLiquid, tankID) || validated.isTankReadOnly(tankID))) { + return item; + } - FluidStack largeAmountOfLiquid = containerLiquid.copy(); - largeAmountOfLiquid.amount = tank.getCapacity(); - int amountAdded = tank.fill(largeAmountOfLiquid, false); - int numberOfContainersToAdd = amountAdded / containerLiquid.amount; - if (numberOfContainersToAdd > item.stackSize) { - numberOfContainersToAdd = item.stackSize; - } + FluidStack largeAmountOfLiquid = containerLiquid.copy(); + largeAmountOfLiquid.amount = tank.getCapacity(); + int amountAdded = tank.fill(largeAmountOfLiquid, false); + int numberOfContainersToAdd = amountAdded / containerLiquid.amount; + if (numberOfContainersToAdd > item.stackSize) { + numberOfContainersToAdd = item.stackSize; + } - // TODO simplify - ItemStack copy; - ItemStack leftOverContainers = copy = item.copy(); - copy.stackSize -= numberOfContainersToAdd; - if (leftOverContainers.stackSize <= 0) { - leftOverContainers = null; - } + // TODO simplify + ItemStack copy; + ItemStack leftOverContainers = copy = item.copy(); + copy.stackSize -= numberOfContainersToAdd; + if (leftOverContainers.stackSize <= 0) { + leftOverContainers = null; + } - ItemStack emptyContainers = containerLiquidData.emptyContainer.copy(); - emptyContainers.stackSize = 0; - ItemStack itemStack = emptyContainers; - itemStack.stackSize += numberOfContainersToAdd; - if (emptyContainers.stackSize <= 0) { - emptyContainers = null; - } + ItemStack emptyContainers = containerLiquidData.emptyContainer.copy(); + emptyContainers.stackSize = 0; + ItemStack itemStack = emptyContainers; + itemStack.stackSize += numberOfContainersToAdd; + if (emptyContainers.stackSize <= 0) { + emptyContainers = null; + } - TransferRequest containersDump = new TransferRequest(emptyContainers, origin); - ItemStack containersThatCantBeDumped = containersDump.transfer(false); - if (containersThatCantBeDumped != null) { - return item; - } + TransferRequest containersDump = new TransferRequest(emptyContainers, origin); + ItemStack containersThatCantBeDumped = containersDump.transfer(false); + if (containersThatCantBeDumped != null) { + return item; + } - if (doAdd) { - FluidStack copy2; - FluidStack liquidToFillTank = copy2 = containerLiquid.copy(); - copy2.amount *= numberOfContainersToAdd; - tank.fill(liquidToFillTank, true); - containersDump.transfer(true); - } - return leftOverContainers; - } + if (doAdd) { + FluidStack copy2; + FluidStack liquidToFillTank = copy2 = containerLiquid.copy(); + copy2.amount *= numberOfContainersToAdd; + tank.fill(liquidToFillTank, true); + containersDump.transfer(true); + } + return leftOverContainers; + } - private ItemStack transferFromTank(ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { - item = transferFromTankUsingContainerData(item, origin, destination, tankID, doAdd); - item = transferFromTankUsingFluidContainer(item, origin, destination, tankID, doAdd); - return item; - } + private ItemStack transferFromTank( + ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { + item = transferFromTankUsingContainerData(item, origin, destination, tankID, doAdd); + item = transferFromTankUsingFluidContainer(item, origin, destination, tankID, doAdd); + return item; + } - private ItemStack transferFromTankUsingFluidContainer(ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { - if (item == null || !(item.getItem() instanceof IFluidContainerItem)) { - return item; - } + private ItemStack transferFromTankUsingFluidContainer( + ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { + if (item == null || !(item.getItem() instanceof IFluidContainerItem)) { + return item; + } - IFluidContainerItem fluidContainer = (IFluidContainerItem) item.getItem(); - IFluidTank tank = destination.getTanks()[tankID]; - FluidStack fluid = tank.getFluid(); - if (fluid == null) { - return item; - } + IFluidContainerItem fluidContainer = (IFluidContainerItem) item.getItem(); + IFluidTank tank = destination.getTanks()[tankID]; + FluidStack fluid = tank.getFluid(); + if (fluid == null) { + return item; + } - int amount = fluidContainer.fill(item, fluid, false); - amount = Math.min(amount, (tank.drain(amount, false) == null) ? 0 : tank.drain(amount, false).amount); - if (amount <= 0) { - return item; - } + int amount = fluidContainer.fill(item, fluid, false); + amount = Math.min(amount, (tank.drain(amount, false) == null) ? 0 : tank.drain(amount, false).amount); + if (amount <= 0) { + return item; + } - fluidContainer.fill(item, tank.drain(amount, doAdd), doAdd); - return item; - } + fluidContainer.fill(item, tank.drain(amount, doAdd), doAdd); + return item; + } - private ItemStack transferFromTankUsingContainerData(ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { - if (item == null) { - return item; - } + private ItemStack transferFromTankUsingContainerData( + ItemStack item, IInventory origin, ITankMachine destination, int tankID, boolean doAdd) { + if (item == null) { + return item; + } - IFluidTank tank = destination.getTanks()[tankID]; - FluidStack liquidInTank = tank.getFluid(); - if (liquidInTank == null) { - return item; - } + IFluidTank tank = destination.getTanks()[tankID]; + FluidStack liquidInTank = tank.getFluid(); + if (liquidInTank == null) { + return item; + } - FluidContainerRegistry.FluidContainerData containerLiquidData = null; - for (FluidContainerRegistry.FluidContainerData data : FluidContainerRegistry.getRegisteredFluidContainerData()) { - if (data.emptyContainer.isItemEqual(item) && liquidInTank.isFluidEqual(data.fluid)) { - containerLiquidData = data; - break; - } - } + FluidContainerRegistry.FluidContainerData containerLiquidData = null; + for (FluidContainerRegistry.FluidContainerData data : + FluidContainerRegistry.getRegisteredFluidContainerData()) { + if (data.emptyContainer.isItemEqual(item) && liquidInTank.isFluidEqual(data.fluid)) { + containerLiquidData = data; + break; + } + } - FluidStack fluid = null; - ItemStack filled = null; - if (containerLiquidData != null) { - fluid = containerLiquidData.fluid; - filled = containerLiquidData.filledContainer; - } + FluidStack fluid = null; + ItemStack filled = null; + if (containerLiquidData != null) { + fluid = containerLiquidData.fluid; + filled = containerLiquidData.filledContainer; + } - if (fluid == null || filled == null) { - return item; - } + if (fluid == null || filled == null) { + return item; + } - int maximumExtractedLiquid = item.stackSize * fluid.amount; - FluidStack drainedLiquid = tank.drain(maximumExtractedLiquid, false); - int amountInTank = (drainedLiquid == null) ? 0 : drainedLiquid.amount; - int numberOfContainersToFill = amountInTank / fluid.amount; - if (numberOfContainersToFill > item.stackSize) { - numberOfContainersToFill = item.stackSize; - } + int maximumExtractedLiquid = item.stackSize * fluid.amount; + FluidStack drainedLiquid = tank.drain(maximumExtractedLiquid, false); + int amountInTank = (drainedLiquid == null) ? 0 : drainedLiquid.amount; + int numberOfContainersToFill = amountInTank / fluid.amount; + if (numberOfContainersToFill > item.stackSize) { + numberOfContainersToFill = item.stackSize; + } - ItemStack copy; - ItemStack leftOverContainers = copy = item.copy(); - copy.stackSize -= numberOfContainersToFill; - if (leftOverContainers.stackSize <= 0) { - leftOverContainers = null; - } + ItemStack copy; + ItemStack leftOverContainers = copy = item.copy(); + copy.stackSize -= numberOfContainersToFill; + if (leftOverContainers.stackSize <= 0) { + leftOverContainers = null; + } - ItemStack filledContainers = filled.copy(); - filledContainers.stackSize = 0; - ItemStack itemStack = filledContainers; - itemStack.stackSize += numberOfContainersToFill; - if (filledContainers.stackSize <= 0) { - filledContainers = null; - } + ItemStack filledContainers = filled.copy(); + filledContainers.stackSize = 0; + ItemStack itemStack = filledContainers; + itemStack.stackSize += numberOfContainersToFill; + if (filledContainers.stackSize <= 0) { + filledContainers = null; + } - TransferRequest containersDump = new TransferRequest(filledContainers, origin); - ItemStack containersThatCantBeDumped = containersDump.transfer(false); - if (containersThatCantBeDumped != null) { - return item; - } + TransferRequest containersDump = new TransferRequest(filledContainers, origin); + ItemStack containersThatCantBeDumped = containersDump.transfer(false); + if (containersThatCantBeDumped != null) { + return item; + } - if (doAdd) { - tank.drain(maximumExtractedLiquid, true); - containersDump.transfer(true); - } - return leftOverContainers; - } + if (doAdd) { + tank.drain(maximumExtractedLiquid, true); + containersDump.transfer(true); + } + return leftOverContainers; + } - public List getInsertedSlots() { - return insertedSlots; - } + public List getInsertedSlots() { + return insertedSlots; + } - public List getInsertedTanks() { - return insertedTanks; - } + public List getInsertedTanks() { + return insertedTanks; + } - public IInventory getOrigin() { - return origin; - } + public IInventory getOrigin() { + return origin; + } - public IInventory getDestination() { - return destination; - } + public IInventory getDestination() { + return destination; + } - public ItemStack getItemToTransfer() { - return itemToTransfer; - } + public ItemStack getItemToTransfer() { + return itemToTransfer; + } - public int[] getTargetSlots() { - return targetSlots; - } + public int[] getTargetSlots() { + return targetSlots; + } - public int[] getTargetTanks() { - return targetTanks; - } + public int[] getTargetTanks() { + return targetTanks; + } - public static class TransferSlot { - public int id; - public IInventory inventory; + public static class TransferSlot { + public int id; + public IInventory inventory; - public TransferSlot(int id, IInventory inventory) { - this.id = id; - this.inventory = inventory; - } - } + public TransferSlot(int id, IInventory inventory) { + this.id = id; + this.inventory = inventory; + } + } } diff --git a/src/main/java/binnie/core/mod/config/BinnieConfiguration.java b/src/main/java/binnie/core/mod/config/BinnieConfiguration.java index 872fd2b1..96b26706 100644 --- a/src/main/java/binnie/core/mod/config/BinnieConfiguration.java +++ b/src/main/java/binnie/core/mod/config/BinnieConfiguration.java @@ -2,17 +2,16 @@ package binnie.core.mod.config; import binnie.core.AbstractMod; import binnie.core.BinnieCore; +import java.io.File; import net.minecraftforge.common.config.Configuration; -import java.io.File; - class BinnieConfiguration extends Configuration { - public AbstractMod mod; - private String filename; + public AbstractMod mod; + private String filename; - public BinnieConfiguration(String filename, AbstractMod mod) { - super(new File(BinnieCore.proxy.getDirectory(), filename)); - this.mod = mod; - this.filename = filename; - } + public BinnieConfiguration(String filename, AbstractMod mod) { + super(new File(BinnieCore.proxy.getDirectory(), filename)); + this.mod = mod; + this.filename = filename; + } } diff --git a/src/main/java/binnie/core/mod/config/BinnieItemData.java b/src/main/java/binnie/core/mod/config/BinnieItemData.java index e8adca2f..7e927192 100644 --- a/src/main/java/binnie/core/mod/config/BinnieItemData.java +++ b/src/main/java/binnie/core/mod/config/BinnieItemData.java @@ -2,13 +2,13 @@ package binnie.core.mod.config; // TODO Why do we need this class? class BinnieItemData { - private int item; - private BinnieConfiguration configFile; - private String configKey; + private int item; + private BinnieConfiguration configFile; + private String configKey; - public BinnieItemData(int item, BinnieConfiguration configFile, String configKey) { - this.item = item; - this.configFile = configFile; - this.configKey = configKey; - } + public BinnieItemData(int item, BinnieConfiguration configFile, String configKey) { + this.item = item; + this.configFile = configFile; + this.configKey = configKey; + } } diff --git a/src/main/java/binnie/core/mod/config/ConfigFile.java b/src/main/java/binnie/core/mod/config/ConfigFile.java index 2bcb591a..6c1ccf88 100644 --- a/src/main/java/binnie/core/mod/config/ConfigFile.java +++ b/src/main/java/binnie/core/mod/config/ConfigFile.java @@ -5,5 +5,5 @@ import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface ConfigFile { - String filename(); + String filename(); } diff --git a/src/main/java/binnie/core/mod/config/ConfigProperty.java b/src/main/java/binnie/core/mod/config/ConfigProperty.java index a17e07fd..1e532cc2 100644 --- a/src/main/java/binnie/core/mod/config/ConfigProperty.java +++ b/src/main/java/binnie/core/mod/config/ConfigProperty.java @@ -8,17 +8,17 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD}) public @interface ConfigProperty { - String key(); + String key(); - String category() default ""; + String category() default ""; - String[] comment() default {}; + String[] comment() default {}; - @Retention(RetentionPolicy.RUNTIME) - @Target({ElementType.ANNOTATION_TYPE}) - @interface Type { - Class propertyClass(); + @Retention(RetentionPolicy.RUNTIME) + @Target({ElementType.ANNOTATION_TYPE}) + @interface Type { + Class propertyClass(); - String category() default "general"; - } + String category() default "general"; + } } diff --git a/src/main/java/binnie/core/mod/config/ConfigurationMain.java b/src/main/java/binnie/core/mod/config/ConfigurationMain.java index 5c81e9ab..79394329 100644 --- a/src/main/java/binnie/core/mod/config/ConfigurationMain.java +++ b/src/main/java/binnie/core/mod/config/ConfigurationMain.java @@ -1,6 +1,4 @@ package binnie.core.mod.config; @ConfigFile(filename = "/config/forestry/binniecore/main.conf") -public class ConfigurationMain -{ -} +public class ConfigurationMain {} diff --git a/src/main/java/binnie/core/mod/config/ConfigurationMods.java b/src/main/java/binnie/core/mod/config/ConfigurationMods.java index 987bb087..6f3ac59d 100644 --- a/src/main/java/binnie/core/mod/config/ConfigurationMods.java +++ b/src/main/java/binnie/core/mod/config/ConfigurationMods.java @@ -2,19 +2,27 @@ package binnie.core.mod.config; @ConfigFile(filename = "/config/forestry/binnie-mods.conf") public class ConfigurationMods { - @ConfigProperty(key = "extraBees", comment = {"Enables the Extra Bees Mod."}) - @PropBoolean - public static boolean extraBees = true; + @ConfigProperty( + key = "extraBees", + comment = {"Enables the Extra Bees Mod."}) + @PropBoolean + public static boolean extraBees = true; - @ConfigProperty(key = "extraTrees", comment = {"Enables the Extra Trees Mod."}) - @PropBoolean - public static boolean extraTrees = true; + @ConfigProperty( + key = "extraTrees", + comment = {"Enables the Extra Trees Mod."}) + @PropBoolean + public static boolean extraTrees = true; - @ConfigProperty(key = "botany", comment = {"Enables the Botany Mod."}) - @PropBoolean - public static boolean botany = true; + @ConfigProperty( + key = "botany", + comment = {"Enables the Botany Mod."}) + @PropBoolean + public static boolean botany = true; - @ConfigProperty(key = "genetics", comment = {"Enables the Genetics Mod."}) - @PropBoolean - public static boolean genetics = true; + @ConfigProperty( + key = "genetics", + comment = {"Enables the Genetics Mod."}) + @PropBoolean + public static boolean genetics = true; } diff --git a/src/main/java/binnie/core/mod/config/ManagerConfig.java b/src/main/java/binnie/core/mod/config/ManagerConfig.java index a7785037..0134c955 100644 --- a/src/main/java/binnie/core/mod/config/ManagerConfig.java +++ b/src/main/java/binnie/core/mod/config/ManagerConfig.java @@ -2,8 +2,6 @@ package binnie.core.mod.config; import binnie.core.AbstractMod; import binnie.core.ManagerBase; -import net.minecraftforge.common.config.Configuration; - import java.lang.annotation.Annotation; import java.lang.reflect.Field; import java.util.ArrayList; @@ -11,50 +9,64 @@ import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import net.minecraftforge.common.config.Configuration; public class ManagerConfig extends ManagerBase { - private Map, Configuration> configurations; - private Map> itemIDs; + private Map, Configuration> configurations; + private Map> itemIDs; - public ManagerConfig() { - configurations = new LinkedHashMap<>(); - itemIDs = new HashMap<>(); - } + public ManagerConfig() { + configurations = new LinkedHashMap<>(); + itemIDs = new HashMap<>(); + } - public void registerConfiguration(Class cls, AbstractMod mod) { - if (cls.isAnnotationPresent(ConfigFile.class)) { - loadConfiguration(cls, mod); - } - } + public void registerConfiguration(Class cls, AbstractMod mod) { + if (cls.isAnnotationPresent(ConfigFile.class)) { + loadConfiguration(cls, mod); + } + } - public void loadConfiguration(Class cls, AbstractMod mod) { - try { - String filename = cls.getAnnotation(ConfigFile.class).filename(); - BinnieConfiguration config = new BinnieConfiguration(filename, mod); - config.load(); - for (Field field : cls.getFields()) { - if (field.isAnnotationPresent(ConfigProperty.class)) { - ConfigProperty propertyAnnot = field.getAnnotation(ConfigProperty.class); - for (Annotation annotation : field.getAnnotations()) { - if (annotation.annotationType().isAnnotationPresent(ConfigProperty.Type.class)) { - Class propertyClass = annotation.annotationType().getAnnotation(ConfigProperty.Type.class).propertyClass(); - // TODO what for? - PropertyBase property = (PropertyBase) propertyClass.getConstructor(Field.class, BinnieConfiguration.class, ConfigProperty.class, annotation.annotationType()).newInstance(field, config, propertyAnnot, annotation.annotationType().cast(annotation)); - } - } - } - } - config.save(); - configurations.put(cls, config); - } catch (Exception e) { - e.printStackTrace(); - } - } + public void loadConfiguration(Class cls, AbstractMod mod) { + try { + String filename = cls.getAnnotation(ConfigFile.class).filename(); + BinnieConfiguration config = new BinnieConfiguration(filename, mod); + config.load(); + for (Field field : cls.getFields()) { + if (field.isAnnotationPresent(ConfigProperty.class)) { + ConfigProperty propertyAnnot = field.getAnnotation(ConfigProperty.class); + for (Annotation annotation : field.getAnnotations()) { + if (annotation.annotationType().isAnnotationPresent(ConfigProperty.Type.class)) { + Class propertyClass = annotation + .annotationType() + .getAnnotation(ConfigProperty.Type.class) + .propertyClass(); + // TODO what for? + PropertyBase property = (PropertyBase) propertyClass + .getConstructor( + Field.class, + BinnieConfiguration.class, + ConfigProperty.class, + annotation.annotationType()) + .newInstance( + field, + config, + propertyAnnot, + annotation.annotationType().cast(annotation)); + } + } + } + } + config.save(); + configurations.put(cls, config); + } catch (Exception e) { + e.printStackTrace(); + } + } - public void addItemID(Integer configValue, String configKey, BinnieConfiguration configFile) { - if (!itemIDs.containsKey(configFile.mod)) { - itemIDs.put(configFile.mod, new ArrayList<>()); - } - itemIDs.get(configFile.mod).add(new BinnieItemData(configValue + 256, configFile, configKey)); - } + public void addItemID(Integer configValue, String configKey, BinnieConfiguration configFile) { + if (!itemIDs.containsKey(configFile.mod)) { + itemIDs.put(configFile.mod, new ArrayList<>()); + } + itemIDs.get(configFile.mod).add(new BinnieItemData(configValue + 256, configFile, configKey)); + } } diff --git a/src/main/java/binnie/core/mod/config/PropBoolean.java b/src/main/java/binnie/core/mod/config/PropBoolean.java index 2aec2ab8..28a1f4c5 100644 --- a/src/main/java/binnie/core/mod/config/PropBoolean.java +++ b/src/main/java/binnie/core/mod/config/PropBoolean.java @@ -1,32 +1,33 @@ package binnie.core.mod.config; -import net.minecraftforge.common.config.Property; - import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.reflect.Field; +import net.minecraftforge.common.config.Property; @Retention(RetentionPolicy.RUNTIME) @ConfigProperty.Type(propertyClass = PropBoolean.PropertyBoolean.class) public @interface PropBoolean { - class PropertyBoolean extends PropertyBase { - public PropertyBoolean(Field field, BinnieConfiguration file, ConfigProperty configProperty, PropBoolean annotedProperty) throws IllegalArgumentException, IllegalAccessException { - super(field, file, configProperty, annotedProperty); - } + class PropertyBoolean extends PropertyBase { + public PropertyBoolean( + Field field, BinnieConfiguration file, ConfigProperty configProperty, PropBoolean annotedProperty) + throws IllegalArgumentException, IllegalAccessException { + super(field, file, configProperty, annotedProperty); + } - @Override - protected Property getProperty() { - return file.get(getCategory(), getKey(), defaultValue); - } + @Override + protected Property getProperty() { + return file.get(getCategory(), getKey(), defaultValue); + } - @Override - protected Boolean getConfigValue() { - return property.getBoolean(defaultValue); - } + @Override + protected Boolean getConfigValue() { + return property.getBoolean(defaultValue); + } - @Override - protected void addComments() { - addComment("Default value is " + defaultValue + "."); - } - } + @Override + protected void addComments() { + addComment("Default value is " + defaultValue + "."); + } + } } diff --git a/src/main/java/binnie/core/mod/config/PropDouble.java b/src/main/java/binnie/core/mod/config/PropDouble.java index d4c90f59..79283418 100644 --- a/src/main/java/binnie/core/mod/config/PropDouble.java +++ b/src/main/java/binnie/core/mod/config/PropDouble.java @@ -1,32 +1,33 @@ package binnie.core.mod.config; -import net.minecraftforge.common.config.Property; - import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.reflect.Field; +import net.minecraftforge.common.config.Property; @Retention(RetentionPolicy.RUNTIME) @ConfigProperty.Type(propertyClass = PropDouble.PropertyDouble.class) public @interface PropDouble { - class PropertyDouble extends PropertyBase { - public PropertyDouble(Field field, BinnieConfiguration file, ConfigProperty configProperty, PropDouble annotedProperty) throws IllegalArgumentException, IllegalAccessException { - super(field, file, configProperty, annotedProperty); - } + class PropertyDouble extends PropertyBase { + public PropertyDouble( + Field field, BinnieConfiguration file, ConfigProperty configProperty, PropDouble annotedProperty) + throws IllegalArgumentException, IllegalAccessException { + super(field, file, configProperty, annotedProperty); + } - @Override - protected Property getProperty() { - return file.get(getCategory(), getKey(), defaultValue); - } + @Override + protected Property getProperty() { + return file.get(getCategory(), getKey(), defaultValue); + } - @Override - protected Double getConfigValue() { - return property.getDouble(defaultValue); - } + @Override + protected Double getConfigValue() { + return property.getDouble(defaultValue); + } - @Override - protected void addComments() { - addComment("Default value is " + defaultValue + "."); - } - } + @Override + protected void addComments() { + addComment("Default value is " + defaultValue + "."); + } + } } diff --git a/src/main/java/binnie/core/mod/config/PropInteger.java b/src/main/java/binnie/core/mod/config/PropInteger.java index 88432a2e..d66533ea 100644 --- a/src/main/java/binnie/core/mod/config/PropInteger.java +++ b/src/main/java/binnie/core/mod/config/PropInteger.java @@ -1,32 +1,33 @@ package binnie.core.mod.config; -import net.minecraftforge.common.config.Property; - import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.reflect.Field; +import net.minecraftforge.common.config.Property; @Retention(RetentionPolicy.RUNTIME) @ConfigProperty.Type(propertyClass = PropInteger.PropertyInteger.class) public @interface PropInteger { - class PropertyInteger extends PropertyBase { - public PropertyInteger(Field field, BinnieConfiguration file, ConfigProperty configProperty, PropInteger annotedProperty) throws IllegalArgumentException, IllegalAccessException { - super(field, file, configProperty, annotedProperty); - } + class PropertyInteger extends PropertyBase { + public PropertyInteger( + Field field, BinnieConfiguration file, ConfigProperty configProperty, PropInteger annotedProperty) + throws IllegalArgumentException, IllegalAccessException { + super(field, file, configProperty, annotedProperty); + } - @Override - protected Property getProperty() { - return file.get(getCategory(), getKey(), defaultValue); - } + @Override + protected Property getProperty() { + return file.get(getCategory(), getKey(), defaultValue); + } - @Override - protected Integer getConfigValue() { - return property.getInt(defaultValue); - } + @Override + protected Integer getConfigValue() { + return property.getInt(defaultValue); + } - @Override - protected void addComments() { - addComment("Default value is " + defaultValue + "."); - } - } + @Override + protected void addComments() { + addComment("Default value is " + defaultValue + "."); + } + } } diff --git a/src/main/java/binnie/core/mod/config/PropPercentage.java b/src/main/java/binnie/core/mod/config/PropPercentage.java index 06c82027..4fa3488e 100644 --- a/src/main/java/binnie/core/mod/config/PropPercentage.java +++ b/src/main/java/binnie/core/mod/config/PropPercentage.java @@ -1,37 +1,38 @@ package binnie.core.mod.config; -import net.minecraftforge.common.config.Property; - import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.reflect.Field; +import net.minecraftforge.common.config.Property; @Retention(RetentionPolicy.RUNTIME) @ConfigProperty.Type(propertyClass = PropPercentage.PropertyPercentage.class) public @interface PropPercentage { - int upper() default 100; + int upper() default 100; - int lower() default 0; + int lower() default 0; - class PropertyPercentage extends PropertyBase { - public PropertyPercentage(Field field, BinnieConfiguration file, ConfigProperty configProperty, PropPercentage annotedProperty) throws IllegalArgumentException, IllegalAccessException { - super(field, file, configProperty, annotedProperty); - } + class PropertyPercentage extends PropertyBase { + public PropertyPercentage( + Field field, BinnieConfiguration file, ConfigProperty configProperty, PropPercentage annotedProperty) + throws IllegalArgumentException, IllegalAccessException { + super(field, file, configProperty, annotedProperty); + } - @Override - protected Integer getConfigValue() { - return property.getInt(defaultValue); - } + @Override + protected Integer getConfigValue() { + return property.getInt(defaultValue); + } - @Override - protected void addComments() { - addComment("Default value is " + defaultValue + "%."); - addComment("Range is " + annotatedProperty.lower() + "-" + annotatedProperty.upper() + "%."); - } + @Override + protected void addComments() { + addComment("Default value is " + defaultValue + "%."); + addComment("Range is " + annotatedProperty.lower() + "-" + annotatedProperty.upper() + "%."); + } - @Override - protected Property getProperty() { - return file.get(getCategory(), getKey(), defaultValue); - } - } + @Override + protected Property getProperty() { + return file.get(getCategory(), getKey(), defaultValue); + } + } } diff --git a/src/main/java/binnie/core/mod/config/PropertyBase.java b/src/main/java/binnie/core/mod/config/PropertyBase.java index 2dacdc27..35960849 100644 --- a/src/main/java/binnie/core/mod/config/PropertyBase.java +++ b/src/main/java/binnie/core/mod/config/PropertyBase.java @@ -1,69 +1,73 @@ package binnie.core.mod.config; -import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.common.config.Property; - import java.lang.annotation.Annotation; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; +import net.minecraftforge.common.config.Configuration; +import net.minecraftforge.common.config.Property; abstract class PropertyBase { - protected Configuration file; - protected Property property; - protected ValueType defaultValue; - protected AnnotationType annotatedProperty; + protected Configuration file; + protected Property property; + protected ValueType defaultValue; + protected AnnotationType annotatedProperty; - private ConfigProperty configProperty; - private List comments; - private Field field; + private ConfigProperty configProperty; + private List comments; + private Field field; - protected PropertyBase(Field field, BinnieConfiguration file, ConfigProperty configProperty, AnnotationType annotedProperty) throws IllegalArgumentException, IllegalAccessException { - comments = new ArrayList<>(); - this.field = field; - this.file = file; - this.configProperty = configProperty; - annotatedProperty = annotedProperty; - defaultValue = getDefaultValue(field); - property = getProperty(); + protected PropertyBase( + Field field, BinnieConfiguration file, ConfigProperty configProperty, AnnotationType annotedProperty) + throws IllegalArgumentException, IllegalAccessException { + comments = new ArrayList<>(); + this.field = field; + this.file = file; + this.configProperty = configProperty; + annotatedProperty = annotedProperty; + defaultValue = getDefaultValue(field); + property = getProperty(); - for (String comment : configProperty.comment()) { - addComment(comment); - } - addComments(); - property.comment = getComment(); - field.set(null, getConfigValue()); - } + for (String comment : configProperty.comment()) { + addComment(comment); + } + addComments(); + property.comment = getComment(); + field.set(null, getConfigValue()); + } - protected abstract Property getProperty(); + protected abstract Property getProperty(); - protected abstract ValueType getConfigValue(); + protected abstract ValueType getConfigValue(); - protected abstract void addComments(); + protected abstract void addComments(); - protected String getCategory() { - return configProperty.category().equals("") ? - annotatedProperty.annotationType().getAnnotation(ConfigProperty.Type.class).category() : - configProperty.category(); - } + protected String getCategory() { + return configProperty.category().equals("") + ? annotatedProperty + .annotationType() + .getAnnotation(ConfigProperty.Type.class) + .category() + : configProperty.category(); + } - protected String getKey() { - return configProperty.key(); - } + protected String getKey() { + return configProperty.key(); + } - protected ValueType getDefaultValue(Field field) throws IllegalArgumentException, IllegalAccessException { - return (ValueType) field.get(null); - } + protected ValueType getDefaultValue(Field field) throws IllegalArgumentException, IllegalAccessException { + return (ValueType) field.get(null); + } - protected void addComment(String comment) { - comments.add(comment); - } + protected void addComment(String comment) { + comments.add(comment); + } - protected String getComment() { - String comment = ""; - for (String com : comments) { - comment = comment + com + " "; - } - return comment; - } + protected String getComment() { + String comment = ""; + for (String com : comments) { + comment = comment + com + " "; + } + return comment; + } } diff --git a/src/main/java/binnie/core/mod/parser/FieldParser.java b/src/main/java/binnie/core/mod/parser/FieldParser.java index 59b5d887..3f3ef44c 100644 --- a/src/main/java/binnie/core/mod/parser/FieldParser.java +++ b/src/main/java/binnie/core/mod/parser/FieldParser.java @@ -1,49 +1,50 @@ package binnie.core.mod.parser; import binnie.core.AbstractMod; - import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collection; public abstract class FieldParser { - public static Collection parsers = new ArrayList<>(); + public static Collection parsers = new ArrayList<>(); - public abstract boolean isHandled(Field field, AbstractMod mod); + public abstract boolean isHandled(Field field, AbstractMod mod); - public void preInit(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { - // ignored - } + public void preInit(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { + // ignored + } - public void init(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { - // ignored - } + public void init(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { + // ignored + } - public void postInit(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { - // ignored - } + public void postInit(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { + // ignored + } - public static void preInitParse(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { - for (FieldParser parser : FieldParser.parsers) { - if (parser.isHandled(field, mod)) { - parser.preInit(field, mod); - } - } - } + public static void preInitParse(Field field, AbstractMod mod) + throws IllegalArgumentException, IllegalAccessException { + for (FieldParser parser : FieldParser.parsers) { + if (parser.isHandled(field, mod)) { + parser.preInit(field, mod); + } + } + } - public static void initParse(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { - for (FieldParser parser : FieldParser.parsers) { - if (parser.isHandled(field, mod)) { - parser.init(field, mod); - } - } - } + public static void initParse(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { + for (FieldParser parser : FieldParser.parsers) { + if (parser.isHandled(field, mod)) { + parser.init(field, mod); + } + } + } - public static void postInitParse(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { - for (FieldParser parser : FieldParser.parsers) { - if (parser.isHandled(field, mod)) { - parser.postInit(field, mod); - } - } - } + public static void postInitParse(Field field, AbstractMod mod) + throws IllegalArgumentException, IllegalAccessException { + for (FieldParser parser : FieldParser.parsers) { + if (parser.isHandled(field, mod)) { + parser.postInit(field, mod); + } + } + } } diff --git a/src/main/java/binnie/core/mod/parser/ItemParser.java b/src/main/java/binnie/core/mod/parser/ItemParser.java index 5186220e..b9cec91c 100644 --- a/src/main/java/binnie/core/mod/parser/ItemParser.java +++ b/src/main/java/binnie/core/mod/parser/ItemParser.java @@ -2,21 +2,20 @@ package binnie.core.mod.parser; import binnie.core.AbstractMod; import cpw.mods.fml.common.registry.GameRegistry; +import java.lang.reflect.Field; import net.minecraft.item.Item; -import java.lang.reflect.Field; - public class ItemParser extends FieldParser { - @Override - public boolean isHandled(Field field, AbstractMod mod) { - return Item.class.isAssignableFrom(field.getType()); - } + @Override + public boolean isHandled(Field field, AbstractMod mod) { + return Item.class.isAssignableFrom(field.getType()); + } - @Override - public void preInit(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { - Item item = (Item) field.get(null); - if (item != null) { - GameRegistry.registerItem(item, item.getUnlocalizedName().substring(5)); - } - } + @Override + public void preInit(Field field, AbstractMod mod) throws IllegalArgumentException, IllegalAccessException { + Item item = (Item) field.get(null); + if (item != null) { + GameRegistry.registerItem(item, item.getUnlocalizedName().substring(5)); + } + } } diff --git a/src/main/java/binnie/core/nei/PositionedFluidTank.java b/src/main/java/binnie/core/nei/PositionedFluidTank.java index 226d60c3..41e21d31 100644 --- a/src/main/java/binnie/core/nei/PositionedFluidTank.java +++ b/src/main/java/binnie/core/nei/PositionedFluidTank.java @@ -3,6 +3,10 @@ package binnie.core.nei; import codechicken.lib.gui.GuiDraw; import codechicken.nei.recipe.GuiCraftingRecipe; import codechicken.nei.recipe.GuiUsageRecipe; +import java.awt.*; +import java.util.Collection; +import java.util.Collections; +import java.util.List; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.util.EnumChatFormatting; @@ -11,11 +15,6 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTank; import org.lwjgl.opengl.GL11; -import java.awt.*; -import java.util.Collection; -import java.util.Collections; -import java.util.List; - public class PositionedFluidTank { public FluidTank[] tanks; @@ -35,11 +34,17 @@ public class PositionedFluidTank { this.overlayTexturePos = overlayTexturePos; } - public PositionedFluidTank(Collection fluids, int capacity, Rectangle position, String overlayTexture, Point overlayTexturePos) { + public PositionedFluidTank( + Collection fluids, + int capacity, + Rectangle position, + String overlayTexture, + Point overlayTexturePos) { this(createFluidTanks(capacity, fluids), position, overlayTexture, overlayTexturePos); } - public PositionedFluidTank(FluidStack fluid, int capacity, Rectangle position, String overlayTexture, Point overlayTexturePos) { + public PositionedFluidTank( + FluidStack fluid, int capacity, Rectangle position, String overlayTexture, Point overlayTexturePos) { this(createFluidTanks(capacity, Collections.singletonList(fluid)), position, overlayTexture, overlayTexturePos); } @@ -57,12 +62,17 @@ public class PositionedFluidTank { } public List handleTooltip(List currenttip) { - if (this.tank == null || this.tank.getFluid() == null || this.tank.getFluid().getFluid() == null || this.tank.getFluid().amount <= 0) { + if (this.tank == null + || this.tank.getFluid() == null + || this.tank.getFluid().getFluid() == null + || this.tank.getFluid().amount <= 0) { return currenttip; } currenttip.add(this.tank.getFluid().getLocalizedName()); if (this.showAmount) { - currenttip.add(EnumChatFormatting.GRAY.toString() + this.tank.getFluid().amount + (this.perTick ? " mB/t" : " mB")); + currenttip.add(EnumChatFormatting.GRAY.toString() + + this.tank.getFluid().amount + + (this.perTick ? " mB/t" : " mB")); } return currenttip; } @@ -79,7 +89,10 @@ public class PositionedFluidTank { } public void draw() { - if (this.tank == null || this.tank.getFluid() == null || this.tank.getFluid().getFluid() == null || this.tank.getFluid().amount <= 0) { + if (this.tank == null + || this.tank.getFluid() == null + || this.tank.getFluid().getFluid() == null + || this.tank.getFluid().amount <= 0) { return; } final IIcon fluidIcon; @@ -95,7 +108,11 @@ public class PositionedFluidTank { int color = this.tank.getFluid().getFluid().getColor(this.tank.getFluid()); GL11.glColor3ub((byte) (color >> 16 & 0xFF), (byte) (color >> 8 & 0xFF), (byte) (color & 0xFF)); - int amount = Math.max(Math.min(this.position.height, this.tank.getFluid().amount * this.position.height / this.tank.getCapacity()), 1); + int amount = Math.max( + Math.min( + this.position.height, + this.tank.getFluid().amount * this.position.height / this.tank.getCapacity()), + 1); int posY = this.position.y + this.position.height - amount; for (int i = 0; i < this.position.width; i += 16) { @@ -113,8 +130,14 @@ public class PositionedFluidTank { Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(drawX, drawY + drawHeight, 0, minU, minV + (maxV - minV) * drawHeight / 16F); - tessellator.addVertexWithUV(drawX + drawWidth, drawY + drawHeight, 0, minU + (maxU - minU) * drawWidth / 16F, minV + (maxV - minV) * drawHeight / 16F); + tessellator.addVertexWithUV( + drawX, drawY + drawHeight, 0, minU, minV + (maxV - minV) * drawHeight / 16F); + tessellator.addVertexWithUV( + drawX + drawWidth, + drawY + drawHeight, + 0, + minU + (maxU - minU) * drawWidth / 16F, + minV + (maxV - minV) * drawHeight / 16F); tessellator.addVertexWithUV(drawX + drawWidth, drawY, 0, minU + (maxU - minU) * drawWidth / 16F, minV); tessellator.addVertexWithUV(drawX, drawY, 0, minU, minV); tessellator.draw(); @@ -124,7 +147,13 @@ public class PositionedFluidTank { if (this.overlayTexture != null && this.overlayTexturePos != null) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GuiDraw.changeTexture(this.overlayTexture); - GuiDraw.drawTexturedModalRect(this.position.x, this.position.y, this.overlayTexturePos.x, this.overlayTexturePos.y, this.position.width, this.position.height); + GuiDraw.drawTexturedModalRect( + this.position.x, + this.position.y, + this.overlayTexturePos.x, + this.overlayTexturePos.y, + this.position.width, + this.position.height); } } diff --git a/src/main/java/binnie/core/nei/PositionedStackAdv.java b/src/main/java/binnie/core/nei/PositionedStackAdv.java index d1242ae4..168ef9c3 100644 --- a/src/main/java/binnie/core/nei/PositionedStackAdv.java +++ b/src/main/java/binnie/core/nei/PositionedStackAdv.java @@ -1,11 +1,7 @@ package binnie.core.nei; -import codechicken.nei.ItemList; import codechicken.nei.PositionedStack; import codechicken.nei.recipe.GuiRecipe; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; - import java.awt.*; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/binnie/core/nei/RecipeHandlerBase.java b/src/main/java/binnie/core/nei/RecipeHandlerBase.java index b1971cec..ffd3a35d 100644 --- a/src/main/java/binnie/core/nei/RecipeHandlerBase.java +++ b/src/main/java/binnie/core/nei/RecipeHandlerBase.java @@ -6,18 +6,16 @@ import codechicken.nei.PositionedStack; import codechicken.nei.guihook.GuiContainerManager; import codechicken.nei.recipe.GuiRecipe; import codechicken.nei.recipe.TemplateRecipeHandler; +import java.awt.*; +import java.util.ArrayList; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; import org.lwjgl.opengl.GL11; -import java.awt.*; -import java.util.ArrayList; -import java.util.List; - public abstract class RecipeHandlerBase extends TemplateRecipeHandler { - public void prepare() { - } + public void prepare() {} public void changeToGuiTexture() { GuiDraw.changeTexture(this.getGuiTexture()); @@ -37,7 +35,9 @@ public abstract class RecipeHandlerBase extends TemplateRecipeHandler { @Override public void loadCraftingRecipes(String outputId, Object... results) { - if (outputId.equals("liquid") && results[0] instanceof FluidStack && ((FluidStack) results[0]).getFluid() != null) { + if (outputId.equals("liquid") + && results[0] instanceof FluidStack + && ((FluidStack) results[0]).getFluid() != null) { this.loadCraftingRecipes((FluidStack) results[0]); } else if (outputId.equals(this.getOverlayIdentifier())) { this.loadAllRecipes(); @@ -46,8 +46,7 @@ public abstract class RecipeHandlerBase extends TemplateRecipeHandler { } } - public void loadAllRecipes() { - } + public void loadAllRecipes() {} @Override public void loadCraftingRecipes(ItemStack result) { @@ -57,12 +56,13 @@ public abstract class RecipeHandlerBase extends TemplateRecipeHandler { } } - public void loadCraftingRecipes(FluidStack result) { - } + public void loadCraftingRecipes(FluidStack result) {} @Override public void loadUsageRecipes(String inputId, Object... ingredients) { - if (inputId.equals("liquid") && ingredients[0] instanceof FluidStack && ((FluidStack) ingredients[0]).getFluid() != null) { + if (inputId.equals("liquid") + && ingredients[0] instanceof FluidStack + && ((FluidStack) ingredients[0]).getFluid() != null) { this.loadUsageRecipes((FluidStack) ingredients[0]); } else { super.loadUsageRecipes(inputId, ingredients); @@ -77,8 +77,7 @@ public abstract class RecipeHandlerBase extends TemplateRecipeHandler { } } - public void loadUsageRecipes(FluidStack ingredient) { - } + public void loadUsageRecipes(FluidStack ingredient) {} @Override public List handleTooltip(GuiRecipe guiRecipe, List currenttip, int recipe) { @@ -87,13 +86,19 @@ public abstract class RecipeHandlerBase extends TemplateRecipeHandler { if (GuiContainerManager.shouldShowTooltip(guiRecipe)) { Point mouse = GuiDraw.getMousePosition(); Point offset = guiRecipe.getRecipePosition(recipe); - Point relMouse = new Point(mouse.x - (guiRecipe.width - 176) / 2 - offset.x, mouse.y - (guiRecipe.height - Math.min(Math.max(guiRecipe.height - 68, 166), 370)) / 2 - 10 - offset.y); + Point relMouse = new Point( + mouse.x - (guiRecipe.width - 176) / 2 - offset.x, + mouse.y + - (guiRecipe.height - Math.min(Math.max(guiRecipe.height - 68, 166), 370)) / 2 + - 10 + - offset.y); currenttip = this.provideTooltip(guiRecipe, currenttip, crecipe, relMouse); } return currenttip; } - public List provideTooltip(GuiRecipe guiRecipe, List currenttip, CachedBaseRecipe crecipe, Point relMouse) { + public List provideTooltip( + GuiRecipe guiRecipe, List currenttip, CachedBaseRecipe crecipe, Point relMouse) { if (crecipe.getFluidTanks() != null) { for (PositionedFluidTank tank : crecipe.getFluidTanks()) { if (tank.position.contains(relMouse)) { @@ -105,30 +110,41 @@ public abstract class RecipeHandlerBase extends TemplateRecipeHandler { } @Override - public List handleItemTooltip(GuiRecipe guiRecipe, ItemStack itemStack, List currenttip, int recipe) { + public List handleItemTooltip( + GuiRecipe guiRecipe, ItemStack itemStack, List currenttip, int recipe) { super.handleItemTooltip(guiRecipe, itemStack, currenttip, recipe); CachedBaseRecipe crecipe = (CachedBaseRecipe) this.arecipes.get(recipe); Point mouse = GuiDraw.getMousePosition(); Point offset = guiRecipe.getRecipePosition(recipe); - Point relMouse = new Point(mouse.x - (guiRecipe.width - 176) / 2 - offset.x, mouse.y - (guiRecipe.height - Math.min(Math.max(guiRecipe.height - 68, 166), 370)) / 2 - 10 - offset.y); + Point relMouse = new Point( + mouse.x - (guiRecipe.width - 176) / 2 - offset.x, + mouse.y - (guiRecipe.height - Math.min(Math.max(guiRecipe.height - 68, 166), 370)) / 2 - 10 - offset.y); currenttip = this.provideItemTooltip(guiRecipe, itemStack, currenttip, crecipe, relMouse); return currenttip; } - public List provideItemTooltip(GuiRecipe guiRecipe, ItemStack itemStack, List currenttip, CachedBaseRecipe crecipe, Point relMouse) { + public List provideItemTooltip( + GuiRecipe guiRecipe, + ItemStack itemStack, + List currenttip, + CachedBaseRecipe crecipe, + Point relMouse) { for (PositionedStack stack : crecipe.getIngredients()) { - if (stack instanceof PositionedStackAdv && ((PositionedStackAdv) stack).getRect().contains(relMouse)) { + if (stack instanceof PositionedStackAdv + && ((PositionedStackAdv) stack).getRect().contains(relMouse)) { currenttip = ((PositionedStackAdv) stack).handleTooltip(guiRecipe, currenttip); } } for (PositionedStack stack : crecipe.getOtherStacks()) { - if (stack instanceof PositionedStackAdv && ((PositionedStackAdv) stack).getRect().contains(relMouse)) { + if (stack instanceof PositionedStackAdv + && ((PositionedStackAdv) stack).getRect().contains(relMouse)) { currenttip = ((PositionedStackAdv) stack).handleTooltip(guiRecipe, currenttip); } } PositionedStack stack = crecipe.getResult(); - if (stack instanceof PositionedStackAdv && ((PositionedStackAdv) stack).getRect().contains(relMouse)) { + if (stack instanceof PositionedStackAdv + && ((PositionedStackAdv) stack).getRect().contains(relMouse)) { currenttip = ((PositionedStackAdv) stack).handleTooltip(guiRecipe, currenttip); } return currenttip; @@ -169,7 +185,12 @@ public abstract class RecipeHandlerBase extends TemplateRecipeHandler { for (PositionedFluidTank tank : crecipe.getFluidTanks()) { Point mouse = GuiDraw.getMousePosition(); Point offset = guiRecipe.getRecipePosition(recipe); - Point relMouse = new Point(mouse.x - (guiRecipe.width - 176) / 2 - offset.x, mouse.y - (guiRecipe.height - Math.min(Math.max(guiRecipe.height - 68, 166), 370)) / 2 - 10 - offset.y); + Point relMouse = new Point( + mouse.x - (guiRecipe.width - 176) / 2 - offset.x, + mouse.y + - (guiRecipe.height - Math.min(Math.max(guiRecipe.height - 68, 166), 370)) / 2 + - 10 + - offset.y); if (tank.position.contains(relMouse)) { return tank.transfer(usage); @@ -206,7 +227,5 @@ public abstract class RecipeHandlerBase extends TemplateRecipeHandler { public PositionedFluidTank getFluidTank() { return null; } - } - } diff --git a/src/main/java/binnie/core/network/BinnieCorePacketID.java b/src/main/java/binnie/core/network/BinnieCorePacketID.java index 5985245c..ce1b9f16 100644 --- a/src/main/java/binnie/core/network/BinnieCorePacketID.java +++ b/src/main/java/binnie/core/network/BinnieCorePacketID.java @@ -18,48 +18,48 @@ import net.minecraft.network.NetHandlerPlayServer; import net.minecraft.tileentity.TileEntity; public enum BinnieCorePacketID implements IPacketID { - NetworkEntityUpdate, - TileMetadata, - CraftGUIAction, - TileDescriptionSync; + NetworkEntityUpdate, + TileMetadata, + CraftGUIAction, + TileDescriptionSync; - @Override - public void onMessage(MessageBinnie message, MessageContext context) { - if (this == BinnieCorePacketID.NetworkEntityUpdate) { - MessageUpdate packet = new MessageUpdate(message); - TileEntity tile = packet.getTileEntity(BinnieCore.proxy.getWorld()); - if (tile instanceof INetworkedEntity) { - ((INetworkedEntity) tile).readFromPacket(packet.payload); - } - } else if (this == BinnieCorePacketID.TileMetadata) { - MessageMetadata packet = new MessageMetadata(message); - TileEntity tile = packet.getTileEntity(BinnieCore.proxy.getWorld()); - if (tile instanceof TileEntityMetadata) { - ((TileEntityMetadata) tile).setTileMetadata(packet.meta, true); - } - } else if (this == BinnieCorePacketID.CraftGUIAction) { - if (context.side == Side.CLIENT) { - MessageCraftGUI packet = new MessageCraftGUI(message); - EntityPlayer player = BinnieCore.proxy.getPlayer(); - if (player.openContainer instanceof ContainerCraftGUI && packet.getTagCompound() != null) { - ((ContainerCraftGUI) player.openContainer).recieveNBT(Side.CLIENT, player, packet.getTagCompound()); - } - } else if (context.netHandler instanceof NetHandlerPlayServer) { - MessageCraftGUI packet = new MessageCraftGUI(message); - EntityPlayer player = ((NetHandlerPlayServer) context.netHandler).playerEntity; - if (player.openContainer instanceof ContainerCraftGUI && packet.getTagCompound() != null) { - ((ContainerCraftGUI) player.openContainer).recieveNBT(Side.SERVER, player, packet.getTagCompound()); - } - } - } else if (this == BinnieCorePacketID.TileDescriptionSync && context.side == Side.CLIENT) { - MessageTileNBT packet = new MessageTileNBT(message); - TileEntity tile = packet.getTarget(BinnieCore.proxy.getWorld()); - if (tile != null && packet.getTagCompound() != null) { - IMachine machine = Machine.getMachine(tile); - if (machine != null && machine instanceof INetwork.TilePacketSync) { - ((INetwork.TilePacketSync) machine).syncFromNBT(packet.getTagCompound()); - } - } - } - } + @Override + public void onMessage(MessageBinnie message, MessageContext context) { + if (this == BinnieCorePacketID.NetworkEntityUpdate) { + MessageUpdate packet = new MessageUpdate(message); + TileEntity tile = packet.getTileEntity(BinnieCore.proxy.getWorld()); + if (tile instanceof INetworkedEntity) { + ((INetworkedEntity) tile).readFromPacket(packet.payload); + } + } else if (this == BinnieCorePacketID.TileMetadata) { + MessageMetadata packet = new MessageMetadata(message); + TileEntity tile = packet.getTileEntity(BinnieCore.proxy.getWorld()); + if (tile instanceof TileEntityMetadata) { + ((TileEntityMetadata) tile).setTileMetadata(packet.meta, true); + } + } else if (this == BinnieCorePacketID.CraftGUIAction) { + if (context.side == Side.CLIENT) { + MessageCraftGUI packet = new MessageCraftGUI(message); + EntityPlayer player = BinnieCore.proxy.getPlayer(); + if (player.openContainer instanceof ContainerCraftGUI && packet.getTagCompound() != null) { + ((ContainerCraftGUI) player.openContainer).recieveNBT(Side.CLIENT, player, packet.getTagCompound()); + } + } else if (context.netHandler instanceof NetHandlerPlayServer) { + MessageCraftGUI packet = new MessageCraftGUI(message); + EntityPlayer player = ((NetHandlerPlayServer) context.netHandler).playerEntity; + if (player.openContainer instanceof ContainerCraftGUI && packet.getTagCompound() != null) { + ((ContainerCraftGUI) player.openContainer).recieveNBT(Side.SERVER, player, packet.getTagCompound()); + } + } + } else if (this == BinnieCorePacketID.TileDescriptionSync && context.side == Side.CLIENT) { + MessageTileNBT packet = new MessageTileNBT(message); + TileEntity tile = packet.getTarget(BinnieCore.proxy.getWorld()); + if (tile != null && packet.getTagCompound() != null) { + IMachine machine = Machine.getMachine(tile); + if (machine != null && machine instanceof INetwork.TilePacketSync) { + ((INetwork.TilePacketSync) machine).syncFromNBT(packet.getTagCompound()); + } + } + } + } } diff --git a/src/main/java/binnie/core/network/BinniePacketHandler.java b/src/main/java/binnie/core/network/BinniePacketHandler.java index a6daf020..8caeafd5 100644 --- a/src/main/java/binnie/core/network/BinniePacketHandler.java +++ b/src/main/java/binnie/core/network/BinniePacketHandler.java @@ -7,29 +7,29 @@ import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; import cpw.mods.fml.common.network.simpleimpl.MessageContext; public abstract class BinniePacketHandler implements IMessageHandler { - private IPacketProvider provider; + private IPacketProvider provider; - public BinniePacketHandler(AbstractMod mod) { - setProvider(mod); - } + public BinniePacketHandler(AbstractMod mod) { + setProvider(mod); + } - public void setProvider(IPacketProvider provider) { - this.provider = provider; - } + public void setProvider(IPacketProvider provider) { + this.provider = provider; + } - @Override - public IMessage onMessage(MessageBinnie message, MessageContext ctx) { - try { - int packetId = message.id; - for (IPacketID id : provider.getPacketIDs()) { - if (id.ordinal() == packetId) { - id.onMessage(message, ctx); - return null; - } - } - } catch (Exception ex) { - throw new RuntimeException(ex); - } - return null; - } + @Override + public IMessage onMessage(MessageBinnie message, MessageContext ctx) { + try { + int packetId = message.id; + for (IPacketID id : provider.getPacketIDs()) { + if (id.ordinal() == packetId) { + id.onMessage(message, ctx); + return null; + } + } + } catch (Exception ex) { + throw new RuntimeException(ex); + } + return null; + } } diff --git a/src/main/java/binnie/core/network/INetworkedEntity.java b/src/main/java/binnie/core/network/INetworkedEntity.java index 7c79d3f9..6bc36865 100644 --- a/src/main/java/binnie/core/network/INetworkedEntity.java +++ b/src/main/java/binnie/core/network/INetworkedEntity.java @@ -3,7 +3,7 @@ package binnie.core.network; import binnie.core.network.packet.PacketPayload; public interface INetworkedEntity { - void writeToPacket(PacketPayload payload); + void writeToPacket(PacketPayload payload); - void readFromPacket(PacketPayload payload); + void readFromPacket(PacketPayload payload); } diff --git a/src/main/java/binnie/core/network/IOrdinaled.java b/src/main/java/binnie/core/network/IOrdinaled.java index 81a4ed34..1f6ba519 100644 --- a/src/main/java/binnie/core/network/IOrdinaled.java +++ b/src/main/java/binnie/core/network/IOrdinaled.java @@ -1,5 +1,5 @@ package binnie.core.network; public interface IOrdinaled { - int ordinal(); + int ordinal(); } diff --git a/src/main/java/binnie/core/network/IPacketID.java b/src/main/java/binnie/core/network/IPacketID.java index 4f3487ec..8af02285 100644 --- a/src/main/java/binnie/core/network/IPacketID.java +++ b/src/main/java/binnie/core/network/IPacketID.java @@ -4,5 +4,5 @@ import binnie.core.network.packet.MessageBinnie; import cpw.mods.fml.common.network.simpleimpl.MessageContext; public interface IPacketID extends IOrdinaled { - void onMessage(MessageBinnie message, MessageContext context); + void onMessage(MessageBinnie message, MessageContext context); } diff --git a/src/main/java/binnie/core/network/IPacketProvider.java b/src/main/java/binnie/core/network/IPacketProvider.java index 67594e32..a605cda5 100644 --- a/src/main/java/binnie/core/network/IPacketProvider.java +++ b/src/main/java/binnie/core/network/IPacketProvider.java @@ -1,7 +1,7 @@ package binnie.core.network; public interface IPacketProvider { - String getChannel(); + String getChannel(); - IPacketID[] getPacketIDs(); + IPacketID[] getPacketIDs(); } diff --git a/src/main/java/binnie/core/network/packet/IPacket.java b/src/main/java/binnie/core/network/packet/IPacket.java index ed31a199..4dd26bd2 100644 --- a/src/main/java/binnie/core/network/packet/IPacket.java +++ b/src/main/java/binnie/core/network/packet/IPacket.java @@ -4,5 +4,5 @@ import net.minecraft.network.Packet; // TODO unused interface? public interface IPacket { - Packet getPacket(); + Packet getPacket(); } diff --git a/src/main/java/binnie/core/network/packet/IPacketLocation.java b/src/main/java/binnie/core/network/packet/IPacketLocation.java index 74994f3b..8aa2866b 100644 --- a/src/main/java/binnie/core/network/packet/IPacketLocation.java +++ b/src/main/java/binnie/core/network/packet/IPacketLocation.java @@ -4,11 +4,11 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; interface IPacketLocation { - TileEntity getTarget(World world); + TileEntity getTarget(World world); - int getX(); + int getX(); - int getY(); + int getY(); - int getZ(); + int getZ(); } diff --git a/src/main/java/binnie/core/network/packet/IndexInPayload.java b/src/main/java/binnie/core/network/packet/IndexInPayload.java index ce99fa7b..7fc85d72 100644 --- a/src/main/java/binnie/core/network/packet/IndexInPayload.java +++ b/src/main/java/binnie/core/network/packet/IndexInPayload.java @@ -2,13 +2,13 @@ package binnie.core.network.packet; // TODO unused class? public class IndexInPayload { - public int intIndex; - public int floatIndex; - public int stringIndex; + public int intIndex; + public int floatIndex; + public int stringIndex; - public IndexInPayload(int intIndex, int floatIndex, int stringIndex) { - this.intIndex = intIndex; - this.floatIndex = floatIndex; - this.stringIndex = stringIndex; - } + public IndexInPayload(int intIndex, int floatIndex, int stringIndex) { + this.intIndex = intIndex; + this.floatIndex = floatIndex; + this.stringIndex = stringIndex; + } } diff --git a/src/main/java/binnie/core/network/packet/MachinePayload.java b/src/main/java/binnie/core/network/packet/MachinePayload.java index 6d09258b..b3da76c7 100644 --- a/src/main/java/binnie/core/network/packet/MachinePayload.java +++ b/src/main/java/binnie/core/network/packet/MachinePayload.java @@ -4,69 +4,67 @@ import java.util.ArrayList; import java.util.List; public class MachinePayload { - private List intPayload; - private List floatPayload; - private List stringPayload; - private int id; + private List intPayload; + private List floatPayload; + private List stringPayload; + private int id; - public MachinePayload(int id) { - intPayload = new ArrayList<>(); - floatPayload = new ArrayList<>(); - stringPayload = new ArrayList<>(); - this.id = id; - } + public MachinePayload(int id) { + intPayload = new ArrayList<>(); + floatPayload = new ArrayList<>(); + stringPayload = new ArrayList<>(); + this.id = id; + } - public MachinePayload() { - intPayload = new ArrayList<>(); - floatPayload = new ArrayList<>(); - stringPayload = new ArrayList<>(); - id = 0; - } + public MachinePayload() { + intPayload = new ArrayList<>(); + floatPayload = new ArrayList<>(); + stringPayload = new ArrayList<>(); + id = 0; + } - public void addInteger(int a) { - intPayload.add(a); - } + public void addInteger(int a) { + intPayload.add(a); + } - public void addFloat(float a) { - floatPayload.add(a); - } + public void addFloat(float a) { + floatPayload.add(a); + } - public void addString(String a) { - stringPayload.add(a); - } + public void addString(String a) { + stringPayload.add(a); + } - public int getInteger() { - return intPayload.remove(0); - } + public int getInteger() { + return intPayload.remove(0); + } - public float getFloat() { - return floatPayload.remove(0); - } + public float getFloat() { + return floatPayload.remove(0); + } - public String getString() { - return stringPayload.remove(0); - } + public String getString() { + return stringPayload.remove(0); + } - public void append(MachinePayload other) { - if (other == null) { - return; - } - intPayload.addAll(other.intPayload); - floatPayload.addAll(other.floatPayload); - stringPayload.addAll(other.stringPayload); - } + public void append(MachinePayload other) { + if (other == null) { + return; + } + intPayload.addAll(other.intPayload); + floatPayload.addAll(other.floatPayload); + stringPayload.addAll(other.stringPayload); + } - public boolean isEmpty() { - return intPayload.isEmpty() - && floatPayload.isEmpty() - && stringPayload.isEmpty(); - } + public boolean isEmpty() { + return intPayload.isEmpty() && floatPayload.isEmpty() && stringPayload.isEmpty(); + } - public int getID() { - return id; - } + public int getID() { + return id; + } - public void setID(int readInt) { - id = readInt; - } + public void setID(int readInt) { + id = readInt; + } } diff --git a/src/main/java/binnie/core/network/packet/MessageBase.java b/src/main/java/binnie/core/network/packet/MessageBase.java index 9edf3525..4a7d481b 100644 --- a/src/main/java/binnie/core/network/packet/MessageBase.java +++ b/src/main/java/binnie/core/network/packet/MessageBase.java @@ -1,57 +1,56 @@ package binnie.core.network.packet; import io.netty.buffer.ByteBuf; +import java.io.ByteArrayInputStream; +import java.io.IOException; import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTTagCompound; -import java.io.ByteArrayInputStream; -import java.io.IOException; - public class MessageBase { - private int id; + private int id; - public MessageBase(int id) { - this.id = id; - } + public MessageBase(int id) { + this.id = id; + } - public MessageBase(MessageBinnie message) { - try { - readData(message.data); - } catch (IOException e) { - e.printStackTrace(); - } - } + public MessageBase(MessageBinnie message) { + try { + readData(message.data); + } catch (IOException e) { + e.printStackTrace(); + } + } - public MessageBinnie getMessage() { - return new MessageBinnie(id, this); - } + public MessageBinnie getMessage() { + return new MessageBinnie(id, this); + } - protected NBTTagCompound readNBTTagCompound(ByteBuf data) throws IOException { - short length = data.readShort(); - if (length < 0) { - return null; - } + protected NBTTagCompound readNBTTagCompound(ByteBuf data) throws IOException { + short length = data.readShort(); + if (length < 0) { + return null; + } - byte[] compressed = new byte[length]; - data.readBytes(compressed); - return CompressedStreamTools.readCompressed(new ByteArrayInputStream(compressed)); - } + byte[] compressed = new byte[length]; + data.readBytes(compressed); + return CompressedStreamTools.readCompressed(new ByteArrayInputStream(compressed)); + } - protected void writeNBTTagCompound(NBTTagCompound nbttagcompound, ByteBuf data) throws IOException { - if (nbttagcompound == null) { - data.writeShort(-1); - } else { - byte[] compressed = CompressedStreamTools.compress(nbttagcompound); - data.writeShort((short) compressed.length); - data.writeBytes(compressed); - } - } + protected void writeNBTTagCompound(NBTTagCompound nbttagcompound, ByteBuf data) throws IOException { + if (nbttagcompound == null) { + data.writeShort(-1); + } else { + byte[] compressed = CompressedStreamTools.compress(nbttagcompound); + data.writeShort((short) compressed.length); + data.writeBytes(compressed); + } + } - public void writeData(ByteBuf data) throws IOException { - // ignored - } + public void writeData(ByteBuf data) throws IOException { + // ignored + } - public void readData(ByteBuf data) throws IOException { - // ignored - } + public void readData(ByteBuf data) throws IOException { + // ignored + } } diff --git a/src/main/java/binnie/core/network/packet/MessageBinnie.java b/src/main/java/binnie/core/network/packet/MessageBinnie.java index a5b0e8a8..73e0a90e 100644 --- a/src/main/java/binnie/core/network/packet/MessageBinnie.java +++ b/src/main/java/binnie/core/network/packet/MessageBinnie.java @@ -2,36 +2,35 @@ package binnie.core.network.packet; import cpw.mods.fml.common.network.simpleimpl.IMessage; import io.netty.buffer.ByteBuf; - import java.io.IOException; public class MessageBinnie implements IMessage { - public int id; - private MessageBase message; - protected ByteBuf data; + public int id; + private MessageBase message; + protected ByteBuf data; - public MessageBinnie() { - // ignored - } + public MessageBinnie() { + // ignored + } - public MessageBinnie(int id, MessageBase message) { - this.id = id; - this.message = message; - } + public MessageBinnie(int id, MessageBase message) { + this.id = id; + this.message = message; + } - @Override - public void toBytes(ByteBuf buf) { - buf.writeByte(id); - try { - message.writeData(buf); - } catch (IOException e) { - e.printStackTrace(); - } - } + @Override + public void toBytes(ByteBuf buf) { + buf.writeByte(id); + try { + message.writeData(buf); + } catch (IOException e) { + e.printStackTrace(); + } + } - @Override - public void fromBytes(ByteBuf buf) { - id = buf.readByte(); - data = buf; - } + @Override + public void fromBytes(ByteBuf buf) { + id = buf.readByte(); + data = buf; + } } diff --git a/src/main/java/binnie/core/network/packet/MessageContainerUpdate.java b/src/main/java/binnie/core/network/packet/MessageContainerUpdate.java index c490053e..225e9a81 100644 --- a/src/main/java/binnie/core/network/packet/MessageContainerUpdate.java +++ b/src/main/java/binnie/core/network/packet/MessageContainerUpdate.java @@ -3,12 +3,12 @@ package binnie.core.network.packet; import net.minecraft.nbt.NBTTagCompound; public class MessageContainerUpdate extends MessageCraftGUI { - public MessageContainerUpdate(NBTTagCompound nbt) { - super(nbt); - } + public MessageContainerUpdate(NBTTagCompound nbt) { + super(nbt); + } - // TODO unused constructor? - public MessageContainerUpdate(MessageBinnie message) { - super(message); - } + // TODO unused constructor? + public MessageContainerUpdate(MessageBinnie message) { + super(message); + } } diff --git a/src/main/java/binnie/core/network/packet/MessageCoordinates.java b/src/main/java/binnie/core/network/packet/MessageCoordinates.java index 17c4c68a..cdc9f3f3 100644 --- a/src/main/java/binnie/core/network/packet/MessageCoordinates.java +++ b/src/main/java/binnie/core/network/packet/MessageCoordinates.java @@ -1,53 +1,52 @@ package binnie.core.network.packet; import io.netty.buffer.ByteBuf; +import java.io.IOException; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; -import java.io.IOException; - public class MessageCoordinates extends MessageBase { - public int posX; - public int posY; - public int posZ; + public int posX; + public int posY; + public int posZ; - public MessageCoordinates(MessageBinnie message) { - super(message); - } + public MessageCoordinates(MessageBinnie message) { + super(message); + } - // TODO unused constructor? - public MessageCoordinates(int id, ChunkCoordinates coordinates) { - this(id, coordinates.posX, coordinates.posY, coordinates.posZ); - } + // TODO unused constructor? + public MessageCoordinates(int id, ChunkCoordinates coordinates) { + this(id, coordinates.posX, coordinates.posY, coordinates.posZ); + } - public MessageCoordinates(int id, int posX, int posY, int posZ) { - super(id); - this.posX = posX; - this.posY = posY; - this.posZ = posZ; - } + public MessageCoordinates(int id, int posX, int posY, int posZ) { + super(id); + this.posX = posX; + this.posY = posY; + this.posZ = posZ; + } - @Override - public void writeData(ByteBuf data) throws IOException { - data.writeInt(posX); - data.writeInt(posY); - data.writeInt(posZ); - } + @Override + public void writeData(ByteBuf data) throws IOException { + data.writeInt(posX); + data.writeInt(posY); + data.writeInt(posZ); + } - @Override - public void readData(ByteBuf data) throws IOException { - posX = data.readInt(); - posY = data.readInt(); - posZ = data.readInt(); - } + @Override + public void readData(ByteBuf data) throws IOException { + posX = data.readInt(); + posY = data.readInt(); + posZ = data.readInt(); + } - // TODO unused method? - public ChunkCoordinates getCoordinates() { - return new ChunkCoordinates(posX, posY, posZ); - } + // TODO unused method? + public ChunkCoordinates getCoordinates() { + return new ChunkCoordinates(posX, posY, posZ); + } - public TileEntity getTileEntity(World world) { - return world.getTileEntity(posX, posY, posZ); - } + public TileEntity getTileEntity(World world) { + return world.getTileEntity(posX, posY, posZ); + } } diff --git a/src/main/java/binnie/core/network/packet/MessageCraftGUI.java b/src/main/java/binnie/core/network/packet/MessageCraftGUI.java index aaf04505..7101bd76 100644 --- a/src/main/java/binnie/core/network/packet/MessageCraftGUI.java +++ b/src/main/java/binnie/core/network/packet/MessageCraftGUI.java @@ -4,11 +4,11 @@ import binnie.core.network.BinnieCorePacketID; import net.minecraft.nbt.NBTTagCompound; public class MessageCraftGUI extends MessageNBT { - public MessageCraftGUI(MessageBinnie message) { - super(message); - } + public MessageCraftGUI(MessageBinnie message) { + super(message); + } - public MessageCraftGUI(NBTTagCompound action) { - super(BinnieCorePacketID.CraftGUIAction.ordinal(), action); - } + public MessageCraftGUI(NBTTagCompound action) { + super(BinnieCorePacketID.CraftGUIAction.ordinal(), action); + } } diff --git a/src/main/java/binnie/core/network/packet/MessageMetadata.java b/src/main/java/binnie/core/network/packet/MessageMetadata.java index 35028aa6..12d8f4e5 100644 --- a/src/main/java/binnie/core/network/packet/MessageMetadata.java +++ b/src/main/java/binnie/core/network/packet/MessageMetadata.java @@ -2,30 +2,29 @@ package binnie.core.network.packet; import binnie.core.network.BinnieCorePacketID; import io.netty.buffer.ByteBuf; - import java.io.IOException; public class MessageMetadata extends MessageCoordinates { - public int meta; + public int meta; - public MessageMetadata(int posX, int posY, int posZ, int meta) { - super(BinnieCorePacketID.TileMetadata.ordinal(), posX, posY, posZ); - this.meta = meta; - } + public MessageMetadata(int posX, int posY, int posZ, int meta) { + super(BinnieCorePacketID.TileMetadata.ordinal(), posX, posY, posZ); + this.meta = meta; + } - public MessageMetadata(MessageBinnie message) { - super(message); - } + public MessageMetadata(MessageBinnie message) { + super(message); + } - @Override - public void writeData(ByteBuf data) throws IOException { - super.writeData(data); - data.writeInt(meta); - } + @Override + public void writeData(ByteBuf data) throws IOException { + super.writeData(data); + data.writeInt(meta); + } - @Override - public void readData(ByteBuf data) throws IOException { - super.readData(data); - meta = data.readInt(); - } + @Override + public void readData(ByteBuf data) throws IOException { + super.readData(data); + meta = data.readInt(); + } } diff --git a/src/main/java/binnie/core/network/packet/MessageNBT.java b/src/main/java/binnie/core/network/packet/MessageNBT.java index d69a4753..19f9beca 100644 --- a/src/main/java/binnie/core/network/packet/MessageNBT.java +++ b/src/main/java/binnie/core/network/packet/MessageNBT.java @@ -1,41 +1,40 @@ package binnie.core.network.packet; import io.netty.buffer.ByteBuf; +import java.io.IOException; import net.minecraft.nbt.NBTTagCompound; -import java.io.IOException; - public class MessageNBT extends MessageBase { - protected NBTTagCompound nbt; + protected NBTTagCompound nbt; - public NBTTagCompound getTagCompound() { - return nbt; - } + public NBTTagCompound getTagCompound() { + return nbt; + } - void setTagCompound(NBTTagCompound nbt) { - this.nbt = nbt; - } + void setTagCompound(NBTTagCompound nbt) { + this.nbt = nbt; + } - public MessageNBT(int id) { - super(id); - } + public MessageNBT(int id) { + super(id); + } - public MessageNBT(int id, NBTTagCompound nbt) { - this(id); - setTagCompound(nbt); - } + public MessageNBT(int id, NBTTagCompound nbt) { + this(id); + setTagCompound(nbt); + } - public MessageNBT(MessageBinnie message) { - super(message); - } + public MessageNBT(MessageBinnie message) { + super(message); + } - @Override - public void writeData(ByteBuf data) throws IOException { - writeNBTTagCompound(nbt, data); - } + @Override + public void writeData(ByteBuf data) throws IOException { + writeNBTTagCompound(nbt, data); + } - @Override - public void readData(ByteBuf data) throws IOException { - nbt = readNBTTagCompound(data); - } + @Override + public void readData(ByteBuf data) throws IOException { + nbt = readNBTTagCompound(data); + } } diff --git a/src/main/java/binnie/core/network/packet/MessageTileNBT.java b/src/main/java/binnie/core/network/packet/MessageTileNBT.java index 4ce9a798..b858556e 100644 --- a/src/main/java/binnie/core/network/packet/MessageTileNBT.java +++ b/src/main/java/binnie/core/network/packet/MessageTileNBT.java @@ -1,72 +1,71 @@ package binnie.core.network.packet; import io.netty.buffer.ByteBuf; +import java.io.IOException; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import java.io.IOException; - public class MessageTileNBT extends MessageNBT implements IPacketLocation { - private int posX; - private int posY; - private int posZ; + private int posX; + private int posY; + private int posZ; - public MessageTileNBT(MessageBinnie message) { - super(message); - } + public MessageTileNBT(MessageBinnie message) { + super(message); + } - public MessageTileNBT(int id, TileEntity tile, NBTTagCompound nbt) { - super(id); - posX = tile.xCoord; - posY = tile.yCoord; - posZ = tile.zCoord; - this.nbt = nbt; - } + public MessageTileNBT(int id, TileEntity tile, NBTTagCompound nbt) { + super(id); + posX = tile.xCoord; + posY = tile.yCoord; + posZ = tile.zCoord; + this.nbt = nbt; + } - @Override - public void writeData(ByteBuf data) throws IOException { - data.writeInt(posX); - data.writeInt(posY); - data.writeInt(posZ); - super.writeData(data); - } + @Override + public void writeData(ByteBuf data) throws IOException { + data.writeInt(posX); + data.writeInt(posY); + data.writeInt(posZ); + super.writeData(data); + } - @Override - public void readData(ByteBuf data) throws IOException { - posX = data.readInt(); - posY = data.readInt(); - posZ = data.readInt(); - super.readData(data); - } + @Override + public void readData(ByteBuf data) throws IOException { + posX = data.readInt(); + posY = data.readInt(); + posZ = data.readInt(); + super.readData(data); + } - @Override - public TileEntity getTarget(World world) { - return world.getTileEntity(posX, posY, posZ); - } + @Override + public TileEntity getTarget(World world) { + return world.getTileEntity(posX, posY, posZ); + } - @Override - public int getX() { - return posX; - } + @Override + public int getX() { + return posX; + } - @Override - public int getY() { - return posY; - } + @Override + public int getY() { + return posY; + } - @Override - public int getZ() { - return posZ; - } + @Override + public int getZ() { + return posZ; + } - @Override - public NBTTagCompound getTagCompound() { - return nbt; - } + @Override + public NBTTagCompound getTagCompound() { + return nbt; + } - @Override - void setTagCompound(NBTTagCompound nbt) { - this.nbt = nbt; - } + @Override + void setTagCompound(NBTTagCompound nbt) { + this.nbt = nbt; + } } diff --git a/src/main/java/binnie/core/network/packet/MessageUpdate.java b/src/main/java/binnie/core/network/packet/MessageUpdate.java index af0eddfc..3f24b463 100644 --- a/src/main/java/binnie/core/network/packet/MessageUpdate.java +++ b/src/main/java/binnie/core/network/packet/MessageUpdate.java @@ -2,78 +2,77 @@ package binnie.core.network.packet; import binnie.core.network.INetworkedEntity; import io.netty.buffer.ByteBuf; +import java.io.IOException; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import java.io.IOException; - public class MessageUpdate extends MessageCoordinates { - public PacketPayload payload; + public PacketPayload payload; - public MessageUpdate(MessageBinnie message) { - super(message); - } + public MessageUpdate(MessageBinnie message) { + super(message); + } - public MessageUpdate(int id, INetworkedEntity tile) { - super(id, ((TileEntity) tile).xCoord, ((TileEntity) tile).yCoord, ((TileEntity) tile).zCoord); - payload = new PacketPayload(); - tile.writeToPacket(payload); - } + public MessageUpdate(int id, INetworkedEntity tile) { + super(id, ((TileEntity) tile).xCoord, ((TileEntity) tile).yCoord, ((TileEntity) tile).zCoord); + payload = new PacketPayload(); + tile.writeToPacket(payload); + } - @Override - public void writeData(ByteBuf data) throws IOException { - super.writeData(data); - if (payload == null) { - data.writeInt(0); - data.writeInt(0); - data.writeInt(0); - return; - } + @Override + public void writeData(ByteBuf data) throws IOException { + super.writeData(data); + if (payload == null) { + data.writeInt(0); + data.writeInt(0); + data.writeInt(0); + return; + } - data.writeInt(payload.intPayload.size()); - data.writeInt(payload.floatPayload.size()); - data.writeInt(payload.stringPayload.size()); + data.writeInt(payload.intPayload.size()); + data.writeInt(payload.floatPayload.size()); + data.writeInt(payload.stringPayload.size()); - for (int intData : payload.intPayload) { - data.writeInt(intData); - } - for (float floatData : payload.floatPayload) { - data.writeFloat(floatData); - } - for (String stringData : payload.stringPayload) { - byte[] bytes = stringData.getBytes("UTF-8"); - data.writeShort(bytes.length); - data.writeBytes(bytes); - } - } + for (int intData : payload.intPayload) { + data.writeInt(intData); + } + for (float floatData : payload.floatPayload) { + data.writeFloat(floatData); + } + for (String stringData : payload.stringPayload) { + byte[] bytes = stringData.getBytes("UTF-8"); + data.writeShort(bytes.length); + data.writeBytes(bytes); + } + } - @Override - public void readData(ByteBuf data) throws IOException { - super.readData(data); - payload = new PacketPayload(); - payload.intPayload.clear(); - payload.floatPayload.clear(); - payload.stringPayload.clear(); + @Override + public void readData(ByteBuf data) throws IOException { + super.readData(data); + payload = new PacketPayload(); + payload.intPayload.clear(); + payload.floatPayload.clear(); + payload.stringPayload.clear(); - int intLength = data.readInt(); - int floatLength = data.readInt(); - int stringLength = data.readInt(); + int intLength = data.readInt(); + int floatLength = data.readInt(); + int stringLength = data.readInt(); - for (int i = 0; i < intLength; ++i) { - payload.addInteger(data.readInt()); - } - for (int i = 0; i < floatLength; ++i) { - payload.addFloat(data.readFloat()); - } - for (int i = 0; i < stringLength; ++i) { - int length = data.readShort(); - byte[] string = data.readBytes(length).array(); - payload.addString(new String(string, "UTF-8")); - } - } + for (int i = 0; i < intLength; ++i) { + payload.addInteger(data.readInt()); + } + for (int i = 0; i < floatLength; ++i) { + payload.addFloat(data.readFloat()); + } + for (int i = 0; i < stringLength; ++i) { + int length = data.readShort(); + byte[] string = data.readBytes(length).array(); + payload.addString(new String(string, "UTF-8")); + } + } - // TODO unused method? - public TileEntity getTarget(World world) { - return world.getTileEntity(posX, posY, posZ); - } + // TODO unused method? + public TileEntity getTarget(World world) { + return world.getTileEntity(posX, posY, posZ); + } } diff --git a/src/main/java/binnie/core/network/packet/PacketPayload.java b/src/main/java/binnie/core/network/packet/PacketPayload.java index 765b3f1a..3359cbfc 100644 --- a/src/main/java/binnie/core/network/packet/PacketPayload.java +++ b/src/main/java/binnie/core/network/packet/PacketPayload.java @@ -1,64 +1,61 @@ package binnie.core.network.packet; import binnie.core.network.INetworkedEntity; - import java.util.ArrayList; import java.util.List; public class PacketPayload { - public List intPayload; - public List floatPayload; - public List stringPayload; + public List intPayload; + public List floatPayload; + public List stringPayload; - public PacketPayload() { - intPayload = new ArrayList<>(); - floatPayload = new ArrayList<>(); - stringPayload = new ArrayList<>(); - } + public PacketPayload() { + intPayload = new ArrayList<>(); + floatPayload = new ArrayList<>(); + stringPayload = new ArrayList<>(); + } - // TODO unused constructor? - public PacketPayload(INetworkedEntity tile) { - this(); - tile.writeToPacket(this); - } + // TODO unused constructor? + public PacketPayload(INetworkedEntity tile) { + this(); + tile.writeToPacket(this); + } - public void addInteger(int a) { - intPayload.add(a); - } + public void addInteger(int a) { + intPayload.add(a); + } - public void addFloat(float a) { - floatPayload.add(a); - } + public void addFloat(float a) { + floatPayload.add(a); + } - public void addString(String a) { - stringPayload.add(a); - } + public void addString(String a) { + stringPayload.add(a); + } - public int getInteger() { - return intPayload.remove(0); - } + public int getInteger() { + return intPayload.remove(0); + } - public float getFloat() { - return floatPayload.remove(0); - } + public float getFloat() { + return floatPayload.remove(0); + } - public String getString() { - return stringPayload.remove(0); - } + public String getString() { + return stringPayload.remove(0); + } - // TODO unused method - public void append(PacketPayload other) { - if (other == null) { - return; - } - intPayload.addAll(other.intPayload); - floatPayload.addAll(other.floatPayload); - stringPayload.addAll(other.stringPayload); - } + // TODO unused method + public void append(PacketPayload other) { + if (other == null) { + return; + } + intPayload.addAll(other.intPayload); + floatPayload.addAll(other.floatPayload); + stringPayload.addAll(other.stringPayload); + } - public boolean isEmpty() { - return intPayload.isEmpty() - && floatPayload.isEmpty() - && stringPayload.isEmpty(); - } + public boolean isEmpty() { + return intPayload.isEmpty() && floatPayload.isEmpty() && stringPayload.isEmpty(); + } } diff --git a/src/main/java/binnie/core/proxy/BinnieModProxy.java b/src/main/java/binnie/core/proxy/BinnieModProxy.java index b173180d..ee319603 100644 --- a/src/main/java/binnie/core/proxy/BinnieModProxy.java +++ b/src/main/java/binnie/core/proxy/BinnieModProxy.java @@ -10,51 +10,51 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.util.IIcon; public class BinnieModProxy implements IBinnieModProxy { - private AbstractMod mod; + private AbstractMod mod; - public BinnieModProxy(AbstractMod mod) { - this.mod = mod; - } + public BinnieModProxy(AbstractMod mod) { + this.mod = mod; + } - @Override - public void openGui(IBinnieGUID ID, EntityPlayer player, int x, int y, int z) { - BinnieCore.proxy.openGui(mod, ID.ordinal(), player, x, y, z); - } + @Override + public void openGui(IBinnieGUID ID, EntityPlayer player, int x, int y, int z) { + BinnieCore.proxy.openGui(mod, ID.ordinal(), player, x, y, z); + } - @Override - public void sendToAll(MessageBase packet) { - mod.getNetworkWrapper().sendToAll(packet.getMessage()); - } + @Override + public void sendToAll(MessageBase packet) { + mod.getNetworkWrapper().sendToAll(packet.getMessage()); + } - @Override - public void sendToPlayer(MessageBase packet, EntityPlayer entityplayer) { - if (entityplayer instanceof EntityPlayerMP) { - mod.getNetworkWrapper().sendTo(packet.getMessage(), (EntityPlayerMP) entityplayer); - } - } + @Override + public void sendToPlayer(MessageBase packet, EntityPlayer entityplayer) { + if (entityplayer instanceof EntityPlayerMP) { + mod.getNetworkWrapper().sendTo(packet.getMessage(), (EntityPlayerMP) entityplayer); + } + } - @Override - public void sendToServer(MessageBase packet) { - mod.getNetworkWrapper().sendToServer(packet.getMessage()); - } + @Override + public void sendToServer(MessageBase packet) { + mod.getNetworkWrapper().sendToServer(packet.getMessage()); + } - @Override - public IIcon getIcon(IIconRegister register, String string) { - return BinnieCore.proxy.getIcon(register, mod.getModID(), string); - } + @Override + public IIcon getIcon(IIconRegister register, String string) { + return BinnieCore.proxy.getIcon(register, mod.getModID(), string); + } - @Override - public void preInit() { - // ignored - } + @Override + public void preInit() { + // ignored + } - @Override - public void init() { - // ignored - } + @Override + public void init() { + // ignored + } - @Override - public void postInit() { - // ignored - } + @Override + public void postInit() { + // ignored + } } diff --git a/src/main/java/binnie/core/proxy/BinnieProxy.java b/src/main/java/binnie/core/proxy/BinnieProxy.java index 7f6b6b60..a1f97008 100644 --- a/src/main/java/binnie/core/proxy/BinnieProxy.java +++ b/src/main/java/binnie/core/proxy/BinnieProxy.java @@ -9,6 +9,7 @@ import binnie.core.resource.BinnieResource; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.registry.GameRegistry; +import java.io.File; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -20,158 +21,155 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.client.IItemRenderer; -import java.io.File; - public class BinnieProxy extends BinnieModProxy implements IBinnieProxy { - private short uniqueTextureUID; + private short uniqueTextureUID; - public BinnieProxy() { - super(BinnieCore.instance); - uniqueTextureUID = 1200; - } + public BinnieProxy() { + super(BinnieCore.instance); + uniqueTextureUID = 1200; + } - @Override - public void preInit() { - // ignored - } + @Override + public void preInit() { + // ignored + } - @Override - public void init() { - // ignored - } + @Override + public void init() { + // ignored + } - @Override - public void postInit() { - // ignored - } + @Override + public void postInit() { + // ignored + } - @Override - public void bindTexture(BinnieResource texture) { - // ignored - } + @Override + public void bindTexture(BinnieResource texture) { + // ignored + } - public boolean checkTexture(BinnieResource location) { - return false; - } + public boolean checkTexture(BinnieResource location) { + return false; + } - @Override - public int getUniqueRenderID() { - return RenderingRegistry.getNextAvailableRenderId(); - } + @Override + public int getUniqueRenderID() { + return RenderingRegistry.getNextAvailableRenderId(); + } - @Override - public void openGui(AbstractMod mod, int id, EntityPlayer player, int x, int y, int z) { - player.openGui(mod, id, player.worldObj, x, y, z); - } + @Override + public void openGui(AbstractMod mod, int id, EntityPlayer player, int x, int y, int z) { + player.openGui(mod, id, player.worldObj, x, y, z); + } - @Override - public boolean isSimulating(World world) { - return true; - } + @Override + public boolean isSimulating(World world) { + return true; + } - @Override - public void registerCustomItemRenderer(Item item, IItemRenderer itemRenderer) { - } + @Override + public void registerCustomItemRenderer(Item item, IItemRenderer itemRenderer) {} - @Override - public boolean needsTagCompoundSynched(Item item) { - return item.getShareTag(); - } + @Override + public boolean needsTagCompoundSynched(Item item) { + return item.getShareTag(); + } - @Override - public World getWorld() { - return null; - } + @Override + public World getWorld() { + return null; + } - // TODO unused method? - public void throwException(String message, Throwable e) { - FMLCommonHandler.instance().raiseException(e, message, true); - } + // TODO unused method? + public void throwException(String message, Throwable e) { + FMLCommonHandler.instance().raiseException(e, message, true); + } - @Override - public Minecraft getMinecraftInstance() { - return null; - } + @Override + public Minecraft getMinecraftInstance() { + return null; + } - @Override - public boolean isClient() { - return false; - } + @Override + public boolean isClient() { + return false; + } - @Override - public boolean isServer() { - return true; - } + @Override + public boolean isServer() { + return true; + } - @Override - public File getDirectory() { - return new File("./"); - } + @Override + public File getDirectory() { + return new File("./"); + } - @Override - public void registerTileEntity(Class tile, String id, Object renderer) { - GameRegistry.registerTileEntity(tile, id); - } + @Override + public void registerTileEntity(Class tile, String id, Object renderer) { + GameRegistry.registerTileEntity(tile, id); + } - @Override - public void createPipe(Item pipe) { - // ignored - } + @Override + public void createPipe(Item pipe) { + // ignored + } - @Override - public boolean isDebug() { - return System.getenv().containsKey("BINNIE_DEBUG"); - } + @Override + public boolean isDebug() { + return System.getenv().containsKey("BINNIE_DEBUG"); + } - @Override - public void registerBlockRenderer(Object renderer) { - // ignored - } + @Override + public void registerBlockRenderer(Object renderer) { + // ignored + } - @Override - public Object createObject(String renderer) { - return null; - } + @Override + public Object createObject(String renderer) { + return null; + } - public void sendNetworkEntityPacket(INetworkedEntity entity) { - MessageUpdate packet = new MessageUpdate(BinnieCorePacketID.NetworkEntityUpdate.ordinal(), entity); - sendToAll(packet); - } + public void sendNetworkEntityPacket(INetworkedEntity entity) { + MessageUpdate packet = new MessageUpdate(BinnieCorePacketID.NetworkEntityUpdate.ordinal(), entity); + sendToAll(packet); + } - @Override - public IIcon getIcon(IIconRegister register, String mod, String name) { - return null; - } + @Override + public IIcon getIcon(IIconRegister register, String mod, String name) { + return null; + } - // TODO unused method? - public void handleTextureRefresh(IIconRegister register, int type) { - // ignored - } + // TODO unused method? + public void handleTextureRefresh(IIconRegister register, int type) { + // ignored + } - // TODO unused method? - public void handlePostTextureRefresh(IIconRegister register, int type) { - // ignored - } + // TODO unused method? + public void handlePostTextureRefresh(IIconRegister register, int type) { + // ignored + } - public short getUniqueTextureUID() { - uniqueTextureUID++; - return uniqueTextureUID; - } + public short getUniqueTextureUID() { + uniqueTextureUID++; + return uniqueTextureUID; + } - @Override - public void bindTexture(ResourceLocation location) { - // ignored - } + @Override + public void bindTexture(ResourceLocation location) { + // ignored + } - public boolean isShiftDown() { - return false; - } + public boolean isShiftDown() { + return false; + } - public EntityPlayer getPlayer() { - return null; - } + public EntityPlayer getPlayer() { + return null; + } - public MinecraftServer getServer() { - return MinecraftServer.getServer(); - } + public MinecraftServer getServer() { + return MinecraftServer.getServer(); + } } diff --git a/src/main/java/binnie/core/proxy/BinnieProxyClient.java b/src/main/java/binnie/core/proxy/BinnieProxyClient.java index da415701..923a65c9 100644 --- a/src/main/java/binnie/core/proxy/BinnieProxyClient.java +++ b/src/main/java/binnie/core/proxy/BinnieProxyClient.java @@ -8,6 +8,8 @@ import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.registry.GameRegistry; +import java.io.File; +import java.io.IOException; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.SimpleTexture; @@ -25,129 +27,126 @@ import net.minecraftforge.client.MinecraftForgeClient; import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; -import java.io.File; -import java.io.IOException; - public class BinnieProxyClient extends BinnieProxy implements IBinnieProxy { - @Override - public void bindTexture(BinnieResource texture) { - GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - bindTexture(texture.getResourceLocation()); - } + @Override + public void bindTexture(BinnieResource texture) { + GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); + bindTexture(texture.getResourceLocation()); + } - @Override - public void bindTexture(ResourceLocation location) { - getMinecraftInstance().getTextureManager().bindTexture(location); - } + @Override + public void bindTexture(ResourceLocation location) { + getMinecraftInstance().getTextureManager().bindTexture(location); + } - @Override - public boolean checkTexture(BinnieResource location) { - SimpleTexture texture = new SimpleTexture(location.getResourceLocation()); - try { - texture.loadTexture(getMinecraftInstance().getResourceManager()); - } catch (IOException e) { - return false; - } - return true; - } + @Override + public boolean checkTexture(BinnieResource location) { + SimpleTexture texture = new SimpleTexture(location.getResourceLocation()); + try { + texture.loadTexture(getMinecraftInstance().getResourceManager()); + } catch (IOException e) { + return false; + } + return true; + } - @Override - public boolean isSimulating(World world) { - return !world.isRemote; - } + @Override + public boolean isSimulating(World world) { + return !world.isRemote; + } - @Override - public void registerCustomItemRenderer(Item item, IItemRenderer itemRenderer) { - MinecraftForgeClient.registerItemRenderer(item, itemRenderer); - } + @Override + public void registerCustomItemRenderer(Item item, IItemRenderer itemRenderer) { + MinecraftForgeClient.registerItemRenderer(item, itemRenderer); + } - @Override - public World getWorld() { - return getMinecraftInstance().theWorld; - } + @Override + public World getWorld() { + return getMinecraftInstance().theWorld; + } - @Override - public Minecraft getMinecraftInstance() { - return FMLClientHandler.instance().getClient(); - } + @Override + public Minecraft getMinecraftInstance() { + return FMLClientHandler.instance().getClient(); + } - @Override - public boolean isClient() { - return true; - } + @Override + public boolean isClient() { + return true; + } - @Override - public boolean isServer() { - return false; - } + @Override + public boolean isServer() { + return false; + } - @Override - public File getDirectory() { - return new File("."); - } + @Override + public File getDirectory() { + return new File("."); + } - @Override - public void registerTileEntity(Class tile, String id, Object renderer) { - if (renderer != null && renderer instanceof TileEntitySpecialRenderer) { - ClientRegistry.registerTileEntity(tile, id, (TileEntitySpecialRenderer) renderer); - } else { - GameRegistry.registerTileEntity(tile, id); - } - } + @Override + public void registerTileEntity(Class tile, String id, Object renderer) { + if (renderer != null && renderer instanceof TileEntitySpecialRenderer) { + ClientRegistry.registerTileEntity(tile, id, (TileEntitySpecialRenderer) renderer); + } else { + GameRegistry.registerTileEntity(tile, id); + } + } - @Override - public void registerBlockRenderer(Object renderer) { - if (renderer != null && renderer instanceof ISimpleBlockRenderingHandler) { - RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler) renderer); - } - } + @Override + public void registerBlockRenderer(Object renderer) { + if (renderer != null && renderer instanceof ISimpleBlockRenderingHandler) { + RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler) renderer); + } + } - @Override - public void createPipe(Item pipe) { - // ignored - } + @Override + public void createPipe(Item pipe) { + // ignored + } - @Override - public Object createObject(String renderer) { - Object object = null; - try { - Class rendererClass = Class.forName(renderer); - if (rendererClass != null) { - object = rendererClass.newInstance(); - } - } catch (Exception ex) { - // ignored - } - return object; - } + @Override + public Object createObject(String renderer) { + Object object = null; + try { + Class rendererClass = Class.forName(renderer); + if (rendererClass != null) { + object = rendererClass.newInstance(); + } + } catch (Exception ex) { + // ignored + } + return object; + } - @Override - public IIcon getIcon(IIconRegister register, String mod, String name) { - return register.registerIcon(mod + ":" + name); - } + @Override + public IIcon getIcon(IIconRegister register, String mod, String name) { + return register.registerIcon(mod + ":" + name); + } - @Override - public boolean isShiftDown() { - return Keyboard.isKeyDown(42) || Keyboard.isKeyDown(54); - } + @Override + public boolean isShiftDown() { + return Keyboard.isKeyDown(42) || Keyboard.isKeyDown(54); + } - @Override - public EntityPlayer getPlayer() { - return Minecraft.getMinecraft().thePlayer; - } + @Override + public EntityPlayer getPlayer() { + return Minecraft.getMinecraft().thePlayer; + } - // TODO unused method? - public void handlePreTextureRefresh(IIconRegister register, int type) { - if (type == 0) { - Binnie.Liquid.reloadIcons(register); - } - } + // TODO unused method? + public void handlePreTextureRefresh(IIconRegister register, int type) { + if (type == 0) { + Binnie.Liquid.reloadIcons(register); + } + } - @Override - public void preInit() { - IResourceManager manager = Minecraft.getMinecraft().getResourceManager(); - if (manager instanceof IReloadableResourceManager) { - ((IReloadableResourceManager) manager).registerReloadListener(new CraftGUIResourceManager()); - } - } + @Override + public void preInit() { + IResourceManager manager = Minecraft.getMinecraft().getResourceManager(); + if (manager instanceof IReloadableResourceManager) { + ((IReloadableResourceManager) manager).registerReloadListener(new CraftGUIResourceManager()); + } + } } diff --git a/src/main/java/binnie/core/proxy/BinnieProxyServer.java b/src/main/java/binnie/core/proxy/BinnieProxyServer.java index 0e8959d9..36d9e3bd 100644 --- a/src/main/java/binnie/core/proxy/BinnieProxyServer.java +++ b/src/main/java/binnie/core/proxy/BinnieProxyServer.java @@ -1,4 +1,3 @@ package binnie.core.proxy; -public class BinnieProxyServer extends BinnieProxy implements IBinnieProxy { -} +public class BinnieProxyServer extends BinnieProxy implements IBinnieProxy {} diff --git a/src/main/java/binnie/core/proxy/IBinnieModProxy.java b/src/main/java/binnie/core/proxy/IBinnieModProxy.java index 060f166a..a3cc9276 100644 --- a/src/main/java/binnie/core/proxy/IBinnieModProxy.java +++ b/src/main/java/binnie/core/proxy/IBinnieModProxy.java @@ -7,13 +7,13 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.IIcon; interface IBinnieModProxy extends IProxyCore { - void openGui(IBinnieGUID mod, EntityPlayer player, int x, int y, int z); + void openGui(IBinnieGUID mod, EntityPlayer player, int x, int y, int z); - void sendToAll(MessageBase p0); + void sendToAll(MessageBase p0); - void sendToPlayer(MessageBase p0, EntityPlayer p1); + void sendToPlayer(MessageBase p0, EntityPlayer p1); - void sendToServer(MessageBase p0); + void sendToServer(MessageBase p0); - IIcon getIcon(IIconRegister p0, String p1); + IIcon getIcon(IIconRegister p0, String p1); } diff --git a/src/main/java/binnie/core/proxy/IBinnieProxy.java b/src/main/java/binnie/core/proxy/IBinnieProxy.java index 9b56c75c..859fda1c 100644 --- a/src/main/java/binnie/core/proxy/IBinnieProxy.java +++ b/src/main/java/binnie/core/proxy/IBinnieProxy.java @@ -2,6 +2,7 @@ package binnie.core.proxy; import binnie.core.AbstractMod; import binnie.core.resource.BinnieResource; +import java.io.File; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -12,42 +13,40 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.client.IItemRenderer; -import java.io.File; - public interface IBinnieProxy extends IProxyCore { - boolean isClient(); + boolean isClient(); - boolean isServer(); + boolean isServer(); - File getDirectory(); + File getDirectory(); - void bindTexture(BinnieResource texture); + void bindTexture(BinnieResource texture); - void bindTexture(ResourceLocation location); + void bindTexture(ResourceLocation location); - int getUniqueRenderID(); + int getUniqueRenderID(); - void registerCustomItemRenderer(Item item, IItemRenderer itemRenderer); + void registerCustomItemRenderer(Item item, IItemRenderer itemRenderer); - void openGui(AbstractMod mod, int id, EntityPlayer player, int x, int y, int z); + void openGui(AbstractMod mod, int id, EntityPlayer player, int x, int y, int z); - boolean isSimulating(World world); + boolean isSimulating(World world); - World getWorld(); + World getWorld(); - Minecraft getMinecraftInstance(); + Minecraft getMinecraftInstance(); - boolean needsTagCompoundSynched(Item item); + boolean needsTagCompoundSynched(Item item); - Object createObject(String renderer); + Object createObject(String renderer); - void registerTileEntity(Class tile, String id, Object renderer); + void registerTileEntity(Class tile, String id, Object renderer); - void createPipe(Item pipe); + void createPipe(Item pipe); - boolean isDebug(); + boolean isDebug(); - void registerBlockRenderer(Object renderer); + void registerBlockRenderer(Object renderer); - IIcon getIcon(IIconRegister register, String mod, String name); + IIcon getIcon(IIconRegister register, String mod, String name); } diff --git a/src/main/java/binnie/core/proxy/IProxyCore.java b/src/main/java/binnie/core/proxy/IProxyCore.java index 14e188c7..a6029e06 100644 --- a/src/main/java/binnie/core/proxy/IProxyCore.java +++ b/src/main/java/binnie/core/proxy/IProxyCore.java @@ -2,5 +2,4 @@ package binnie.core.proxy; import binnie.core.IInitializable; -public interface IProxyCore extends IInitializable { -} +public interface IProxyCore extends IInitializable {} diff --git a/src/main/java/binnie/core/resource/BinnieIcon.java b/src/main/java/binnie/core/resource/BinnieIcon.java index f3a2ed6e..50a49a98 100644 --- a/src/main/java/binnie/core/resource/BinnieIcon.java +++ b/src/main/java/binnie/core/resource/BinnieIcon.java @@ -9,32 +9,32 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; public class BinnieIcon extends BinnieResource { - private int textureSheet; - private IIcon icon; + private int textureSheet; + private IIcon icon; - public BinnieIcon(AbstractMod mod, ResourceType type, String path) { - super(mod, type, path); - icon = null; - textureSheet = ((type != ResourceType.Block) ? 1 : 0); - Binnie.Resource.registerIcon(this); - } + public BinnieIcon(AbstractMod mod, ResourceType type, String path) { + super(mod, type, path); + icon = null; + textureSheet = ((type != ResourceType.Block) ? 1 : 0); + Binnie.Resource.registerIcon(this); + } - public IIcon getIcon() { - return icon; - } + public IIcon getIcon() { + return icon; + } - @SideOnly(Side.CLIENT) - public IIcon getIcon(IIconRegister register) { - registerIcon(register); - return icon; - } + @SideOnly(Side.CLIENT) + public IIcon getIcon(IIconRegister register) { + registerIcon(register); + return icon; + } - @SideOnly(Side.CLIENT) - public void registerIcon(IIconRegister register) { - icon = BinnieCore.proxy.getIcon(register, mod, path); - } + @SideOnly(Side.CLIENT) + public void registerIcon(IIconRegister register) { + icon = BinnieCore.proxy.getIcon(register, mod, path); + } - public int getTextureSheet() { - return textureSheet; - } + public int getTextureSheet() { + return textureSheet; + } } diff --git a/src/main/java/binnie/core/resource/BinnieResource.java b/src/main/java/binnie/core/resource/BinnieResource.java index 0be3beba..e6f9ae2b 100644 --- a/src/main/java/binnie/core/resource/BinnieResource.java +++ b/src/main/java/binnie/core/resource/BinnieResource.java @@ -4,25 +4,25 @@ import binnie.core.AbstractMod; import net.minecraft.util.ResourceLocation; public class BinnieResource { - String mod; - private ResourceType type; - String path; + String mod; + private ResourceType type; + String path; - public BinnieResource(AbstractMod mod, ResourceType type, String path) { - this(mod.getModID(), type, path); - } + public BinnieResource(AbstractMod mod, ResourceType type, String path) { + this(mod.getModID(), type, path); + } - public BinnieResource(String modid, ResourceType type, String path) { - mod = modid; - this.type = type; - this.path = path; - } + public BinnieResource(String modid, ResourceType type, String path) { + mod = modid; + this.type = type; + this.path = path; + } - public ResourceLocation getResourceLocation() { - return new ResourceLocation(mod, "textures/" + type.toString() + "/" + path); - } + public ResourceLocation getResourceLocation() { + return new ResourceLocation(mod, "textures/" + type.toString() + "/" + path); + } - public String getShortPath() { - return "textures/" + type.toString() + "/" + path; - } + public String getShortPath() { + return "textures/" + type.toString() + "/" + path; + } } diff --git a/src/main/java/binnie/core/resource/IBinnieTexture.java b/src/main/java/binnie/core/resource/IBinnieTexture.java index 93520a50..793ffc2e 100644 --- a/src/main/java/binnie/core/resource/IBinnieTexture.java +++ b/src/main/java/binnie/core/resource/IBinnieTexture.java @@ -1,5 +1,5 @@ package binnie.core.resource; public interface IBinnieTexture { - BinnieResource getTexture(); + BinnieResource getTexture(); } diff --git a/src/main/java/binnie/core/resource/ManagerResource.java b/src/main/java/binnie/core/resource/ManagerResource.java index 45b6c3ed..89943fcd 100644 --- a/src/main/java/binnie/core/resource/ManagerResource.java +++ b/src/main/java/binnie/core/resource/ManagerResource.java @@ -3,44 +3,43 @@ package binnie.core.resource; import binnie.core.AbstractMod; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.renderer.texture.IIconRegister; - import java.util.ArrayList; import java.util.List; +import net.minecraft.client.renderer.texture.IIconRegister; public class ManagerResource { - private List icons; + private List icons; - public ManagerResource() { - icons = new ArrayList<>(); - } + public ManagerResource() { + icons = new ArrayList<>(); + } - public BinnieResource getPNG(AbstractMod mod, ResourceType type, String path) { - return getFile(mod, type, path + ".png"); - } + public BinnieResource getPNG(AbstractMod mod, ResourceType type, String path) { + return getFile(mod, type, path + ".png"); + } - public BinnieResource getFile(AbstractMod mod, ResourceType type, String path) { - return new BinnieResource(mod, type, path); - } + public BinnieResource getFile(AbstractMod mod, ResourceType type, String path) { + return new BinnieResource(mod, type, path); + } - public void registerIcon(BinnieIcon binnieIcon) { - icons.add(binnieIcon); - } + public void registerIcon(BinnieIcon binnieIcon) { + icons.add(binnieIcon); + } - public BinnieIcon getItemIcon(AbstractMod mod, String iconFile) { - return new BinnieIcon(mod, ResourceType.Item, iconFile); - } + public BinnieIcon getItemIcon(AbstractMod mod, String iconFile) { + return new BinnieIcon(mod, ResourceType.Item, iconFile); + } - public BinnieIcon getBlockIcon(AbstractMod mod, String iconFile) { - return new BinnieIcon(mod, ResourceType.Block, iconFile); - } + public BinnieIcon getBlockIcon(AbstractMod mod, String iconFile) { + return new BinnieIcon(mod, ResourceType.Block, iconFile); + } - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register, int type) { - for (BinnieIcon icon : icons) { - if (icon.getTextureSheet() == type) { - icon.registerIcon(register); - } - } - } + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register, int type) { + for (BinnieIcon icon : icons) { + if (icon.getTextureSheet() == type) { + icon.registerIcon(register); + } + } + } } diff --git a/src/main/java/binnie/core/resource/ResourceType.java b/src/main/java/binnie/core/resource/ResourceType.java index 318c74a6..8f0e4a3f 100644 --- a/src/main/java/binnie/core/resource/ResourceType.java +++ b/src/main/java/binnie/core/resource/ResourceType.java @@ -1,21 +1,21 @@ package binnie.core.resource; public enum ResourceType { - Item("items"), - Block("blocks"), - Tile("tile"), - GUI("gui"), - FX("fx"), - Entity("entities"); + Item("items"), + Block("blocks"), + Tile("tile"), + GUI("gui"), + FX("fx"), + Entity("entities"); - String name; + String name; - ResourceType(String name) { - this.name = name; - } + ResourceType(String name) { + this.name = name; + } - @Override - public String toString() { - return name; - } + @Override + public String toString() { + return name; + } } diff --git a/src/main/java/binnie/core/texture/BinnieCoreTexture.java b/src/main/java/binnie/core/texture/BinnieCoreTexture.java index 2eb36b26..1727dce7 100644 --- a/src/main/java/binnie/core/texture/BinnieCoreTexture.java +++ b/src/main/java/binnie/core/texture/BinnieCoreTexture.java @@ -7,25 +7,25 @@ import binnie.core.resource.IBinnieTexture; import binnie.core.resource.ResourceType; public enum BinnieCoreTexture implements IBinnieTexture { - Compartment(ResourceType.Tile, "Compartment"), - CompartmentIron(ResourceType.Tile, "CompartmentIron"), - CompartmentDiamond(ResourceType.Tile, "CompartmentDiamond"), - CompartmentCopper(ResourceType.Tile, "CompartmentCopper"), - CompartmentGold(ResourceType.Tile, "CompartmentGold"), - CompartmentBronze(ResourceType.Tile, "CompartmentBronze"), - GUIBreeding(ResourceType.GUI, "breeding"), - GUIAnalyst(ResourceType.GUI, "guianalyst"); + Compartment(ResourceType.Tile, "Compartment"), + CompartmentIron(ResourceType.Tile, "CompartmentIron"), + CompartmentDiamond(ResourceType.Tile, "CompartmentDiamond"), + CompartmentCopper(ResourceType.Tile, "CompartmentCopper"), + CompartmentGold(ResourceType.Tile, "CompartmentGold"), + CompartmentBronze(ResourceType.Tile, "CompartmentBronze"), + GUIBreeding(ResourceType.GUI, "breeding"), + GUIAnalyst(ResourceType.GUI, "guianalyst"); - String texture; - ResourceType type; + String texture; + ResourceType type; - BinnieCoreTexture(ResourceType base, String texture) { - this.texture = texture; - type = base; - } + BinnieCoreTexture(ResourceType base, String texture) { + this.texture = texture; + type = base; + } - @Override - public BinnieResource getTexture() { - return Binnie.Resource.getPNG(BinnieCore.instance, type, texture); - } + @Override + public BinnieResource getTexture() { + return Binnie.Resource.getPNG(BinnieCore.instance, type, texture); + } } diff --git a/src/main/java/binnie/core/triggers/ActionProvider.java b/src/main/java/binnie/core/triggers/ActionProvider.java index f291a46f..cf0a9801 100644 --- a/src/main/java/binnie/core/triggers/ActionProvider.java +++ b/src/main/java/binnie/core/triggers/ActionProvider.java @@ -6,33 +6,32 @@ import buildcraft.api.statements.IActionInternal; import buildcraft.api.statements.IActionProvider; import buildcraft.api.statements.IStatementContainer; import cpw.mods.fml.common.Optional; +import java.util.Collection; +import java.util.LinkedList; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -import java.util.Collection; -import java.util.LinkedList; - class ActionProvider implements IActionProvider { - @Override - @Optional.Method(modid = "BuildCraft|Silicon") - public Collection getInternalActions(IStatementContainer container) { - return null; - } + @Override + @Optional.Method(modid = "BuildCraft|Silicon") + public Collection getInternalActions(IStatementContainer container) { + return null; + } - @Override - @Optional.Method(modid = "BuildCraft|Silicon") - public Collection getExternalActions(ForgeDirection side, TileEntity tile) { - LinkedList list = new LinkedList<>(); - if (tile instanceof IBuildcraft.ActionProvider) { - ((IBuildcraft.ActionProvider) tile).getActions(list); - } + @Override + @Optional.Method(modid = "BuildCraft|Silicon") + public Collection getExternalActions(ForgeDirection side, TileEntity tile) { + LinkedList list = new LinkedList<>(); + if (tile instanceof IBuildcraft.ActionProvider) { + ((IBuildcraft.ActionProvider) tile).getActions(list); + } - LinkedList list2 = new LinkedList<>(); - for (IActionExternal action : list2) { - if (action != null && action.getUniqueTag() != null) { - list.add(action); - } - } - return list2; - } + LinkedList list2 = new LinkedList<>(); + for (IActionExternal action : list2) { + if (action != null && action.getUniqueTag() != null) { + list.add(action); + } + } + return list2; + } } diff --git a/src/main/java/binnie/core/triggers/BinnieAction.java b/src/main/java/binnie/core/triggers/BinnieAction.java index afd625e0..ce26e24a 100644 --- a/src/main/java/binnie/core/triggers/BinnieAction.java +++ b/src/main/java/binnie/core/triggers/BinnieAction.java @@ -17,71 +17,72 @@ import net.minecraft.util.IIcon; import net.minecraftforge.common.util.ForgeDirection; class BinnieAction implements IActionExternal { - private static int incrementalID = 800; - public static BinnieAction actionPauseProcess; - public static BinnieAction actionCancelTask; - private String desc; - private BinnieIcon icon; - private String tag; - private int id; + private static int incrementalID = 800; + public static BinnieAction actionPauseProcess; + public static BinnieAction actionCancelTask; + private String desc; + private BinnieIcon icon; + private String tag; + private int id; - BinnieAction(String desc, String tag, String iconFile) { - this(desc, tag, BinnieCore.instance, iconFile); - } + BinnieAction(String desc, String tag, String iconFile) { + this(desc, tag, BinnieCore.instance, iconFile); + } - private BinnieAction(String desc, String tag, AbstractMod mod, String iconFile) { - // TODO why? Where is used? - id = BinnieAction.incrementalID++; - this.tag = tag; - StatementManager.registerStatement(this); - icon = Binnie.Resource.getItemIcon(mod, iconFile); - this.desc = desc; - } + private BinnieAction(String desc, String tag, AbstractMod mod, String iconFile) { + // TODO why? Where is used? + id = BinnieAction.incrementalID++; + this.tag = tag; + StatementManager.registerStatement(this); + icon = Binnie.Resource.getItemIcon(mod, iconFile); + this.desc = desc; + } - @Override - public String getDescription() { - return desc; - } + @Override + public String getDescription() { + return desc; + } - @Override - public String getUniqueTag() { - return tag; - } + @Override + public String getUniqueTag() { + return tag; + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon() { - return icon.getIcon(); - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon() { + return icon.getIcon(); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) { - icon.registerIcon(iconRegister); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) { + icon.registerIcon(iconRegister); + } - @Override - public int maxParameters() { - return 0; - } + @Override + public int maxParameters() { + return 0; + } - @Override - public int minParameters() { - return 0; - } + @Override + public int minParameters() { + return 0; + } - @Override - public IStatementParameter createParameter(int index) { - return null; - } + @Override + public IStatementParameter createParameter(int index) { + return null; + } - @Override - public IStatement rotateLeft() { - return this; - } + @Override + public IStatement rotateLeft() { + return this; + } - @Override - public void actionActivate(TileEntity target, ForgeDirection side, IStatementContainer source, IStatementParameter[] parameters) { - // ignored - } + @Override + public void actionActivate( + TileEntity target, ForgeDirection side, IStatementContainer source, IStatementParameter[] parameters) { + // ignored + } } diff --git a/src/main/java/binnie/core/triggers/BinnieTrigger.java b/src/main/java/binnie/core/triggers/BinnieTrigger.java index def63438..58d3e560 100644 --- a/src/main/java/binnie/core/triggers/BinnieTrigger.java +++ b/src/main/java/binnie/core/triggers/BinnieTrigger.java @@ -17,94 +17,95 @@ import net.minecraft.util.IIcon; import net.minecraftforge.common.util.ForgeDirection; class BinnieTrigger implements ITriggerExternal { - private static int incrementalID = 800; - protected static BinnieTrigger triggerNoBlankTemplate; - protected static BinnieTrigger triggerNoTemplate; - protected static BinnieTrigger triggerIsWorking; - protected static BinnieTrigger triggerIsNotWorking; - protected static BinnieTrigger triggerCanWork; - protected static BinnieTrigger triggerCannotWork; - protected static BinnieTrigger triggerPowerNone; - protected static BinnieTrigger triggerPowerLow; - protected static BinnieTrigger triggerPowerMedium; - protected static BinnieTrigger triggerPowerHigh; - protected static BinnieTrigger triggerPowerFull; - protected static BinnieTrigger triggerSerumFull; - protected static BinnieTrigger triggerSerumPure; - protected static BinnieTrigger triggerSerumEmpty; - protected static BinnieTrigger triggerAcclimatiserNone; - protected static BinnieTrigger triggerAcclimatiserHot; - protected static BinnieTrigger triggerAcclimatiserCold; - protected static BinnieTrigger triggerAcclimatiserWet; - protected static BinnieTrigger triggerAcclimatiserDry; - private String desc; - private String tag; - private BinnieIcon icon; - private int id; + private static int incrementalID = 800; + protected static BinnieTrigger triggerNoBlankTemplate; + protected static BinnieTrigger triggerNoTemplate; + protected static BinnieTrigger triggerIsWorking; + protected static BinnieTrigger triggerIsNotWorking; + protected static BinnieTrigger triggerCanWork; + protected static BinnieTrigger triggerCannotWork; + protected static BinnieTrigger triggerPowerNone; + protected static BinnieTrigger triggerPowerLow; + protected static BinnieTrigger triggerPowerMedium; + protected static BinnieTrigger triggerPowerHigh; + protected static BinnieTrigger triggerPowerFull; + protected static BinnieTrigger triggerSerumFull; + protected static BinnieTrigger triggerSerumPure; + protected static BinnieTrigger triggerSerumEmpty; + protected static BinnieTrigger triggerAcclimatiserNone; + protected static BinnieTrigger triggerAcclimatiserHot; + protected static BinnieTrigger triggerAcclimatiserCold; + protected static BinnieTrigger triggerAcclimatiserWet; + protected static BinnieTrigger triggerAcclimatiserDry; + private String desc; + private String tag; + private BinnieIcon icon; + private int id; - public BinnieTrigger(String desc, String tag, String iconFile) { - this(desc, tag, BinnieCore.instance, iconFile); - } + public BinnieTrigger(String desc, String tag, String iconFile) { + this(desc, tag, BinnieCore.instance, iconFile); + } - public BinnieTrigger(String desc, String tag, AbstractMod mod, String iconFile) { - // TODO why? Where is used? - id = BinnieTrigger.incrementalID++; - this.tag = tag; - StatementManager.registerStatement(this); - TriggerProvider.triggers.add(this); - icon = Binnie.Resource.getItemIcon(mod, iconFile); - this.desc = desc; - } + public BinnieTrigger(String desc, String tag, AbstractMod mod, String iconFile) { + // TODO why? Where is used? + id = BinnieTrigger.incrementalID++; + this.tag = tag; + StatementManager.registerStatement(this); + TriggerProvider.triggers.add(this); + icon = Binnie.Resource.getItemIcon(mod, iconFile); + this.desc = desc; + } - @Override - public String getDescription() { - return desc; - } + @Override + public String getDescription() { + return desc; + } - @SideOnly(Side.CLIENT) - public IIcon getIcon(IIconRegister register) { - return icon.getIcon(register); - } + @SideOnly(Side.CLIENT) + public IIcon getIcon(IIconRegister register) { + return icon.getIcon(register); + } - @Override - public String getUniqueTag() { - return tag; - } + @Override + public String getUniqueTag() { + return tag; + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon() { - return icon.getIcon(); - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon() { + return icon.getIcon(); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) { - icon.registerIcon(iconRegister); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) { + icon.registerIcon(iconRegister); + } - @Override - public int maxParameters() { - return 0; - } + @Override + public int maxParameters() { + return 0; + } - @Override - public int minParameters() { - return 0; - } + @Override + public int minParameters() { + return 0; + } - @Override - public IStatementParameter createParameter(int index) { - return null; - } + @Override + public IStatementParameter createParameter(int index) { + return null; + } - @Override - public IStatement rotateLeft() { - return null; - } + @Override + public IStatement rotateLeft() { + return null; + } - @Override - public boolean isTriggerActive(TileEntity target, ForgeDirection side, IStatementContainer source, IStatementParameter[] parameters) { - return false; - } + @Override + public boolean isTriggerActive( + TileEntity target, ForgeDirection side, IStatementContainer source, IStatementParameter[] parameters) { + return false; + } } diff --git a/src/main/java/binnie/core/triggers/ModuleTrigger.java b/src/main/java/binnie/core/triggers/ModuleTrigger.java index 1efe00ee..1e6cda08 100644 --- a/src/main/java/binnie/core/triggers/ModuleTrigger.java +++ b/src/main/java/binnie/core/triggers/ModuleTrigger.java @@ -5,35 +5,49 @@ import binnie.extrabees.ExtraBees; import buildcraft.api.statements.StatementManager; public class ModuleTrigger implements IInitializable { - @Override - public void preInit() { - // ignored - } + @Override + public void preInit() { + // ignored + } - @Override - public void init() { - BinnieAction.actionPauseProcess = new BinnieAction("Pause Process", "binnie.action.pauseProcess", "actions/PauseProcess"); - BinnieAction.actionCancelTask = new BinnieAction("Cancel Task", "binnie.action.cancelTask", "actions/CancelTask"); - StatementManager.registerActionProvider(new ActionProvider()); - BinnieTrigger.triggerNoBlankTemplate = new BinnieTrigger("No Blank Template", "binnie.trigger.noBlankTemplate", ExtraBees.instance, "triggers/NoBlankTemplate"); - BinnieTrigger.triggerNoTemplate = new BinnieTrigger("No Template", "binnie.trigger.noTemplate", ExtraBees.instance, "triggers/NoTemplate"); - BinnieTrigger.triggerIsWorking = new BinnieTrigger("Is Working", "binnie.trigger.isWorking", "triggers/IsWorking"); - BinnieTrigger.triggerIsNotWorking = new BinnieTrigger("Is Not Working", "binnie.trigger.isNotWorking", "triggers/IsNotWorking"); - BinnieTrigger.triggerCanWork = new BinnieTrigger("Can Work", "binnie.trigger.canWork", "triggers/CanWork"); - BinnieTrigger.triggerCannotWork = new BinnieTrigger("Cannot Work", "binnie.trigger.cannotWork", "triggers/CannotWork"); - BinnieTrigger.triggerPowerNone = new BinnieTrigger("Power None", "binnie.trigger.powerNone", "triggers/PowerNone"); - BinnieTrigger.triggerPowerLow = new BinnieTrigger("Power Low", "binnie.trigger.powerLow", "triggers/PowerLow"); - BinnieTrigger.triggerPowerMedium = new BinnieTrigger("Power Medium", "binnie.trigger.powerMedium", "triggers/PowerMedium"); - BinnieTrigger.triggerPowerHigh = new BinnieTrigger("Power High", "binnie.trigger.powerHigh", "triggers/PowerHigh"); - BinnieTrigger.triggerPowerFull = new BinnieTrigger("Power Full", "binnie.trigger.powerFull", "triggers/PowerFull"); - BinnieTrigger.triggerSerumFull = new BinnieTrigger("Serum Full", "binnie.trigger.serumFull", ExtraBees.instance, "triggers/SerumFull"); - BinnieTrigger.triggerSerumPure = new BinnieTrigger("Serum Pure", "binnie.trigger.serumPure", ExtraBees.instance, "triggers/SerumPure"); - BinnieTrigger.triggerSerumEmpty = new BinnieTrigger("Serum Pure", "binnie.trigger.serumEmpty", ExtraBees.instance, "triggers/SerumEmpty"); - StatementManager.registerTriggerProvider(new TriggerProvider()); - } + @Override + public void init() { + BinnieAction.actionPauseProcess = + new BinnieAction("Pause Process", "binnie.action.pauseProcess", "actions/PauseProcess"); + BinnieAction.actionCancelTask = + new BinnieAction("Cancel Task", "binnie.action.cancelTask", "actions/CancelTask"); + StatementManager.registerActionProvider(new ActionProvider()); + BinnieTrigger.triggerNoBlankTemplate = new BinnieTrigger( + "No Blank Template", "binnie.trigger.noBlankTemplate", ExtraBees.instance, "triggers/NoBlankTemplate"); + BinnieTrigger.triggerNoTemplate = new BinnieTrigger( + "No Template", "binnie.trigger.noTemplate", ExtraBees.instance, "triggers/NoTemplate"); + BinnieTrigger.triggerIsWorking = + new BinnieTrigger("Is Working", "binnie.trigger.isWorking", "triggers/IsWorking"); + BinnieTrigger.triggerIsNotWorking = + new BinnieTrigger("Is Not Working", "binnie.trigger.isNotWorking", "triggers/IsNotWorking"); + BinnieTrigger.triggerCanWork = new BinnieTrigger("Can Work", "binnie.trigger.canWork", "triggers/CanWork"); + BinnieTrigger.triggerCannotWork = + new BinnieTrigger("Cannot Work", "binnie.trigger.cannotWork", "triggers/CannotWork"); + BinnieTrigger.triggerPowerNone = + new BinnieTrigger("Power None", "binnie.trigger.powerNone", "triggers/PowerNone"); + BinnieTrigger.triggerPowerLow = new BinnieTrigger("Power Low", "binnie.trigger.powerLow", "triggers/PowerLow"); + BinnieTrigger.triggerPowerMedium = + new BinnieTrigger("Power Medium", "binnie.trigger.powerMedium", "triggers/PowerMedium"); + BinnieTrigger.triggerPowerHigh = + new BinnieTrigger("Power High", "binnie.trigger.powerHigh", "triggers/PowerHigh"); + BinnieTrigger.triggerPowerFull = + new BinnieTrigger("Power Full", "binnie.trigger.powerFull", "triggers/PowerFull"); + BinnieTrigger.triggerSerumFull = + new BinnieTrigger("Serum Full", "binnie.trigger.serumFull", ExtraBees.instance, "triggers/SerumFull"); + BinnieTrigger.triggerSerumPure = + new BinnieTrigger("Serum Pure", "binnie.trigger.serumPure", ExtraBees.instance, "triggers/SerumPure"); + BinnieTrigger.triggerSerumEmpty = + new BinnieTrigger("Serum Pure", "binnie.trigger.serumEmpty", ExtraBees.instance, "triggers/SerumEmpty"); + StatementManager.registerTriggerProvider(new TriggerProvider()); + } - @Override - public void postInit() { - // ignored - } + @Override + public void postInit() { + // ignored + } } diff --git a/src/main/java/binnie/core/triggers/TriggerData.java b/src/main/java/binnie/core/triggers/TriggerData.java index bf8835d0..05b68953 100644 --- a/src/main/java/binnie/core/triggers/TriggerData.java +++ b/src/main/java/binnie/core/triggers/TriggerData.java @@ -1,35 +1,34 @@ package binnie.core.triggers; import buildcraft.api.statements.ITriggerExternal; - import java.util.Map; public class TriggerData implements Map.Entry { - private ITriggerExternal key; - private Boolean value; + private ITriggerExternal key; + private Boolean value; - public TriggerData(ITriggerExternal key, Boolean value) { - if (key == null) { - throw new NullPointerException(); - } - this.key = key; - this.value = value; - } + public TriggerData(ITriggerExternal key, Boolean value) { + if (key == null) { + throw new NullPointerException(); + } + this.key = key; + this.value = value; + } - @Override - public ITriggerExternal getKey() { - return key; - } + @Override + public ITriggerExternal getKey() { + return key; + } - @Override - public Boolean getValue() { - return value; - } + @Override + public Boolean getValue() { + return value; + } - @Override - public Boolean setValue(Boolean value) { - Boolean old = this.value; - this.value = value; - return old; - } + @Override + public Boolean setValue(Boolean value) { + Boolean old = this.value; + this.value = value; + return old; + } } diff --git a/src/main/java/binnie/core/triggers/TriggerPower.java b/src/main/java/binnie/core/triggers/TriggerPower.java index 1304c006..1c371a32 100644 --- a/src/main/java/binnie/core/triggers/TriggerPower.java +++ b/src/main/java/binnie/core/triggers/TriggerPower.java @@ -4,36 +4,38 @@ import binnie.core.machines.Machine; import binnie.core.machines.power.IPoweredMachine; public class TriggerPower { - public static TriggerData powerNone(Object tile) { - double percent = getPercentage(tile); - return new TriggerData(BinnieTrigger.triggerPowerNone, percent < 0.05000000074505806); - } + public static TriggerData powerNone(Object tile) { + double percent = getPercentage(tile); + return new TriggerData(BinnieTrigger.triggerPowerNone, percent < 0.05000000074505806); + } - public static TriggerData powerLow(Object tile) { - double percent = getPercentage(tile); - return new TriggerData(BinnieTrigger.triggerPowerLow, percent < 0.3499999940395355); - } + public static TriggerData powerLow(Object tile) { + double percent = getPercentage(tile); + return new TriggerData(BinnieTrigger.triggerPowerLow, percent < 0.3499999940395355); + } - public static TriggerData powerMedium(Object tile) { - double percent = getPercentage(tile); - return new TriggerData(BinnieTrigger.triggerPowerMedium, percent >= 0.3499999940395355 && percent <= 0.6499999761581421); - } + public static TriggerData powerMedium(Object tile) { + double percent = getPercentage(tile); + return new TriggerData( + BinnieTrigger.triggerPowerMedium, percent >= 0.3499999940395355 && percent <= 0.6499999761581421); + } - public static TriggerData powerHigh(Object tile) { - double percent = getPercentage(tile); - return new TriggerData(BinnieTrigger.triggerPowerHigh, percent > 0.6499999761581421); - } + public static TriggerData powerHigh(Object tile) { + double percent = getPercentage(tile); + return new TriggerData(BinnieTrigger.triggerPowerHigh, percent > 0.6499999761581421); + } - public static TriggerData powerFull(Object tile) { - double percent = getPercentage(tile); - return new TriggerData(BinnieTrigger.triggerPowerFull, percent > 0.949999988079071); - } + public static TriggerData powerFull(Object tile) { + double percent = getPercentage(tile); + return new TriggerData(BinnieTrigger.triggerPowerFull, percent > 0.949999988079071); + } - private static double getPercentage(Object tile) { - IPoweredMachine process = Machine.getInterface(IPoweredMachine.class, tile); - if (process != null) { - return (double) (process.getInterface().getEnergy() / process.getInterface().getCapacity()); - } - return 0.0; - } + private static double getPercentage(Object tile) { + IPoweredMachine process = Machine.getInterface(IPoweredMachine.class, tile); + if (process != null) { + return (double) + (process.getInterface().getEnergy() / process.getInterface().getCapacity()); + } + return 0.0; + } } diff --git a/src/main/java/binnie/core/triggers/TriggerProvider.java b/src/main/java/binnie/core/triggers/TriggerProvider.java index 3c6bee15..06ae1ceb 100644 --- a/src/main/java/binnie/core/triggers/TriggerProvider.java +++ b/src/main/java/binnie/core/triggers/TriggerProvider.java @@ -5,35 +5,34 @@ import buildcraft.api.statements.IStatementContainer; import buildcraft.api.statements.ITriggerExternal; import buildcraft.api.statements.ITriggerInternal; import buildcraft.api.statements.ITriggerProvider; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; - import java.util.ArrayList; import java.util.Collection; import java.util.LinkedList; import java.util.List; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; class TriggerProvider implements ITriggerProvider { - public static List triggers = new ArrayList<>(); + public static List triggers = new ArrayList<>(); - @Override - public Collection getExternalTriggers(ForgeDirection side, TileEntity tile) { - LinkedList list = new LinkedList<>(); - LinkedList triggerData = new LinkedList<>(); - if (tile instanceof IBuildcraft.TriggerProvider) { - ((IBuildcraft.TriggerProvider) tile).getTriggers(list); - } + @Override + public Collection getExternalTriggers(ForgeDirection side, TileEntity tile) { + LinkedList list = new LinkedList<>(); + LinkedList triggerData = new LinkedList<>(); + if (tile instanceof IBuildcraft.TriggerProvider) { + ((IBuildcraft.TriggerProvider) tile).getTriggers(list); + } - for (TriggerData data : list) { - if (data.getKey() != null && data.getKey().getUniqueTag() != null) { - triggerData.add(data.getKey()); - } - } - return triggerData; - } + for (TriggerData data : list) { + if (data.getKey() != null && data.getKey().getUniqueTag() != null) { + triggerData.add(data.getKey()); + } + } + return triggerData; + } - @Override - public Collection getInternalTriggers(IStatementContainer container) { - return new ArrayList<>(); - } + @Override + public Collection getInternalTriggers(IStatementContainer container) { + return new ArrayList<>(); + } } diff --git a/src/main/java/binnie/core/util/FluidStackSet.java b/src/main/java/binnie/core/util/FluidStackSet.java index a099e014..23372f31 100644 --- a/src/main/java/binnie/core/util/FluidStackSet.java +++ b/src/main/java/binnie/core/util/FluidStackSet.java @@ -1,126 +1,124 @@ package binnie.core.util; -import net.minecraftforge.fluids.FluidStack; - import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Set; +import net.minecraftforge.fluids.FluidStack; class FluidStackSet implements Set { - protected List itemStacks; + protected List itemStacks; - FluidStackSet() { - itemStacks = new ArrayList<>(); - } + FluidStackSet() { + itemStacks = new ArrayList<>(); + } - @Override - public String toString() { - return itemStacks.toString(); - } + @Override + public String toString() { + return itemStacks.toString(); + } - protected FluidStack getExisting(FluidStack stack) { - for (FluidStack existStack : itemStacks) { - if (existStack.isFluidEqual(stack)) { - return existStack; - } - } - return null; - } + protected FluidStack getExisting(FluidStack stack) { + for (FluidStack existStack : itemStacks) { + if (existStack.isFluidEqual(stack)) { + return existStack; + } + } + return null; + } - @Override - public boolean add(FluidStack fluidStack) { - if (fluidStack != null) { - FluidStack existing = getExisting(fluidStack); - if (existing == null) { - return itemStacks.add(fluidStack.copy()); - } - existing.amount += fluidStack.amount; - } - return false; - } + @Override + public boolean add(FluidStack fluidStack) { + if (fluidStack != null) { + FluidStack existing = getExisting(fluidStack); + if (existing == null) { + return itemStacks.add(fluidStack.copy()); + } + existing.amount += fluidStack.amount; + } + return false; + } - @Override - public boolean addAll(Collection collection) { - boolean addedAll = true; - for (FluidStack stack : collection) { - addedAll = add(stack) && addedAll; - } - return addedAll; - } + @Override + public boolean addAll(Collection collection) { + boolean addedAll = true; + for (FluidStack stack : collection) { + addedAll = add(stack) && addedAll; + } + return addedAll; + } - @Override - public void clear() { - itemStacks.clear(); - } + @Override + public void clear() { + itemStacks.clear(); + } - @Override - public boolean contains(Object object) { - return object instanceof FluidStack - && getExisting((FluidStack) object) != null; - } + @Override + public boolean contains(Object object) { + return object instanceof FluidStack && getExisting((FluidStack) object) != null; + } - @Override - public boolean containsAll(Collection collection) { - boolean addedAll = true; - for (Object object : collection) { - addedAll = addedAll && contains(object); - } - return false; - } + @Override + public boolean containsAll(Collection collection) { + boolean addedAll = true; + for (Object object : collection) { + addedAll = addedAll && contains(object); + } + return false; + } - @Override - public boolean isEmpty() { - return itemStacks.isEmpty(); - } + @Override + public boolean isEmpty() { + return itemStacks.isEmpty(); + } - @Override - public Iterator iterator() { - return itemStacks.iterator(); - } + @Override + public Iterator iterator() { + return itemStacks.iterator(); + } - @Override - public boolean remove(Object object) { - if (contains(object)) { - FluidStack r = (FluidStack) object; - FluidStack existing = getExisting(r); - if (existing.amount > r.amount) { - existing.amount -= r.amount; - } else { - itemStacks.remove(existing); - } - } - return false; - } + @Override + public boolean remove(Object object) { + if (contains(object)) { + FluidStack r = (FluidStack) object; + FluidStack existing = getExisting(r); + if (existing.amount > r.amount) { + existing.amount -= r.amount; + } else { + itemStacks.remove(existing); + } + } + return false; + } - @Override - public boolean removeAll(Collection collection) { - boolean addedAll = true; - for (Object object : collection) { - boolean removed = remove(object); - addedAll = (removed && addedAll); - } - return false; - } + @Override + public boolean removeAll(Collection collection) { + boolean addedAll = true; + for (Object object : collection) { + boolean removed = remove(object); + addedAll = (removed && addedAll); + } + return false; + } - @Override - public boolean retainAll(Collection collection) { - return itemStacks.retainAll(collection); - } + @Override + public boolean retainAll(Collection collection) { + return itemStacks.retainAll(collection); + } - @Override - public int size() { - return itemStacks.size(); - } + @Override + public int size() { + return itemStacks.size(); + } - @Override - public Object[] toArray() { - return itemStacks.toArray(); - } + @Override + public Object[] toArray() { + return itemStacks.toArray(); + } - @Override - public T[] toArray(T[] array) { - return itemStacks.toArray(array); - } + @Override + public T[] toArray(T[] array) { + return itemStacks.toArray(array); + } } diff --git a/src/main/java/binnie/core/util/I18N.java b/src/main/java/binnie/core/util/I18N.java index e9b2f745..8d570f9a 100644 --- a/src/main/java/binnie/core/util/I18N.java +++ b/src/main/java/binnie/core/util/I18N.java @@ -3,20 +3,20 @@ package binnie.core.util; import net.minecraft.util.StatCollector; public class I18N { - public static String localise(String key) { - return StatCollector.translateToLocal(key); - } + public static String localise(String key) { + return StatCollector.translateToLocal(key); + } - public static String localise(String key, Object... objs) { - return String.format(StatCollector.translateToLocal(key), objs); - } + public static String localise(String key, Object... objs) { + return String.format(StatCollector.translateToLocal(key), objs); + } - public static String localiseOrBlank(String key) { - String trans = localise(key); - return trans.equals(key) ? "" : trans; - } + public static String localiseOrBlank(String key) { + String trans = localise(key); + return trans.equals(key) ? "" : trans; + } - public static boolean canLocalise(String key) { - return !localise(key).equals(key); - } + public static boolean canLocalise(String key) { + return !localise(key).equals(key); + } } diff --git a/src/main/java/binnie/core/util/IValidator.java b/src/main/java/binnie/core/util/IValidator.java index d62debfd..b3de26d4 100644 --- a/src/main/java/binnie/core/util/IValidator.java +++ b/src/main/java/binnie/core/util/IValidator.java @@ -1,5 +1,5 @@ package binnie.core.util; public interface IValidator { - boolean isValid(T object); + boolean isValid(T object); } diff --git a/src/main/java/binnie/core/util/ItemStackSet.java b/src/main/java/binnie/core/util/ItemStackSet.java index 7df4ace7..fb071308 100644 --- a/src/main/java/binnie/core/util/ItemStackSet.java +++ b/src/main/java/binnie/core/util/ItemStackSet.java @@ -1,126 +1,124 @@ package binnie.core.util; -import net.minecraft.item.ItemStack; - import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Set; +import net.minecraft.item.ItemStack; public class ItemStackSet implements Set { - protected List itemStacks; + protected List itemStacks; - public ItemStackSet() { - itemStacks = new ArrayList<>(); - } + public ItemStackSet() { + itemStacks = new ArrayList<>(); + } - @Override - public String toString() { - return itemStacks.toString(); - } + @Override + public String toString() { + return itemStacks.toString(); + } - protected ItemStack getExisting(ItemStack stack) { - for (ItemStack existStack : itemStacks) { - if (existStack.isItemEqual(stack)) { - return existStack; - } - } - return null; - } + protected ItemStack getExisting(ItemStack stack) { + for (ItemStack existStack : itemStacks) { + if (existStack.isItemEqual(stack)) { + return existStack; + } + } + return null; + } - @Override - public boolean add(ItemStack itemStack) { - if (itemStack != null) { - ItemStack existing = getExisting(itemStack); - if (existing == null) { - return itemStacks.add(itemStack.copy()); - } - existing.stackSize += itemStack.stackSize; - } - return false; - } + @Override + public boolean add(ItemStack itemStack) { + if (itemStack != null) { + ItemStack existing = getExisting(itemStack); + if (existing == null) { + return itemStacks.add(itemStack.copy()); + } + existing.stackSize += itemStack.stackSize; + } + return false; + } - @Override - public boolean addAll(Collection c) { - boolean addedAll = true; - for (ItemStack stack : c) { - addedAll = add(stack) && addedAll; - } - return addedAll; - } + @Override + public boolean addAll(Collection c) { + boolean addedAll = true; + for (ItemStack stack : c) { + addedAll = add(stack) && addedAll; + } + return addedAll; + } - @Override - public void clear() { - itemStacks.clear(); - } + @Override + public void clear() { + itemStacks.clear(); + } - @Override - public boolean contains(Object o) { - return o instanceof ItemStack - && getExisting((ItemStack) o) != null; - } + @Override + public boolean contains(Object o) { + return o instanceof ItemStack && getExisting((ItemStack) o) != null; + } - @Override - public boolean containsAll(Collection collection) { - boolean addedAll = true; - for (Object object : collection) { - addedAll = addedAll && contains(object); - } - return false; - } + @Override + public boolean containsAll(Collection collection) { + boolean addedAll = true; + for (Object object : collection) { + addedAll = addedAll && contains(object); + } + return false; + } - @Override - public boolean isEmpty() { - return itemStacks.isEmpty(); - } + @Override + public boolean isEmpty() { + return itemStacks.isEmpty(); + } - @Override - public Iterator iterator() { - return itemStacks.iterator(); - } + @Override + public Iterator iterator() { + return itemStacks.iterator(); + } - @Override - public boolean remove(Object object) { - if (contains(object)) { - ItemStack r = (ItemStack) object; - ItemStack existing = getExisting(r); - if (existing.stackSize > r.stackSize) { - existing.stackSize -= r.stackSize; - } else { - itemStacks.remove(existing); - } - } - return false; - } + @Override + public boolean remove(Object object) { + if (contains(object)) { + ItemStack r = (ItemStack) object; + ItemStack existing = getExisting(r); + if (existing.stackSize > r.stackSize) { + existing.stackSize -= r.stackSize; + } else { + itemStacks.remove(existing); + } + } + return false; + } - @Override - public boolean removeAll(Collection collection) { - boolean addedAll = true; - for (Object object : collection) { - boolean removed = remove(object); - addedAll = removed && addedAll; - } - return false; - } + @Override + public boolean removeAll(Collection collection) { + boolean addedAll = true; + for (Object object : collection) { + boolean removed = remove(object); + addedAll = removed && addedAll; + } + return false; + } - @Override - public boolean retainAll(Collection collection) { - return itemStacks.retainAll(collection); - } + @Override + public boolean retainAll(Collection collection) { + return itemStacks.retainAll(collection); + } - @Override - public int size() { - return itemStacks.size(); - } + @Override + public int size() { + return itemStacks.size(); + } - @Override - public Object[] toArray() { - return itemStacks.toArray(); - } + @Override + public Object[] toArray() { + return itemStacks.toArray(); + } - @Override - public T[] toArray(T[] array) { - return itemStacks.toArray(array); - } + @Override + public T[] toArray(T[] array) { + return itemStacks.toArray(array); + } } diff --git a/src/main/java/binnie/core/util/UniqueFluidStackSet.java b/src/main/java/binnie/core/util/UniqueFluidStackSet.java index 1bfec7bd..4a14d790 100644 --- a/src/main/java/binnie/core/util/UniqueFluidStackSet.java +++ b/src/main/java/binnie/core/util/UniqueFluidStackSet.java @@ -3,19 +3,17 @@ package binnie.core.util; import net.minecraftforge.fluids.FluidStack; public class UniqueFluidStackSet extends FluidStackSet { - @Override - public boolean add(FluidStack fluidStack) { - return fluidStack != null - && getExisting(fluidStack) == null - && itemStacks.add(fluidStack.copy()); - } + @Override + public boolean add(FluidStack fluidStack) { + return fluidStack != null && getExisting(fluidStack) == null && itemStacks.add(fluidStack.copy()); + } - @Override - public boolean remove(Object object) { - if (contains(object)) { - FluidStack existing = getExisting((FluidStack) object); - itemStacks.remove(existing); - } - return false; - } + @Override + public boolean remove(Object object) { + if (contains(object)) { + FluidStack existing = getExisting((FluidStack) object); + itemStacks.remove(existing); + } + return false; + } } diff --git a/src/main/java/binnie/core/util/UniqueItemStackSet.java b/src/main/java/binnie/core/util/UniqueItemStackSet.java index 638be1b0..cbd899ef 100644 --- a/src/main/java/binnie/core/util/UniqueItemStackSet.java +++ b/src/main/java/binnie/core/util/UniqueItemStackSet.java @@ -3,19 +3,17 @@ package binnie.core.util; import net.minecraft.item.ItemStack; public class UniqueItemStackSet extends ItemStackSet { - @Override - public boolean add(ItemStack itemStack) { - return itemStack != null - && getExisting(itemStack) == null - && itemStacks.add(itemStack.copy()); - } + @Override + public boolean add(ItemStack itemStack) { + return itemStack != null && getExisting(itemStack) == null && itemStacks.add(itemStack.copy()); + } - @Override - public boolean remove(Object object) { - if (contains(object)) { - ItemStack existing = getExisting((ItemStack) object); - itemStacks.remove(existing); - } - return false; - } + @Override + public boolean remove(Object object) { + if (contains(object)) { + ItemStack existing = getExisting((ItemStack) object); + itemStacks.remove(existing); + } + return false; + } } diff --git a/src/main/java/binnie/extrabees/ExtraBees.java b/src/main/java/binnie/extrabees/ExtraBees.java index b999a5e9..5d8bb2fa 100644 --- a/src/main/java/binnie/extrabees/ExtraBees.java +++ b/src/main/java/binnie/extrabees/ExtraBees.java @@ -25,94 +25,92 @@ import net.minecraft.block.material.Material; import net.minecraft.item.Item; @Mod( - modid = "ExtraBees", - name = "Extra Bees", - version = BinnieCore.VERSION, - useMetadata = true, - dependencies = "after:BinnieCore" -) + modid = "ExtraBees", + name = "Extra Bees", + version = BinnieCore.VERSION, + useMetadata = true, + dependencies = "after:BinnieCore") public class ExtraBees extends AbstractMod { - @Mod.Instance("ExtraBees") - public static ExtraBees instance; + @Mod.Instance("ExtraBees") + public static ExtraBees instance; - @SidedProxy( - clientSide = "binnie.extrabees.proxy.ExtraBeesProxyClient", - serverSide = "binnie.extrabees.proxy.ExtraBeesProxyServer" - ) - public static ExtraBeesProxy proxy; + @SidedProxy( + clientSide = "binnie.extrabees.proxy.ExtraBeesProxyClient", + serverSide = "binnie.extrabees.proxy.ExtraBeesProxyServer") + public static ExtraBeesProxy proxy; - public static Block hive; - public static Material materialBeehive; - public static Block ectoplasm; - public static Item comb; - public static Item propolis; - public static Item honeyDrop; - public static Item dictionary; - public static Item itemMisc; + public static Block hive; + public static Material materialBeehive; + public static Block ectoplasm; + public static Item comb; + public static Item propolis; + public static Item honeyDrop; + public static Item dictionary; + public static Item itemMisc; - public ExtraBees() { - ExtraBees.instance = this; - } + public ExtraBees() { + ExtraBees.instance = this; + } - @Mod.EventHandler - public void preInit(FMLPreInitializationEvent event) { - addModule(new ModuleCore()); - addModule(new ModuleProducts()); - addModule(new ModuleGenetics()); - addModule(new ModuleGeneration()); - addModule(new ModuleLiquids()); - addModule(new ModuleApiary()); - preInit(); - } + @Mod.EventHandler + public void preInit(FMLPreInitializationEvent event) { + addModule(new ModuleCore()); + addModule(new ModuleProducts()); + addModule(new ModuleGenetics()); + addModule(new ModuleGeneration()); + addModule(new ModuleLiquids()); + addModule(new ModuleApiary()); + preInit(); + } - @Mod.EventHandler - public void init(FMLInitializationEvent event) { - init(); - } + @Mod.EventHandler + public void init(FMLInitializationEvent event) { + init(); + } - @Mod.EventHandler - public void postInit(FMLPostInitializationEvent event) { - postInit(); - } + @Mod.EventHandler + public void postInit(FMLPostInitializationEvent event) { + postInit(); + } - @Override - public IBinnieGUID[] getGUIDs() { - return ExtraBeeGUID.values(); - } + @Override + public IBinnieGUID[] getGUIDs() { + return ExtraBeeGUID.values(); + } - @Override - public Class[] getConfigs() { - return new Class[]{ConfigurationMain.class, ConfigurationMachines.class}; - } + @Override + public Class[] getConfigs() { + return new Class[] {ConfigurationMain.class, ConfigurationMachines.class}; + } - @Override - public IProxyCore getProxy() { - return ExtraBees.proxy; - } + @Override + public IProxyCore getProxy() { + return ExtraBees.proxy; + } - @Override - public String getChannel() { - return "EB"; - } + @Override + public String getChannel() { + return "EB"; + } - @Override - public String getModID() { - return "extrabees"; - } + @Override + public String getModID() { + return "extrabees"; + } - @Override - protected Class getPacketHandler() { - return PacketHandler.class; - } + @Override + protected Class getPacketHandler() { + return PacketHandler.class; + } - @Override - public boolean isActive() { - return BinnieCore.isExtraBeesActive(); - } + @Override + public boolean isActive() { + return BinnieCore.isExtraBeesActive(); + } - public static class PacketHandler extends BinniePacketHandler { - public PacketHandler() { - super(ExtraBees.instance); - } - } + public static class PacketHandler extends BinniePacketHandler { + public PacketHandler() { + super(ExtraBees.instance); + } + } } diff --git a/src/main/java/binnie/extrabees/apiary/ComponentBeeModifier.java b/src/main/java/binnie/extrabees/apiary/ComponentBeeModifier.java index 32509298..e368b5ca 100644 --- a/src/main/java/binnie/extrabees/apiary/ComponentBeeModifier.java +++ b/src/main/java/binnie/extrabees/apiary/ComponentBeeModifier.java @@ -10,82 +10,82 @@ import forestry.api.genetics.IIndividual; import net.minecraft.item.ItemStack; public class ComponentBeeModifier extends MachineComponent implements IBeeModifier, IBeeListener { - public ComponentBeeModifier(Machine machine) { - super(machine); - } + public ComponentBeeModifier(Machine machine) { + super(machine); + } - @Override - public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { - return 1.0f; - } + @Override + public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { + return 1.0f; + } - @Override - public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - return 1.0f; - } + @Override + public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return 1.0f; + } - @Override - public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - return 1.0f; - } + @Override + public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return 1.0f; + } - @Override - public float getProductionModifier(IBeeGenome genome, float currentModifier) { - return 1.0f; - } + @Override + public float getProductionModifier(IBeeGenome genome, float currentModifier) { + return 1.0f; + } - @Override - public float getFloweringModifier(IBeeGenome genome, float currentModifier) { - return 1.0f; - } + @Override + public float getFloweringModifier(IBeeGenome genome, float currentModifier) { + return 1.0f; + } - @Override - public boolean isSealed() { - return false; - } + @Override + public boolean isSealed() { + return false; + } - @Override - public boolean isSelfLighted() { - return false; - } + @Override + public boolean isSelfLighted() { + return false; + } - @Override - public boolean isSunlightSimulated() { - return false; - } + @Override + public boolean isSunlightSimulated() { + return false; + } - @Override - public boolean isHellish() { - return false; - } + @Override + public boolean isHellish() { + return false; + } - // TODO unused method? - public void onQueenChange(ItemStack queen) { - // ignored - } + // TODO unused method? + public void onQueenChange(ItemStack queen) { + // ignored + } - @Override - public void wearOutEquipment(int amount) { - // ignored - } + @Override + public void wearOutEquipment(int amount) { + // ignored + } - // TODO unused method? - public boolean onEggLaid(IBee queen) { - return false; - } + // TODO unused method? + public boolean onEggLaid(IBee queen) { + return false; + } - @Override - public float getGeneticDecay(IBeeGenome genome, float currentModifier) { - return 1.0f; - } + @Override + public float getGeneticDecay(IBeeGenome genome, float currentModifier) { + return 1.0f; + } - @Override - public boolean onPollenRetrieved(IIndividual individual) { - return false; - } + @Override + public boolean onPollenRetrieved(IIndividual individual) { + return false; + } - @Override - public void onQueenDeath() { - // ignored - } + @Override + public void onQueenDeath() { + // ignored + } } diff --git a/src/main/java/binnie/extrabees/apiary/ComponentExtraBeeGUI.java b/src/main/java/binnie/extrabees/apiary/ComponentExtraBeeGUI.java index f9331091..1d2e5b8e 100644 --- a/src/main/java/binnie/extrabees/apiary/ComponentExtraBeeGUI.java +++ b/src/main/java/binnie/extrabees/apiary/ComponentExtraBeeGUI.java @@ -9,15 +9,15 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; public class ComponentExtraBeeGUI extends MachineComponent implements IInteraction.RightClick { - protected ExtraBeeGUID id; + protected ExtraBeeGUID id; - public ComponentExtraBeeGUI(Machine machine, ExtraBeeGUID id) { - super(machine); - this.id = id; - } + public ComponentExtraBeeGUI(Machine machine, ExtraBeeGUID id) { + super(machine); + this.id = id; + } - @Override - public void onRightClick(World world, EntityPlayer player, int x, int y, int z) { - ExtraBees.proxy.openGui(id, player, x, y, z); - } + @Override + public void onRightClick(World world, EntityPlayer player, int x, int y, int z) { + ExtraBees.proxy.openGui(id, player, x, y, z); + } } diff --git a/src/main/java/binnie/extrabees/apiary/EnumHiveFrame.java b/src/main/java/binnie/extrabees/apiary/EnumHiveFrame.java index ae9c25cc..8b63a0c5 100644 --- a/src/main/java/binnie/extrabees/apiary/EnumHiveFrame.java +++ b/src/main/java/binnie/extrabees/apiary/EnumHiveFrame.java @@ -17,129 +17,129 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; public enum EnumHiveFrame implements IHiveFrame, IBeeModifier { - Cocoa, - Cage, - Soul, - Clay, - Debug; + Cocoa, + Cage, + Soul, + Clay, + Debug; - protected Item item; - protected int maxDamage; - protected BeeModifierLogic logic; + protected Item item; + protected int maxDamage; + protected BeeModifierLogic logic; - EnumHiveFrame() { - maxDamage = 240; - logic = new BeeModifierLogic(); - } + EnumHiveFrame() { + maxDamage = 240; + logic = new BeeModifierLogic(); + } - public static void init() { - EnumHiveFrame.Cocoa.logic.setModifier(EnumBeeModifier.LIFESPAN, 0.75f, 0.25f); - EnumHiveFrame.Cocoa.logic.setModifier(EnumBeeModifier.PRODUCTION, 1.5f, 5.0f); - EnumHiveFrame.Cage.logic.setModifier(EnumBeeModifier.TERRITORY, 0.5f, 0.1f); - EnumHiveFrame.Cage.logic.setModifier(EnumBeeModifier.LIFESPAN, 0.75f, 0.5f); - EnumHiveFrame.Cage.logic.setModifier(EnumBeeModifier.PRODUCTION, 0.75f, 0.5f); - EnumHiveFrame.Soul.logic.setModifier(EnumBeeModifier.MUTATION, 1.5f, 5.0f); - EnumHiveFrame.Soul.logic.setModifier(EnumBeeModifier.LIFESPAN, 0.75f, 0.5f); - EnumHiveFrame.Soul.logic.setModifier(EnumBeeModifier.PRODUCTION, 0.25f, 0.1f); - EnumHiveFrame.Soul.setMaxDamage(80); - EnumHiveFrame.Clay.logic.setModifier(EnumBeeModifier.LIFESPAN, 1.5f, 5.0f); - EnumHiveFrame.Clay.logic.setModifier(EnumBeeModifier.MUTATION, 0.5f, 0.2f); - EnumHiveFrame.Clay.logic.setModifier(EnumBeeModifier.PRODUCTION, 0.75f, 0.2f); - EnumHiveFrame.Debug.logic.setModifier(EnumBeeModifier.LIFESPAN, 1.0E-4f, 1.0E-4f); + public static void init() { + EnumHiveFrame.Cocoa.logic.setModifier(EnumBeeModifier.LIFESPAN, 0.75f, 0.25f); + EnumHiveFrame.Cocoa.logic.setModifier(EnumBeeModifier.PRODUCTION, 1.5f, 5.0f); + EnumHiveFrame.Cage.logic.setModifier(EnumBeeModifier.TERRITORY, 0.5f, 0.1f); + EnumHiveFrame.Cage.logic.setModifier(EnumBeeModifier.LIFESPAN, 0.75f, 0.5f); + EnumHiveFrame.Cage.logic.setModifier(EnumBeeModifier.PRODUCTION, 0.75f, 0.5f); + EnumHiveFrame.Soul.logic.setModifier(EnumBeeModifier.MUTATION, 1.5f, 5.0f); + EnumHiveFrame.Soul.logic.setModifier(EnumBeeModifier.LIFESPAN, 0.75f, 0.5f); + EnumHiveFrame.Soul.logic.setModifier(EnumBeeModifier.PRODUCTION, 0.25f, 0.1f); + EnumHiveFrame.Soul.setMaxDamage(80); + EnumHiveFrame.Clay.logic.setModifier(EnumBeeModifier.LIFESPAN, 1.5f, 5.0f); + EnumHiveFrame.Clay.logic.setModifier(EnumBeeModifier.MUTATION, 0.5f, 0.2f); + EnumHiveFrame.Clay.logic.setModifier(EnumBeeModifier.PRODUCTION, 0.75f, 0.2f); + EnumHiveFrame.Debug.logic.setModifier(EnumBeeModifier.LIFESPAN, 1.0E-4f, 1.0E-4f); - GameRegistry.addRecipe( - new ItemStack(EnumHiveFrame.Cocoa.item), - " c ", "cFc", " c ", - 'F', Mods.forestry.stack("frameImpregnated"), - 'c', new ItemStack(Items.dye, 1, 3) - ); - GameRegistry.addShapelessRecipe( - new ItemStack(EnumHiveFrame.Cage.item), - Mods.forestry.stack("frameImpregnated"), - Blocks.iron_bars - ); - GameRegistry.addShapelessRecipe( - new ItemStack(EnumHiveFrame.Soul.item), - Mods.forestry.stack("frameImpregnated"), - Blocks.soul_sand - ); - GameRegistry.addRecipe( - new ItemStack(EnumHiveFrame.Clay.item), - " c ", "cFc", " c ", - 'F', Mods.forestry.stack("frameImpregnated"), - 'c', Items.clay_ball - ); - } + GameRegistry.addRecipe( + new ItemStack(EnumHiveFrame.Cocoa.item), + " c ", + "cFc", + " c ", + 'F', + Mods.forestry.stack("frameImpregnated"), + 'c', + new ItemStack(Items.dye, 1, 3)); + GameRegistry.addShapelessRecipe( + new ItemStack(EnumHiveFrame.Cage.item), Mods.forestry.stack("frameImpregnated"), Blocks.iron_bars); + GameRegistry.addShapelessRecipe( + new ItemStack(EnumHiveFrame.Soul.item), Mods.forestry.stack("frameImpregnated"), Blocks.soul_sand); + GameRegistry.addRecipe( + new ItemStack(EnumHiveFrame.Clay.item), + " c ", + "cFc", + " c ", + 'F', + Mods.forestry.stack("frameImpregnated"), + 'c', + Items.clay_ball); + } - public void setMaxDamage(int damage) { - maxDamage = damage; - } + public void setMaxDamage(int damage) { + maxDamage = damage; + } - @Override - public ItemStack frameUsed(IBeeHousing house, ItemStack frame, IBee queen, int wear) { - frame.setItemDamage(frame.getItemDamage() + wear); - if (frame.getItemDamage() >= frame.getMaxDamage()) { - return null; - } - return frame; - } + @Override + public ItemStack frameUsed(IBeeHousing house, ItemStack frame, IBee queen, int wear) { + frame.setItemDamage(frame.getItemDamage() + wear); + if (frame.getItemDamage() >= frame.getMaxDamage()) { + return null; + } + return frame; + } - @Override - public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { - return logic.getModifier(EnumBeeModifier.TERRITORY, currentModifier); - } + @Override + public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { + return logic.getModifier(EnumBeeModifier.TERRITORY, currentModifier); + } - @Override - public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - return logic.getModifier(EnumBeeModifier.MUTATION, currentModifier); - } + @Override + public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return logic.getModifier(EnumBeeModifier.MUTATION, currentModifier); + } - @Override - public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - return logic.getModifier(EnumBeeModifier.LIFESPAN, currentModifier); - } + @Override + public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return logic.getModifier(EnumBeeModifier.LIFESPAN, currentModifier); + } - @Override - public float getProductionModifier(IBeeGenome genome, float currentModifier) { - return logic.getModifier(EnumBeeModifier.PRODUCTION, currentModifier); - } + @Override + public float getProductionModifier(IBeeGenome genome, float currentModifier) { + return logic.getModifier(EnumBeeModifier.PRODUCTION, currentModifier); + } - @Override - public float getFloweringModifier(IBeeGenome genome, float currentModifier) { - return logic.getModifier(EnumBeeModifier.FLOWERING, currentModifier); - } + @Override + public float getFloweringModifier(IBeeGenome genome, float currentModifier) { + return logic.getModifier(EnumBeeModifier.FLOWERING, currentModifier); + } - @Override - public float getGeneticDecay(IBeeGenome genome, float currentModifier) { - return logic.getModifier(EnumBeeModifier.GENETIC_DECAY, currentModifier); - } + @Override + public float getGeneticDecay(IBeeGenome genome, float currentModifier) { + return logic.getModifier(EnumBeeModifier.GENETIC_DECAY, currentModifier); + } - @Override - public boolean isSealed() { - return logic.getModifier(EnumBeeBooleanModifier.SEALED); - } + @Override + public boolean isSealed() { + return logic.getModifier(EnumBeeBooleanModifier.SEALED); + } - @Override - public boolean isSelfLighted() { - return logic.getModifier(EnumBeeBooleanModifier.SELF_LIGHTED); - } + @Override + public boolean isSelfLighted() { + return logic.getModifier(EnumBeeBooleanModifier.SELF_LIGHTED); + } - @Override - public boolean isSunlightSimulated() { - return logic.getModifier(EnumBeeBooleanModifier.SUNLIGHT_STIMULATED); - } + @Override + public boolean isSunlightSimulated() { + return logic.getModifier(EnumBeeBooleanModifier.SUNLIGHT_STIMULATED); + } - @Override - public boolean isHellish() { - return logic.getModifier(EnumBeeBooleanModifier.HELLISH); - } + @Override + public boolean isHellish() { + return logic.getModifier(EnumBeeBooleanModifier.HELLISH); + } - public String getName() { - return I18N.localise("extrabees.item.frame." + toString().toLowerCase()); - } + public String getName() { + return I18N.localise("extrabees.item.frame." + toString().toLowerCase()); + } - @Override - public IBeeModifier getBeeModifier() { - return this; - } + @Override + public IBeeModifier getBeeModifier() { + return this; + } } diff --git a/src/main/java/binnie/extrabees/apiary/ItemHiveFrame.java b/src/main/java/binnie/extrabees/apiary/ItemHiveFrame.java index 4d27e97b..57582c3a 100644 --- a/src/main/java/binnie/extrabees/apiary/ItemHiveFrame.java +++ b/src/main/java/binnie/extrabees/apiary/ItemHiveFrame.java @@ -14,88 +14,88 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; public class ItemHiveFrame extends Item implements IHiveFrame, IBeeModifier { - protected EnumHiveFrame frame; + protected EnumHiveFrame frame; - public ItemHiveFrame(EnumHiveFrame frame) { - this.frame = frame; - setMaxDamage(frame.maxDamage); - setCreativeTab(Tabs.tabApiculture); - setMaxStackSize(1); - setUnlocalizedName("hiveFrame"); - } + public ItemHiveFrame(EnumHiveFrame frame) { + this.frame = frame; + setMaxDamage(frame.maxDamage); + setCreativeTab(Tabs.tabApiculture); + setMaxStackSize(1); + setUnlocalizedName("hiveFrame"); + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return frame.getName(); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return frame.getName(); + } - @Override - public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { - return frame.getTerritoryModifier(genome, currentModifier); - } + @Override + public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { + return frame.getTerritoryModifier(genome, currentModifier); + } - @Override - public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - return frame.getMutationModifier(genome, mate, currentModifier); - } + @Override + public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return frame.getMutationModifier(genome, mate, currentModifier); + } - @Override - public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - return frame.getLifespanModifier(genome, mate, currentModifier); - } + @Override + public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return frame.getLifespanModifier(genome, mate, currentModifier); + } - @Override - public float getProductionModifier(IBeeGenome genome, float currentModifier) { - return frame.getProductionModifier(genome, currentModifier); - } + @Override + public float getProductionModifier(IBeeGenome genome, float currentModifier) { + return frame.getProductionModifier(genome, currentModifier); + } - @Override - public ItemStack frameUsed(IBeeHousing housing, ItemStack frame, IBee queen, int wear) { - frame.setItemDamage(frame.getItemDamage() + wear); - if (frame.getItemDamage() >= frame.getMaxDamage()) { - return null; - } - return frame; - } + @Override + public ItemStack frameUsed(IBeeHousing housing, ItemStack frame, IBee queen, int wear) { + frame.setItemDamage(frame.getItemDamage() + wear); + if (frame.getItemDamage() >= frame.getMaxDamage()) { + return null; + } + return frame; + } - @Override - public float getFloweringModifier(IBeeGenome genome, float currentModifier) { - return 1.0f; - } + @Override + public float getFloweringModifier(IBeeGenome genome, float currentModifier) { + return 1.0f; + } - @Override - public boolean isSealed() { - return false; - } + @Override + public boolean isSealed() { + return false; + } - @Override - public boolean isSelfLighted() { - return false; - } + @Override + public boolean isSelfLighted() { + return false; + } - @Override - public boolean isSunlightSimulated() { - return false; - } + @Override + public boolean isSunlightSimulated() { + return false; + } - @Override - public boolean isHellish() { - return false; - } + @Override + public boolean isHellish() { + return false; + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - itemIcon = ExtraBees.proxy.getIcon(register, "frame" + frame.toString()); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = ExtraBees.proxy.getIcon(register, "frame" + frame.toString()); + } - @Override - public float getGeneticDecay(IBeeGenome genome, float currentModifier) { - return 1.0f; - } + @Override + public float getGeneticDecay(IBeeGenome genome, float currentModifier) { + return 1.0f; + } - @Override - public IBeeModifier getBeeModifier() { - return this; - } + @Override + public IBeeModifier getBeeModifier() { + return this; + } } diff --git a/src/main/java/binnie/extrabees/apiary/ModuleApiary.java b/src/main/java/binnie/extrabees/apiary/ModuleApiary.java index 659f5dcb..ba111be3 100644 --- a/src/main/java/binnie/extrabees/apiary/ModuleApiary.java +++ b/src/main/java/binnie/extrabees/apiary/ModuleApiary.java @@ -18,101 +18,125 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.ShapedOreRecipe; public class ModuleApiary implements IInitializable { - public static Block blockComponent; + public static Block blockComponent; - protected BinnieCircuitLayout stimulatorLayout; + protected BinnieCircuitLayout stimulatorLayout; - @Override - public void preInit() { - MachineGroup machineGroup = new MachineGroup(ExtraBees.instance, "alveay", "alveary", AlvearyMachine.values()); - machineGroup.setCreativeTab(Tabs.tabApiculture); - BinnieCore.proxy.registerTileEntity(TileExtraBeeAlveary.class, "extrabees.tile.alveary", BinnieCore.proxy.createObject("binnie.core.machines.RendererMachine")); - ModuleApiary.blockComponent = machineGroup.getBlock(); - AlvearyMutator.addMutationItem(new ItemStack(Blocks.soul_sand), 1.5f); - AlvearyMutator.addMutationItem(Mods.ic2.stack("UranFuel"), 4.0f); - AlvearyMutator.addMutationItem(Mods.ic2.stack("MOXFuel"), 10.0f); - AlvearyMutator.addMutationItem(Mods.ic2.stack("Plutonium"), 8.0f); - AlvearyMutator.addMutationItem(Mods.ic2.stack("smallPlutonium"), 5.0f); - AlvearyMutator.addMutationItem(Mods.ic2.stack("Uran235"), 4.0f); - AlvearyMutator.addMutationItem(Mods.ic2.stack("smallUran235"), 2.5f); - AlvearyMutator.addMutationItem(Mods.ic2.stack("Uran238"), 2.0f); - AlvearyMutator.addMutationItem(new ItemStack(Items.ender_pearl), 2.0f); - AlvearyMutator.addMutationItem(new ItemStack(Items.ender_eye), 4.0f); + @Override + public void preInit() { + MachineGroup machineGroup = new MachineGroup(ExtraBees.instance, "alveay", "alveary", AlvearyMachine.values()); + machineGroup.setCreativeTab(Tabs.tabApiculture); + BinnieCore.proxy.registerTileEntity( + TileExtraBeeAlveary.class, + "extrabees.tile.alveary", + BinnieCore.proxy.createObject("binnie.core.machines.RendererMachine")); + ModuleApiary.blockComponent = machineGroup.getBlock(); + AlvearyMutator.addMutationItem(new ItemStack(Blocks.soul_sand), 1.5f); + AlvearyMutator.addMutationItem(Mods.ic2.stack("UranFuel"), 4.0f); + AlvearyMutator.addMutationItem(Mods.ic2.stack("MOXFuel"), 10.0f); + AlvearyMutator.addMutationItem(Mods.ic2.stack("Plutonium"), 8.0f); + AlvearyMutator.addMutationItem(Mods.ic2.stack("smallPlutonium"), 5.0f); + AlvearyMutator.addMutationItem(Mods.ic2.stack("Uran235"), 4.0f); + AlvearyMutator.addMutationItem(Mods.ic2.stack("smallUran235"), 2.5f); + AlvearyMutator.addMutationItem(Mods.ic2.stack("Uran238"), 2.0f); + AlvearyMutator.addMutationItem(new ItemStack(Items.ender_pearl), 2.0f); + AlvearyMutator.addMutationItem(new ItemStack(Items.ender_eye), 4.0f); - for (EnumHiveFrame frame : EnumHiveFrame.values()) { - GameRegistry.registerItem(frame.item = new ItemHiveFrame(frame), "hiveFrame." + frame.name().toLowerCase()); - } - } + for (EnumHiveFrame frame : EnumHiveFrame.values()) { + GameRegistry.registerItem( + frame.item = new ItemHiveFrame(frame), + "hiveFrame." + frame.name().toLowerCase()); + } + } - @Override - public void postInit() { - EnumHiveFrame.init(); - GameRegistry.addRecipe( - AlvearyMachine.Mutator.get(1), - "g g", " a ", "t t", - 'g', Items.gold_ingot, - 'a', Mods.forestry.block("alveary"), - 't', - new ItemStack(Mods.forestry.item("thermionicTubes"), 1, 5) - ); + @Override + public void postInit() { + EnumHiveFrame.init(); + GameRegistry.addRecipe( + AlvearyMachine.Mutator.get(1), + "g g", + " a ", + "t t", + 'g', + Items.gold_ingot, + 'a', + Mods.forestry.block("alveary"), + 't', + new ItemStack(Mods.forestry.item("thermionicTubes"), 1, 5)); - GameRegistry.addRecipe( - AlvearyMachine.Frame.get(1), - "iii", "tat", " t ", - 'i', Items.iron_ingot, - 'a', Mods.forestry.block("alveary"), - 't', new ItemStack(Mods.forestry.item("thermionicTubes"), 1, 4) - ); + GameRegistry.addRecipe( + AlvearyMachine.Frame.get(1), + "iii", + "tat", + " t ", + 'i', + Items.iron_ingot, + 'a', + Mods.forestry.block("alveary"), + 't', + new ItemStack(Mods.forestry.item("thermionicTubes"), 1, 4)); - GameRegistry.addRecipe( - AlvearyMachine.RainShield.get(1), - " b ", "bab", "t t", - 'b', Items.brick, - 'a', Mods.forestry.block("alveary"), - 't', new ItemStack(Mods.forestry.item("thermionicTubes"), 1, 4) - ); + GameRegistry.addRecipe( + AlvearyMachine.RainShield.get(1), + " b ", + "bab", + "t t", + 'b', + Items.brick, + 'a', + Mods.forestry.block("alveary"), + 't', + new ItemStack(Mods.forestry.item("thermionicTubes"), 1, 4)); - GameRegistry.addRecipe( - AlvearyMachine.Lighting.get(1), - "iii", "iai", " t ", - 'i', Items.glowstone_dust, - 'a', Mods.forestry.block("alveary"), - 't', new ItemStack(Mods.forestry.item("thermionicTubes"), 1, 4) - ); + GameRegistry.addRecipe( + AlvearyMachine.Lighting.get(1), + "iii", + "iai", + " t ", + 'i', + Items.glowstone_dust, + 'a', + Mods.forestry.block("alveary"), + 't', + new ItemStack(Mods.forestry.item("thermionicTubes"), 1, 4)); - GameRegistry.addRecipe( - AlvearyMachine.Stimulator.get(1), - "kik", "iai", " t ", - 'i', Items.gold_nugget, - 'a', Mods.forestry.block("alveary"), - 't', new ItemStack(Mods.forestry.item("thermionicTubes"), 1, 4), - 'k', new ItemStack(Mods.forestry.item("chipsets"), 1, 2) - ); + GameRegistry.addRecipe( + AlvearyMachine.Stimulator.get(1), + "kik", + "iai", + " t ", + 'i', + Items.gold_nugget, + 'a', + Mods.forestry.block("alveary"), + 't', + new ItemStack(Mods.forestry.item("thermionicTubes"), 1, 4), + 'k', + new ItemStack(Mods.forestry.item("chipsets"), 1, 2)); - GameRegistry.addRecipe( - AlvearyMachine.Hatchery.get(1), - "i i", " a ", "iti", - 'i', Blocks.glass_pane, - 'a', Mods.forestry.block("alveary"), - 't', new ItemStack(Mods.forestry.item("thermionicTubes"), 1, 5) - ); + GameRegistry.addRecipe( + AlvearyMachine.Hatchery.get(1), + "i i", + " a ", + "iti", + 'i', + Blocks.glass_pane, + 'a', + Mods.forestry.block("alveary"), + 't', + new ItemStack(Mods.forestry.item("thermionicTubes"), 1, 5)); - GameRegistry.addRecipe(new ShapedOreRecipe( - AlvearyMachine.Transmission.get(1), - new Object[]{ - " t ", "tat", " t ", - 'a', Mods.forestry.block("alveary"), - 't', "gearTin" - } - )); + GameRegistry.addRecipe(new ShapedOreRecipe( + AlvearyMachine.Transmission.get(1), + new Object[] {" t ", "tat", " t ", 'a', Mods.forestry.block("alveary"), 't', "gearTin"})); - for (CircuitType type : CircuitType.values()) { - type.createCircuit(stimulatorLayout); - } - } + for (CircuitType type : CircuitType.values()) { + type.createCircuit(stimulatorLayout); + } + } - @Override - public void init() { - stimulatorLayout = new BinnieCircuitLayout(ExtraBees.instance, "Stimulator"); - } + @Override + public void init() { + stimulatorLayout = new BinnieCircuitLayout(ExtraBees.instance, "Stimulator"); + } } diff --git a/src/main/java/binnie/extrabees/apiary/TileExtraBeeAlveary.java b/src/main/java/binnie/extrabees/apiary/TileExtraBeeAlveary.java index aba40a05..7e480de5 100644 --- a/src/main/java/binnie/extrabees/apiary/TileExtraBeeAlveary.java +++ b/src/main/java/binnie/extrabees/apiary/TileExtraBeeAlveary.java @@ -12,540 +12,535 @@ import forestry.api.multiblock.IMultiblockComponent; import forestry.api.multiblock.IMultiblockController; import forestry.api.multiblock.IMultiblockLogicAlveary; import forestry.api.multiblock.MultiblockManager; +import java.util.LinkedList; +import java.util.List; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChunkCoordinates; -import java.util.LinkedList; -import java.util.List; +public class TileExtraBeeAlveary extends TileEntityMachine + implements IAlvearyComponent.Active, + IAlvearyComponent.BeeModifier, + IAlvearyComponent.BeeListener, + IBeeListener, + IBeeModifier { + protected IMultiblockLogicAlveary structureLogic; + protected ChunkCoordinates min; + protected ChunkCoordinates max; -public class TileExtraBeeAlveary extends TileEntityMachine implements - IAlvearyComponent.Active, - IAlvearyComponent.BeeModifier, - IAlvearyComponent.BeeListener, - IBeeListener, - IBeeModifier { - protected IMultiblockLogicAlveary structureLogic; - protected ChunkCoordinates min; - protected ChunkCoordinates max; + public TileExtraBeeAlveary() { + structureLogic = MultiblockManager.logicFactory.createAlvearyLogic(); + } - public TileExtraBeeAlveary() { - structureLogic = MultiblockManager.logicFactory.createAlvearyLogic(); - } + public TileExtraBeeAlveary(AlvearyMachine.AlvearyPackage alvearyPackage) { + super(alvearyPackage); + structureLogic = MultiblockManager.logicFactory.createAlvearyLogic(); + } - public TileExtraBeeAlveary(AlvearyMachine.AlvearyPackage alvearyPackage) { - super(alvearyPackage); - structureLogic = MultiblockManager.logicFactory.createAlvearyLogic(); - } + @Override + public ChunkCoordinates getCoordinates() { + return new ChunkCoordinates(xCoord, yCoord, zCoord); + } - @Override - public ChunkCoordinates getCoordinates() { - return new ChunkCoordinates(xCoord, yCoord, zCoord); - } + @Override + public GameProfile getOwner() { + return getMachine().getOwner(); + } - @Override - public GameProfile getOwner() { - return getMachine().getOwner(); - } + public List getAlvearyBlocks() { + LinkedList tiles = new LinkedList<>(); + if (min == null || max == null) { + return tiles; + } - public List getAlvearyBlocks() { - LinkedList tiles = new LinkedList<>(); - if (min == null || max == null) { - return tiles; - } + for (int x = min.posX; x <= max.posX; ++x) { + for (int z = min.posZ; z <= max.posZ; ++z) { + for (int y = min.posY; y <= max.posY; ++y) { + TileEntity tile = getWorldObj().getTileEntity(x, y, z); + if (tile instanceof IMultiblockComponent) { + tiles.add(tile); + } + } + } + } + return tiles; + } - for (int x = min.posX; x <= max.posX; ++x) { - for (int z = min.posZ; z <= max.posZ; ++z) { - for (int y = min.posY; y <= max.posY; ++y) { - TileEntity tile = getWorldObj().getTileEntity(x, y, z); - if (tile instanceof IMultiblockComponent) { - tiles.add(tile); - } - } - } - } - return tiles; - } + @Override + public void onMachineAssembled(IMultiblockController arg0, ChunkCoordinates min, ChunkCoordinates max) { + this.min = min; + this.max = max; + } - @Override - public void onMachineAssembled(IMultiblockController arg0, ChunkCoordinates min, ChunkCoordinates max) { - this.min = min; - this.max = max; - } + @Override + public void onMachineBroken() { + min = null; + max = null; + } - @Override - public void onMachineBroken() { - min = null; - max = null; - } + @Override + public IMultiblockLogicAlveary getMultiblockLogic() { + return structureLogic; + } - @Override - public IMultiblockLogicAlveary getMultiblockLogic() { - return structureLogic; - } + @Override + public boolean canUpdate() { + return false; + } - @Override - public boolean canUpdate() { - return false; - } + @Override + public void updateClient(int arg0) { + super.updateEntity(); + } - @Override - public void updateClient(int arg0) { - super.updateEntity(); - } + @Override + public void updateServer(int arg0) { + super.updateEntity(); + } - @Override - public void updateServer(int arg0) { - super.updateEntity(); - } + @Override + public void invalidate() { + super.invalidate(); + structureLogic.invalidate(worldObj, this); + } - @Override - public void invalidate() { - super.invalidate(); - structureLogic.invalidate(worldObj, this); - } + @Override + public void onChunkUnload() { + super.onChunkUnload(); + structureLogic.onChunkUnload(worldObj, this); + } - @Override - public void onChunkUnload() { - super.onChunkUnload(); - structureLogic.onChunkUnload(worldObj, this); - } + @Override + public void validate() { + structureLogic.validate(worldObj, this); + } - @Override - public void validate() { - structureLogic.validate(worldObj, this); - } + @Override + public IBeeModifier getBeeModifier() { + return getMachine().getInterface(IBeeModifier.class); + } - @Override - public IBeeModifier getBeeModifier() { - return getMachine().getInterface(IBeeModifier.class); - } + @Override + public IBeeListener getBeeListener() { + return getMachine().getInterface(IBeeListener.class); + } - @Override - public IBeeListener getBeeListener() { - return getMachine().getInterface(IBeeListener.class); - } + @Override + public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { + if (getBeeModifier() == null) { + return 1.0f; + } + return getBeeModifier().getTerritoryModifier(genome, currentModifier); + } - @Override - public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { - if (getBeeModifier() == null) { - return 1.0f; - } - return getBeeModifier().getTerritoryModifier(genome, currentModifier); - } + @Override + public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + if (getBeeModifier() == null) { + return 1.0f; + } + return getBeeModifier().getMutationModifier(genome, mate, currentModifier); + } - @Override - public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - if (getBeeModifier() == null) { - return 1.0f; - } - return getBeeModifier().getMutationModifier(genome, mate, currentModifier); - } + @Override + public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + if (getBeeModifier() == null) { + return 1.0f; + } + return getBeeModifier().getLifespanModifier(genome, mate, currentModifier); + } - @Override - public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - if (getBeeModifier() == null) { - return 1.0f; - } - return getBeeModifier().getLifespanModifier(genome, mate, currentModifier); - } + @Override + public float getProductionModifier(IBeeGenome genome, float currentModifier) { + if (getBeeModifier() == null) { + return 1.0f; + } + return getBeeModifier().getProductionModifier(genome, currentModifier); + } - @Override - public float getProductionModifier(IBeeGenome genome, float currentModifier) { - if (getBeeModifier() == null) { - return 1.0f; - } - return getBeeModifier().getProductionModifier(genome, currentModifier); - } + @Override + public float getFloweringModifier(IBeeGenome genome, float currentModifier) { + if (getBeeModifier() == null) { + return 1.0f; + } + return getBeeModifier().getFloweringModifier(genome, currentModifier); + } - @Override - public float getFloweringModifier(IBeeGenome genome, float currentModifier) { - if (getBeeModifier() == null) { - return 1.0f; - } - return getBeeModifier().getFloweringModifier(genome, currentModifier); - } + @Override + public boolean isSealed() { + return getBeeModifier() != null && getBeeModifier().isSealed(); + } - @Override - public boolean isSealed() { - return getBeeModifier() != null - && getBeeModifier().isSealed(); - } + @Override + public boolean isSelfLighted() { + return getBeeModifier() != null && getBeeModifier().isSelfLighted(); + } - @Override - public boolean isSelfLighted() { - return getBeeModifier() != null - && getBeeModifier().isSelfLighted(); - } + @Override + public boolean isSunlightSimulated() { + return getBeeModifier() != null && getBeeModifier().isSunlightSimulated(); + } - @Override - public boolean isSunlightSimulated() { - return getBeeModifier() != null - && getBeeModifier().isSunlightSimulated(); - } + @Override + public boolean isHellish() { + return getBeeModifier() != null && getBeeModifier().isHellish(); + } - @Override - public boolean isHellish() { - return getBeeModifier() != null - && getBeeModifier().isHellish(); - } + @Override + public void wearOutEquipment(int amount) { + if (getBeeListener() != null) { + getBeeListener().wearOutEquipment(amount); + } + } - @Override - public void wearOutEquipment(int amount) { - if (getBeeListener() != null) { - getBeeListener().wearOutEquipment(amount); - } - } + @Override + public void onQueenDeath() { + if (getBeeListener() != null) { + getBeeListener().onQueenDeath(); + } + } - @Override - public void onQueenDeath() { - if (getBeeListener() != null) { - getBeeListener().onQueenDeath(); - } - } + @Override + public float getGeneticDecay(IBeeGenome genome, float currentModifier) { + return 1.0f; + } - @Override - public float getGeneticDecay(IBeeGenome genome, float currentModifier) { - return 1.0f; - } + @Override + public boolean onPollenRetrieved(IIndividual arg0) { + return false; + } - @Override - public boolean onPollenRetrieved(IIndividual arg0) { - return false; - } + @Override + public void writeToNBT(NBTTagCompound nbtTagCompound) { + super.writeToNBT(nbtTagCompound); + NBTTagCompound tag = new NBTTagCompound(); + structureLogic.writeToNBT(tag); + nbtTagCompound.setTag("structureLogic", tag); + } - @Override - public void writeToNBT(NBTTagCompound nbtTagCompound) { - super.writeToNBT(nbtTagCompound); - NBTTagCompound tag = new NBTTagCompound(); - structureLogic.writeToNBT(tag); - nbtTagCompound.setTag("structureLogic", tag); - } + @Override + public void readFromNBT(NBTTagCompound nbtTagCompound) { + super.readFromNBT(nbtTagCompound); + NBTTagCompound tag = nbtTagCompound.getCompoundTag("structureLogic"); + if (tag != null) { + structureLogic.readFromNBT(tag); + } + } - @Override - public void readFromNBT(NBTTagCompound nbtTagCompound) { - super.readFromNBT(nbtTagCompound); - NBTTagCompound tag = nbtTagCompound.getCompoundTag("structureLogic"); - if (tag != null) { - structureLogic.readFromNBT(tag); - } - } - - // TODO why its commented? - // boolean init; - // //IStructureLogic structureLogic; - // private boolean isMaster; - // protected int masterX; - // protected int masterZ; - // protected int masterY; - // List tiles; - // - // @Override - // public void updateEntity() { - // super.updateEntity(); - // if (!BinnieCore.proxy.isSimulating(this.worldObj)) { - // return; - // } - // if (this.worldObj.getWorldTime() % 200L == 0L) { - // if (!this.isIntegratedIntoStructure() || this.isMaster()) { - // // this.validateStructure(); - // } - // // IMultiblockComponent master = this.getCentralTE(); - // // if (master == null) { - // // return; - // // } - // // if (this.getBeeListener() != null) { - // // - // ((IAlvearyComponent)master).registerBeeListener(this.getBeeListener()); - // // } - // if (this.getBeeModifier() != null) { - // // - // ((IAlvearyComponent)master).registerBeeModifier(this.getBeeModifier()); - // } - // this.init = true; - // } - // } - // - // @Override - // public void readFromNBT(NBTTagCompound nbttagcompound) { - // super.readFromNBT(nbttagcompound); - // this.isMaster = nbttagcompound.getBoolean("IsMaster"); - // this.masterX = nbttagcompound.getInteger("MasterX"); - // this.masterY = nbttagcompound.getInteger("MasterY"); - // this.masterZ = nbttagcompound.getInteger("MasterZ"); - // if (this.isMaster) { - // this.makeMaster(); - // } - // // this.structureLogic.readFromNBT(nbttagcompound); - // // this.updateAlvearyBlocks(); - // this.init = false; - // } - // - // @Override - // public void writeToNBT(NBTTagCompound nbttagcompound) { - // super.writeToNBT(nbttagcompound); - // nbttagcompound.setBoolean("IsMaster", this.isMaster); - // nbttagcompound.setInteger("MasterX", this.masterX); - // nbttagcompound.setInteger("MasterY", this.masterY); - // nbttagcompound.setInteger("MasterZ", this.masterZ); - // //this.structureLogic.writeToNBT(nbttagcompound); - // } - // - // AlvearyMachine.AlvearyPackage getAlvearyPackage() { - // return (AlvearyMachine.AlvearyPackage)this.getMachine().getPackage(); - // } - // - // public TileExtraBeeAlveary() { - // this.init = false; - // this.masterY = -99; - // this.tiles = new ArrayList(); - // //this.structureLogic = - // Binnie.Genetics.getBeeRoot().createAlvearyStructureLogic((IAlvearyComponent)this); - // } - // - // public TileExtraBeeAlveary(AlvearyMachine.AlvearyPackage - // alvearyPackage) { - // super(alvearyPackage); - // this.init = false; - // this.masterY = -99; - // this.tiles = new ArrayList(); - // // this.structureLogic = - // Binnie.Genetics.getBeeRoot().createAlvearyStructureLogic((IAlvearyComponent)this); - // } - // - // - // public void makeMaster() { - // } - // - // // public void onStructureReset() { - // // this.setCentralTE(null); - // // this.isMaster = false; - // // this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, - // this.zCoord); - // // this.updateAlvearyBlocks(); - // // } - // // - // // public IMultiblockComponent getCentralTE() { - // // if (this.worldObj == null || !this.isIntegratedIntoStructure()) { - // // return null; - // // } - // // if (this.isMaster()) { - // // return (IMultiblockComponent)this; - // // } - // // TileEntity tile = this.worldObj.getTileEntity(this.masterX, - // this.masterY, this.masterZ); - // // if (!(tile instanceof IMultiblockComponent)) { - // // return null; - // // } - // // IMultiblockComponent master = - // (IMultiblockComponent)this.worldObj.getTileEntity(this.masterX, - // this.masterY, this.masterZ); - // // if (master.isMaster()) { - // // return master; - // // } - // // return null; - // // } - // - // // public void validateStructure() { - // // this.structureLogic.validateStructure(); - // // this.updateAlvearyBlocks(); - // // } - // - // private boolean isSameTile(TileEntity tile) { - // return tile.xCoord == this.xCoord && tile.yCoord == this.yCoord && - // tile.zCoord == this.zCoord; - // } - // - // // public void setCentralTE(TileEntity tile) { - // // if (tile == null || tile == this || this.isSameTile(tile)) { - // // boolean b = false; - // // this.masterZ = (b ? 1 : 0); - // // this.masterX = (b ? 1 : 0); - // // this.masterY = -99; - // // this.updateAlvearyBlocks(); - // // return; - // // } - // // this.isMaster = false; - // // this.masterX = tile.xCoord; - // // this.masterY = tile.yCoord; - // // this.masterZ = tile.zCoord; - // // this.markDirty(); - // // if (this.getBeeListener() != null) { - // // ((IAlvearyComponent)tile).registerBeeListener(this.getBeeListener()); - // // } - // // if (this.getBeeModifier() != null) { - // // ((IAlvearyComponent)tile).registerBeeModifier(this.getBeeModifier()); - // // } - // // this.updateAlvearyBlocks(); - // // } - // - // public boolean isMaster() { - // return this.isMaster; - // } - // - // protected boolean hasMaster() { - // return this.masterY >= 0; - // } - // - // public boolean isIntegratedIntoStructure() { - // return this.isMaster || this.masterY >= 0; - // } - // - // public void registerBeeModifier(IBeeModifier modifier) { - // } - // - // public void removeBeeModifier(IBeeModifier modifier) { - // } - // - // public void addTemperatureChange(float change, float - // boundaryDown, float boundaryUp) { - // } - // - // public void addHumidityChange(float change, float - // boundaryDown, float boundaryUp) { - // } - // - // public boolean hasFunction() { - // return true; - // } - // - // public IBeeModifier getBeeModifier() { - // return this.getMachine().getInterface(IBeeModifier.class); - // } - // - // public IBeeListener getBeeListener() { - // return this.getMachine().getInterface(IBeeListener.class); - // } - // - // public float getTerritoryModifier(IBeeGenome genome, float - // currentModifier) { - // return (this.getBeeModifier() == null) ? 1.0f : - // this.getBeeModifier().getTerritoryModifier(genome, currentModifier); - // } - // - // public float getMutationModifier(IBeeGenome genome, final - // IBeeGenome mate, float currentModifier) { - // return (this.getBeeModifier() == null) ? 1.0f : - // this.getBeeModifier().getMutationModifier(genome, mate, currentModifier); - // } - // - // public float getLifespanModifier(IBeeGenome genome, final - // IBeeGenome mate, float currentModifier) { - // return (this.getBeeModifier() == null) ? 1.0f : - // this.getBeeModifier().getLifespanModifier(genome, mate, currentModifier); - // } - // - // public float getProductionModifier(IBeeGenome genome, float - // currentModifier) { - // return (this.getBeeModifier() == null) ? 1.0f : - // this.getBeeModifier().getProductionModifier(genome, currentModifier); - // } - // - // public float getFloweringModifier(IBeeGenome genome, float - // currentModifier) { - // return (this.getBeeModifier() == null) ? 1.0f : - // this.getBeeModifier().getFloweringModifier(genome, currentModifier); - // } - // - // public boolean isSealed() { - // return this.getBeeModifier() != null && this.getBeeModifier().isSealed(); - // } - // - // public boolean isSelfLighted() { - // return this.getBeeModifier() != null && - // this.getBeeModifier().isSelfLighted(); - // } - // - // public boolean isSunlightSimulated() { - // return this.getBeeModifier() != null && - // this.getBeeModifier().isSunlightSimulated(); - // } - // - // public boolean isHellish() { - // return this.getBeeModifier() != null && - // this.getBeeModifier().isHellish(); - // } - // - // public void registerBeeListener(IBeeListener event) { - // } - // - // public void removeBeeListener(IBeeListener event) { - // } - // - // // public void onQueenChange(ItemStack queen) { - // // if (this.getBeeListener() != null) { - // // this.getBeeListener().onQueenChange(queen); - // // } - // // } - // // - // public void wearOutEquipment(int amount) { - // if (this.getBeeListener() != null) { - // this.getBeeListener().wearOutEquipment(amount); - // } - // } - // - // // public void onQueenDeath(IBee queen) { - // // if (this.getBeeListener() != null) { - // // this.getBeeListener().onQueenDeath(queen); - // // } - // // } - // // - // // public void onPostQueenDeath(IBee queen) { - // // if (this.getBeeListener() != null) { - // // this.getBeeListener().onPostQueenDeath(queen); - // // } - // // } - // - // public boolean onPollenRetrieved(IBee queen, IIndividual - // pollen, boolean isHandled) { - // return false; - // } - // - // public boolean onEggLaid(IBee queen) { - // return false; - // } - // - // public float getGeneticDecay(IBeeGenome genome, float - // currentModifier) { - // return 1.0f; - // } - // - // // public IBeeHousing getBeeHousing() { - // // return (this.getCentralTE() == null) ? null : - // ((IBeeHousing)this.getCentralTE()); - // // } - // - // // public List getAlvearyBlocks() { - // // this.updateAlvearyBlocks(); - // // return this.tiles; - // // } - // - // // private void updateAlvearyBlocks() { - // // this.tiles.clear(); - // // if (this.getCentralTE() != null) { - // // IMultiblockComponent struct = this.getCentralTE(); - // // if (!struct.isIntegratedIntoStructure()) { - // // return; - // // } - // // TileEntity central = (TileEntity)struct; - // // for (int x = -2; x <= 2; ++x) { - // // for (int z = -2; z <= 2; ++z) { - // // for (int y = -2; y <= 2; ++y) { - // // TileEntity tile = this.getWorldObj().getTileEntity(this.xCoord + - // x, this.yCoord + y, this.zCoord + z); - // // if (tile != null && tile instanceof IMultiblockComponent && - // ((IMultiblockComponent)tile).getMultiblockLogic().getCentralTE() == - // struct) { - // // this.tiles.add(tile); - // // } - // // } - // // } - // // } - // // } - // // } - // - // public ISidedInventory getStructureInventory() { - // return this.getMachine().getInterface(ISidedInventory.class); - // } - // + // TODO why its commented? + // boolean init; + // //IStructureLogic structureLogic; + // private boolean isMaster; + // protected int masterX; + // protected int masterZ; + // protected int masterY; + // List tiles; + // + // @Override + // public void updateEntity() { + // super.updateEntity(); + // if (!BinnieCore.proxy.isSimulating(this.worldObj)) { + // return; + // } + // if (this.worldObj.getWorldTime() % 200L == 0L) { + // if (!this.isIntegratedIntoStructure() || this.isMaster()) { + // // this.validateStructure(); + // } + // // IMultiblockComponent master = this.getCentralTE(); + // // if (master == null) { + // // return; + // // } + // // if (this.getBeeListener() != null) { + // // + // ((IAlvearyComponent)master).registerBeeListener(this.getBeeListener()); + // // } + // if (this.getBeeModifier() != null) { + // // + // ((IAlvearyComponent)master).registerBeeModifier(this.getBeeModifier()); + // } + // this.init = true; + // } + // } + // + // @Override + // public void readFromNBT(NBTTagCompound nbttagcompound) { + // super.readFromNBT(nbttagcompound); + // this.isMaster = nbttagcompound.getBoolean("IsMaster"); + // this.masterX = nbttagcompound.getInteger("MasterX"); + // this.masterY = nbttagcompound.getInteger("MasterY"); + // this.masterZ = nbttagcompound.getInteger("MasterZ"); + // if (this.isMaster) { + // this.makeMaster(); + // } + // // this.structureLogic.readFromNBT(nbttagcompound); + // // this.updateAlvearyBlocks(); + // this.init = false; + // } + // + // @Override + // public void writeToNBT(NBTTagCompound nbttagcompound) { + // super.writeToNBT(nbttagcompound); + // nbttagcompound.setBoolean("IsMaster", this.isMaster); + // nbttagcompound.setInteger("MasterX", this.masterX); + // nbttagcompound.setInteger("MasterY", this.masterY); + // nbttagcompound.setInteger("MasterZ", this.masterZ); + // //this.structureLogic.writeToNBT(nbttagcompound); + // } + // + // AlvearyMachine.AlvearyPackage getAlvearyPackage() { + // return (AlvearyMachine.AlvearyPackage)this.getMachine().getPackage(); + // } + // + // public TileExtraBeeAlveary() { + // this.init = false; + // this.masterY = -99; + // this.tiles = new ArrayList(); + // //this.structureLogic = + // Binnie.Genetics.getBeeRoot().createAlvearyStructureLogic((IAlvearyComponent)this); + // } + // + // public TileExtraBeeAlveary(AlvearyMachine.AlvearyPackage + // alvearyPackage) { + // super(alvearyPackage); + // this.init = false; + // this.masterY = -99; + // this.tiles = new ArrayList(); + // // this.structureLogic = + // Binnie.Genetics.getBeeRoot().createAlvearyStructureLogic((IAlvearyComponent)this); + // } + // + // + // public void makeMaster() { + // } + // + // // public void onStructureReset() { + // // this.setCentralTE(null); + // // this.isMaster = false; + // // this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, + // this.zCoord); + // // this.updateAlvearyBlocks(); + // // } + // // + // // public IMultiblockComponent getCentralTE() { + // // if (this.worldObj == null || !this.isIntegratedIntoStructure()) { + // // return null; + // // } + // // if (this.isMaster()) { + // // return (IMultiblockComponent)this; + // // } + // // TileEntity tile = this.worldObj.getTileEntity(this.masterX, + // this.masterY, this.masterZ); + // // if (!(tile instanceof IMultiblockComponent)) { + // // return null; + // // } + // // IMultiblockComponent master = + // (IMultiblockComponent)this.worldObj.getTileEntity(this.masterX, + // this.masterY, this.masterZ); + // // if (master.isMaster()) { + // // return master; + // // } + // // return null; + // // } + // + // // public void validateStructure() { + // // this.structureLogic.validateStructure(); + // // this.updateAlvearyBlocks(); + // // } + // + // private boolean isSameTile(TileEntity tile) { + // return tile.xCoord == this.xCoord && tile.yCoord == this.yCoord && + // tile.zCoord == this.zCoord; + // } + // + // // public void setCentralTE(TileEntity tile) { + // // if (tile == null || tile == this || this.isSameTile(tile)) { + // // boolean b = false; + // // this.masterZ = (b ? 1 : 0); + // // this.masterX = (b ? 1 : 0); + // // this.masterY = -99; + // // this.updateAlvearyBlocks(); + // // return; + // // } + // // this.isMaster = false; + // // this.masterX = tile.xCoord; + // // this.masterY = tile.yCoord; + // // this.masterZ = tile.zCoord; + // // this.markDirty(); + // // if (this.getBeeListener() != null) { + // // ((IAlvearyComponent)tile).registerBeeListener(this.getBeeListener()); + // // } + // // if (this.getBeeModifier() != null) { + // // ((IAlvearyComponent)tile).registerBeeModifier(this.getBeeModifier()); + // // } + // // this.updateAlvearyBlocks(); + // // } + // + // public boolean isMaster() { + // return this.isMaster; + // } + // + // protected boolean hasMaster() { + // return this.masterY >= 0; + // } + // + // public boolean isIntegratedIntoStructure() { + // return this.isMaster || this.masterY >= 0; + // } + // + // public void registerBeeModifier(IBeeModifier modifier) { + // } + // + // public void removeBeeModifier(IBeeModifier modifier) { + // } + // + // public void addTemperatureChange(float change, float + // boundaryDown, float boundaryUp) { + // } + // + // public void addHumidityChange(float change, float + // boundaryDown, float boundaryUp) { + // } + // + // public boolean hasFunction() { + // return true; + // } + // + // public IBeeModifier getBeeModifier() { + // return this.getMachine().getInterface(IBeeModifier.class); + // } + // + // public IBeeListener getBeeListener() { + // return this.getMachine().getInterface(IBeeListener.class); + // } + // + // public float getTerritoryModifier(IBeeGenome genome, float + // currentModifier) { + // return (this.getBeeModifier() == null) ? 1.0f : + // this.getBeeModifier().getTerritoryModifier(genome, currentModifier); + // } + // + // public float getMutationModifier(IBeeGenome genome, final + // IBeeGenome mate, float currentModifier) { + // return (this.getBeeModifier() == null) ? 1.0f : + // this.getBeeModifier().getMutationModifier(genome, mate, currentModifier); + // } + // + // public float getLifespanModifier(IBeeGenome genome, final + // IBeeGenome mate, float currentModifier) { + // return (this.getBeeModifier() == null) ? 1.0f : + // this.getBeeModifier().getLifespanModifier(genome, mate, currentModifier); + // } + // + // public float getProductionModifier(IBeeGenome genome, float + // currentModifier) { + // return (this.getBeeModifier() == null) ? 1.0f : + // this.getBeeModifier().getProductionModifier(genome, currentModifier); + // } + // + // public float getFloweringModifier(IBeeGenome genome, float + // currentModifier) { + // return (this.getBeeModifier() == null) ? 1.0f : + // this.getBeeModifier().getFloweringModifier(genome, currentModifier); + // } + // + // public boolean isSealed() { + // return this.getBeeModifier() != null && this.getBeeModifier().isSealed(); + // } + // + // public boolean isSelfLighted() { + // return this.getBeeModifier() != null && + // this.getBeeModifier().isSelfLighted(); + // } + // + // public boolean isSunlightSimulated() { + // return this.getBeeModifier() != null && + // this.getBeeModifier().isSunlightSimulated(); + // } + // + // public boolean isHellish() { + // return this.getBeeModifier() != null && + // this.getBeeModifier().isHellish(); + // } + // + // public void registerBeeListener(IBeeListener event) { + // } + // + // public void removeBeeListener(IBeeListener event) { + // } + // + // // public void onQueenChange(ItemStack queen) { + // // if (this.getBeeListener() != null) { + // // this.getBeeListener().onQueenChange(queen); + // // } + // // } + // // + // public void wearOutEquipment(int amount) { + // if (this.getBeeListener() != null) { + // this.getBeeListener().wearOutEquipment(amount); + // } + // } + // + // // public void onQueenDeath(IBee queen) { + // // if (this.getBeeListener() != null) { + // // this.getBeeListener().onQueenDeath(queen); + // // } + // // } + // // + // // public void onPostQueenDeath(IBee queen) { + // // if (this.getBeeListener() != null) { + // // this.getBeeListener().onPostQueenDeath(queen); + // // } + // // } + // + // public boolean onPollenRetrieved(IBee queen, IIndividual + // pollen, boolean isHandled) { + // return false; + // } + // + // public boolean onEggLaid(IBee queen) { + // return false; + // } + // + // public float getGeneticDecay(IBeeGenome genome, float + // currentModifier) { + // return 1.0f; + // } + // + // // public IBeeHousing getBeeHousing() { + // // return (this.getCentralTE() == null) ? null : + // ((IBeeHousing)this.getCentralTE()); + // // } + // + // // public List getAlvearyBlocks() { + // // this.updateAlvearyBlocks(); + // // return this.tiles; + // // } + // + // // private void updateAlvearyBlocks() { + // // this.tiles.clear(); + // // if (this.getCentralTE() != null) { + // // IMultiblockComponent struct = this.getCentralTE(); + // // if (!struct.isIntegratedIntoStructure()) { + // // return; + // // } + // // TileEntity central = (TileEntity)struct; + // // for (int x = -2; x <= 2; ++x) { + // // for (int z = -2; z <= 2; ++z) { + // // for (int y = -2; y <= 2; ++y) { + // // TileEntity tile = this.getWorldObj().getTileEntity(this.xCoord + + // x, this.yCoord + y, this.zCoord + z); + // // if (tile != null && tile instanceof IMultiblockComponent && + // ((IMultiblockComponent)tile).getMultiblockLogic().getCentralTE() == + // struct) { + // // this.tiles.add(tile); + // // } + // // } + // // } + // // } + // // } + // // } + // + // public ISidedInventory getStructureInventory() { + // return this.getMachine().getInterface(ISidedInventory.class); + // } + // } diff --git a/src/main/java/binnie/extrabees/apiary/machine/AlvearyMachine.java b/src/main/java/binnie/extrabees/apiary/machine/AlvearyMachine.java index e39b5aa7..c0dcc913 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/AlvearyMachine.java +++ b/src/main/java/binnie/extrabees/apiary/machine/AlvearyMachine.java @@ -19,55 +19,56 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; public enum AlvearyMachine implements IMachineType { - Mutator(MutatorAlvearyPackage.class), - Frame(FrameAlvearyPackage.class), - RainShield(RainShieldAlvearyPackage.class), - Lighting(LightingAlvearyPackage.class), - Stimulator(StimulatorAlvearyPackage.class), - Hatchery(HatcheryAlvearyPackage.class), - Transmission(TransmissionAlvearyPackage.class); + Mutator(MutatorAlvearyPackage.class), + Frame(FrameAlvearyPackage.class), + RainShield(RainShieldAlvearyPackage.class), + Lighting(LightingAlvearyPackage.class), + Stimulator(StimulatorAlvearyPackage.class), + Hatchery(HatcheryAlvearyPackage.class), + Transmission(TransmissionAlvearyPackage.class); - protected Class cls; + protected Class cls; - AlvearyMachine(Class cls) { - this.cls = cls; - } + AlvearyMachine(Class cls) { + this.cls = cls; + } - @Override - public Class getPackageClass() { - return cls; - } + @Override + public Class getPackageClass() { + return cls; + } - public ItemStack get(int size) { - return new ItemStack(ModuleApiary.blockComponent, size, ordinal()); - } + public ItemStack get(int size) { + return new ItemStack(ModuleApiary.blockComponent, size, ordinal()); + } - @Override - public boolean isActive() { - return true; - } + @Override + public boolean isActive() { + return true; + } - public abstract static class AlvearyPackage extends MachinePackage { - protected BinnieResource machineTexture; + public abstract static class AlvearyPackage extends MachinePackage { + protected BinnieResource machineTexture; - public AlvearyPackage(String id, BinnieResource machineTexture, boolean powered) { - super(id, powered); - this.machineTexture = machineTexture; - } + public AlvearyPackage(String id, BinnieResource machineTexture, boolean powered) { + super(id, powered); + this.machineTexture = machineTexture; + } - @Override - public void createMachine(Machine machine) { - // ignored - } + @Override + public void createMachine(Machine machine) { + // ignored + } - @Override - public TileEntity createTileEntity() { - return new TileExtraBeeAlveary(this); - } + @Override + public TileEntity createTileEntity() { + return new TileExtraBeeAlveary(this); + } - @Override - public void renderMachine(Machine machine, double x, double y, double z, float partialTick, RenderBlocks renderer) { - MachineRendererBlock.instance.renderMachine(machineTexture, x, y, z, partialTick); - } - } + @Override + public void renderMachine( + Machine machine, double x, double y, double z, float partialTick, RenderBlocks renderer) { + MachineRendererBlock.instance.renderMachine(machineTexture, x, y, z, partialTick); + } + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/frame/AlvearyFrame.java b/src/main/java/binnie/extrabees/apiary/machine/frame/AlvearyFrame.java index b9ea498a..248d83bb 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/frame/AlvearyFrame.java +++ b/src/main/java/binnie/extrabees/apiary/machine/frame/AlvearyFrame.java @@ -1,5 +1,5 @@ package binnie.extrabees.apiary.machine.frame; public class AlvearyFrame { - public static final int SLOT_FRAME = 0; + public static final int SLOT_FRAME = 0; } diff --git a/src/main/java/binnie/extrabees/apiary/machine/frame/FrameAlvearyPackage.java b/src/main/java/binnie/extrabees/apiary/machine/frame/FrameAlvearyPackage.java index 734ec647..3f3d4da4 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/frame/FrameAlvearyPackage.java +++ b/src/main/java/binnie/extrabees/apiary/machine/frame/FrameAlvearyPackage.java @@ -9,16 +9,16 @@ import binnie.extrabees.core.ExtraBeeGUID; import binnie.extrabees.core.ExtraBeeTexture; public class FrameAlvearyPackage extends AlvearyMachine.AlvearyPackage implements IMachineInformation { - public FrameAlvearyPackage() { - super("frame", ExtraBeeTexture.AlvearyFrame.getTexture(), false); - } + public FrameAlvearyPackage() { + super("frame", ExtraBeeTexture.AlvearyFrame.getTexture(), false); + } - @Override - public void createMachine(Machine machine) { - new ComponentExtraBeeGUI(machine, ExtraBeeGUID.AlvearyFrame); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - inventory.addSlot(AlvearyFrame.SLOT_FRAME, "frame"); - inventory.getSlot(AlvearyFrame.SLOT_FRAME).setValidator(new FrameSlotValidator()); - new FrameComponentModifier(machine); - } + @Override + public void createMachine(Machine machine) { + new ComponentExtraBeeGUI(machine, ExtraBeeGUID.AlvearyFrame); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + inventory.addSlot(AlvearyFrame.SLOT_FRAME, "frame"); + inventory.getSlot(AlvearyFrame.SLOT_FRAME).setValidator(new FrameSlotValidator()); + new FrameComponentModifier(machine); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/frame/FrameComponentModifier.java b/src/main/java/binnie/extrabees/apiary/machine/frame/FrameComponentModifier.java index f315c41c..fccd21c7 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/frame/FrameComponentModifier.java +++ b/src/main/java/binnie/extrabees/apiary/machine/frame/FrameComponentModifier.java @@ -11,70 +11,83 @@ import forestry.api.apiculture.IHiveFrame; import net.minecraft.world.World; public class FrameComponentModifier extends ComponentBeeModifier implements IBeeModifier, IBeeListener { - public FrameComponentModifier(Machine machine) { - super(machine); - } + public FrameComponentModifier(Machine machine) { + super(machine); + } - @Override - public void wearOutEquipment(int amount) { - if (getHiveFrame() == null) { - return; - } + @Override + public void wearOutEquipment(int amount) { + if (getHiveFrame() == null) { + return; + } - World world = getMachine().getTileEntity().getWorldObj(); - int wear = Math.round(amount * 5 * Binnie.Genetics.getBeeRoot().getBeekeepingMode(world).getWearModifier()); - getInventory().setInventorySlotContents(AlvearyFrame.SLOT_FRAME, getHiveFrame().frameUsed(((TileExtraBeeAlveary) getMachine().getTileEntity()).getMultiblockLogic().getController(), getInventory().getStackInSlot(AlvearyFrame.SLOT_FRAME), null, wear)); - } + World world = getMachine().getTileEntity().getWorldObj(); + int wear = Math.round(amount + * 5 + * Binnie.Genetics.getBeeRoot().getBeekeepingMode(world).getWearModifier()); + getInventory() + .setInventorySlotContents( + AlvearyFrame.SLOT_FRAME, + getHiveFrame() + .frameUsed( + ((TileExtraBeeAlveary) getMachine().getTileEntity()) + .getMultiblockLogic() + .getController(), + getInventory().getStackInSlot(AlvearyFrame.SLOT_FRAME), + null, + wear)); + } - public IHiveFrame getHiveFrame() { - if (getInventory().getStackInSlot(AlvearyFrame.SLOT_FRAME) == null) { - return null; - } - return (IHiveFrame) getInventory().getStackInSlot(AlvearyFrame.SLOT_FRAME).getItem(); - } + public IHiveFrame getHiveFrame() { + if (getInventory().getStackInSlot(AlvearyFrame.SLOT_FRAME) == null) { + return null; + } + return (IHiveFrame) + getInventory().getStackInSlot(AlvearyFrame.SLOT_FRAME).getItem(); + } - @Override - public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { - IHiveFrame frame = getHiveFrame(); - if (frame == null) { - return 1.0f; - } - return frame.getBeeModifier().getTerritoryModifier(genome, currentModifier); - } + @Override + public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { + IHiveFrame frame = getHiveFrame(); + if (frame == null) { + return 1.0f; + } + return frame.getBeeModifier().getTerritoryModifier(genome, currentModifier); + } - @Override - public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - IHiveFrame frame = getHiveFrame(); - if (frame == null) { - return 1.0f; - } - return frame.getBeeModifier().getMutationModifier(genome, mate, currentModifier); - } + @Override + public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + IHiveFrame frame = getHiveFrame(); + if (frame == null) { + return 1.0f; + } + return frame.getBeeModifier().getMutationModifier(genome, mate, currentModifier); + } - @Override - public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - IHiveFrame frame = getHiveFrame(); - if (getHiveFrame() == null) { - return 1.0f; - } - return frame.getBeeModifier().getLifespanModifier(genome, mate, currentModifier); - } + @Override + public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + IHiveFrame frame = getHiveFrame(); + if (getHiveFrame() == null) { + return 1.0f; + } + return frame.getBeeModifier().getLifespanModifier(genome, mate, currentModifier); + } - @Override - public float getProductionModifier(IBeeGenome genome, float currentModifier) { - IHiveFrame frame = getHiveFrame(); - if (frame == null) { - return 1.0f; - } - return frame.getBeeModifier().getProductionModifier(genome, currentModifier); - } + @Override + public float getProductionModifier(IBeeGenome genome, float currentModifier) { + IHiveFrame frame = getHiveFrame(); + if (frame == null) { + return 1.0f; + } + return frame.getBeeModifier().getProductionModifier(genome, currentModifier); + } - @Override - public float getFloweringModifier(IBeeGenome genome, float currentModifier) { - IHiveFrame frame = getHiveFrame(); - if (frame == null) { - return 1.0f; - } - return frame.getBeeModifier().getFloweringModifier(genome, currentModifier); - } + @Override + public float getFloweringModifier(IBeeGenome genome, float currentModifier) { + IHiveFrame frame = getHiveFrame(); + if (frame == null) { + return 1.0f; + } + return frame.getBeeModifier().getFloweringModifier(genome, currentModifier); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/frame/FrameSlotValidator.java b/src/main/java/binnie/extrabees/apiary/machine/frame/FrameSlotValidator.java index d60cf87f..23e35946 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/frame/FrameSlotValidator.java +++ b/src/main/java/binnie/extrabees/apiary/machine/frame/FrameSlotValidator.java @@ -6,18 +6,17 @@ import forestry.api.apiculture.IHiveFrame; import net.minecraft.item.ItemStack; public class FrameSlotValidator extends SlotValidator { - public FrameSlotValidator() { - super(SlotValidator.IconFrame); - } + public FrameSlotValidator() { + super(SlotValidator.IconFrame); + } - @Override - public boolean isValid(ItemStack itemStack) { - return itemStack != null - && itemStack.getItem() instanceof IHiveFrame; - } + @Override + public boolean isValid(ItemStack itemStack) { + return itemStack != null && itemStack.getItem() instanceof IHiveFrame; + } - @Override - public String getTooltip() { - return I18N.localise("extrabees.machine.alveay.frame.tooltip"); - } + @Override + public String getTooltip() { + return I18N.localise("extrabees.machine.alveay.frame.tooltip"); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/hatchery/AlvearyHatchery.java b/src/main/java/binnie/extrabees/apiary/machine/hatchery/AlvearyHatchery.java index dcd56e8e..9d90ef67 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/hatchery/AlvearyHatchery.java +++ b/src/main/java/binnie/extrabees/apiary/machine/hatchery/AlvearyHatchery.java @@ -1,5 +1,5 @@ package binnie.extrabees.apiary.machine.hatchery; public class AlvearyHatchery { - public static final int[] SLOT_LARVAE = new int[]{0, 1, 2, 3, 4}; + public static final int[] SLOT_LARVAE = new int[] {0, 1, 2, 3, 4}; } diff --git a/src/main/java/binnie/extrabees/apiary/machine/hatchery/HatcheryAlvearyPackage.java b/src/main/java/binnie/extrabees/apiary/machine/hatchery/HatcheryAlvearyPackage.java index 672a081d..b2fd4d30 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/hatchery/HatcheryAlvearyPackage.java +++ b/src/main/java/binnie/extrabees/apiary/machine/hatchery/HatcheryAlvearyPackage.java @@ -10,17 +10,17 @@ import binnie.extrabees.core.ExtraBeeGUID; import binnie.extrabees.core.ExtraBeeTexture; public class HatcheryAlvearyPackage extends AlvearyMachine.AlvearyPackage implements IMachineInformation { - public HatcheryAlvearyPackage() { - super("hatchery", ExtraBeeTexture.AlvearyHatchery.getTexture(), false); - } + public HatcheryAlvearyPackage() { + super("hatchery", ExtraBeeTexture.AlvearyHatchery.getTexture(), false); + } - @Override - public void createMachine(Machine machine) { - new ComponentExtraBeeGUI(machine, ExtraBeeGUID.AlvearyHatchery); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - for (InventorySlot slot : inventory.addSlotArray(AlvearyHatchery.SLOT_LARVAE, "hatchery")) { - slot.setValidator(new LarvaeSlotValidator()); - } - new HatcheryComponentModifier(machine); - } + @Override + public void createMachine(Machine machine) { + new ComponentExtraBeeGUI(machine, ExtraBeeGUID.AlvearyHatchery); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + for (InventorySlot slot : inventory.addSlotArray(AlvearyHatchery.SLOT_LARVAE, "hatchery")) { + slot.setValidator(new LarvaeSlotValidator()); + } + new HatcheryComponentModifier(machine); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/hatchery/HatcheryComponentModifier.java b/src/main/java/binnie/extrabees/apiary/machine/hatchery/HatcheryComponentModifier.java index b4a3a37f..d220249b 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/hatchery/HatcheryComponentModifier.java +++ b/src/main/java/binnie/extrabees/apiary/machine/hatchery/HatcheryComponentModifier.java @@ -11,40 +11,40 @@ import forestry.api.apiculture.IBeeHousing; import forestry.api.apiculture.IBeeListener; import forestry.api.apiculture.IBeeModifier; import forestry.api.apiculture.IBeeRoot; +import java.util.Random; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import java.util.Random; - public class HatcheryComponentModifier extends ComponentBeeModifier implements IBeeModifier, IBeeListener { - public HatcheryComponentModifier(Machine machine) { - super(machine); - } + public HatcheryComponentModifier(Machine machine) { + super(machine); + } - @Override - public void onUpdate() { - if (new Random().nextInt(2400) != 0) { - return; - } + @Override + public void onUpdate() { + if (new Random().nextInt(2400) != 0) { + return; + } - TileEntity tile = getMachine().getTileEntity(); - if (!(tile instanceof TileExtraBeeAlveary)) { - return; - } + TileEntity tile = getMachine().getTileEntity(); + if (!(tile instanceof TileExtraBeeAlveary)) { + return; + } - IBeeHousing house = ((TileExtraBeeAlveary) tile).getMultiblockLogic().getController(); - if (house == null || house.getErrorLogic().hasErrors()) { - return; - } + IBeeHousing house = ((TileExtraBeeAlveary) tile).getMultiblockLogic().getController(); + if (house == null || house.getErrorLogic().hasErrors()) { + return; + } - ItemStack queenStack = house.getBeeInventory().getQueen(); - IBee queen = (queenStack == null) ? null : Binnie.Genetics.getBeeRoot().getMember(queenStack); - if (queen == null) { - return; - } + ItemStack queenStack = house.getBeeInventory().getQueen(); + IBee queen = (queenStack == null) ? null : Binnie.Genetics.getBeeRoot().getMember(queenStack); + if (queen == null) { + return; + } - IBeeRoot beeRoot = Binnie.Genetics.getBeeRoot(); - ItemStack larvae = beeRoot.getMemberStack(beeRoot.getBee(getMachine().getWorld(), queen.getGenome()), EnumBeeType.LARVAE.ordinal()); - new TransferRequest(larvae, getInventory()).transfer(true); - } + IBeeRoot beeRoot = Binnie.Genetics.getBeeRoot(); + ItemStack larvae = beeRoot.getMemberStack( + beeRoot.getBee(getMachine().getWorld(), queen.getGenome()), EnumBeeType.LARVAE.ordinal()); + new TransferRequest(larvae, getInventory()).transfer(true); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/hatchery/LarvaeSlotValidator.java b/src/main/java/binnie/extrabees/apiary/machine/hatchery/LarvaeSlotValidator.java index 2f3e7bf2..628bbe62 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/hatchery/LarvaeSlotValidator.java +++ b/src/main/java/binnie/extrabees/apiary/machine/hatchery/LarvaeSlotValidator.java @@ -7,17 +7,18 @@ import forestry.api.apiculture.EnumBeeType; import net.minecraft.item.ItemStack; public class LarvaeSlotValidator extends SlotValidator { - public LarvaeSlotValidator() { - super(SlotValidator.IconBee); - } + public LarvaeSlotValidator() { + super(SlotValidator.IconBee); + } - @Override - public boolean isValid(ItemStack itemStack) { - return Binnie.Genetics.getBeeRoot().isMember(itemStack) && Binnie.Genetics.getBeeRoot().getType(itemStack) == EnumBeeType.LARVAE; - } + @Override + public boolean isValid(ItemStack itemStack) { + return Binnie.Genetics.getBeeRoot().isMember(itemStack) + && Binnie.Genetics.getBeeRoot().getType(itemStack) == EnumBeeType.LARVAE; + } - @Override - public String getTooltip() { - return I18N.localise("extrabees.machine.alveay.hatchery.tooltip"); - } + @Override + public String getTooltip() { + return I18N.localise("extrabees.machine.alveay.hatchery.tooltip"); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/lighting/LightingAlvearyPackage.java b/src/main/java/binnie/extrabees/apiary/machine/lighting/LightingAlvearyPackage.java index 58846b91..0ddb08b1 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/lighting/LightingAlvearyPackage.java +++ b/src/main/java/binnie/extrabees/apiary/machine/lighting/LightingAlvearyPackage.java @@ -6,12 +6,12 @@ import binnie.extrabees.apiary.machine.AlvearyMachine; import binnie.extrabees.core.ExtraBeeTexture; public class LightingAlvearyPackage extends AlvearyMachine.AlvearyPackage implements IMachineInformation { - public LightingAlvearyPackage() { - super("lighting", ExtraBeeTexture.AlvearyLighting.getTexture(), false); - } + public LightingAlvearyPackage() { + super("lighting", ExtraBeeTexture.AlvearyLighting.getTexture(), false); + } - @Override - public void createMachine(Machine machine) { - new LightingComponentModifier(machine); - } + @Override + public void createMachine(Machine machine) { + new LightingComponentModifier(machine); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/lighting/LightingComponentModifier.java b/src/main/java/binnie/extrabees/apiary/machine/lighting/LightingComponentModifier.java index 416fd2ed..32b6dfa6 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/lighting/LightingComponentModifier.java +++ b/src/main/java/binnie/extrabees/apiary/machine/lighting/LightingComponentModifier.java @@ -6,12 +6,12 @@ import forestry.api.apiculture.IBeeListener; import forestry.api.apiculture.IBeeModifier; public class LightingComponentModifier extends ComponentBeeModifier implements IBeeModifier, IBeeListener { - public LightingComponentModifier(Machine machine) { - super(machine); - } + public LightingComponentModifier(Machine machine) { + super(machine); + } - @Override - public boolean isSelfLighted() { - return true; - } + @Override + public boolean isSelfLighted() { + return true; + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/mutator/AlvearyMutator.java b/src/main/java/binnie/extrabees/apiary/machine/mutator/AlvearyMutator.java index c4012d38..dac0c535 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/mutator/AlvearyMutator.java +++ b/src/main/java/binnie/extrabees/apiary/machine/mutator/AlvearyMutator.java @@ -1,41 +1,40 @@ package binnie.extrabees.apiary.machine.mutator; -import net.minecraft.item.ItemStack; - import java.util.Collection; import java.util.HashMap; import java.util.Map; +import net.minecraft.item.ItemStack; public class AlvearyMutator { - public static final int SLOT_MUTATOR = 0; + public static final int SLOT_MUTATOR = 0; - protected static Map mutations = new HashMap<>(); + protected static Map mutations = new HashMap<>(); - public static boolean isMutationItem(ItemStack item) { - return getMutationMult(item) > 1.0f; - } + public static boolean isMutationItem(ItemStack item) { + return getMutationMult(item) > 1.0f; + } - public static float getMutationMult(ItemStack item) { - if (item == null) { - return 1.0f; - } + public static float getMutationMult(ItemStack item) { + if (item == null) { + return 1.0f; + } - for (ItemStack comp : AlvearyMutator.mutations.keySet()) { - if (ItemStack.areItemStackTagsEqual(item, comp) && item.isItemEqual(comp)) { - return AlvearyMutator.mutations.get(comp); - } - } - return 1.0f; - } + for (ItemStack comp : AlvearyMutator.mutations.keySet()) { + if (ItemStack.areItemStackTagsEqual(item, comp) && item.isItemEqual(comp)) { + return AlvearyMutator.mutations.get(comp); + } + } + return 1.0f; + } - public static void addMutationItem(ItemStack item, float chance) { - if (item == null) { - return; - } - AlvearyMutator.mutations.put(item, chance); - } + public static void addMutationItem(ItemStack item, float chance) { + if (item == null) { + return; + } + AlvearyMutator.mutations.put(item, chance); + } - public static Collection getMutagens() { - return AlvearyMutator.mutations.keySet(); - } + public static Collection getMutagens() { + return AlvearyMutator.mutations.keySet(); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/mutator/MutatorAlvearyPackage.java b/src/main/java/binnie/extrabees/apiary/machine/mutator/MutatorAlvearyPackage.java index 36d92de9..981f7599 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/mutator/MutatorAlvearyPackage.java +++ b/src/main/java/binnie/extrabees/apiary/machine/mutator/MutatorAlvearyPackage.java @@ -9,16 +9,16 @@ import binnie.extrabees.core.ExtraBeeGUID; import binnie.extrabees.core.ExtraBeeTexture; public class MutatorAlvearyPackage extends AlvearyMachine.AlvearyPackage implements IMachineInformation { - public MutatorAlvearyPackage() { - super("mutator", ExtraBeeTexture.AlvearyMutator.getTexture(), false); - } + public MutatorAlvearyPackage() { + super("mutator", ExtraBeeTexture.AlvearyMutator.getTexture(), false); + } - @Override - public void createMachine(Machine machine) { - new ComponentExtraBeeGUI(machine, ExtraBeeGUID.AlvearyMutator); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - inventory.addSlot(AlvearyMutator.SLOT_MUTATOR, "mutator"); - inventory.getSlot(AlvearyMutator.SLOT_MUTATOR).setValidator(new MutatorSlotValidator()); - new MutatorModifierComponent(machine); - } + @Override + public void createMachine(Machine machine) { + new ComponentExtraBeeGUI(machine, ExtraBeeGUID.AlvearyMutator); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + inventory.addSlot(AlvearyMutator.SLOT_MUTATOR, "mutator"); + inventory.getSlot(AlvearyMutator.SLOT_MUTATOR).setValidator(new MutatorSlotValidator()); + new MutatorModifierComponent(machine); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/mutator/MutatorModifierComponent.java b/src/main/java/binnie/extrabees/apiary/machine/mutator/MutatorModifierComponent.java index 3911e392..622047ba 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/mutator/MutatorModifierComponent.java +++ b/src/main/java/binnie/extrabees/apiary/machine/mutator/MutatorModifierComponent.java @@ -7,22 +7,22 @@ import forestry.api.apiculture.IBeeListener; import forestry.api.apiculture.IBeeModifier; public class MutatorModifierComponent extends ComponentBeeModifier implements IBeeModifier, IBeeListener { - public MutatorModifierComponent(Machine machine) { - super(machine); - } + public MutatorModifierComponent(Machine machine) { + super(machine); + } - @Override - public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - if (getUtil().isSlotEmpty(AlvearyMutator.SLOT_MUTATOR)) { - return 1.0f; - } + @Override + public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + if (getUtil().isSlotEmpty(AlvearyMutator.SLOT_MUTATOR)) { + return 1.0f; + } - float mult = AlvearyMutator.getMutationMult(getUtil().getStack(AlvearyMutator.SLOT_MUTATOR)); - return Math.min(mult, 15.0f / currentModifier); - } + float mult = AlvearyMutator.getMutationMult(getUtil().getStack(AlvearyMutator.SLOT_MUTATOR)); + return Math.min(mult, 15.0f / currentModifier); + } - @Override - public void onQueenDeath() { - getUtil().decreaseStack(AlvearyMutator.SLOT_MUTATOR, 1); - } + @Override + public void onQueenDeath() { + getUtil().decreaseStack(AlvearyMutator.SLOT_MUTATOR, 1); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/mutator/MutatorSlotValidator.java b/src/main/java/binnie/extrabees/apiary/machine/mutator/MutatorSlotValidator.java index 423e975d..1b4c6397 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/mutator/MutatorSlotValidator.java +++ b/src/main/java/binnie/extrabees/apiary/machine/mutator/MutatorSlotValidator.java @@ -7,17 +7,17 @@ import binnie.extrabees.ExtraBees; import net.minecraft.item.ItemStack; public class MutatorSlotValidator extends SlotValidator { - public MutatorSlotValidator() { - super(new ValidatorIcon(ExtraBees.instance, "validator/mutator.0", "validator/mutator.1")); - } + public MutatorSlotValidator() { + super(new ValidatorIcon(ExtraBees.instance, "validator/mutator.0", "validator/mutator.1")); + } - @Override - public boolean isValid(ItemStack itemStack) { - return AlvearyMutator.isMutationItem(itemStack); - } + @Override + public boolean isValid(ItemStack itemStack) { + return AlvearyMutator.isMutationItem(itemStack); + } - @Override - public String getTooltip() { - return I18N.localise("extrabees.machine.alveay.mutator.tooltip"); - } + @Override + public String getTooltip() { + return I18N.localise("extrabees.machine.alveay.mutator.tooltip"); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/rainShield/RainShieldAlvearyPackage.java b/src/main/java/binnie/extrabees/apiary/machine/rainShield/RainShieldAlvearyPackage.java index abfaf238..8203bd00 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/rainShield/RainShieldAlvearyPackage.java +++ b/src/main/java/binnie/extrabees/apiary/machine/rainShield/RainShieldAlvearyPackage.java @@ -6,12 +6,12 @@ import binnie.extrabees.apiary.machine.AlvearyMachine; import binnie.extrabees.core.ExtraBeeTexture; public class RainShieldAlvearyPackage extends AlvearyMachine.AlvearyPackage implements IMachineInformation { - public RainShieldAlvearyPackage() { - super("rainShield", ExtraBeeTexture.AlvearyRainShield.getTexture(), false); - } + public RainShieldAlvearyPackage() { + super("rainShield", ExtraBeeTexture.AlvearyRainShield.getTexture(), false); + } - @Override - public void createMachine(Machine machine) { - new RainShieldModifierComponent(machine); - } + @Override + public void createMachine(Machine machine) { + new RainShieldModifierComponent(machine); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/rainShield/RainShieldModifierComponent.java b/src/main/java/binnie/extrabees/apiary/machine/rainShield/RainShieldModifierComponent.java index e1071f95..efff93e6 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/rainShield/RainShieldModifierComponent.java +++ b/src/main/java/binnie/extrabees/apiary/machine/rainShield/RainShieldModifierComponent.java @@ -6,12 +6,12 @@ import forestry.api.apiculture.IBeeListener; import forestry.api.apiculture.IBeeModifier; public class RainShieldModifierComponent extends ComponentBeeModifier implements IBeeModifier, IBeeListener { - public RainShieldModifierComponent(Machine machine) { - super(machine); - } + public RainShieldModifierComponent(Machine machine) { + super(machine); + } - @Override - public boolean isSealed() { - return true; - } + @Override + public boolean isSealed() { + return true; + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/stimulator/AlvearyStimulator.java b/src/main/java/binnie/extrabees/apiary/machine/stimulator/AlvearyStimulator.java index e6d74949..11bf6df0 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/stimulator/AlvearyStimulator.java +++ b/src/main/java/binnie/extrabees/apiary/machine/stimulator/AlvearyStimulator.java @@ -1,5 +1,5 @@ package binnie.extrabees.apiary.machine.stimulator; public class AlvearyStimulator { - public static final int SLOT_CIRCUIT = 0; + public static final int SLOT_CIRCUIT = 0; } diff --git a/src/main/java/binnie/extrabees/apiary/machine/stimulator/CircuitSlotValidator.java b/src/main/java/binnie/extrabees/apiary/machine/stimulator/CircuitSlotValidator.java index 296d6490..8b2d4847 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/stimulator/CircuitSlotValidator.java +++ b/src/main/java/binnie/extrabees/apiary/machine/stimulator/CircuitSlotValidator.java @@ -6,17 +6,17 @@ import forestry.api.circuits.ChipsetManager; import net.minecraft.item.ItemStack; public class CircuitSlotValidator extends SlotValidator { - public CircuitSlotValidator() { - super(SlotValidator.IconCircuit); - } + public CircuitSlotValidator() { + super(SlotValidator.IconCircuit); + } - @Override - public boolean isValid(ItemStack itemStack) { - return itemStack != null && ChipsetManager.circuitRegistry.isChipset(itemStack); - } + @Override + public boolean isValid(ItemStack itemStack) { + return itemStack != null && ChipsetManager.circuitRegistry.isChipset(itemStack); + } - @Override - public String getTooltip() { - return I18N.localise("extrabees.machine.alveay.stimulator.tooltip"); - } + @Override + public String getTooltip() { + return I18N.localise("extrabees.machine.alveay.stimulator.tooltip"); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/stimulator/CircuitType.java b/src/main/java/binnie/extrabees/apiary/machine/stimulator/CircuitType.java index 662cda40..f4c37490 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/stimulator/CircuitType.java +++ b/src/main/java/binnie/extrabees/apiary/machine/stimulator/CircuitType.java @@ -8,108 +8,108 @@ import forestry.api.apiculture.IBeeModifier; import forestry.api.circuits.ICircuitLayout; public enum CircuitType implements IBeeModifier { - LowVoltage(3, 10), - HighVoltage(5, 20), - Plant(10, 10), - Death(6, 10), - Life(11, 10), - Nether(7, 15), - Mutation(4, 15), - Inhibitor(1, 10), - Territory(2, 10); + LowVoltage(3, 10), + HighVoltage(5, 20), + Plant(10, 10), + Death(6, 10), + Life(11, 10), + Nether(7, 15), + Mutation(4, 15), + Inhibitor(1, 10), + Territory(2, 10); - static { - CircuitType.LowVoltage.logic.setModifier(EnumBeeModifier.PRODUCTION, 1.5f, 5.0f); - CircuitType.HighVoltage.logic.setModifier(EnumBeeModifier.PRODUCTION, 2.5f, 10.0f); - CircuitType.Plant.logic.setModifier(EnumBeeModifier.FLOWERING, 1.5f, 5.0f); - CircuitType.Death.logic.setModifier(EnumBeeModifier.LIFESPAN, 0.8f, 0.2f); - CircuitType.Life.logic.setModifier(EnumBeeModifier.LIFESPAN, 1.5f, 5.0f); - CircuitType.Nether.logic.setModifier(EnumBeeBooleanModifier.HELLISH); - CircuitType.Mutation.logic.setModifier(EnumBeeModifier.MUTATION, 1.5f, 5.0f); - CircuitType.Inhibitor.logic.setModifier(EnumBeeModifier.TERRITORY, 0.4f, 0.1f); - CircuitType.Inhibitor.logic.setModifier(EnumBeeModifier.PRODUCTION, 0.9f, 0.5f); - CircuitType.Territory.logic.setModifier(EnumBeeModifier.TERRITORY, 1.5f, 5.0f); - for (CircuitType type : values()) { - type.logic.setModifier(EnumBeeModifier.GENETIC_DECAY, 1.5f, 10.0f); - } - } + static { + CircuitType.LowVoltage.logic.setModifier(EnumBeeModifier.PRODUCTION, 1.5f, 5.0f); + CircuitType.HighVoltage.logic.setModifier(EnumBeeModifier.PRODUCTION, 2.5f, 10.0f); + CircuitType.Plant.logic.setModifier(EnumBeeModifier.FLOWERING, 1.5f, 5.0f); + CircuitType.Death.logic.setModifier(EnumBeeModifier.LIFESPAN, 0.8f, 0.2f); + CircuitType.Life.logic.setModifier(EnumBeeModifier.LIFESPAN, 1.5f, 5.0f); + CircuitType.Nether.logic.setModifier(EnumBeeBooleanModifier.HELLISH); + CircuitType.Mutation.logic.setModifier(EnumBeeModifier.MUTATION, 1.5f, 5.0f); + CircuitType.Inhibitor.logic.setModifier(EnumBeeModifier.TERRITORY, 0.4f, 0.1f); + CircuitType.Inhibitor.logic.setModifier(EnumBeeModifier.PRODUCTION, 0.9f, 0.5f); + CircuitType.Territory.logic.setModifier(EnumBeeModifier.TERRITORY, 1.5f, 5.0f); + for (CircuitType type : values()) { + type.logic.setModifier(EnumBeeModifier.GENETIC_DECAY, 1.5f, 10.0f); + } + } - public int recipe; - public int power; + public int recipe; + public int power; - protected BeeModifierLogic logic; + protected BeeModifierLogic logic; - CircuitType(int recipe, int power) { - logic = new BeeModifierLogic(); - this.recipe = recipe; - this.power = power; - } + CircuitType(int recipe, int power) { + logic = new BeeModifierLogic(); + this.recipe = recipe; + this.power = power; + } - public void createCircuit(ICircuitLayout layout) { - StimulatorCircuit circuit = new StimulatorCircuit(this, layout); - for (EnumBeeModifier modifier : EnumBeeModifier.values()) { - float mod = logic.getModifier(modifier, 1.0f); - if (mod == 1.0f) { - continue; - } + public void createCircuit(ICircuitLayout layout) { + StimulatorCircuit circuit = new StimulatorCircuit(this, layout); + for (EnumBeeModifier modifier : EnumBeeModifier.values()) { + float mod = logic.getModifier(modifier, 1.0f); + if (mod == 1.0f) { + continue; + } - if (mod > 1.0f) { - int increase = (int) ((mod - 1.0f) * 100.0f); - circuit.addTooltipString("Increases " + modifier.getName() + " by " + increase + "%"); - } else { - int decrease = (int) ((1.0f - mod) * 100.0f); - circuit.addTooltipString("Decreases " + modifier.getName() + " by " + decrease + "%"); - } - } - } + if (mod > 1.0f) { + int increase = (int) ((mod - 1.0f) * 100.0f); + circuit.addTooltipString("Increases " + modifier.getName() + " by " + increase + "%"); + } else { + int decrease = (int) ((1.0f - mod) * 100.0f); + circuit.addTooltipString("Decreases " + modifier.getName() + " by " + decrease + "%"); + } + } + } - @Override - public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { - return logic.getModifier(EnumBeeModifier.TERRITORY, currentModifier); - } + @Override + public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { + return logic.getModifier(EnumBeeModifier.TERRITORY, currentModifier); + } - @Override - public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - return logic.getModifier(EnumBeeModifier.MUTATION, currentModifier); - } + @Override + public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return logic.getModifier(EnumBeeModifier.MUTATION, currentModifier); + } - @Override - public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - return logic.getModifier(EnumBeeModifier.LIFESPAN, currentModifier); - } + @Override + public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return logic.getModifier(EnumBeeModifier.LIFESPAN, currentModifier); + } - @Override - public float getProductionModifier(IBeeGenome genome, float currentModifier) { - return logic.getModifier(EnumBeeModifier.PRODUCTION, currentModifier); - } + @Override + public float getProductionModifier(IBeeGenome genome, float currentModifier) { + return logic.getModifier(EnumBeeModifier.PRODUCTION, currentModifier); + } - @Override - public float getFloweringModifier(IBeeGenome genome, float currentModifier) { - return logic.getModifier(EnumBeeModifier.FLOWERING, currentModifier); - } + @Override + public float getFloweringModifier(IBeeGenome genome, float currentModifier) { + return logic.getModifier(EnumBeeModifier.FLOWERING, currentModifier); + } - @Override - public float getGeneticDecay(IBeeGenome genome, float currentModifier) { - return logic.getModifier(EnumBeeModifier.GENETIC_DECAY, currentModifier); - } + @Override + public float getGeneticDecay(IBeeGenome genome, float currentModifier) { + return logic.getModifier(EnumBeeModifier.GENETIC_DECAY, currentModifier); + } - @Override - public boolean isSealed() { - return logic.getModifier(EnumBeeBooleanModifier.SEALED); - } + @Override + public boolean isSealed() { + return logic.getModifier(EnumBeeBooleanModifier.SEALED); + } - @Override - public boolean isSelfLighted() { - return logic.getModifier(EnumBeeBooleanModifier.SELF_LIGHTED); - } + @Override + public boolean isSelfLighted() { + return logic.getModifier(EnumBeeBooleanModifier.SELF_LIGHTED); + } - @Override - public boolean isSunlightSimulated() { - return logic.getModifier(EnumBeeBooleanModifier.SUNLIGHT_STIMULATED); - } + @Override + public boolean isSunlightSimulated() { + return logic.getModifier(EnumBeeBooleanModifier.SUNLIGHT_STIMULATED); + } - @Override - public boolean isHellish() { - return logic.getModifier(EnumBeeBooleanModifier.HELLISH); - } + @Override + public boolean isHellish() { + return logic.getModifier(EnumBeeBooleanModifier.HELLISH); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/stimulator/StimulatorAlvearyPackage.java b/src/main/java/binnie/extrabees/apiary/machine/stimulator/StimulatorAlvearyPackage.java index d5ec10c2..59af6b13 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/stimulator/StimulatorAlvearyPackage.java +++ b/src/main/java/binnie/extrabees/apiary/machine/stimulator/StimulatorAlvearyPackage.java @@ -10,17 +10,17 @@ import binnie.extrabees.core.ExtraBeeGUID; import binnie.extrabees.core.ExtraBeeTexture; public class StimulatorAlvearyPackage extends AlvearyMachine.AlvearyPackage implements IMachineInformation { - public StimulatorAlvearyPackage() { - super("stimulator", ExtraBeeTexture.AlvearyStimulator.getTexture(), true); - } + public StimulatorAlvearyPackage() { + super("stimulator", ExtraBeeTexture.AlvearyStimulator.getTexture(), true); + } - @Override - public void createMachine(Machine machine) { - new ComponentExtraBeeGUI(machine, ExtraBeeGUID.AlvearyStimulator); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - inventory.addSlot(AlvearyStimulator.SLOT_CIRCUIT, "circuit"); - inventory.getSlot(AlvearyStimulator.SLOT_CIRCUIT).setValidator(new CircuitSlotValidator()); - new ComponentPowerReceptor(machine); - new StimulatorModifierComponent(machine); - } + @Override + public void createMachine(Machine machine) { + new ComponentExtraBeeGUI(machine, ExtraBeeGUID.AlvearyStimulator); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + inventory.addSlot(AlvearyStimulator.SLOT_CIRCUIT, "circuit"); + inventory.getSlot(AlvearyStimulator.SLOT_CIRCUIT).setValidator(new CircuitSlotValidator()); + new ComponentPowerReceptor(machine); + new StimulatorModifierComponent(machine); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/stimulator/StimulatorCircuit.java b/src/main/java/binnie/extrabees/apiary/machine/stimulator/StimulatorCircuit.java index 09472c1b..1fd97fd4 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/stimulator/StimulatorCircuit.java +++ b/src/main/java/binnie/extrabees/apiary/machine/stimulator/StimulatorCircuit.java @@ -7,64 +7,69 @@ import forestry.api.apiculture.IBeeModifier; import forestry.api.circuits.ICircuitLayout; public class StimulatorCircuit extends BinnieCircuit implements IBeeModifier { - protected CircuitType type; + protected CircuitType type; - public StimulatorCircuit(CircuitType type, ICircuitLayout layout) { - super("stimulator." + type.toString().toLowerCase(), 4, layout, Mods.forestry.item("thermionicTubes"), type.recipe); - this.type = type; - } + public StimulatorCircuit(CircuitType type, ICircuitLayout layout) { + super( + "stimulator." + type.toString().toLowerCase(), + 4, + layout, + Mods.forestry.item("thermionicTubes"), + type.recipe); + this.type = type; + } - public int getPowerUsage() { - return type.power; - } + public int getPowerUsage() { + return type.power; + } - @Override - public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { - return type.getTerritoryModifier(genome, currentModifier); - } + @Override + public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { + return type.getTerritoryModifier(genome, currentModifier); + } - @Override - public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - return type.getMutationModifier(genome, mate, currentModifier); - } + @Override + public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return type.getMutationModifier(genome, mate, currentModifier); + } - @Override - public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - return type.getLifespanModifier(genome, mate, currentModifier); - } + @Override + public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + return type.getLifespanModifier(genome, mate, currentModifier); + } - @Override - public float getProductionModifier(IBeeGenome genome, float currentModifier) { - return type.getProductionModifier(genome, currentModifier); - } + @Override + public float getProductionModifier(IBeeGenome genome, float currentModifier) { + return type.getProductionModifier(genome, currentModifier); + } - @Override - public float getFloweringModifier(IBeeGenome genome, float currentModifier) { - return type.getFloweringModifier(genome, currentModifier); - } + @Override + public float getFloweringModifier(IBeeGenome genome, float currentModifier) { + return type.getFloweringModifier(genome, currentModifier); + } - @Override - public boolean isSealed() { - return type.isSealed(); - } + @Override + public boolean isSealed() { + return type.isSealed(); + } - @Override - public boolean isSelfLighted() { - return type.isSelfLighted(); - } + @Override + public boolean isSelfLighted() { + return type.isSelfLighted(); + } - @Override - public boolean isSunlightSimulated() { - return type.isSunlightSimulated(); - } + @Override + public boolean isSunlightSimulated() { + return type.isSunlightSimulated(); + } - @Override - public boolean isHellish() { - return type.isHellish(); - } + @Override + public boolean isHellish() { + return type.isHellish(); + } - @Override - public float getGeneticDecay(IBeeGenome genome, float currentModifier) { - return type.getGeneticDecay(genome, currentModifier); - } + @Override + public float getGeneticDecay(IBeeGenome genome, float currentModifier) { + return type.getGeneticDecay(genome, currentModifier); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/stimulator/StimulatorModifierComponent.java b/src/main/java/binnie/extrabees/apiary/machine/stimulator/StimulatorModifierComponent.java index a74371a2..aae03127 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/stimulator/StimulatorModifierComponent.java +++ b/src/main/java/binnie/extrabees/apiary/machine/stimulator/StimulatorModifierComponent.java @@ -8,192 +8,191 @@ import forestry.api.apiculture.IBeeModifier; import forestry.api.circuits.ChipsetManager; import forestry.api.circuits.ICircuit; import forestry.api.circuits.ICircuitBoard; - import java.util.ArrayList; import java.util.List; public class StimulatorModifierComponent extends ComponentBeeModifier implements IBeeModifier, IBeeListener { - protected float powerUsage; - protected boolean powered; - protected StimulatorCircuit[] modifiers; + protected float powerUsage; + protected boolean powered; + protected StimulatorCircuit[] modifiers; - public StimulatorModifierComponent(Machine machine) { - super(machine); - powerUsage = 0.0f; - powered = false; - modifiers = new StimulatorCircuit[0]; - } + public StimulatorModifierComponent(Machine machine) { + super(machine); + powerUsage = 0.0f; + powered = false; + modifiers = new StimulatorCircuit[0]; + } - @Override - public void onUpdate() { - super.onUpdate(); - modifiers = getCircuits(); - powerUsage = 0.0f; - for (StimulatorCircuit beeMod : modifiers) { - powerUsage += beeMod.getPowerUsage(); - } - powered = getUtil().hasEnergyMJ(powerUsage); - } + @Override + public void onUpdate() { + super.onUpdate(); + modifiers = getCircuits(); + powerUsage = 0.0f; + for (StimulatorCircuit beeMod : modifiers) { + powerUsage += beeMod.getPowerUsage(); + } + powered = getUtil().hasEnergyMJ(powerUsage); + } - public ICircuitBoard getHiveFrame() { - if (!getUtil().isSlotEmpty(AlvearyStimulator.SLOT_CIRCUIT)) { - return ChipsetManager.circuitRegistry.getCircuitboard(getUtil().getStack(AlvearyStimulator.SLOT_CIRCUIT)); - } - return null; - } + public ICircuitBoard getHiveFrame() { + if (!getUtil().isSlotEmpty(AlvearyStimulator.SLOT_CIRCUIT)) { + return ChipsetManager.circuitRegistry.getCircuitboard(getUtil().getStack(AlvearyStimulator.SLOT_CIRCUIT)); + } + return null; + } - public StimulatorCircuit[] getCircuits() { - ICircuitBoard board = getHiveFrame(); - if (board == null) { - return new StimulatorCircuit[0]; - } + public StimulatorCircuit[] getCircuits() { + ICircuitBoard board = getHiveFrame(); + if (board == null) { + return new StimulatorCircuit[0]; + } - ICircuit[] circuits = board.getCircuits(); - List mod = new ArrayList<>(); - for (ICircuit circuit : circuits) { - if (circuit instanceof StimulatorCircuit) { - mod.add((IBeeModifier) circuit); - } - } - return mod.toArray(new StimulatorCircuit[0]); - } + ICircuit[] circuits = board.getCircuits(); + List mod = new ArrayList<>(); + for (ICircuit circuit : circuits) { + if (circuit instanceof StimulatorCircuit) { + mod.add((IBeeModifier) circuit); + } + } + return mod.toArray(new StimulatorCircuit[0]); + } - @Override - public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { - float mod = 1.0f; - if (!powered) { - return mod; - } + @Override + public float getTerritoryModifier(IBeeGenome genome, float currentModifier) { + float mod = 1.0f; + if (!powered) { + return mod; + } - for (IBeeModifier beeMod : modifiers) { - mod *= beeMod.getTerritoryModifier(genome, mod); - } - return mod; - } + for (IBeeModifier beeMod : modifiers) { + mod *= beeMod.getTerritoryModifier(genome, mod); + } + return mod; + } - @Override - public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - float mod = 1.0f; - if (!powered) { - return mod; - } + @Override + public float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + float mod = 1.0f; + if (!powered) { + return mod; + } - for (IBeeModifier beeMod : modifiers) { - mod *= beeMod.getMutationModifier(genome, mate, mod); - } - return mod; - } + for (IBeeModifier beeMod : modifiers) { + mod *= beeMod.getMutationModifier(genome, mate, mod); + } + return mod; + } - @Override - public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { - float mod = 1.0f; - if (!powered) { - return mod; - } + @Override + public float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier) { + float mod = 1.0f; + if (!powered) { + return mod; + } - for (IBeeModifier beeMod : modifiers) { - mod *= beeMod.getLifespanModifier(genome, mate, mod); - } - return mod; - } + for (IBeeModifier beeMod : modifiers) { + mod *= beeMod.getLifespanModifier(genome, mate, mod); + } + return mod; + } - @Override - public float getProductionModifier(IBeeGenome genome, float currentModifier) { - float mod = 1.0f; - if (!powered) { - return mod; - } + @Override + public float getProductionModifier(IBeeGenome genome, float currentModifier) { + float mod = 1.0f; + if (!powered) { + return mod; + } - for (IBeeModifier beeMod : modifiers) { - mod *= beeMod.getProductionModifier(genome, mod); - } - return mod; - } + for (IBeeModifier beeMod : modifiers) { + mod *= beeMod.getProductionModifier(genome, mod); + } + return mod; + } - @Override - public float getFloweringModifier(IBeeGenome genome, float currentModifier) { - float mod = 1.0f; - if (!powered) { - return mod; - } + @Override + public float getFloweringModifier(IBeeGenome genome, float currentModifier) { + float mod = 1.0f; + if (!powered) { + return mod; + } - for (IBeeModifier beeMod : modifiers) { - mod *= beeMod.getFloweringModifier(genome, mod); - } - return mod; - } + for (IBeeModifier beeMod : modifiers) { + mod *= beeMod.getFloweringModifier(genome, mod); + } + return mod; + } - @Override - public float getGeneticDecay(IBeeGenome genome, float currentModifier) { - float mod = 1.0f; - if (!powered) { - return mod; - } + @Override + public float getGeneticDecay(IBeeGenome genome, float currentModifier) { + float mod = 1.0f; + if (!powered) { + return mod; + } - for (IBeeModifier beeMod : modifiers) { - mod *= beeMod.getGeneticDecay(genome, mod); - } - return mod; - } + for (IBeeModifier beeMod : modifiers) { + mod *= beeMod.getGeneticDecay(genome, mod); + } + return mod; + } - @Override - public boolean isSealed() { - if (!powered) { - return false; - } + @Override + public boolean isSealed() { + if (!powered) { + return false; + } - for (IBeeModifier beeMod : modifiers) { - if (beeMod.isSealed()) { - return true; - } - } - return false; - } + for (IBeeModifier beeMod : modifiers) { + if (beeMod.isSealed()) { + return true; + } + } + return false; + } - @Override - public boolean isSelfLighted() { - if (!powered) { - return false; - } + @Override + public boolean isSelfLighted() { + if (!powered) { + return false; + } - for (IBeeModifier beeMod : modifiers) { - if (beeMod.isSelfLighted()) { - return true; - } - } - return false; - } + for (IBeeModifier beeMod : modifiers) { + if (beeMod.isSelfLighted()) { + return true; + } + } + return false; + } - @Override - public boolean isSunlightSimulated() { - if (!powered) { - return false; - } + @Override + public boolean isSunlightSimulated() { + if (!powered) { + return false; + } - for (IBeeModifier beeMod : modifiers) { - if (beeMod.isSunlightSimulated()) { - return true; - } - } - return false; - } + for (IBeeModifier beeMod : modifiers) { + if (beeMod.isSunlightSimulated()) { + return true; + } + } + return false; + } - @Override - public boolean isHellish() { - if (!powered) { - return false; - } + @Override + public boolean isHellish() { + if (!powered) { + return false; + } - for (IBeeModifier beeMod : modifiers) { - if (beeMod.isHellish()) { - return true; - } - } - return false; - } + for (IBeeModifier beeMod : modifiers) { + if (beeMod.isHellish()) { + return true; + } + } + return false; + } - @Override - public void wearOutEquipment(int amount) { - getUtil().useEnergyMJ(powerUsage); - } + @Override + public void wearOutEquipment(int amount) { + getUtil().useEnergyMJ(powerUsage); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/transmission/TransmissionAlvearyPackage.java b/src/main/java/binnie/extrabees/apiary/machine/transmission/TransmissionAlvearyPackage.java index cf044f66..427a3ce4 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/transmission/TransmissionAlvearyPackage.java +++ b/src/main/java/binnie/extrabees/apiary/machine/transmission/TransmissionAlvearyPackage.java @@ -7,13 +7,13 @@ import binnie.extrabees.apiary.machine.AlvearyMachine; import binnie.extrabees.core.ExtraBeeTexture; public class TransmissionAlvearyPackage extends AlvearyMachine.AlvearyPackage implements IMachineInformation { - public TransmissionAlvearyPackage() { - super("transmission", ExtraBeeTexture.AlvearyTransmission.getTexture(), false); - } + public TransmissionAlvearyPackage() { + super("transmission", ExtraBeeTexture.AlvearyTransmission.getTexture(), false); + } - @Override - public void createMachine(Machine machine) { - new ComponentPowerReceptor(machine, 1000); - new TransmissionModifierComponent(machine); - } + @Override + public void createMachine(Machine machine) { + new ComponentPowerReceptor(machine, 1000); + new TransmissionModifierComponent(machine); + } } diff --git a/src/main/java/binnie/extrabees/apiary/machine/transmission/TransmissionModifierComponent.java b/src/main/java/binnie/extrabees/apiary/machine/transmission/TransmissionModifierComponent.java index b8b93da6..18a2ec2b 100644 --- a/src/main/java/binnie/extrabees/apiary/machine/transmission/TransmissionModifierComponent.java +++ b/src/main/java/binnie/extrabees/apiary/machine/transmission/TransmissionModifierComponent.java @@ -6,52 +6,51 @@ import binnie.extrabees.apiary.TileExtraBeeAlveary; import cofh.api.energy.IEnergyHandler; import forestry.api.apiculture.IBeeListener; import forestry.api.apiculture.IBeeModifier; +import java.util.ArrayList; +import java.util.List; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; - public class TransmissionModifierComponent extends ComponentBeeModifier implements IBeeModifier, IBeeListener { - public TransmissionModifierComponent(Machine machine) { - super(machine); - } + public TransmissionModifierComponent(Machine machine) { + super(machine); + } - @Override - public void onUpdate() { - super.onUpdate(); - int energy = getUtil().getPoweredMachine().getEnergyStored(ForgeDirection.NORTH); - if (energy == 0) { - return; - } + @Override + public void onUpdate() { + super.onUpdate(); + int energy = getUtil().getPoweredMachine().getEnergyStored(ForgeDirection.NORTH); + if (energy == 0) { + return; + } - TileExtraBeeAlveary tile = (TileExtraBeeAlveary) getMachine().getTileEntity(); - List handlers = new ArrayList<>(); - for (TileEntity alvearyTile : tile.getAlvearyBlocks()) { - if (alvearyTile instanceof IEnergyHandler && alvearyTile != tile) { - handlers.add((IEnergyHandler) alvearyTile); - } - } + TileExtraBeeAlveary tile = (TileExtraBeeAlveary) getMachine().getTileEntity(); + List handlers = new ArrayList<>(); + for (TileEntity alvearyTile : tile.getAlvearyBlocks()) { + if (alvearyTile instanceof IEnergyHandler && alvearyTile != tile) { + handlers.add((IEnergyHandler) alvearyTile); + } + } - if (handlers.isEmpty()) { - return; - } + if (handlers.isEmpty()) { + return; + } - int maxOutput = 500; - int output = energy / handlers.size(); - if (output > maxOutput) { - output = maxOutput; - } else if (output < 1) { - output = 1; - } + int maxOutput = 500; + int output = energy / handlers.size(); + if (output > maxOutput) { + output = maxOutput; + } else if (output < 1) { + output = 1; + } - for (IEnergyHandler handler : handlers) { - int recieved = handler.receiveEnergy(ForgeDirection.NORTH, output, false); - getUtil().getPoweredMachine().receiveEnergy(ForgeDirection.NORTH, -recieved, false); - energy = getUtil().getPoweredMachine().getEnergyStored(ForgeDirection.NORTH); - if (energy <= 0) { - return; - } - } - } + for (IEnergyHandler handler : handlers) { + int recieved = handler.receiveEnergy(ForgeDirection.NORTH, output, false); + getUtil().getPoweredMachine().receiveEnergy(ForgeDirection.NORTH, -recieved, false); + energy = getUtil().getPoweredMachine().getEnergyStored(ForgeDirection.NORTH); + if (energy <= 0) { + return; + } + } + } } diff --git a/src/main/java/binnie/extrabees/config/ConfigurationMachines.java b/src/main/java/binnie/extrabees/config/ConfigurationMachines.java index d9adde56..2f725550 100644 --- a/src/main/java/binnie/extrabees/config/ConfigurationMachines.java +++ b/src/main/java/binnie/extrabees/config/ConfigurationMachines.java @@ -7,20 +7,19 @@ import binnie.core.mod.config.PropPercentage; @ConfigFile(filename = "/config/forestry/extrabees/machines.conf") public class ConfigurationMachines { - @ConfigProperty( - key = "isolatorConsumptionChance", - comment = {"Percentage chance of Isolator consuming bee, in x%."} - ) - @PropPercentage - public static int isolatorConsumptionChance = 30; + @ConfigProperty( + key = "isolatorConsumptionChance", + comment = {"Percentage chance of Isolator consuming bee, in x%."}) + @PropPercentage + public static int isolatorConsumptionChance = 30; - @ConfigProperty( - key = "geneticErrorModifier", - comment = { - "Modifier that changes how severe splicer/inoculator erros are.", - "0 would result in no errors, even for awful serums.", - "2.0 would result in twice as severe errors" - }) - @PropDouble - public static double geneticErrorModifier = 1.0; + @ConfigProperty( + key = "geneticErrorModifier", + comment = { + "Modifier that changes how severe splicer/inoculator erros are.", + "0 would result in no errors, even for awful serums.", + "2.0 would result in twice as severe errors" + }) + @PropDouble + public static double geneticErrorModifier = 1.0; } diff --git a/src/main/java/binnie/extrabees/config/ConfigurationMain.java b/src/main/java/binnie/extrabees/config/ConfigurationMain.java index 6552dcd6..ce530311 100644 --- a/src/main/java/binnie/extrabees/config/ConfigurationMain.java +++ b/src/main/java/binnie/extrabees/config/ConfigurationMain.java @@ -7,23 +7,23 @@ import binnie.core.mod.config.PropInteger; @ConfigFile(filename = "/config/forestry/extrabees/main.conf") public class ConfigurationMain { - @ConfigProperty(key = "canQuarryMineHives") - @PropBoolean - public static boolean canQuarryMineHives = true; + @ConfigProperty(key = "canQuarryMineHives") + @PropBoolean + public static boolean canQuarryMineHives = true; - @ConfigProperty(key = "waterHiveRate") - @PropInteger - public static int waterHiveRate = 1; + @ConfigProperty(key = "waterHiveRate") + @PropInteger + public static int waterHiveRate = 1; - @ConfigProperty(key = "rockHiveRate") - @PropInteger - public static int rockHiveRate = 2; + @ConfigProperty(key = "rockHiveRate") + @PropInteger + public static int rockHiveRate = 2; - @ConfigProperty(key = "netherHiveRate") - @PropInteger - public static int netherHiveRate = 2; + @ConfigProperty(key = "netherHiveRate") + @PropInteger + public static int netherHiveRate = 2; - @ConfigProperty(key = "marbleHiveRate") - @PropInteger - public static int marbleHiveRate = 2; + @ConfigProperty(key = "marbleHiveRate") + @PropInteger + public static int marbleHiveRate = 2; } diff --git a/src/main/java/binnie/extrabees/core/ExtraBeeGUID.java b/src/main/java/binnie/extrabees/core/ExtraBeeGUID.java index e08cc9c1..58414838 100644 --- a/src/main/java/binnie/extrabees/core/ExtraBeeGUID.java +++ b/src/main/java/binnie/extrabees/core/ExtraBeeGUID.java @@ -14,45 +14,45 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public enum ExtraBeeGUID implements IBinnieGUID { - Database, - DatabaseNEI, - AlvearyMutator, - AlvearyFrame, - AlvearyStimulator, - PunnettSquare, - AlvearyHatchery; + Database, + DatabaseNEI, + AlvearyMutator, + AlvearyFrame, + AlvearyStimulator, + PunnettSquare, + AlvearyHatchery; - @Override - public Window getWindow(EntityPlayer player, World world, int x, int y, int z, Side side) { - Window window = null; - TileEntity tileEntity = world.getTileEntity(x, y, z); - IInventory object = null; - if (tileEntity instanceof IInventory) { - object = (IInventory) tileEntity; - } + @Override + public Window getWindow(EntityPlayer player, World world, int x, int y, int z, Side side) { + Window window = null; + TileEntity tileEntity = world.getTileEntity(x, y, z); + IInventory object = null; + if (tileEntity instanceof IInventory) { + object = (IInventory) tileEntity; + } - switch (this) { - case Database: - case DatabaseNEI: - window = WindowApiaristDatabase.create(player, side, this != ExtraBeeGUID.Database); - break; + switch (this) { + case Database: + case DatabaseNEI: + window = WindowApiaristDatabase.create(player, side, this != ExtraBeeGUID.Database); + break; - case AlvearyMutator: - window = WindowAlvearyMutator.create(player, object, side); - break; + case AlvearyMutator: + window = WindowAlvearyMutator.create(player, object, side); + break; - case AlvearyFrame: - window = WindowAlvearyFrame.create(player, object, side); - break; + case AlvearyFrame: + window = WindowAlvearyFrame.create(player, object, side); + break; - case AlvearyStimulator: - window = WindowAlvearyStimulator.create(player, object, side); - break; + case AlvearyStimulator: + window = WindowAlvearyStimulator.create(player, object, side); + break; - case AlvearyHatchery: - window = WindowAlvearyHatchery.create(player, object, side); - break; - } - return window; - } + case AlvearyHatchery: + window = WindowAlvearyHatchery.create(player, object, side); + break; + } + return window; + } } diff --git a/src/main/java/binnie/extrabees/core/ExtraBeeItems.java b/src/main/java/binnie/extrabees/core/ExtraBeeItems.java index 32fd9a98..8f82eb8c 100644 --- a/src/main/java/binnie/extrabees/core/ExtraBeeItems.java +++ b/src/main/java/binnie/extrabees/core/ExtraBeeItems.java @@ -9,6 +9,7 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.recipes.RecipeManagers; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -17,187 +18,197 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraftforge.oredict.OreDictionary; -import java.util.List; - public enum ExtraBeeItems implements IItemMisc { - ScentedGear("scentedGear"), - DiamondShard("diamondShard"), - EmeraldShard("emeraldShard"), - RubyShard("rubyShard"), - SapphireShard("sapphireShard"), - LapisShard("lapisShard"), - IronDust("ironDust"), - GoldDust("goldDust"), - SilverDust("silverDust"), - PlatinumDust("platinumDust"), - CopperDust("copperDust"), - TinDust("tinDust"), - NickelDust("nickelDust"), - LeadDust("leadDust"), - ZincDust("zincDust"), - TitaniumDust("titaniumDust"), - TungstenDust("tungstenDust"), - UraniumDust("radioactiveDust"), - CoalDust("coalDust"), - RedDye("dyeRed"), - YellowDye("dyeYellow"), - BlueDye("dyeBlue"), - GreenDye("dyeGreen"), - WhiteDye("dyeWhite"), - BlackDye("dyeBlack"), - BrownDye("dyeBrown"), - ClayDust("clayDust"), - YelloriumDust("yelloriumDust"), - BlutoniumDust("blutoniumDust"), - CyaniteDust("cyaniteDust"); + ScentedGear("scentedGear"), + DiamondShard("diamondShard"), + EmeraldShard("emeraldShard"), + RubyShard("rubyShard"), + SapphireShard("sapphireShard"), + LapisShard("lapisShard"), + IronDust("ironDust"), + GoldDust("goldDust"), + SilverDust("silverDust"), + PlatinumDust("platinumDust"), + CopperDust("copperDust"), + TinDust("tinDust"), + NickelDust("nickelDust"), + LeadDust("leadDust"), + ZincDust("zincDust"), + TitaniumDust("titaniumDust"), + TungstenDust("tungstenDust"), + UraniumDust("radioactiveDust"), + CoalDust("coalDust"), + RedDye("dyeRed"), + YellowDye("dyeYellow"), + BlueDye("dyeBlue"), + GreenDye("dyeGreen"), + WhiteDye("dyeWhite"), + BlackDye("dyeBlack"), + BrownDye("dyeBrown"), + ClayDust("clayDust"), + YelloriumDust("yelloriumDust"), + BlutoniumDust("blutoniumDust"), + CyaniteDust("cyaniteDust"); - static { - ExtraBeeItems.TinDust.setMetal("Tin"); - ExtraBeeItems.ZincDust.setMetal("Zinc"); - ExtraBeeItems.CopperDust.setMetal("Copper"); - ExtraBeeItems.IronDust.setMetal("Iron"); - ExtraBeeItems.NickelDust.setMetal("Nickel"); - ExtraBeeItems.LeadDust.setMetal("Lead"); - ExtraBeeItems.SilverDust.setMetal("Silver"); - ExtraBeeItems.GoldDust.setMetal("Gold"); - ExtraBeeItems.PlatinumDust.setMetal("Platinum"); - ExtraBeeItems.TungstenDust.setMetal("Tungsten"); - ExtraBeeItems.TitaniumDust.setMetal("Titanium"); - ExtraBeeItems.CoalDust.setMetal("Coal"); - ExtraBeeItems.YelloriumDust.setMetal("Yellorium"); - ExtraBeeItems.BlutoniumDust.setMetal("Blutonium"); - ExtraBeeItems.CyaniteDust.setMetal("Cyanite"); - ExtraBeeItems.DiamondShard.setGem("Diamond"); - ExtraBeeItems.EmeraldShard.setGem("Emerald"); - ExtraBeeItems.RubyShard.setGem("Ruby"); - ExtraBeeItems.SapphireShard.setGem("Sapphire"); - } + static { + ExtraBeeItems.TinDust.setMetal("Tin"); + ExtraBeeItems.ZincDust.setMetal("Zinc"); + ExtraBeeItems.CopperDust.setMetal("Copper"); + ExtraBeeItems.IronDust.setMetal("Iron"); + ExtraBeeItems.NickelDust.setMetal("Nickel"); + ExtraBeeItems.LeadDust.setMetal("Lead"); + ExtraBeeItems.SilverDust.setMetal("Silver"); + ExtraBeeItems.GoldDust.setMetal("Gold"); + ExtraBeeItems.PlatinumDust.setMetal("Platinum"); + ExtraBeeItems.TungstenDust.setMetal("Tungsten"); + ExtraBeeItems.TitaniumDust.setMetal("Titanium"); + ExtraBeeItems.CoalDust.setMetal("Coal"); + ExtraBeeItems.YelloriumDust.setMetal("Yellorium"); + ExtraBeeItems.BlutoniumDust.setMetal("Blutonium"); + ExtraBeeItems.CyaniteDust.setMetal("Cyanite"); + ExtraBeeItems.DiamondShard.setGem("Diamond"); + ExtraBeeItems.EmeraldShard.setGem("Emerald"); + ExtraBeeItems.RubyShard.setGem("Ruby"); + ExtraBeeItems.SapphireShard.setGem("Sapphire"); + } - protected String name; - protected String iconPath; - protected IIcon icon; - protected String metalString; - protected String gemString; + protected String name; + protected String iconPath; + protected IIcon icon; + protected String metalString; + protected String gemString; - ExtraBeeItems(String name) { - this.name = name; - this.iconPath = name; - metalString = null; - gemString = null; - } + ExtraBeeItems(String name) { + this.name = name; + this.iconPath = name; + metalString = null; + gemString = null; + } - public static void init() { - OreDictionary.registerOre("dyeRed", ExtraBeeItems.RedDye.get(1)); - OreDictionary.registerOre("dyeYellow", ExtraBeeItems.YellowDye.get(1)); - OreDictionary.registerOre("dyeBlue", ExtraBeeItems.BlueDye.get(1)); - OreDictionary.registerOre("dyeGreen", ExtraBeeItems.GreenDye.get(1)); - OreDictionary.registerOre("dyeBlack", ExtraBeeItems.BlackDye.get(1)); - OreDictionary.registerOre("dyeWhite", ExtraBeeItems.WhiteDye.get(1)); - OreDictionary.registerOre("dyeBrown", ExtraBeeItems.BrownDye.get(1)); - } + public static void init() { + OreDictionary.registerOre("dyeRed", ExtraBeeItems.RedDye.get(1)); + OreDictionary.registerOre("dyeYellow", ExtraBeeItems.YellowDye.get(1)); + OreDictionary.registerOre("dyeBlue", ExtraBeeItems.BlueDye.get(1)); + OreDictionary.registerOre("dyeGreen", ExtraBeeItems.GreenDye.get(1)); + OreDictionary.registerOre("dyeBlack", ExtraBeeItems.BlackDye.get(1)); + OreDictionary.registerOre("dyeWhite", ExtraBeeItems.WhiteDye.get(1)); + OreDictionary.registerOre("dyeBrown", ExtraBeeItems.BrownDye.get(1)); + } - public static void postInit() { - ItemStack lapisShard = ExtraBeeItems.LapisShard.get(1); - GameRegistry.addShapelessRecipe(new ItemStack(Items.dye, 1, 4), lapisShard, lapisShard, lapisShard, lapisShard); - for (ExtraBeeItems item : values()) { - if (item.metalString != null) { - ItemStack dust = null; - ItemStack ingot = null; - if (!OreDictionary.getOres("ingot" + item.metalString).isEmpty()) { - ingot = OreDictionary.getOres("ingot" + item.metalString).get(0).copy(); - } - if (!OreDictionary.getOres("dust" + item.metalString).isEmpty()) { - dust = OreDictionary.getOres("dust" + item.metalString).get(0).copy(); - } + public static void postInit() { + ItemStack lapisShard = ExtraBeeItems.LapisShard.get(1); + GameRegistry.addShapelessRecipe(new ItemStack(Items.dye, 1, 4), lapisShard, lapisShard, lapisShard, lapisShard); + for (ExtraBeeItems item : values()) { + if (item.metalString != null) { + ItemStack dust = null; + ItemStack ingot = null; + if (!OreDictionary.getOres("ingot" + item.metalString).isEmpty()) { + ingot = OreDictionary.getOres("ingot" + item.metalString) + .get(0) + .copy(); + } + if (!OreDictionary.getOres("dust" + item.metalString).isEmpty()) { + dust = OreDictionary.getOres("dust" + item.metalString) + .get(0) + .copy(); + } - ItemStack input = item.get(1); - if (dust != null) { - GameRegistry.addShapelessRecipe(dust, input, input, input, input); - } else if (ingot != null) { - GameRegistry.addShapelessRecipe(ingot, input, input, input, input, input, input, input, input, input); - } else if (item == ExtraBeeItems.CoalDust) { - GameRegistry.addShapelessRecipe(new ItemStack(Items.coal), input, input, input, input); - } - } else if (item.gemString != null) { - ItemStack gem = null; - if (!OreDictionary.getOres("gem" + item.gemString).isEmpty()) { - gem = OreDictionary.getOres("gem" + item.gemString).get(0); - } + ItemStack input = item.get(1); + if (dust != null) { + GameRegistry.addShapelessRecipe(dust, input, input, input, input); + } else if (ingot != null) { + GameRegistry.addShapelessRecipe( + ingot, input, input, input, input, input, input, input, input, input); + } else if (item == ExtraBeeItems.CoalDust) { + GameRegistry.addShapelessRecipe(new ItemStack(Items.coal), input, input, input, input); + } + } else if (item.gemString != null) { + ItemStack gem = null; + if (!OreDictionary.getOres("gem" + item.gemString).isEmpty()) { + gem = OreDictionary.getOres("gem" + item.gemString).get(0); + } - ItemStack input2 = item.get(1); - if (gem != null) { - GameRegistry.addShapelessRecipe(gem.copy(), input2, input2, input2, input2, input2, input2, input2, input2, input2); - } - } - } + ItemStack input2 = item.get(1); + if (gem != null) { + GameRegistry.addShapelessRecipe( + gem.copy(), input2, input2, input2, input2, input2, input2, input2, input2, input2); + } + } + } - Item woodGear = null; - try { - woodGear = (Item) Class.forName("buildcraft.BuildCraftCore").getField("woodenGearItem").get(null); - } catch (Exception ex) { - // ignored - } + Item woodGear = null; + try { + woodGear = (Item) Class.forName("buildcraft.BuildCraftCore") + .getField("woodenGearItem") + .get(null); + } catch (Exception ex) { + // ignored + } - ItemStack gear = new ItemStack(Blocks.planks, 1); - if (woodGear != null) { - gear = new ItemStack(woodGear, 1); - } + ItemStack gear = new ItemStack(Blocks.planks, 1); + if (woodGear != null) { + gear = new ItemStack(woodGear, 1); + } - RecipeManagers.carpenterManager.addRecipe( - 100, - Binnie.Liquid.getLiquidStack("for.honey", 500), - null, - ExtraBeeItems.ScentedGear.get(1), - " j ", "bgb", " p ", - 'j', Mods.forestry.item("royalJelly"), - 'b', Mods.forestry.item("beeswax"), - 'p', Mods.forestry.item("pollen"), - 'g', gear - ); - } + RecipeManagers.carpenterManager.addRecipe( + 100, + Binnie.Liquid.getLiquidStack("for.honey", 500), + null, + ExtraBeeItems.ScentedGear.get(1), + " j ", + "bgb", + " p ", + 'j', + Mods.forestry.item("royalJelly"), + 'b', + Mods.forestry.item("beeswax"), + 'p', + Mods.forestry.item("pollen"), + 'g', + gear); + } - private void setGem(String string) { - gemString = string; - } + private void setGem(String string) { + gemString = string; + } - private void setMetal(String string) { - metalString = string; - } + private void setMetal(String string) { + metalString = string; + } - @Override - public boolean isActive() { - if (metalString != null) { - return !OreDictionary.getOres("ingot" + metalString).isEmpty() - || !OreDictionary.getOres("dust" + metalString).isEmpty() - || this == ExtraBeeItems.CoalDust; - } - return gemString == null - || !OreDictionary.getOres("gem" + gemString).isEmpty(); - } + @Override + public boolean isActive() { + if (metalString != null) { + return !OreDictionary.getOres("ingot" + metalString).isEmpty() + || !OreDictionary.getOres("dust" + metalString).isEmpty() + || this == ExtraBeeItems.CoalDust; + } + return gemString == null || !OreDictionary.getOres("gem" + gemString).isEmpty(); + } - @Override - public IIcon getIcon(ItemStack itemStack) { - return icon; - } + @Override + public IIcon getIcon(ItemStack itemStack) { + return icon; + } - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister register) { - icon = ExtraBees.proxy.getIcon(register, "misc/" + iconPath); - } + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister register) { + icon = ExtraBees.proxy.getIcon(register, "misc/" + iconPath); + } - @Override - public void addInformation(List tooltip) { - // ignored - } + @Override + public void addInformation(List tooltip) { + // ignored + } - @Override - public String getName(ItemStack itemStack) { - return I18N.localise("extrabees.item." + name); - } + @Override + public String getName(ItemStack itemStack) { + return I18N.localise("extrabees.item." + name); + } - @Override - public ItemStack get(int count) { - return new ItemStack(ExtraBees.itemMisc, count, ordinal()); - } + @Override + public ItemStack get(int count) { + return new ItemStack(ExtraBees.itemMisc, count, ordinal()); + } } diff --git a/src/main/java/binnie/extrabees/core/ExtraBeeTexture.java b/src/main/java/binnie/extrabees/core/ExtraBeeTexture.java index 1a32b4b0..45dee92a 100644 --- a/src/main/java/binnie/extrabees/core/ExtraBeeTexture.java +++ b/src/main/java/binnie/extrabees/core/ExtraBeeTexture.java @@ -7,29 +7,29 @@ import binnie.core.resource.ResourceType; import binnie.extrabees.ExtraBees; public enum ExtraBeeTexture implements IBinnieTexture { - AlvearyMutator(ResourceType.Tile, "alveary/AlvearyMutator"), - AlvearyNovaBlock(ResourceType.Tile, "alveary/AlvearyNovaBlock"), - AlvearyFrame(ResourceType.Tile, "alveary/AlvearyFrame"), - AlvearyLighting(ResourceType.Tile, "alveary/AlvearyLighting"), - AlvearyRainShield(ResourceType.Tile, "alveary/AlvearyRainShield"), - AlvearyStimulator(ResourceType.Tile, "alveary/AlvearyStimulator"), - AlvearyHatchery(ResourceType.Tile, "alveary/AlvearyHatchery"), - FX(ResourceType.FX, "fx"), - GUIPunnett(ResourceType.GUI, "punnett"), - GUIProgress(ResourceType.GUI, "processes"), - GUIProgress2(ResourceType.GUI, "processes2"), - AlvearyTransmission(ResourceType.Tile, "alveary/AlvearyTransmission"); + AlvearyMutator(ResourceType.Tile, "alveary/AlvearyMutator"), + AlvearyNovaBlock(ResourceType.Tile, "alveary/AlvearyNovaBlock"), + AlvearyFrame(ResourceType.Tile, "alveary/AlvearyFrame"), + AlvearyLighting(ResourceType.Tile, "alveary/AlvearyLighting"), + AlvearyRainShield(ResourceType.Tile, "alveary/AlvearyRainShield"), + AlvearyStimulator(ResourceType.Tile, "alveary/AlvearyStimulator"), + AlvearyHatchery(ResourceType.Tile, "alveary/AlvearyHatchery"), + FX(ResourceType.FX, "fx"), + GUIPunnett(ResourceType.GUI, "punnett"), + GUIProgress(ResourceType.GUI, "processes"), + GUIProgress2(ResourceType.GUI, "processes2"), + AlvearyTransmission(ResourceType.Tile, "alveary/AlvearyTransmission"); - protected String texture; - protected ResourceType type; + protected String texture; + protected ResourceType type; - ExtraBeeTexture(ResourceType base, String texture) { - this.texture = texture; - type = base; - } + ExtraBeeTexture(ResourceType base, String texture) { + this.texture = texture; + type = base; + } - @Override - public BinnieResource getTexture() { - return Binnie.Resource.getPNG(ExtraBees.instance, type, texture); - } + @Override + public BinnieResource getTexture() { + return Binnie.Resource.getPNG(ExtraBees.instance, type, texture); + } } diff --git a/src/main/java/binnie/extrabees/core/ModuleCore.java b/src/main/java/binnie/extrabees/core/ModuleCore.java index 4e979c88..48994cfe 100644 --- a/src/main/java/binnie/extrabees/core/ModuleCore.java +++ b/src/main/java/binnie/extrabees/core/ModuleCore.java @@ -6,18 +6,18 @@ import binnie.extrabees.ExtraBees; import forestry.api.core.Tabs; public class ModuleCore implements IInitializable { - @Override - public void preInit() { - ExtraBees.itemMisc = Binnie.Item.registerMiscItems(ExtraBeeItems.values(), Tabs.tabApiculture); - } + @Override + public void preInit() { + ExtraBees.itemMisc = Binnie.Item.registerMiscItems(ExtraBeeItems.values(), Tabs.tabApiculture); + } - @Override - public void init() { - ExtraBeeItems.init(); - } + @Override + public void init() { + ExtraBeeItems.init(); + } - @Override - public void postInit() { - ExtraBeeItems.postInit(); - } + @Override + public void postInit() { + ExtraBeeItems.postInit(); + } } diff --git a/src/main/java/binnie/extrabees/genetics/ExtraBeeBranchDefinition.java b/src/main/java/binnie/extrabees/genetics/ExtraBeeBranchDefinition.java index 31888b25..00e93a6f 100644 --- a/src/main/java/binnie/extrabees/genetics/ExtraBeeBranchDefinition.java +++ b/src/main/java/binnie/extrabees/genetics/ExtraBeeBranchDefinition.java @@ -10,312 +10,359 @@ import forestry.api.genetics.IClassification; import forestry.apiculture.genetics.alleles.AlleleEffect; import forestry.core.genetics.IBranchDefinition; import forestry.core.genetics.alleles.EnumAllele; - import java.util.Arrays; import java.util.Locale; @SuppressWarnings("Duplicates") public enum ExtraBeeBranchDefinition implements IBranchDefinition { - BARREN("Vacapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.DEAD.getUID())); - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - } - }, - HOSTILE("Infenapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.DEAD.getUID())); - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - } - }, - ROCKY("Monapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); - } - }, - METALLIC("Lamminapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - } - }, - METALLIC2("Metalapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - } - }, - ALLOY("Allapis"), - PRECIOUS("Pluriapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - } - }, - MINERAL("Niphapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - } - }, - GEMSTONE("Gemmapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - } - }, - NUCLEAR("Levapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.RADIOACTIVE.getUID())); - } - }, - HISTORIC("Priscapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.ELONGATED); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); - } - }, - FOSSILIZED("Fosiapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); - } - }, - REFINED("Petrapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); - } - }, - AQUATIC("Aquapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWEST); - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.WATER.getUID())); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.WATER.getUID())); - } - }, - SACCHARINE("Sacchapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.SUGAR.getUID())); - } - }, - CLASSICAL("Grecapis"), - VOLCANIC("Irrapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.METEOR.getUID())); - } - }, - VIRULENT("Virapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectMiasmic); - } - }, - VISCOUS("Viscapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE); - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.ECTOPLASM.getUID())); - } - }, - CAUSTIC("Morbapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE); - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.ACID.getUID())); - } - }, - ENERGETIC("Incitapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.REDSTONE.getUID())); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.LIGHTNING.getUID())); - } - }, - FARMING("Agriapis"), - SHADOW("Pullapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.BLINDNESS.getUID())); - } - }, - PRIMARY("Primapis"), - SECONDARY("Secapis"), - TERTIARY("Tertiapis"), - FTB("Eftebeapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectBeatific); - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.MAXIMUM); - AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGEST); - } - }, - QUANTUM("Quantapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); - AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.END); - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.GRAVITY.getUID())); - } - }, - BOTANIA("Botaniapis") { - @Override - protected void setBranchProperties(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.MYSTICAL.getUID())); - } - }; + BARREN("Vacapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.DEAD.getUID())); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + } + }, + HOSTILE("Infenapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.DOWN_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.DEAD.getUID())); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + } + }, + ROCKY("Monapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); + } + }, + METALLIC("Lamminapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + } + }, + METALLIC2("Metalapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + } + }, + ALLOY("Allapis"), + PRECIOUS("Pluriapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + } + }, + MINERAL("Niphapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + } + }, + GEMSTONE("Gemmapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + } + }, + NUCLEAR("Levapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.ROCK.getUID())); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.RADIOACTIVE.getUID())); + } + }, + HISTORIC("Priscapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.ELONGATED); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); + } + }, + FOSSILIZED("Fosiapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); + } + }, + REFINED("Petrapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); + } + }, + AQUATIC("Aquapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.TOLERANT_FLYER, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_1); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.WATER.getUID())); + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.WATER.getUID())); + } + }, + SACCHARINE("Sacchapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.SUGAR.getUID())); + } + }, + CLASSICAL("Grecapis"), + VOLCANIC("Irrapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.METEOR.getUID())); + } + }, + VIRULENT("Virapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectMiasmic); + } + }, + VISCOUS("Viscapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOW); + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.ECTOPLASM.getUID())); + } + }, + CAUSTIC("Morbapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.JUNGLE); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.ACID.getUID())); + } + }, + ENERGETIC("Incitapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.CAVE_DWELLING, true); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.REDSTONE.getUID())); + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.LIGHTNING.getUID())); + } + }, + FARMING("Agriapis"), + SHADOW("Pullapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.BLINDNESS.getUID())); + } + }, + PRIMARY("Primapis"), + SECONDARY("Secapis"), + TERTIARY("Tertiapis"), + FTB("Eftebeapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectBeatific); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.MAXIMUM); + AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGEST); + } + }, + QUANTUM("Quantapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.UP_1); + AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.LARGE); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.END); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.GRAVITY.getUID())); + } + }, + BOTANIA("Botaniapis") { + @Override + protected void setBranchProperties(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.MYSTICAL.getUID())); + } + }; - private static IAllele[] defaultTemplate; + private static IAllele[] defaultTemplate; - private final IClassification branch; + private final IClassification branch; - ExtraBeeBranchDefinition(String scientific) { - branch = BeeManager.beeFactory.createBranch(name().toLowerCase(Locale.ENGLISH), scientific); - IClassification parent = AlleleManager.alleleRegistry.getClassification("family.apidae"); - if (parent != null) { - parent.addMemberGroup(branch); - } - } + ExtraBeeBranchDefinition(String scientific) { + branch = BeeManager.beeFactory.createBranch(name().toLowerCase(Locale.ENGLISH), scientific); + IClassification parent = AlleleManager.alleleRegistry.getClassification("family.apidae"); + if (parent != null) { + parent.addMemberGroup(branch); + } + } - protected void setBranchProperties(IAllele[] template) { - // ignored - } + protected void setBranchProperties(IAllele[] template) { + // ignored + } - @Override - public final IAllele[] getTemplate() { - IAllele[] template = getDefaultTemplate(); - setBranchProperties(template); - return template; - } + @Override + public final IAllele[] getTemplate() { + IAllele[] template = getDefaultTemplate(); + setBranchProperties(template); + return template; + } - @Override - public final IClassification getBranch() { - return branch; - } + @Override + public final IClassification getBranch() { + return branch; + } - private static IAllele[] getDefaultTemplate() { - if (defaultTemplate == null) { - defaultTemplate = new IAllele[EnumBeeChromosome.values().length]; - AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); - AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); - AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.NORMAL); - AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); - AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.NOCTURNAL, false); - AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE); - AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TOLERANT_FLYER, false); - AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.CAVE_DWELLING, false); - AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA); - AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWEST); - AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.AVERAGE); - AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.EFFECT, AlleleEffect.effectNone); - } - return Arrays.copyOf(defaultTemplate, defaultTemplate.length); - } + private static IAllele[] getDefaultTemplate() { + if (defaultTemplate == null) { + defaultTemplate = new IAllele[EnumBeeChromosome.values().length]; + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.NORMAL); + AlleleHelper.instance.set( + defaultTemplate, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.NOCTURNAL, false); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TOLERANT_FLYER, false); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.CAVE_DWELLING, false); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOWEST); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.AVERAGE); + AlleleHelper.instance.set(defaultTemplate, EnumBeeChromosome.EFFECT, AlleleEffect.effectNone); + } + return Arrays.copyOf(defaultTemplate, defaultTemplate.length); + } } diff --git a/src/main/java/binnie/extrabees/genetics/ExtraBeeDefinition.java b/src/main/java/binnie/extrabees/genetics/ExtraBeeDefinition.java index 18f092a6..92b4588d 100644 --- a/src/main/java/binnie/extrabees/genetics/ExtraBeeDefinition.java +++ b/src/main/java/binnie/extrabees/genetics/ExtraBeeDefinition.java @@ -22,1882 +22,1882 @@ import forestry.apiculture.genetics.IBeeDefinition; import forestry.apiculture.genetics.alleles.AlleleEffect; import forestry.core.genetics.IBranchDefinition; import forestry.core.genetics.alleles.EnumAllele; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.BiomeDictionary; - import java.awt.Color; import java.util.Arrays; import java.util.EnumSet; import java.util.Locale; import java.util.Map; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.BiomeDictionary; public enum ExtraBeeDefinition implements IBeeDefinition { - /* BARREN BRANCH */ - ARID(ExtraBeeBranchDefinition.BARREN, "aridus", true, new Color(0xbee854), new Color(0xcbe374)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) - .setTemperature(EnumTemperature.HOT) - .setHumidity(EnumHumidity.ARID); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.NORMAL); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MEADOWS, BeeDefinition.FRUGAL, 10); - registerMutation(BeeDefinition.FOREST, BeeDefinition.FRUGAL, 10); - } - }, - BARREN(ExtraBeeBranchDefinition.BARREN, "infelix", true, new Color(0xe0d263), new Color(0xcbe374)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) - .setTemperature(EnumTemperature.HOT) - .setHumidity(EnumHumidity.ARID); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.COMMON, ARID, 10); - } - }, - DESOLATE(ExtraBeeBranchDefinition.BARREN, "desolo", false, new Color(0xd1b890), new Color(0xcbe374)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) - .setTemperature(EnumTemperature.HOT) - .setHumidity(EnumHumidity.ARID) - .setHasEffect(); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.HUNGER.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(ARID, BARREN, 10); - } - }, - DECOMPOSING(ExtraBeeBranchDefinition.BARREN, "aegrus", true, new Color(0x523711), new Color(0xffffff)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) - .addSpecialty(EnumHoneyComb.COMPOST.get(1), 0.08f) - .setTemperature(EnumTemperature.HOT) - .setHumidity(EnumHumidity.ARID); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MARSHY, BARREN, 15); - } - }, - GNAWING(ExtraBeeBranchDefinition.BARREN, "apica", true, new Color(0xe874b0), new Color(0xcbe374)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.BARREN.get(1), 0.25f) - .addSpecialty(EnumHoneyComb.SAWDUST.get(1), 0.25f) - .setTemperature(EnumTemperature.HOT) - .setHumidity(EnumHumidity.ARID); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.WOOD.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.FOREST, BARREN, 15); - } - }, - - /* HOSTILE BRANCH */ - ROTTEN(ExtraBeeBranchDefinition.HOSTILE, "caries", true, new Color(0xbfe0b6), new Color(0xcbe374)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) - .addSpecialty(EnumHoneyComb.ROTTEN.get(1), 0.10f) - .setTemperature(EnumTemperature.HOT) - .setHumidity(EnumHumidity.ARID); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.SPAWN_ZOMBIE.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MEADOWS, DESOLATE, 15); - } - }, - BONE(ExtraBeeBranchDefinition.HOSTILE, "os", true, new Color(0xe9ede8), new Color(0xcbe374)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) - .addSpecialty(EnumHoneyComb.BONE.get(1), 0.10f) - .setTemperature(EnumTemperature.HOT) - .setHumidity(EnumHumidity.ARID); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.SPAWN_SKELETON.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.FOREST, DESOLATE, 15); - } - }, - CREEPER(ExtraBeeBranchDefinition.HOSTILE, "erepo", true, new Color(0x2ce615), new Color(0xcbe374)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) - .addSpecialty(ItemHoneyComb.VanillaComb.POWDERY.get(), 0.08f) - .setTemperature(EnumTemperature.HOT) - .setHumidity(EnumHumidity.ARID); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.SPAWN_CREEPER.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MODEST, DESOLATE, 15); - } - }, - - /* ROCKY BRANCH */ - ROCK(ExtraBeeBranchDefinition.ROCKY, "saxum", true, new Color(0xa8a8a8), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.30f); - } - }, - STONE(ExtraBeeBranchDefinition.ROCKY, "lapis", false, new Color(0x757575), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.30f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.DILIGENT, ROCK, 12); - } - }, - GRANITE(ExtraBeeBranchDefinition.ROCKY, "granum", true, new Color(0x695555), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.30f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.UNWEARY, STONE, 10); - } - }, - MINERAL(ExtraBeeBranchDefinition.ROCKY, "minerale", true, new Color(0x6e757d), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.30f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.INDUSTRIOUS, GRANITE, 6); - } - }, - - /* METALLIC BRANCH */ - COPPER(ExtraBeeBranchDefinition.METALLIC, "cuprous", true, new Color(0xd16308), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.COPPER.get(1), 0.06f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.WINTRY, MINERAL, 5); - registerMutation(BeeDefinition.MODEST, MINERAL, 5); - } - }, - TIN(ExtraBeeBranchDefinition.METALLIC, "stannus", true, new Color(0xbdb1bd), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.TIN.get(1), 0.06f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MARSHY, MINERAL, 5); - registerMutation(BeeDefinition.TROPICAL, MINERAL, 5); - } - }, - IRON(ExtraBeeBranchDefinition.METALLIC, "ferrous", false, new Color(0xa87058), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.IRON.get(1), 0.05f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MEADOWS, MINERAL, 5); - registerMutation(BeeDefinition.FOREST, MINERAL, 5); - } - }, - LEAD(ExtraBeeBranchDefinition.METALLIC, "plumbous", true, new Color(0xad8bab), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.LEAD.get(1), 0.05f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MEADOWS, MINERAL, 5); - registerMutation(BeeDefinition.MODEST, MINERAL, 5); - } - }, - - /* METALLIC2 BRANCH */ - ZINC(ExtraBeeBranchDefinition.METALLIC2, "spelta", true, new Color(0xedebff), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.ZINC.get(1), 0.05f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.WINTRY, MINERAL, 5); - registerMutation(BeeDefinition.TROPICAL, MINERAL, 5); - } - }, - TITANIUM(ExtraBeeBranchDefinition.METALLIC2, "titania", true, new Color(0xb0aae3), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.TITANIUM.get(1), 0.02f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.CULTIVATED, MINERAL, 3); - } - }, - TUNGSTATE(ExtraBeeBranchDefinition.METALLIC2, "wolfram", true, new Color(0x131214), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.TUNGSTEN.get(1), 0.01f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.COMMON, MINERAL, 3); - } - }, - NICKEL(ExtraBeeBranchDefinition.METALLIC2, "claro", true, new Color(0xffdefc), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.NICKEL.get(1), 0.05f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.FOREST, MINERAL, 5); - registerMutation(BeeDefinition.MARSHY, MINERAL, 5); - } - }, - - /* PRECIOUS BRANCH */ - GOLD(ExtraBeeBranchDefinition.PRECIOUS, "aureus", true, new Color(0xe6cc0b), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.GOLD.get(1), 0.02f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MAJESTIC, IRON, 2); - registerMutation(BeeDefinition.MAJESTIC, COPPER, 2); - registerMutation(BeeDefinition.MAJESTIC, NICKEL, 2); - registerMutation(BeeDefinition.MAJESTIC, TUNGSTATE, 2); - } - }, - SILVER(ExtraBeeBranchDefinition.PRECIOUS, "argentus", false, new Color(0x43455b), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.SILVER.get(1), 0.02f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MAJESTIC, ZINC, 2); - registerMutation(BeeDefinition.MAJESTIC, TIN, 2); - registerMutation(BeeDefinition.MAJESTIC, LEAD, 2); - registerMutation(BeeDefinition.MAJESTIC, TITANIUM, 2); - } - }, - //ELECTRUM, - PLATINUM(ExtraBeeBranchDefinition.PRECIOUS, "platina", false, new Color(0xdbdbdb), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.PLATINUM.get(1), 0.01f); - } - - @Override - protected void registerMutations() { - registerMutation(GOLD, SILVER, 2); - } - }, - - /* MINERAL BRANCH */ - LAPIS(ExtraBeeBranchDefinition.MINERAL, "lazuli", true, new Color(0x3d2cdb), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.LAPIS.get(1), 0.05f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.IMPERIAL, MINERAL, 5); - } - }, - //SODALITE, - //PYRITE, - //BAUXITE, - //CINNABAR, - //SPHALERITE, - - /* GEMSTONE BRANCH */ - EMERALD(ExtraBeeBranchDefinition.GEMSTONE, "emerala", true, new Color(0x1cff03), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.EMERALD.get(1), 0.04f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.FOREST, LAPIS, 5); - } - }, - RUBY(ExtraBeeBranchDefinition.GEMSTONE, "ruba", true, new Color(0xd60000), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.RUBY.get(1), 0.03f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MODEST, LAPIS, 5); - } - }, - SAPPHIRE(ExtraBeeBranchDefinition.GEMSTONE, "saphhira", true, new Color(0x0a47ff), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.SAPPHIRE.get(1), 0.03f); - } - - @Override - protected void registerMutations() { - registerMutation(WATER, LAPIS, 5); - } - }, - //OLIVINE, - DIAMOND(ExtraBeeBranchDefinition.GEMSTONE, "diama", true, new Color(0x7fbdfa), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.STONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.DIAMOND.get(1), 0.01f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.CULTIVATED, LAPIS, 5); - } - }, - - /* NUCLEAR BRANCH */ - UNSTABLE(ExtraBeeBranchDefinition.NUCLEAR, "levis", false, new Color(0x3e8c34), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.20f); - } - - @Override - protected void registerMutations() { - registerMutation(PREHISTORIC, MINERAL, 5); - } - }, - NUCLEAR(ExtraBeeBranchDefinition.NUCLEAR, "nucleus", false, new Color(0x41cc2f), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.20f); - } - - @Override - protected void registerMutations() { - registerMutation(UNSTABLE, IRON, 5); - registerMutation(UNSTABLE, COPPER, 5); - registerMutation(UNSTABLE, TIN, 5); - registerMutation(UNSTABLE, ZINC, 5); - registerMutation(UNSTABLE, NICKEL, 5); - registerMutation(UNSTABLE, LEAD, 5); - } - }, - RADIOACTIVE(ExtraBeeBranchDefinition.NUCLEAR, "fervens", false, new Color(0x1eff00), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.BARREN.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.URANIUM.get(1), 0.02f) - .setHasEffect(); - } - - @Override - protected void registerMutations() { - registerMutation(NUCLEAR, GOLD, 5); - registerMutation(NUCLEAR, SILVER, 5); - } - }, - YELLORIUM(ExtraBeeBranchDefinition.NUCLEAR, "yellori", true, new Color(0xd5ed00), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.BARREN.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.YELLORIUM.get(1), 0.02f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.RADIOACTIVE.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.FRUGAL, NUCLEAR, 5); - } - }, - CYANITE(ExtraBeeBranchDefinition.NUCLEAR, "cyanita", true, new Color(0x0086ed), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.BARREN.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.CYANITE.get(1), 0.01f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.RADIOACTIVE.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(NUCLEAR, YELLORIUM, 5); - } - }, - BLUTONIUM(ExtraBeeBranchDefinition.NUCLEAR, "caruthus", true, new Color(0x1b00e6), new Color(0x999999)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.BARREN.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.BLUTONIUM.get(1), 0.01f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.RADIOACTIVE.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(CYANITE, YELLORIUM, 5); - } - }, - - /* HISTORIC BRANCH */ - ANCIENT(ExtraBeeBranchDefinition.HISTORIC, "antiquus", true, new Color(0xf2db8f), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.30f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.NOBLE, BeeDefinition.DILIGENT, 10); - } - }, - PRIMEVAL(ExtraBeeBranchDefinition.HISTORIC, "priscus", true, new Color(0xb3a67b), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.30f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.SECLUDED, ANCIENT, 8); - } - }, - PREHISTORIC(ExtraBeeBranchDefinition.HISTORIC, "pristinus", false, new Color(0x6e5a40), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.30f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); - } - - @Override - protected void registerMutations() { - registerMutation(PRIMEVAL, ANCIENT, 8); - } - }, - RELIC(ExtraBeeBranchDefinition.HISTORIC, "sapiens", true, new Color(0x4d3e16), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.OLD.get(1), 0.30f) - .setHasEffect(); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.IMPERIAL, PREHISTORIC, 8); - } - }, - - /* FOSSILIZED BRANCH */ - COAL(ExtraBeeBranchDefinition.FOSSILIZED, "carbo", true, new Color(0x7a7648), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.OLD.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.COAL.get(1), 0.08f); - } - - @Override - protected void registerMutations() { - registerMutation(PRIMEVAL, GROWING, 8); - registerMutation(BeeDefinition.RURAL, PRIMEVAL, 8); - } - }, - RESIN(ExtraBeeBranchDefinition.FOSSILIZED, "lacrima", false, new Color(0xa6731b), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.OLD.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.RESIN.get(1), 0.05f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MIRY, PRIMEVAL, 8); - } - }, - OIL(ExtraBeeBranchDefinition.FOSSILIZED, "lubricus", true, new Color(0x574770), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.OLD.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.OIL.get(1), 0.05f); - } - - @Override - protected void registerMutations() { - registerMutation(OCEAN, PRIMEVAL, 8); - registerMutation(BeeDefinition.FRUGAL, PRIMEVAL, 8); - } - }, - // PEAT, - - /* REFINED BRANCH */ - DISTILLED(ExtraBeeBranchDefinition.REFINED, "distilli", false, new Color(0x356356), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.10f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.INDUSTRIOUS, OIL, 8); - } - }, - FUEL(ExtraBeeBranchDefinition.REFINED, "refina", true, new Color(0xffc003), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.OIL.get(1), 0.10f) - .addSpecialty(EnumHoneyComb.FUEL.get(1), 0.04f) - .setHasEffect(); - } - - @Override - protected void registerMutations() { - registerMutation(DISTILLED, OIL, 8); - } - }, - CREOSOTE(ExtraBeeBranchDefinition.REFINED, "creosota", true, new Color(0x979e13), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.COAL.get(1), 0.10f) - .addSpecialty(EnumHoneyComb.CREOSOTE.get(1), 0.07f) - .setHasEffect(); - } - - @Override - protected void registerMutations() { - registerMutation(DISTILLED, COAL, 8); - } - }, - LATEX(ExtraBeeBranchDefinition.REFINED, "latex", true, new Color(0x494a3e), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.RESIN.get(1), 0.10f) - .addSpecialty(EnumHoneyComb.LATEX.get(1), 0.05f) - .setHasEffect(); - } - - @Override - protected void registerMutations() { - registerMutation(DISTILLED, RESIN, 8); - } - }, - - /* AQUATIC BRANCH */ - WATER(ExtraBeeBranchDefinition.AQUATIC, "aqua", true, new Color(0x94a2ff), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.WATER.get(1), 0.30f) - .setHumidity(EnumHumidity.DAMP); - } - }, - RIVER(ExtraBeeBranchDefinition.AQUATIC, "flumen", true, new Color(0x83b3d4), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.WATER.get(1), 0.30f) - .addSpecialty(EnumHoneyComb.CLAY.get(1), 0.20f) - .setHumidity(EnumHumidity.DAMP); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.DILIGENT, WATER, 10) - .restrictBiomeType(BiomeDictionary.Type.RIVER); - } - }, - OCEAN(ExtraBeeBranchDefinition.AQUATIC, "mare", false, new Color(0x1d2ead), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.WATER.get(1), 0.30f) - .setHumidity(EnumHumidity.DAMP); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.DILIGENT, WATER, 10) - .restrictBiomeType(BiomeDictionary.Type.OCEAN); - } - }, - INK(ExtraBeeBranchDefinition.AQUATIC, "atramentum", true, new Color(0xe1447), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.WATER.get(1), 0.30f) - .addSpecialty(new ItemStack(Items.dye, 1, 0), 0.10f) - .setHumidity(EnumHumidity.DAMP); - } - - @Override - protected void registerMutations() { - registerMutation(BLACK, OCEAN, 8); - } - }, - - /* AGRARIAN BRANCH */ - GROWING(BeeBranchDefinition.AGRARIAN, "tyrelli", true, new Color(0x5bebd8), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.35f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.HIGH); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.LEAVES.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.FOREST, BeeDefinition.DILIGENT, 10); - } - }, - FARM(BeeBranchDefinition.AGRARIAN, "ager", true, new Color(0x75db60), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.WHEATEN.get(), 0.30f) - .addSpecialty(EnumHoneyComb.SEED.get(1), 0.10f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.FARMERLY, BeeDefinition.MEADOWS, 10); - } - }, - THRIVING(BeeBranchDefinition.AGRARIAN, "thriva", true, new Color(0x34e37d), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.35f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.HIGH); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FAST); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.LEAVES.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.UNWEARY, GROWING, 10); - } - }, - BLOOMING(BeeBranchDefinition.AGRARIAN, "blooma", true, new Color(0x0abf34), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.35f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.HIGH); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTEST); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.SAPLING.getUID())); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.BONEMEAL_SAPLING.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.INDUSTRIOUS, THRIVING, 8); - } - }, - - /* SACCHARINE BRANCH */ - SWEET(ExtraBeeBranchDefinition.SACCHARINE, "mellitus", true, new Color(0xfc51f1), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.40f) - .addProduct(new ItemStack(Items.sugar, 1, 0), 0.10f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.VALIANT, BeeDefinition.DILIGENT, 15); - } - }, - SUGAR(ExtraBeeBranchDefinition.SACCHARINE, "dulcis", true, new Color(0xe6d3e0), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.40f) - .addProduct(new ItemStack(Items.sugar, 1, 0), 0.20f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.RURAL, SWEET, 15); - } - }, - RIPENING(ExtraBeeBranchDefinition.SACCHARINE, "ripa", true, new Color(0xb2c75d), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.30f) - .addProduct(new ItemStack(Items.sugar, 1, 0), 0.10f) - .addSpecialty(EnumHoneyComb.FRUIT.get(1), 0.10f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, AlleleHelper.getAllele(ExtraBeesFlowers.FRUIT.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(SWEET, GROWING, 5); - } - }, - FRUIT(ExtraBeeBranchDefinition.SACCHARINE, "pomum", true, new Color(0xdb5876), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.30f) - .addProduct(new ItemStack(Items.sugar, 1, 0), 0.15f) - .addSpecialty(EnumHoneyComb.FRUIT.get(1), 0.20f) - .setHasEffect(); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.BONEMEAL_FRUIT.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(SWEET, THRIVING, 5); - } - }, - - /* FARMING BRANCH */ - ALCOHOL(ExtraBeeBranchDefinition.FARMING, "vinum", false, new Color(0xe88a61), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.WHEATEN.get(), 0.30f) - .addSpecialty(EnumHoneyComb.ALCOHOL.get(1), 0.10f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele("forestry.effectDrunkard")); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.FARMERLY, BeeDefinition.MEADOWS, 10); - } - }, - MILK(ExtraBeeBranchDefinition.FARMING, "lacteus", true, new Color(0xe3e8e8), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.WHEATEN.get(), 0.30f) - .addSpecialty(EnumHoneyComb.MILK.get(1), 0.10f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.FARMERLY, ExtraBeeDefinition.WATER, 10); - } - }, - COFFEE(ExtraBeeBranchDefinition.FARMING, "arabica", true, new Color(0x8c5e30), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.WHEATEN.get(), 0.30f) - .addSpecialty(EnumHoneyComb.COFFEE.get(1), 0.08f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.FARMERLY, BeeDefinition.TROPICAL, 10); - } - }, - //CITRUS, - //MINT, - - /* BOGGY BRANCH */ - SWAMP(BeeBranchDefinition.BOGGY, "paludis", true, new Color(0x356933), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.MOSSY.get(), 0.30f) - .setHumidity(EnumHumidity.DAMP); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.SLOW.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MIRY, WATER, 10); - } - }, - BOGGY(BeeBranchDefinition.BOGGY, "lama", false, new Color(0x785c29), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(ItemHoneyComb.VanillaComb.MOSSY.get(), 0.30f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.SLOW.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.BOGGY, SWAMP, 8); - } - }, - FUNGAL(BeeBranchDefinition.BOGGY, "boletus", true, new Color(0xd16200), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.MOSSY.get(), 0.30f) - .addSpecialty(EnumHoneyComb.FUNGAL.get(1), 0.15f) - .setHasEffect(); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.BONEMEAL_MUSHROOM.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.BOGGY, BeeDefinition.MIRY, 8); - registerMutation(BeeDefinition.BOGGY, FUNGAL, 8); - } - }, - - /* CLASSICAL BRANCH */ - //MARBLE, - //ROMAN, - //GREEK, - //CLASSICAL, - - /* VOLCANIC BRANCH */ - BASALT(ExtraBeeBranchDefinition.VOLCANIC, "aceri", true, new Color(0x8c6969), new Color(0x9a2323)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.SIMMERING.get(), 0.25f) - .setTemperature(EnumTemperature.HELLISH) - .setHumidity(EnumHumidity.ARID); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectAggressive); - } - }, - TEMPERED(ExtraBeeBranchDefinition.VOLCANIC, "iratus", false, new Color(0x8a4848), new Color(0x9a2323)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.SIMMERING.get(), 0.25f) - .setTemperature(EnumTemperature.HELLISH) - .setHumidity(EnumHumidity.ARID); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.FIENDISH, ExtraBeeDefinition.BASALT, 30) - .restrictBiomeType(BiomeDictionary.Type.NETHER); - } - }, - //ANGRY, - VOLCANIC(ExtraBeeBranchDefinition.VOLCANIC, "volcano", true, new Color(0x4d0c0c), new Color(0x9a2323)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.SIMMERING.get(), 0.25f) - .addSpecialty(EnumHoneyComb.BLAZE.get(1), 0.10f) - .setTemperature(EnumTemperature.HELLISH) - .setHumidity(EnumHumidity.ARID) - .setHasEffect(); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.DEMONIC, ExtraBeeDefinition.TEMPERED, 20) - .restrictBiomeType(BiomeDictionary.Type.NETHER); - } - }, - GLOWSTONE(ExtraBeeBranchDefinition.VOLCANIC, "glowia", true, new Color(0xe0c61b), new Color(0x9a2323)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.GLOWSTONE.get(1), 0.15f) - .setTemperature(EnumTemperature.HELLISH) - .setHumidity(EnumHumidity.ARID); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectAggressive); - } - - @Override - protected void registerMutations() { - registerMutation(ExtraBeeDefinition.TEMPERED, ExtraBeeDefinition.EXCITED, 5); - } - }, - - /* VIRULENT BRANCH */ - MALICIOUS(ExtraBeeBranchDefinition.VIRULENT, "acerbus", true, new Color(0x782a77), new Color(0x069764)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f) - .setHumidity(EnumHumidity.DAMP) - .setTemperature(EnumTemperature.WARM); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.SINISTER, BeeDefinition.TROPICAL, 10); - } - }, - INFECTIOUS(ExtraBeeBranchDefinition.VIRULENT, "contagio", true, new Color(0xb82eb5), new Color(0x069764)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.TROPICAL, ExtraBeeDefinition.MALICIOUS, 8); - } - }, - VIRULENT(ExtraBeeBranchDefinition.VIRULENT, "morbus", false, new Color(0xf013ec), new Color(0x069764)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f) - .addSpecialty(EnumHoneyComb.VENOMOUS.get(1), 0.12f) - .setHumidity(EnumHumidity.DAMP) - .setTemperature(EnumTemperature.WARM) - .setHasEffect(); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); - } - - @Override - protected void registerMutations() { - registerMutation(ExtraBeeDefinition.MALICIOUS, ExtraBeeDefinition.INFECTIOUS, 8); - } - }, - - /* VISCOUS BRANCH */ - VISCOUS(ExtraBeeBranchDefinition.VISCOUS, "liquidus", true, new Color(0x9470e), new Color(0x069764)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f) - .setHumidity(EnumHumidity.DAMP) - .setTemperature(EnumTemperature.WARM); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.EXOTIC, ExtraBeeDefinition.WATER, 10); - } - }, - GLUTINOUS(ExtraBeeBranchDefinition.VISCOUS, "glutina", true, new Color(0x1d8c27), new Color(0x069764)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f) - .setHumidity(EnumHumidity.DAMP) - .setTemperature(EnumTemperature.WARM); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.EXOTIC, ExtraBeeDefinition.VISCOUS, 8); - } - }, - STICKY(ExtraBeeBranchDefinition.VISCOUS, "lentesco", true, new Color(0x17e328), new Color(0x069764)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f) - .addSpecialty(EnumHoneyComb.SLIME.get(1), 0.12f) - .setHasEffect(); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); - } - - @Override - protected void registerMutations() { - registerMutation(ExtraBeeDefinition.VISCOUS, ExtraBeeDefinition.GLUTINOUS, 8); - } - }, - - /* CAUSTIC BRANCH */ - CORROSIVE(ExtraBeeBranchDefinition.CAUSTIC, "corrumpo", false, new Color(0x4a5c0b), new Color(0x069764)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.20f) - .setHumidity(EnumHumidity.DAMP) - .setTemperature(EnumTemperature.WARM); - } - - @Override - protected void registerMutations() { - registerMutation(ExtraBeeDefinition.MALICIOUS, ExtraBeeDefinition.VISCOUS, 10); - } - }, - CAUSTIC(ExtraBeeBranchDefinition.CAUSTIC, "torrens", true, new Color(0x84a11d), new Color(0x069764)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f) - .addSpecialty(EnumHoneyComb.ACIDIC.get(1), 0.03f) - .setHumidity(EnumHumidity.DAMP) - .setTemperature(EnumTemperature.WARM); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.FIENDISH, ExtraBeeDefinition.CORROSIVE, 8); - } - }, - ACIDIC(ExtraBeeBranchDefinition.CAUSTIC, "acidus", true, new Color(0xc0f016), new Color(0x069764)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.20f) - .addSpecialty(EnumHoneyComb.ACIDIC.get(1), 0.16f) - .setHumidity(EnumHumidity.DAMP) - .setTemperature(EnumTemperature.WARM) - .setHasEffect(); - } - - @Override - protected void registerMutations() { - registerMutation(ExtraBeeDefinition.CORROSIVE, ExtraBeeDefinition.CAUSTIC, 4); - } - }, - - /* ENERGETIC BRANCH */ - EXCITED(ExtraBeeBranchDefinition.ENERGETIC, "excita", true, new Color(0xff4545), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(EnumHoneyComb.REDSTONE.get(1), 0.10f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.VALIANT, BeeDefinition.CULTIVATED, 10); - } - }, - ENERGETIC(ExtraBeeBranchDefinition.ENERGETIC, "energia", false, new Color(0xe835c7), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.addProduct(EnumHoneyComb.REDSTONE.get(1), 0.12f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.DILIGENT, ExtraBeeDefinition.EXCITED, 8); - } - }, - ECSTATIC(ExtraBeeBranchDefinition.ENERGETIC, "ecstatica", true, new Color(0xaf35e8), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.REDSTONE.get(1), 0.20f) - .addSpecialty(EnumHoneyComb.IC2ENERGY.get(1), 0.08f) - .setHasEffect(); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.POWER.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(ExtraBeeDefinition.EXCITED, ExtraBeeDefinition.ENERGETIC, 8); - } - }, - - /* FROZEN BRANCH */ - ARTIC(BeeBranchDefinition.FROZEN, "artica", true, new Color(0xade0e0), new Color(0xdaf5f3)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.FROZEN.get(), 0.25f) - .setTemperature(EnumTemperature.ICY); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.WINTRY, BeeDefinition.DILIGENT, 10); - } - }, - FREEZING(BeeBranchDefinition.FROZEN, "glacia", true, new Color(0x7be3e3), new Color(0xdaf5f3)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.FROZEN.get(), 0.20f) - .addSpecialty(EnumHoneyComb.GLACIAL.get(1), 0.10f) - .setTemperature(EnumTemperature.ICY); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM); - } - - @Override - protected void registerMutations() { - registerMutation(ExtraBeeDefinition.OCEAN, ExtraBeeDefinition.ARTIC, 10); - } - }, - - /* SHADOW BRANCH */ - SHADOW(ExtraBeeBranchDefinition.SHADOW, "shadowa", false, new Color(0x595959), new Color(0x333333)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.SHADOW.get(1), 0.05f) - .setTemperature(EnumTemperature.HELLISH) - .setHumidity(EnumHumidity.ARID); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.SINISTER, ExtraBeeDefinition.ROCK, 10); - } - }, - DARKENED(ExtraBeeBranchDefinition.SHADOW, "darka", true, new Color(0x332e33), new Color(0x333333)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.SHADOW.get(1), 0.10f) - .setTemperature(EnumTemperature.HELLISH) - .setHumidity(EnumHumidity.ARID); - } - - @Override - protected void registerMutations() { - registerMutation(ExtraBeeDefinition.SHADOW, ExtraBeeDefinition.ROCK, 8); - } - }, - ABYSS(ExtraBeeBranchDefinition.SHADOW, "abyssba", true, new Color(0x210821), new Color(0x333333)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.SHADOW.get(1), 0.25f) - .setTemperature(EnumTemperature.HELLISH) - .setHumidity(EnumHumidity.ARID) - .setHasEffect(); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.WITHER.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(ExtraBeeDefinition.SHADOW, ExtraBeeDefinition.DARKENED, 8); - } - }, - - /* PRIMARY BRNCH */ - RED(ExtraBeeBranchDefinition.PRIMARY, "rubra", true, new Color(0xff0000), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.RED.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.FOREST, BeeDefinition.VALIANT, 5); - } - }, - YELLOW(ExtraBeeBranchDefinition.PRIMARY, "fulvus", true, new Color(0xffdd00), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.YELLOW.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MEADOWS, BeeDefinition.VALIANT, 5); - } - }, - BLUE(ExtraBeeBranchDefinition.PRIMARY, "caeruleus", true, new Color(0x0022ff), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.BLUE.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.VALIANT, ExtraBeeDefinition.WATER, 5); - } - }, - GREEN(ExtraBeeBranchDefinition.PRIMARY, "prasinus", true, new Color(0x009900), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.GREEN.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.TROPICAL, BeeDefinition.VALIANT, 5); - } - }, - BLACK(ExtraBeeBranchDefinition.PRIMARY, "niger", true, new Color(0x575757), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.BLACK.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.VALIANT, ExtraBeeDefinition.ROCK, 5); - } - }, - WHITE(ExtraBeeBranchDefinition.PRIMARY, "albus", true, new Color(0xffffff), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.WHITE.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.WINTRY, BeeDefinition.VALIANT, 5); - } - }, - BROWN(ExtraBeeBranchDefinition.PRIMARY, "fuscus", true, new Color(0x5c350f), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.BROWN.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.MARSHY, BeeDefinition.VALIANT, 5); - } - }, - - /* SECONDARY BRANCH */ - ORANGE(ExtraBeeBranchDefinition.SECONDARY, "flammeus", true, new Color(0xff9d00), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.ORANGE.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(RED, YELLOW, 5); - } - }, - CYAN(ExtraBeeBranchDefinition.SECONDARY, "cyana", true, new Color(0x00ffe5), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.CYAN.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(GREEN, BLUE, 5); - } - }, - PURPLE(ExtraBeeBranchDefinition.SECONDARY, "purpureus", true, new Color(0xae00ff), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.PURPLE.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(RED, BLUE, 5); - } - }, - GRAY(ExtraBeeBranchDefinition.SECONDARY, "ravus", true, new Color(0xbababa), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.GRAY.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(BLACK, WHITE, 5); - } - }, - LIGHTBLUE(ExtraBeeBranchDefinition.SECONDARY, "aqua", true, new Color(0x009dff), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.LIGHTBLUE.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(BLUE, WHITE, 5); - } - }, - PINK(ExtraBeeBranchDefinition.SECONDARY, "rosaceus", true, new Color(0xff80df), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.PINK.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(RED, WHITE, 5); - } - }, - LIMEGREEN(ExtraBeeBranchDefinition.SECONDARY, "lima", true, new Color(0x00ff08), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.LIMEGREEN.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(GREEN, WHITE, 5); - } - }, - - /* TERTIARY BRANCH */ - MAGENTA(ExtraBeeBranchDefinition.TERTIARY, "fuchsia", true, new Color(0xff00cc), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.MAGENTA.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(PURPLE, PINK, 5); - } - }, - LIGHTGRAY(ExtraBeeBranchDefinition.TERTIARY, "canus", true, new Color(0xc9c9c9), new Color(0x8cff00)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) - .addSpecialty(EnumHoneyComb.LIGHTGRAY.get(1), 0.25f); - } - - @Override - protected void registerMutations() { - registerMutation(GRAY, WHITE, 5); - } - }, - - /* FESTIVE BRANCH */ - CELEBRATORY(BeeBranchDefinition.FESTIVE, "celeba", true, new Color(0xfa0a6a), new Color(0xd40000)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies.setTemperature(EnumTemperature.ICY); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.FIREWORKS.getUID())); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.AUSTERE, EXCITED, 5); - } - }, - - /* FTB BRANCH */ - JADED(ExtraBeeBranchDefinition.FTB, "jadeca", true, new Color(0xfa0a6a), new Color(0xdc8aeb)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.30f) - .addSpecialty(Mods.forestry.stack("pollen"), 0.20f) - .addSpecialty(EnumHoneyComb.PURPLE.get(1), 0.15f) - .setIsNotCounted() - .setHasEffect(); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.ENDED, RELIC, 2) - .restrictPerson("jadedcat"); - } - }, - - /* AUSTERE BRANCH */ - HAZARDOUS(BeeBranchDefinition.AUSTERE, "infensus", true, new Color(0xb06c28), new Color(0xffdc16)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(EnumHoneyComb.SALTPETER.get(1), 0.12f) - .setTemperature(EnumTemperature.HOT) - .setHumidity(EnumHumidity.ARID); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectCreeper); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.AUSTERE, DESOLATE, 5); - } - }, - - /* ALLOY BRANCH */ - //INVAR, - //BRONZE, - //BRASS, - //STEEL, - - /* QUANTUM BRANCH */ - QUANTUM(ExtraBeeBranchDefinition.QUANTUM, "quanta", true, new Color(0x37c5db), new Color(0xd50fdb)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.QUARTZ.get(), 0.25f) - .addSpecialty(EnumHoneyComb.CERTUS.get(1), 0.15f) - .addSpecialty(EnumHoneyComb.ENDERPEARL.get(1), 0.15f); - } - - @Override - protected void setAlleles(IAllele[] template) { - AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.NORMAL); - AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); - AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); - AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); - AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA); - AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, false); - AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.AVERAGE); - AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectNone); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.SPECTRAL, SPATIAL, 5); - } - }, - UNUSUAL(ExtraBeeBranchDefinition.QUANTUM, "daniella", true, new Color(0x59a4ba), new Color(0xbaa2eb)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.QUARTZ.get(), 0.25f) - .setTemperature(EnumTemperature.COLD); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.SECLUDED, BeeDefinition.ENDED, 5); - } - }, - SPATIAL(ExtraBeeBranchDefinition.QUANTUM, "spatia", true, new Color(0x4c1be0), new Color(0xa44ecc)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - beeSpecies - .addProduct(ItemHoneyComb.VanillaComb.QUARTZ.get(), 0.25f) - .addSpecialty(EnumHoneyComb.CERTUS.get(1), 0.05f) - .setTemperature(EnumTemperature.COLD); - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.HERMITIC, UNUSUAL, 5); - } - }, - - /* BOTANIA BRANCH */ - MYSTICAL(ExtraBeeBranchDefinition.BOTANIA, "mystica", true, new Color(0x46a722), new Color(0xffffff)) { - @Override - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - Map products = BeeDefinition.NOBLE.getGenome().getPrimary().getProductChances(); - for (Map.Entry entry : products.entrySet()) { - beeSpecies.addProduct(entry.getKey(), entry.getValue()); - } - } - - @Override - protected void registerMutations() { - registerMutation(BeeDefinition.NOBLE, BeeDefinition.MONASTIC, 5); - } - }; - - private static final EnumSet overworldHiveBees = EnumSet.of(ROCK, WATER, BASALT); - - private final IBranchDefinition branch; - private final IAlleleBeeSpeciesCustom species; - - private IAllele[] template; - private IBeeGenome genome; - - ExtraBeeDefinition(IBranchDefinition branch, String binomial, boolean dominant, Color primary, Color secondary) { - String species = toString().toLowerCase(Locale.ENGLISH); - String uid = "extrabees.species." + species; - String description = "extrabees.species." + species + ".desc"; - String name = "extrabees.species." + species + ".name"; - - this.branch = branch; - if (branch != null) { - this.species = BeeManager.beeFactory.createSpecies(uid, dominant, "Binnie", name, description, branch.getBranch(), binomial, primary.getRGB(), secondary.getRGB()); - } else { - this.species = null; - } - } - - protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { - // ignored - } - - protected void setAlleles(IAllele[] template) { - // ignored - } - - protected void registerMutations() { - // can be found in hive - } - - protected boolean isNeedRegister() { - return branch != null; - } - - public static void initBees() { - for (ExtraBeeDefinition bee : values()) { - if (bee.isNeedRegister()) { - bee.init(); - bee.registerMutations(); - } - } - - registerMutation(BeeDefinition.FOREST, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.MEADOWS, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.MODEST, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.TROPICAL, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.MARSHY, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.WINTRY, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); - registerMutation(ExtraBeeDefinition.ROCK, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); - registerMutation(ExtraBeeDefinition.BASALT, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); - - registerMutation(BeeDefinition.FOREST, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.MEADOWS, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.MODEST, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.TROPICAL, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.MARSHY, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.WINTRY, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); - registerMutation(ExtraBeeDefinition.BASALT, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); - - registerMutation(BeeDefinition.FOREST, ExtraBeeDefinition.BASALT, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.MEADOWS, ExtraBeeDefinition.BASALT, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.MODEST, ExtraBeeDefinition.BASALT, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.TROPICAL, ExtraBeeDefinition.BASALT, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.MARSHY, ExtraBeeDefinition.BASALT, BeeDefinition.COMMON, 15); - registerMutation(BeeDefinition.WINTRY, ExtraBeeDefinition.BASALT, BeeDefinition.COMMON, 15); - - registerMutation(BeeDefinition.COMMON, ExtraBeeDefinition.WATER, BeeDefinition.CULTIVATED, 12); - registerMutation(BeeDefinition.COMMON, ExtraBeeDefinition.ROCK, BeeDefinition.CULTIVATED, 12); - registerMutation(BeeDefinition.COMMON, ExtraBeeDefinition.BASALT, BeeDefinition.CULTIVATED, 12); - - registerMutation(BeeDefinition.CULTIVATED, BASALT, BeeDefinition.SINISTER, 60) - .restrictBiomeType(BiomeDictionary.Type.NETHER); - - registerMutation(BeeDefinition.SINISTER, BASALT, BeeDefinition.FIENDISH, 40) - .restrictBiomeType(BiomeDictionary.Type.NETHER); - } - - private void init() { - if (!overworldHiveBees.contains(this)) { - species.setIsSecret(); - } - setSpeciesProperties(species); - - template = branch.getTemplate(); - AlleleHelper.instance.set(template, EnumBeeChromosome.SPECIES, species); - setAlleles(template); - - genome = BeeManager.beeRoot.templateAsGenome(template); - BeeManager.beeRoot.registerTemplate(template); - } - - protected final ExtraBeeMutation registerMutation(ExtraBeeDefinition parent1, ExtraBeeDefinition parent2, int chance) { - return registerMutation(parent1.species, parent2.species, chance); - } - - protected final ExtraBeeMutation registerMutation(BeeDefinition parent1, ExtraBeeDefinition parent2, int chance) { - return registerMutation(parent1.getGenome().getPrimary(), parent2.species, chance); - } - - protected final ExtraBeeMutation registerMutation(BeeDefinition parent1, BeeDefinition parent2, int chance) { - return registerMutation(parent1.getGenome().getPrimary(), parent2.getGenome().getPrimary(), chance); - } - - protected final ExtraBeeMutation registerMutation(IAlleleBeeSpecies parent1, IAlleleBeeSpecies parent2, int chance) { - ExtraBeeMutation mutation = new ExtraBeeMutation(parent1, parent2, getTemplate(), chance); - BeeManager.beeRoot.registerMutation(mutation); - return mutation; - } - - private static ExtraBeeMutation registerMutation(ExtraBeeDefinition parent1, ExtraBeeDefinition parent2, BeeDefinition result, int chance) { - ExtraBeeMutation mutation = new ExtraBeeMutation(parent1.species, parent2.species, result.getTemplate(), chance); - BeeManager.beeRoot.registerMutation(mutation); - return mutation; - } - - private static ExtraBeeMutation registerMutation(BeeDefinition parent1, ExtraBeeDefinition parent2, BeeDefinition result, int chance) { - ExtraBeeMutation mutation = new ExtraBeeMutation(parent1.getGenome().getPrimary(), parent2.species, result.getTemplate(), chance); - BeeManager.beeRoot.registerMutation(mutation); - return mutation; - } - - @Override - public final IAllele[] getTemplate() { - return Arrays.copyOf(template, template.length); - } - - @Override - public final IBeeGenome getGenome() { - return genome; - } - - @Override - public final IBee getIndividual() { - return new Bee(genome); - } - - @Override - public final ItemStack getMemberStack(EnumBeeType beeType) { - IBee bee = getIndividual(); - return BeeManager.beeRoot.getMemberStack(bee, beeType.ordinal()); - } + /* BARREN BRANCH */ + ARID(ExtraBeeBranchDefinition.BARREN, "aridus", true, new Color(0xbee854), new Color(0xcbe374)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) + .setTemperature(EnumTemperature.HOT) + .setHumidity(EnumHumidity.ARID); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.NORMAL); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MEADOWS, BeeDefinition.FRUGAL, 10); + registerMutation(BeeDefinition.FOREST, BeeDefinition.FRUGAL, 10); + } + }, + BARREN(ExtraBeeBranchDefinition.BARREN, "infelix", true, new Color(0xe0d263), new Color(0xcbe374)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) + .setTemperature(EnumTemperature.HOT) + .setHumidity(EnumHumidity.ARID); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.COMMON, ARID, 10); + } + }, + DESOLATE(ExtraBeeBranchDefinition.BARREN, "desolo", false, new Color(0xd1b890), new Color(0xcbe374)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) + .setTemperature(EnumTemperature.HOT) + .setHumidity(EnumHumidity.ARID) + .setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.HUNGER.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(ARID, BARREN, 10); + } + }, + DECOMPOSING(ExtraBeeBranchDefinition.BARREN, "aegrus", true, new Color(0x523711), new Color(0xffffff)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) + .addSpecialty(EnumHoneyComb.COMPOST.get(1), 0.08f) + .setTemperature(EnumTemperature.HOT) + .setHumidity(EnumHumidity.ARID); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MARSHY, BARREN, 15); + } + }, + GNAWING(ExtraBeeBranchDefinition.BARREN, "apica", true, new Color(0xe874b0), new Color(0xcbe374)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.BARREN.get(1), 0.25f) + .addSpecialty(EnumHoneyComb.SAWDUST.get(1), 0.25f) + .setTemperature(EnumTemperature.HOT) + .setHumidity(EnumHumidity.ARID); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.WOOD.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.FOREST, BARREN, 15); + } + }, + + /* HOSTILE BRANCH */ + ROTTEN(ExtraBeeBranchDefinition.HOSTILE, "caries", true, new Color(0xbfe0b6), new Color(0xcbe374)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) + .addSpecialty(EnumHoneyComb.ROTTEN.get(1), 0.10f) + .setTemperature(EnumTemperature.HOT) + .setHumidity(EnumHumidity.ARID); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.SPAWN_ZOMBIE.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MEADOWS, DESOLATE, 15); + } + }, + BONE(ExtraBeeBranchDefinition.HOSTILE, "os", true, new Color(0xe9ede8), new Color(0xcbe374)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) + .addSpecialty(EnumHoneyComb.BONE.get(1), 0.10f) + .setTemperature(EnumTemperature.HOT) + .setHumidity(EnumHumidity.ARID); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set( + template, + EnumBeeChromosome.EFFECT, + AlleleHelper.getAllele(ExtraBeesEffect.SPAWN_SKELETON.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.FOREST, DESOLATE, 15); + } + }, + CREEPER(ExtraBeeBranchDefinition.HOSTILE, "erepo", true, new Color(0x2ce615), new Color(0xcbe374)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.BARREN.get(1), 0.30f) + .addSpecialty(ItemHoneyComb.VanillaComb.POWDERY.get(), 0.08f) + .setTemperature(EnumTemperature.HOT) + .setHumidity(EnumHumidity.ARID); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.SPAWN_CREEPER.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MODEST, DESOLATE, 15); + } + }, + + /* ROCKY BRANCH */ + ROCK(ExtraBeeBranchDefinition.ROCKY, "saxum", true, new Color(0xa8a8a8), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.30f); + } + }, + STONE(ExtraBeeBranchDefinition.ROCKY, "lapis", false, new Color(0x757575), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.30f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.DILIGENT, ROCK, 12); + } + }, + GRANITE(ExtraBeeBranchDefinition.ROCKY, "granum", true, new Color(0x695555), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.30f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.UNWEARY, STONE, 10); + } + }, + MINERAL(ExtraBeeBranchDefinition.ROCKY, "minerale", true, new Color(0x6e757d), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.30f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.HUMIDITY_TOLERANCE, EnumAllele.Tolerance.BOTH_2); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.INDUSTRIOUS, GRANITE, 6); + } + }, + + /* METALLIC BRANCH */ + COPPER(ExtraBeeBranchDefinition.METALLIC, "cuprous", true, new Color(0xd16308), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.COPPER.get(1), 0.06f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.WINTRY, MINERAL, 5); + registerMutation(BeeDefinition.MODEST, MINERAL, 5); + } + }, + TIN(ExtraBeeBranchDefinition.METALLIC, "stannus", true, new Color(0xbdb1bd), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.TIN.get(1), 0.06f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MARSHY, MINERAL, 5); + registerMutation(BeeDefinition.TROPICAL, MINERAL, 5); + } + }, + IRON(ExtraBeeBranchDefinition.METALLIC, "ferrous", false, new Color(0xa87058), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.IRON.get(1), 0.05f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MEADOWS, MINERAL, 5); + registerMutation(BeeDefinition.FOREST, MINERAL, 5); + } + }, + LEAD(ExtraBeeBranchDefinition.METALLIC, "plumbous", true, new Color(0xad8bab), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.LEAD.get(1), 0.05f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MEADOWS, MINERAL, 5); + registerMutation(BeeDefinition.MODEST, MINERAL, 5); + } + }, + + /* METALLIC2 BRANCH */ + ZINC(ExtraBeeBranchDefinition.METALLIC2, "spelta", true, new Color(0xedebff), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.ZINC.get(1), 0.05f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.WINTRY, MINERAL, 5); + registerMutation(BeeDefinition.TROPICAL, MINERAL, 5); + } + }, + TITANIUM(ExtraBeeBranchDefinition.METALLIC2, "titania", true, new Color(0xb0aae3), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.TITANIUM.get(1), 0.02f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.CULTIVATED, MINERAL, 3); + } + }, + TUNGSTATE(ExtraBeeBranchDefinition.METALLIC2, "wolfram", true, new Color(0x131214), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.TUNGSTEN.get(1), 0.01f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.COMMON, MINERAL, 3); + } + }, + NICKEL(ExtraBeeBranchDefinition.METALLIC2, "claro", true, new Color(0xffdefc), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.NICKEL.get(1), 0.05f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.FOREST, MINERAL, 5); + registerMutation(BeeDefinition.MARSHY, MINERAL, 5); + } + }, + + /* PRECIOUS BRANCH */ + GOLD(ExtraBeeBranchDefinition.PRECIOUS, "aureus", true, new Color(0xe6cc0b), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.GOLD.get(1), 0.02f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MAJESTIC, IRON, 2); + registerMutation(BeeDefinition.MAJESTIC, COPPER, 2); + registerMutation(BeeDefinition.MAJESTIC, NICKEL, 2); + registerMutation(BeeDefinition.MAJESTIC, TUNGSTATE, 2); + } + }, + SILVER(ExtraBeeBranchDefinition.PRECIOUS, "argentus", false, new Color(0x43455b), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.SILVER.get(1), 0.02f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MAJESTIC, ZINC, 2); + registerMutation(BeeDefinition.MAJESTIC, TIN, 2); + registerMutation(BeeDefinition.MAJESTIC, LEAD, 2); + registerMutation(BeeDefinition.MAJESTIC, TITANIUM, 2); + } + }, + // ELECTRUM, + PLATINUM(ExtraBeeBranchDefinition.PRECIOUS, "platina", false, new Color(0xdbdbdb), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.PLATINUM.get(1), 0.01f); + } + + @Override + protected void registerMutations() { + registerMutation(GOLD, SILVER, 2); + } + }, + + /* MINERAL BRANCH */ + LAPIS(ExtraBeeBranchDefinition.MINERAL, "lazuli", true, new Color(0x3d2cdb), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.LAPIS.get(1), 0.05f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.IMPERIAL, MINERAL, 5); + } + }, + // SODALITE, + // PYRITE, + // BAUXITE, + // CINNABAR, + // SPHALERITE, + + /* GEMSTONE BRANCH */ + EMERALD(ExtraBeeBranchDefinition.GEMSTONE, "emerala", true, new Color(0x1cff03), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.EMERALD.get(1), 0.04f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.FOREST, LAPIS, 5); + } + }, + RUBY(ExtraBeeBranchDefinition.GEMSTONE, "ruba", true, new Color(0xd60000), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.RUBY.get(1), 0.03f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MODEST, LAPIS, 5); + } + }, + SAPPHIRE(ExtraBeeBranchDefinition.GEMSTONE, "saphhira", true, new Color(0x0a47ff), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.SAPPHIRE.get(1), 0.03f); + } + + @Override + protected void registerMutations() { + registerMutation(WATER, LAPIS, 5); + } + }, + // OLIVINE, + DIAMOND(ExtraBeeBranchDefinition.GEMSTONE, "diama", true, new Color(0x7fbdfa), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.STONE.get(1), 0.20f).addSpecialty(EnumHoneyComb.DIAMOND.get(1), 0.01f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.CULTIVATED, LAPIS, 5); + } + }, + + /* NUCLEAR BRANCH */ + UNSTABLE(ExtraBeeBranchDefinition.NUCLEAR, "levis", false, new Color(0x3e8c34), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.20f); + } + + @Override + protected void registerMutations() { + registerMutation(PREHISTORIC, MINERAL, 5); + } + }, + NUCLEAR(ExtraBeeBranchDefinition.NUCLEAR, "nucleus", false, new Color(0x41cc2f), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.20f); + } + + @Override + protected void registerMutations() { + registerMutation(UNSTABLE, IRON, 5); + registerMutation(UNSTABLE, COPPER, 5); + registerMutation(UNSTABLE, TIN, 5); + registerMutation(UNSTABLE, ZINC, 5); + registerMutation(UNSTABLE, NICKEL, 5); + registerMutation(UNSTABLE, LEAD, 5); + } + }, + RADIOACTIVE(ExtraBeeBranchDefinition.NUCLEAR, "fervens", false, new Color(0x1eff00), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.BARREN.get(1), 0.20f) + .addSpecialty(EnumHoneyComb.URANIUM.get(1), 0.02f) + .setHasEffect(); + } + + @Override + protected void registerMutations() { + registerMutation(NUCLEAR, GOLD, 5); + registerMutation(NUCLEAR, SILVER, 5); + } + }, + YELLORIUM(ExtraBeeBranchDefinition.NUCLEAR, "yellori", true, new Color(0xd5ed00), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.BARREN.get(1), 0.20f) + .addSpecialty(EnumHoneyComb.YELLORIUM.get(1), 0.02f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.RADIOACTIVE.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.FRUGAL, NUCLEAR, 5); + } + }, + CYANITE(ExtraBeeBranchDefinition.NUCLEAR, "cyanita", true, new Color(0x0086ed), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.BARREN.get(1), 0.20f).addSpecialty(EnumHoneyComb.CYANITE.get(1), 0.01f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.RADIOACTIVE.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(NUCLEAR, YELLORIUM, 5); + } + }, + BLUTONIUM(ExtraBeeBranchDefinition.NUCLEAR, "caruthus", true, new Color(0x1b00e6), new Color(0x999999)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.BARREN.get(1), 0.20f) + .addSpecialty(EnumHoneyComb.BLUTONIUM.get(1), 0.01f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTEST); + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.RADIOACTIVE.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(CYANITE, YELLORIUM, 5); + } + }, + + /* HISTORIC BRANCH */ + ANCIENT(ExtraBeeBranchDefinition.HISTORIC, "antiquus", true, new Color(0xf2db8f), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.30f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.NOBLE, BeeDefinition.DILIGENT, 10); + } + }, + PRIMEVAL(ExtraBeeBranchDefinition.HISTORIC, "priscus", true, new Color(0xb3a67b), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.30f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONG); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.SECLUDED, ANCIENT, 8); + } + }, + PREHISTORIC(ExtraBeeBranchDefinition.HISTORIC, "pristinus", false, new Color(0x6e5a40), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.30f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.LOW); + } + + @Override + protected void registerMutations() { + registerMutation(PRIMEVAL, ANCIENT, 8); + } + }, + RELIC(ExtraBeeBranchDefinition.HISTORIC, "sapiens", true, new Color(0x4d3e16), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.30f).setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGEST); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.IMPERIAL, PREHISTORIC, 8); + } + }, + + /* FOSSILIZED BRANCH */ + COAL(ExtraBeeBranchDefinition.FOSSILIZED, "carbo", true, new Color(0x7a7648), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.20f).addSpecialty(EnumHoneyComb.COAL.get(1), 0.08f); + } + + @Override + protected void registerMutations() { + registerMutation(PRIMEVAL, GROWING, 8); + registerMutation(BeeDefinition.RURAL, PRIMEVAL, 8); + } + }, + RESIN(ExtraBeeBranchDefinition.FOSSILIZED, "lacrima", false, new Color(0xa6731b), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.20f).addSpecialty(EnumHoneyComb.RESIN.get(1), 0.05f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MIRY, PRIMEVAL, 8); + } + }, + OIL(ExtraBeeBranchDefinition.FOSSILIZED, "lubricus", true, new Color(0x574770), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.20f).addSpecialty(EnumHoneyComb.OIL.get(1), 0.05f); + } + + @Override + protected void registerMutations() { + registerMutation(OCEAN, PRIMEVAL, 8); + registerMutation(BeeDefinition.FRUGAL, PRIMEVAL, 8); + } + }, + // PEAT, + + /* REFINED BRANCH */ + DISTILLED(ExtraBeeBranchDefinition.REFINED, "distilli", false, new Color(0x356356), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.OLD.get(1), 0.10f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.INDUSTRIOUS, OIL, 8); + } + }, + FUEL(ExtraBeeBranchDefinition.REFINED, "refina", true, new Color(0xffc003), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.OIL.get(1), 0.10f) + .addSpecialty(EnumHoneyComb.FUEL.get(1), 0.04f) + .setHasEffect(); + } + + @Override + protected void registerMutations() { + registerMutation(DISTILLED, OIL, 8); + } + }, + CREOSOTE(ExtraBeeBranchDefinition.REFINED, "creosota", true, new Color(0x979e13), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.COAL.get(1), 0.10f) + .addSpecialty(EnumHoneyComb.CREOSOTE.get(1), 0.07f) + .setHasEffect(); + } + + @Override + protected void registerMutations() { + registerMutation(DISTILLED, COAL, 8); + } + }, + LATEX(ExtraBeeBranchDefinition.REFINED, "latex", true, new Color(0x494a3e), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.RESIN.get(1), 0.10f) + .addSpecialty(EnumHoneyComb.LATEX.get(1), 0.05f) + .setHasEffect(); + } + + @Override + protected void registerMutations() { + registerMutation(DISTILLED, RESIN, 8); + } + }, + + /* AQUATIC BRANCH */ + WATER(ExtraBeeBranchDefinition.AQUATIC, "aqua", true, new Color(0x94a2ff), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.WATER.get(1), 0.30f).setHumidity(EnumHumidity.DAMP); + } + }, + RIVER(ExtraBeeBranchDefinition.AQUATIC, "flumen", true, new Color(0x83b3d4), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.WATER.get(1), 0.30f) + .addSpecialty(EnumHoneyComb.CLAY.get(1), 0.20f) + .setHumidity(EnumHumidity.DAMP); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.DILIGENT, WATER, 10).restrictBiomeType(BiomeDictionary.Type.RIVER); + } + }, + OCEAN(ExtraBeeBranchDefinition.AQUATIC, "mare", false, new Color(0x1d2ead), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.WATER.get(1), 0.30f).setHumidity(EnumHumidity.DAMP); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.DILIGENT, WATER, 10).restrictBiomeType(BiomeDictionary.Type.OCEAN); + } + }, + INK(ExtraBeeBranchDefinition.AQUATIC, "atramentum", true, new Color(0xe1447), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.WATER.get(1), 0.30f) + .addSpecialty(new ItemStack(Items.dye, 1, 0), 0.10f) + .setHumidity(EnumHumidity.DAMP); + } + + @Override + protected void registerMutations() { + registerMutation(BLACK, OCEAN, 8); + } + }, + + /* AGRARIAN BRANCH */ + GROWING(BeeBranchDefinition.AGRARIAN, "tyrelli", true, new Color(0x5bebd8), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.35f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.HIGH); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.LEAVES.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.FOREST, BeeDefinition.DILIGENT, 10); + } + }, + FARM(BeeBranchDefinition.AGRARIAN, "ager", true, new Color(0x75db60), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.WHEATEN.get(), 0.30f) + .addSpecialty(EnumHoneyComb.SEED.get(1), 0.10f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.FARMERLY, BeeDefinition.MEADOWS, 10); + } + }, + THRIVING(BeeBranchDefinition.AGRARIAN, "thriva", true, new Color(0x34e37d), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.35f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.HIGH); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FAST); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.LEAVES.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.UNWEARY, GROWING, 10); + } + }, + BLOOMING(BeeBranchDefinition.AGRARIAN, "blooma", true, new Color(0x0abf34), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.35f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.HIGH); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.FASTEST); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.SAPLING.getUID())); + AlleleHelper.instance.set( + template, + EnumBeeChromosome.EFFECT, + AlleleHelper.getAllele(ExtraBeesEffect.BONEMEAL_SAPLING.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.INDUSTRIOUS, THRIVING, 8); + } + }, + + /* SACCHARINE BRANCH */ + SWEET(ExtraBeeBranchDefinition.SACCHARINE, "mellitus", true, new Color(0xfc51f1), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.40f) + .addProduct(new ItemStack(Items.sugar, 1, 0), 0.10f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.VALIANT, BeeDefinition.DILIGENT, 15); + } + }, + SUGAR(ExtraBeeBranchDefinition.SACCHARINE, "dulcis", true, new Color(0xe6d3e0), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.40f) + .addProduct(new ItemStack(Items.sugar, 1, 0), 0.20f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.RURAL, SWEET, 15); + } + }, + RIPENING(ExtraBeeBranchDefinition.SACCHARINE, "ripa", true, new Color(0xb2c75d), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.30f) + .addProduct(new ItemStack(Items.sugar, 1, 0), 0.10f) + .addSpecialty(EnumHoneyComb.FRUIT.get(1), 0.10f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set( + template, + EnumBeeChromosome.FLOWER_PROVIDER, + AlleleHelper.getAllele(ExtraBeesFlowers.FRUIT.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(SWEET, GROWING, 5); + } + }, + FRUIT(ExtraBeeBranchDefinition.SACCHARINE, "pomum", true, new Color(0xdb5876), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.30f) + .addProduct(new ItemStack(Items.sugar, 1, 0), 0.15f) + .addSpecialty(EnumHoneyComb.FRUIT.get(1), 0.20f) + .setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set( + template, + EnumBeeChromosome.EFFECT, + AlleleHelper.getAllele(ExtraBeesEffect.BONEMEAL_FRUIT.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(SWEET, THRIVING, 5); + } + }, + + /* FARMING BRANCH */ + ALCOHOL(ExtraBeeBranchDefinition.FARMING, "vinum", false, new Color(0xe88a61), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.WHEATEN.get(), 0.30f) + .addSpecialty(EnumHoneyComb.ALCOHOL.get(1), 0.10f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele("forestry.effectDrunkard")); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.FARMERLY, BeeDefinition.MEADOWS, 10); + } + }, + MILK(ExtraBeeBranchDefinition.FARMING, "lacteus", true, new Color(0xe3e8e8), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.WHEATEN.get(), 0.30f) + .addSpecialty(EnumHoneyComb.MILK.get(1), 0.10f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.FARMERLY, ExtraBeeDefinition.WATER, 10); + } + }, + COFFEE(ExtraBeeBranchDefinition.FARMING, "arabica", true, new Color(0x8c5e30), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.WHEATEN.get(), 0.30f) + .addSpecialty(EnumHoneyComb.COFFEE.get(1), 0.08f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.FARMERLY, BeeDefinition.TROPICAL, 10); + } + }, + // CITRUS, + // MINT, + + /* BOGGY BRANCH */ + SWAMP(BeeBranchDefinition.BOGGY, "paludis", true, new Color(0x356933), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(ItemHoneyComb.VanillaComb.MOSSY.get(), 0.30f).setHumidity(EnumHumidity.DAMP); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.SLOW.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MIRY, WATER, 10); + } + }, + BOGGY(BeeBranchDefinition.BOGGY, "lama", false, new Color(0x785c29), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(ItemHoneyComb.VanillaComb.MOSSY.get(), 0.30f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.SLOW.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.BOGGY, SWAMP, 8); + } + }, + FUNGAL(BeeBranchDefinition.BOGGY, "boletus", true, new Color(0xd16200), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.MOSSY.get(), 0.30f) + .addSpecialty(EnumHoneyComb.FUNGAL.get(1), 0.15f) + .setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set( + template, + EnumBeeChromosome.EFFECT, + AlleleHelper.getAllele(ExtraBeesEffect.BONEMEAL_MUSHROOM.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.BOGGY, BeeDefinition.MIRY, 8); + registerMutation(BeeDefinition.BOGGY, FUNGAL, 8); + } + }, + + /* CLASSICAL BRANCH */ + // MARBLE, + // ROMAN, + // GREEK, + // CLASSICAL, + + /* VOLCANIC BRANCH */ + BASALT(ExtraBeeBranchDefinition.VOLCANIC, "aceri", true, new Color(0x8c6969), new Color(0x9a2323)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.SIMMERING.get(), 0.25f) + .setTemperature(EnumTemperature.HELLISH) + .setHumidity(EnumHumidity.ARID); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectAggressive); + } + }, + TEMPERED(ExtraBeeBranchDefinition.VOLCANIC, "iratus", false, new Color(0x8a4848), new Color(0x9a2323)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.SIMMERING.get(), 0.25f) + .setTemperature(EnumTemperature.HELLISH) + .setHumidity(EnumHumidity.ARID); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.FIENDISH, ExtraBeeDefinition.BASALT, 30) + .restrictBiomeType(BiomeDictionary.Type.NETHER); + } + }, + // ANGRY, + VOLCANIC(ExtraBeeBranchDefinition.VOLCANIC, "volcano", true, new Color(0x4d0c0c), new Color(0x9a2323)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.SIMMERING.get(), 0.25f) + .addSpecialty(EnumHoneyComb.BLAZE.get(1), 0.10f) + .setTemperature(EnumTemperature.HELLISH) + .setHumidity(EnumHumidity.ARID) + .setHasEffect(); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.DEMONIC, ExtraBeeDefinition.TEMPERED, 20) + .restrictBiomeType(BiomeDictionary.Type.NETHER); + } + }, + GLOWSTONE(ExtraBeeBranchDefinition.VOLCANIC, "glowia", true, new Color(0xe0c61b), new Color(0x9a2323)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.GLOWSTONE.get(1), 0.15f) + .setTemperature(EnumTemperature.HELLISH) + .setHumidity(EnumHumidity.ARID); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectAggressive); + } + + @Override + protected void registerMutations() { + registerMutation(ExtraBeeDefinition.TEMPERED, ExtraBeeDefinition.EXCITED, 5); + } + }, + + /* VIRULENT BRANCH */ + MALICIOUS(ExtraBeeBranchDefinition.VIRULENT, "acerbus", true, new Color(0x782a77), new Color(0x069764)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f) + .setHumidity(EnumHumidity.DAMP) + .setTemperature(EnumTemperature.WARM); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.SINISTER, BeeDefinition.TROPICAL, 10); + } + }, + INFECTIOUS(ExtraBeeBranchDefinition.VIRULENT, "contagio", true, new Color(0xb82eb5), new Color(0x069764)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.SLOW); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.TROPICAL, ExtraBeeDefinition.MALICIOUS, 8); + } + }, + VIRULENT(ExtraBeeBranchDefinition.VIRULENT, "morbus", false, new Color(0xf013ec), new Color(0x069764)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f) + .addSpecialty(EnumHoneyComb.VENOMOUS.get(1), 0.12f) + .setHumidity(EnumHumidity.DAMP) + .setTemperature(EnumTemperature.WARM) + .setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWERING, EnumAllele.Flowering.AVERAGE); + } + + @Override + protected void registerMutations() { + registerMutation(ExtraBeeDefinition.MALICIOUS, ExtraBeeDefinition.INFECTIOUS, 8); + } + }, + + /* VISCOUS BRANCH */ + VISCOUS(ExtraBeeBranchDefinition.VISCOUS, "liquidus", true, new Color(0x9470e), new Color(0x069764)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f) + .setHumidity(EnumHumidity.DAMP) + .setTemperature(EnumTemperature.WARM); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.EXOTIC, ExtraBeeDefinition.WATER, 10); + } + }, + GLUTINOUS(ExtraBeeBranchDefinition.VISCOUS, "glutina", true, new Color(0x1d8c27), new Color(0x069764)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f) + .setHumidity(EnumHumidity.DAMP) + .setTemperature(EnumTemperature.WARM); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.NORMAL); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.EXOTIC, ExtraBeeDefinition.VISCOUS, 8); + } + }, + STICKY(ExtraBeeBranchDefinition.VISCOUS, "lentesco", true, new Color(0x17e328), new Color(0x069764)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f) + .addSpecialty(EnumHoneyComb.SLIME.get(1), 0.12f) + .setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.FAST); + } + + @Override + protected void registerMutations() { + registerMutation(ExtraBeeDefinition.VISCOUS, ExtraBeeDefinition.GLUTINOUS, 8); + } + }, + + /* CAUSTIC BRANCH */ + CORROSIVE(ExtraBeeBranchDefinition.CAUSTIC, "corrumpo", false, new Color(0x4a5c0b), new Color(0x069764)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.20f) + .setHumidity(EnumHumidity.DAMP) + .setTemperature(EnumTemperature.WARM); + } + + @Override + protected void registerMutations() { + registerMutation(ExtraBeeDefinition.MALICIOUS, ExtraBeeDefinition.VISCOUS, 10); + } + }, + CAUSTIC(ExtraBeeBranchDefinition.CAUSTIC, "torrens", true, new Color(0x84a11d), new Color(0x069764)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.25f) + .addSpecialty(EnumHoneyComb.ACIDIC.get(1), 0.03f) + .setHumidity(EnumHumidity.DAMP) + .setTemperature(EnumTemperature.WARM); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.FIENDISH, ExtraBeeDefinition.CORROSIVE, 8); + } + }, + ACIDIC(ExtraBeeBranchDefinition.CAUSTIC, "acidus", true, new Color(0xc0f016), new Color(0x069764)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.SILKY.get(), 0.20f) + .addSpecialty(EnumHoneyComb.ACIDIC.get(1), 0.16f) + .setHumidity(EnumHumidity.DAMP) + .setTemperature(EnumTemperature.WARM) + .setHasEffect(); + } + + @Override + protected void registerMutations() { + registerMutation(ExtraBeeDefinition.CORROSIVE, ExtraBeeDefinition.CAUSTIC, 4); + } + }, + + /* ENERGETIC BRANCH */ + EXCITED(ExtraBeeBranchDefinition.ENERGETIC, "excita", true, new Color(0xff4545), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.REDSTONE.get(1), 0.10f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.VALIANT, BeeDefinition.CULTIVATED, 10); + } + }, + ENERGETIC(ExtraBeeBranchDefinition.ENERGETIC, "energia", false, new Color(0xe835c7), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(EnumHoneyComb.REDSTONE.get(1), 0.12f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.DILIGENT, ExtraBeeDefinition.EXCITED, 8); + } + }, + ECSTATIC(ExtraBeeBranchDefinition.ENERGETIC, "ecstatica", true, new Color(0xaf35e8), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.REDSTONE.get(1), 0.20f) + .addSpecialty(EnumHoneyComb.IC2ENERGY.get(1), 0.08f) + .setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.POWER.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(ExtraBeeDefinition.EXCITED, ExtraBeeDefinition.ENERGETIC, 8); + } + }, + + /* FROZEN BRANCH */ + ARTIC(BeeBranchDefinition.FROZEN, "artica", true, new Color(0xade0e0), new Color(0xdaf5f3)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(ItemHoneyComb.VanillaComb.FROZEN.get(), 0.25f).setTemperature(EnumTemperature.ICY); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.WINTRY, BeeDefinition.DILIGENT, 10); + } + }, + FREEZING(BeeBranchDefinition.FROZEN, "glacia", true, new Color(0x7be3e3), new Color(0xdaf5f3)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.FROZEN.get(), 0.20f) + .addSpecialty(EnumHoneyComb.GLACIAL.get(1), 0.10f) + .setTemperature(EnumTemperature.ICY); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWER); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORT); + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.MAXIMUM); + } + + @Override + protected void registerMutations() { + registerMutation(ExtraBeeDefinition.OCEAN, ExtraBeeDefinition.ARTIC, 10); + } + }, + + /* SHADOW BRANCH */ + SHADOW(ExtraBeeBranchDefinition.SHADOW, "shadowa", false, new Color(0x595959), new Color(0x333333)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.SHADOW.get(1), 0.05f) + .setTemperature(EnumTemperature.HELLISH) + .setHumidity(EnumHumidity.ARID); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.SINISTER, ExtraBeeDefinition.ROCK, 10); + } + }, + DARKENED(ExtraBeeBranchDefinition.SHADOW, "darka", true, new Color(0x332e33), new Color(0x333333)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.SHADOW.get(1), 0.10f) + .setTemperature(EnumTemperature.HELLISH) + .setHumidity(EnumHumidity.ARID); + } + + @Override + protected void registerMutations() { + registerMutation(ExtraBeeDefinition.SHADOW, ExtraBeeDefinition.ROCK, 8); + } + }, + ABYSS(ExtraBeeBranchDefinition.SHADOW, "abyssba", true, new Color(0x210821), new Color(0x333333)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.SHADOW.get(1), 0.25f) + .setTemperature(EnumTemperature.HELLISH) + .setHumidity(EnumHumidity.ARID) + .setHasEffect(); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.WITHER.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(ExtraBeeDefinition.SHADOW, ExtraBeeDefinition.DARKENED, 8); + } + }, + + /* PRIMARY BRNCH */ + RED(ExtraBeeBranchDefinition.PRIMARY, "rubra", true, new Color(0xff0000), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.RED.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.FOREST, BeeDefinition.VALIANT, 5); + } + }, + YELLOW(ExtraBeeBranchDefinition.PRIMARY, "fulvus", true, new Color(0xffdd00), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.YELLOW.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MEADOWS, BeeDefinition.VALIANT, 5); + } + }, + BLUE(ExtraBeeBranchDefinition.PRIMARY, "caeruleus", true, new Color(0x0022ff), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.BLUE.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.VALIANT, ExtraBeeDefinition.WATER, 5); + } + }, + GREEN(ExtraBeeBranchDefinition.PRIMARY, "prasinus", true, new Color(0x009900), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.GREEN.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.TROPICAL, BeeDefinition.VALIANT, 5); + } + }, + BLACK(ExtraBeeBranchDefinition.PRIMARY, "niger", true, new Color(0x575757), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.BLACK.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.VALIANT, ExtraBeeDefinition.ROCK, 5); + } + }, + WHITE(ExtraBeeBranchDefinition.PRIMARY, "albus", true, new Color(0xffffff), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.WHITE.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.WINTRY, BeeDefinition.VALIANT, 5); + } + }, + BROWN(ExtraBeeBranchDefinition.PRIMARY, "fuscus", true, new Color(0x5c350f), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.BROWN.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.MARSHY, BeeDefinition.VALIANT, 5); + } + }, + + /* SECONDARY BRANCH */ + ORANGE(ExtraBeeBranchDefinition.SECONDARY, "flammeus", true, new Color(0xff9d00), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.ORANGE.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(RED, YELLOW, 5); + } + }, + CYAN(ExtraBeeBranchDefinition.SECONDARY, "cyana", true, new Color(0x00ffe5), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.CYAN.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(GREEN, BLUE, 5); + } + }, + PURPLE(ExtraBeeBranchDefinition.SECONDARY, "purpureus", true, new Color(0xae00ff), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.PURPLE.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(RED, BLUE, 5); + } + }, + GRAY(ExtraBeeBranchDefinition.SECONDARY, "ravus", true, new Color(0xbababa), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.GRAY.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(BLACK, WHITE, 5); + } + }, + LIGHTBLUE(ExtraBeeBranchDefinition.SECONDARY, "aqua", true, new Color(0x009dff), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.LIGHTBLUE.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(BLUE, WHITE, 5); + } + }, + PINK(ExtraBeeBranchDefinition.SECONDARY, "rosaceus", true, new Color(0xff80df), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.PINK.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(RED, WHITE, 5); + } + }, + LIMEGREEN(ExtraBeeBranchDefinition.SECONDARY, "lima", true, new Color(0x00ff08), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.LIMEGREEN.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(GREEN, WHITE, 5); + } + }, + + /* TERTIARY BRANCH */ + MAGENTA(ExtraBeeBranchDefinition.TERTIARY, "fuchsia", true, new Color(0xff00cc), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.MAGENTA.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(PURPLE, PINK, 5); + } + }, + LIGHTGRAY(ExtraBeeBranchDefinition.TERTIARY, "canus", true, new Color(0xc9c9c9), new Color(0x8cff00)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.75f) + .addSpecialty(EnumHoneyComb.LIGHTGRAY.get(1), 0.25f); + } + + @Override + protected void registerMutations() { + registerMutation(GRAY, WHITE, 5); + } + }, + + /* FESTIVE BRANCH */ + CELEBRATORY(BeeBranchDefinition.FESTIVE, "celeba", true, new Color(0xfa0a6a), new Color(0xd40000)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.setTemperature(EnumTemperature.ICY); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, true); + AlleleHelper.instance.set( + template, EnumBeeChromosome.EFFECT, AlleleHelper.getAllele(ExtraBeesEffect.FIREWORKS.getUID())); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.AUSTERE, EXCITED, 5); + } + }, + + /* FTB BRANCH */ + JADED(ExtraBeeBranchDefinition.FTB, "jadeca", true, new Color(0xfa0a6a), new Color(0xdc8aeb)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.HONEY.get(), 0.30f) + .addSpecialty(Mods.forestry.stack("pollen"), 0.20f) + .addSpecialty(EnumHoneyComb.PURPLE.get(1), 0.15f) + .setIsNotCounted() + .setHasEffect(); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.ENDED, RELIC, 2).restrictPerson("jadedcat"); + } + }, + + /* AUSTERE BRANCH */ + HAZARDOUS(BeeBranchDefinition.AUSTERE, "infensus", true, new Color(0xb06c28), new Color(0xffdc16)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(EnumHoneyComb.SALTPETER.get(1), 0.12f) + .setTemperature(EnumTemperature.HOT) + .setHumidity(EnumHumidity.ARID); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.LONGER); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.DOWN_2); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectCreeper); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.AUSTERE, DESOLATE, 5); + } + }, + + /* ALLOY BRANCH */ + // INVAR, + // BRONZE, + // BRASS, + // STEEL, + + /* QUANTUM BRANCH */ + QUANTUM(ExtraBeeBranchDefinition.QUANTUM, "quanta", true, new Color(0x37c5db), new Color(0xd50fdb)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.QUARTZ.get(), 0.25f) + .addSpecialty(EnumHoneyComb.CERTUS.get(1), 0.15f) + .addSpecialty(EnumHoneyComb.ENDERPEARL.get(1), 0.15f); + } + + @Override + protected void setAlleles(IAllele[] template) { + AlleleHelper.instance.set(template, EnumBeeChromosome.FERTILITY, EnumAllele.Fertility.NORMAL); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPEED, EnumAllele.Speed.SLOWEST); + AlleleHelper.instance.set(template, EnumBeeChromosome.LIFESPAN, EnumAllele.Lifespan.SHORTER); + AlleleHelper.instance.set(template, EnumBeeChromosome.TEMPERATURE_TOLERANCE, EnumAllele.Tolerance.NONE); + AlleleHelper.instance.set(template, EnumBeeChromosome.FLOWER_PROVIDER, EnumAllele.Flowers.VANILLA); + AlleleHelper.instance.set(template, EnumBeeChromosome.NOCTURNAL, false); + AlleleHelper.instance.set(template, EnumBeeChromosome.TERRITORY, EnumAllele.Territory.AVERAGE); + AlleleHelper.instance.set(template, EnumBeeChromosome.EFFECT, AlleleEffect.effectNone); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.SPECTRAL, SPATIAL, 5); + } + }, + UNUSUAL(ExtraBeeBranchDefinition.QUANTUM, "daniella", true, new Color(0x59a4ba), new Color(0xbaa2eb)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies.addProduct(ItemHoneyComb.VanillaComb.QUARTZ.get(), 0.25f).setTemperature(EnumTemperature.COLD); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.SECLUDED, BeeDefinition.ENDED, 5); + } + }, + SPATIAL(ExtraBeeBranchDefinition.QUANTUM, "spatia", true, new Color(0x4c1be0), new Color(0xa44ecc)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + beeSpecies + .addProduct(ItemHoneyComb.VanillaComb.QUARTZ.get(), 0.25f) + .addSpecialty(EnumHoneyComb.CERTUS.get(1), 0.05f) + .setTemperature(EnumTemperature.COLD); + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.HERMITIC, UNUSUAL, 5); + } + }, + + /* BOTANIA BRANCH */ + MYSTICAL(ExtraBeeBranchDefinition.BOTANIA, "mystica", true, new Color(0x46a722), new Color(0xffffff)) { + @Override + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + Map products = + BeeDefinition.NOBLE.getGenome().getPrimary().getProductChances(); + for (Map.Entry entry : products.entrySet()) { + beeSpecies.addProduct(entry.getKey(), entry.getValue()); + } + } + + @Override + protected void registerMutations() { + registerMutation(BeeDefinition.NOBLE, BeeDefinition.MONASTIC, 5); + } + }; + + private static final EnumSet overworldHiveBees = EnumSet.of(ROCK, WATER, BASALT); + + private final IBranchDefinition branch; + private final IAlleleBeeSpeciesCustom species; + + private IAllele[] template; + private IBeeGenome genome; + + ExtraBeeDefinition(IBranchDefinition branch, String binomial, boolean dominant, Color primary, Color secondary) { + String species = toString().toLowerCase(Locale.ENGLISH); + String uid = "extrabees.species." + species; + String description = "extrabees.species." + species + ".desc"; + String name = "extrabees.species." + species + ".name"; + + this.branch = branch; + if (branch != null) { + this.species = BeeManager.beeFactory.createSpecies( + uid, + dominant, + "Binnie", + name, + description, + branch.getBranch(), + binomial, + primary.getRGB(), + secondary.getRGB()); + } else { + this.species = null; + } + } + + protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { + // ignored + } + + protected void setAlleles(IAllele[] template) { + // ignored + } + + protected void registerMutations() { + // can be found in hive + } + + protected boolean isNeedRegister() { + return branch != null; + } + + public static void initBees() { + for (ExtraBeeDefinition bee : values()) { + if (bee.isNeedRegister()) { + bee.init(); + bee.registerMutations(); + } + } + + registerMutation(BeeDefinition.FOREST, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.MEADOWS, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.MODEST, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.TROPICAL, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.MARSHY, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.WINTRY, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); + registerMutation(ExtraBeeDefinition.ROCK, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); + registerMutation(ExtraBeeDefinition.BASALT, ExtraBeeDefinition.WATER, BeeDefinition.COMMON, 15); + + registerMutation(BeeDefinition.FOREST, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.MEADOWS, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.MODEST, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.TROPICAL, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.MARSHY, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.WINTRY, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); + registerMutation(ExtraBeeDefinition.BASALT, ExtraBeeDefinition.ROCK, BeeDefinition.COMMON, 15); + + registerMutation(BeeDefinition.FOREST, ExtraBeeDefinition.BASALT, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.MEADOWS, ExtraBeeDefinition.BASALT, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.MODEST, ExtraBeeDefinition.BASALT, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.TROPICAL, ExtraBeeDefinition.BASALT, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.MARSHY, ExtraBeeDefinition.BASALT, BeeDefinition.COMMON, 15); + registerMutation(BeeDefinition.WINTRY, ExtraBeeDefinition.BASALT, BeeDefinition.COMMON, 15); + + registerMutation(BeeDefinition.COMMON, ExtraBeeDefinition.WATER, BeeDefinition.CULTIVATED, 12); + registerMutation(BeeDefinition.COMMON, ExtraBeeDefinition.ROCK, BeeDefinition.CULTIVATED, 12); + registerMutation(BeeDefinition.COMMON, ExtraBeeDefinition.BASALT, BeeDefinition.CULTIVATED, 12); + + registerMutation(BeeDefinition.CULTIVATED, BASALT, BeeDefinition.SINISTER, 60) + .restrictBiomeType(BiomeDictionary.Type.NETHER); + + registerMutation(BeeDefinition.SINISTER, BASALT, BeeDefinition.FIENDISH, 40) + .restrictBiomeType(BiomeDictionary.Type.NETHER); + } + + private void init() { + if (!overworldHiveBees.contains(this)) { + species.setIsSecret(); + } + setSpeciesProperties(species); + + template = branch.getTemplate(); + AlleleHelper.instance.set(template, EnumBeeChromosome.SPECIES, species); + setAlleles(template); + + genome = BeeManager.beeRoot.templateAsGenome(template); + BeeManager.beeRoot.registerTemplate(template); + } + + protected final ExtraBeeMutation registerMutation( + ExtraBeeDefinition parent1, ExtraBeeDefinition parent2, int chance) { + return registerMutation(parent1.species, parent2.species, chance); + } + + protected final ExtraBeeMutation registerMutation(BeeDefinition parent1, ExtraBeeDefinition parent2, int chance) { + return registerMutation(parent1.getGenome().getPrimary(), parent2.species, chance); + } + + protected final ExtraBeeMutation registerMutation(BeeDefinition parent1, BeeDefinition parent2, int chance) { + return registerMutation( + parent1.getGenome().getPrimary(), parent2.getGenome().getPrimary(), chance); + } + + protected final ExtraBeeMutation registerMutation( + IAlleleBeeSpecies parent1, IAlleleBeeSpecies parent2, int chance) { + ExtraBeeMutation mutation = new ExtraBeeMutation(parent1, parent2, getTemplate(), chance); + BeeManager.beeRoot.registerMutation(mutation); + return mutation; + } + + private static ExtraBeeMutation registerMutation( + ExtraBeeDefinition parent1, ExtraBeeDefinition parent2, BeeDefinition result, int chance) { + ExtraBeeMutation mutation = + new ExtraBeeMutation(parent1.species, parent2.species, result.getTemplate(), chance); + BeeManager.beeRoot.registerMutation(mutation); + return mutation; + } + + private static ExtraBeeMutation registerMutation( + BeeDefinition parent1, ExtraBeeDefinition parent2, BeeDefinition result, int chance) { + ExtraBeeMutation mutation = + new ExtraBeeMutation(parent1.getGenome().getPrimary(), parent2.species, result.getTemplate(), chance); + BeeManager.beeRoot.registerMutation(mutation); + return mutation; + } + + @Override + public final IAllele[] getTemplate() { + return Arrays.copyOf(template, template.length); + } + + @Override + public final IBeeGenome getGenome() { + return genome; + } + + @Override + public final IBee getIndividual() { + return new Bee(genome); + } + + @Override + public final ItemStack getMemberStack(EnumBeeType beeType) { + IBee bee = getIndividual(); + return BeeManager.beeRoot.getMemberStack(bee, beeType.ordinal()); + } } diff --git a/src/main/java/binnie/extrabees/genetics/ExtraBeeMutation.java b/src/main/java/binnie/extrabees/genetics/ExtraBeeMutation.java index 53ec4a03..a51ca792 100644 --- a/src/main/java/binnie/extrabees/genetics/ExtraBeeMutation.java +++ b/src/main/java/binnie/extrabees/genetics/ExtraBeeMutation.java @@ -12,39 +12,43 @@ import forestry.api.apiculture.IBeeRoot; import forestry.api.genetics.IAllele; import forestry.api.genetics.IMutation; import forestry.apiculture.genetics.BeeMutation; - import java.util.ArrayList; import java.util.List; public class ExtraBeeMutation extends BeeMutation implements IBeeMutationCustom { - public static List mutations = new ArrayList<>(); + public static List mutations = new ArrayList<>(); - private List requirements; - - public ExtraBeeMutation(IAlleleBeeSpecies bee0, IAlleleBeeSpecies bee1, IAllele[] result, int chance) { - super(bee0, bee1, result, chance); - requirements = new ArrayList<>(); - mutations.add(this); - } + private List requirements; - @Override - public IBeeRoot getRoot() { - return BeeManager.beeRoot; - } + public ExtraBeeMutation(IAlleleBeeSpecies bee0, IAlleleBeeSpecies bee1, IAllele[] result, int chance) { + super(bee0, bee1, result, chance); + requirements = new ArrayList<>(); + mutations.add(this); + } - @Override - public float getChance(IBeeHousing housing, IAlleleBeeSpecies allele0, IAlleleBeeSpecies allele1, IBeeGenome genome0, IBeeGenome genome1) { - for (IMutationRequirement requirement : requirements) { - if (!requirement.fufilled(housing, allele0, allele1, genome0, genome1)) { - return 0.0f; - } - } - return super.getChance(housing, allele0, allele1, genome0, genome1); - } + @Override + public IBeeRoot getRoot() { + return BeeManager.beeRoot; + } - public void restrictPerson(String nickname) { - RequirementPerson requirement = new RequirementPerson(nickname); - requirements.add(requirement); - addMutationCondition(new DummyMutationCondition(requirement)); - } + @Override + public float getChance( + IBeeHousing housing, + IAlleleBeeSpecies allele0, + IAlleleBeeSpecies allele1, + IBeeGenome genome0, + IBeeGenome genome1) { + for (IMutationRequirement requirement : requirements) { + if (!requirement.fufilled(housing, allele0, allele1, genome0, genome1)) { + return 0.0f; + } + } + return super.getChance(housing, allele0, allele1, genome0, genome1); + } + + public void restrictPerson(String nickname) { + RequirementPerson requirement = new RequirementPerson(nickname); + requirements.add(requirement); + addMutationCondition(new DummyMutationCondition(requirement)); + } } diff --git a/src/main/java/binnie/extrabees/genetics/ExtraBeesFlowers.java b/src/main/java/binnie/extrabees/genetics/ExtraBeesFlowers.java index 9c570836..eb133ccc 100644 --- a/src/main/java/binnie/extrabees/genetics/ExtraBeesFlowers.java +++ b/src/main/java/binnie/extrabees/genetics/ExtraBeesFlowers.java @@ -13,6 +13,12 @@ import forestry.api.genetics.IFruitBearer; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IPollinatable; import forestry.api.genetics.ISpeciesRoot; +import java.util.ArrayList; +import java.util.Collections; +import java.util.EnumSet; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; @@ -22,224 +28,217 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; -import java.util.ArrayList; -import java.util.Collections; -import java.util.EnumSet; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - public enum ExtraBeesFlowers implements IFlowerProvider, IAlleleFlowers, IChromosomeType { - WATER, - SUGAR, - ROCK, - BOOK, - DEAD, - REDSTONE, - WOOD, - LEAVES, - SAPLING, - FRUIT, - MYSTICAL; + WATER, + SUGAR, + ROCK, + BOOK, + DEAD, + REDSTONE, + WOOD, + LEAVES, + SAPLING, + FRUIT, + MYSTICAL; - protected boolean dominant; + protected boolean dominant; - ExtraBeesFlowers() { - dominant = true; - } + ExtraBeesFlowers() { + dominant = true; + } - public static void doInit() { - for (ExtraBeesFlowers effect : values()) { - effect.register(); - } - } + public static void doInit() { + for (ExtraBeesFlowers effect : values()) { + effect.register(); + } + } - @Override - public String getUID() { - return "extrabees.flower." + toString().toLowerCase(); - } + @Override + public String getUID() { + return "extrabees.flower." + toString().toLowerCase(); + } - @Override - public boolean isDominant() { - return dominant; - } + @Override + public boolean isDominant() { + return dominant; + } - @Override - public IFlowerProvider getProvider() { - return this; - } + @Override + public IFlowerProvider getProvider() { + return this; + } - @Override - public String getDescription() { - return I18N.localise("extrabees.flowers." + name().toLowerCase() + ".name"); - } + @Override + public String getDescription() { + return I18N.localise("extrabees.flowers." + name().toLowerCase() + ".name"); + } - public void register() { - // AlleleManager.alleleRegistry.registerAllele((IAllele)this); - for (ItemStack stack : getItemStacks()) { - FlowerManager.flowerRegistry.registerAcceptableFlower(Block.getBlockFromItem(stack.getItem()), getUID()); - } + public void register() { + // AlleleManager.alleleRegistry.registerAllele((IAllele)this); + for (ItemStack stack : getItemStacks()) { + FlowerManager.flowerRegistry.registerAcceptableFlower(Block.getBlockFromItem(stack.getItem()), getUID()); + } - AlleleManager.alleleRegistry.registerAllele(this, this); - } + AlleleManager.alleleRegistry.registerAllele(this, this); + } - public ItemStack[] getItemStacks() { - switch (this) { - case WATER: - return new ItemStack[]{new ItemStack(Blocks.waterlily)}; + public ItemStack[] getItemStacks() { + switch (this) { + case WATER: + return new ItemStack[] {new ItemStack(Blocks.waterlily)}; - case SUGAR: - return new ItemStack[]{new ItemStack(Blocks.reeds)}; + case SUGAR: + return new ItemStack[] {new ItemStack(Blocks.reeds)}; - case ROCK: - return new ItemStack[]{new ItemStack(Blocks.cobblestone)}; + case ROCK: + return new ItemStack[] {new ItemStack(Blocks.cobblestone)}; - case BOOK: - return new ItemStack[]{new ItemStack(Blocks.bookshelf)}; + case BOOK: + return new ItemStack[] {new ItemStack(Blocks.bookshelf)}; - case REDSTONE: - return new ItemStack[]{new ItemStack(Blocks.redstone_torch)}; + case REDSTONE: + return new ItemStack[] {new ItemStack(Blocks.redstone_torch)}; - case DEAD: - return new ItemStack[]{new ItemStack(Blocks.deadbush)}; + case DEAD: + return new ItemStack[] {new ItemStack(Blocks.deadbush)}; - case FRUIT: - return new ItemStack[]{new ItemStack(Items.apple)}; + case FRUIT: + return new ItemStack[] {new ItemStack(Items.apple)}; - case LEAVES: - return new ItemStack[]{new ItemStack(Blocks.leaves)}; + case LEAVES: + return new ItemStack[] {new ItemStack(Blocks.leaves)}; - case SAPLING: - return new ItemStack[]{new ItemStack(Blocks.sapling)}; + case SAPLING: + return new ItemStack[] {new ItemStack(Blocks.sapling)}; - case WOOD: - return new ItemStack[]{new ItemStack(Blocks.log)}; - } - return new ItemStack[0]; - } + case WOOD: + return new ItemStack[] {new ItemStack(Blocks.log)}; + } + return new ItemStack[0]; + } - @Override - public boolean isAcceptedPollinatable(World world, IPollinatable pollinatable) { - EnumSet types = pollinatable.getPlantType(); - return types.size() > 1 || !types.contains(EnumPlantType.Nether); - } + @Override + public boolean isAcceptedPollinatable(World world, IPollinatable pollinatable) { + EnumSet types = pollinatable.getPlantType(); + return types.size() > 1 || !types.contains(EnumPlantType.Nether); + } - public boolean isAcceptedFlower(World world, int x, int y, int z) { - Block block = world.getBlock(x, y, z); - if (block == null) { - return false; - } + public boolean isAcceptedFlower(World world, int x, int y, int z) { + Block block = world.getBlock(x, y, z); + if (block == null) { + return false; + } - switch (this) { - case WATER: - return block == Blocks.waterlily; + switch (this) { + case WATER: + return block == Blocks.waterlily; - case ROCK: - return block.getMaterial() == Material.rock; + case ROCK: + return block.getMaterial() == Material.rock; - case SUGAR: - return block == Blocks.reeds; + case SUGAR: + return block == Blocks.reeds; - case BOOK: - return block == Blocks.bookshelf; + case BOOK: + return block == Blocks.bookshelf; - case REDSTONE: - return block == Blocks.redstone_torch; + case REDSTONE: + return block == Blocks.redstone_torch; - case DEAD: - return block == Blocks.deadbush; + case DEAD: + return block == Blocks.deadbush; - case WOOD: - return block.isWood(world, x, y, z); + case WOOD: + return block.isWood(world, x, y, z); - case FRUIT: - return world.getTileEntity(x, y, z) instanceof IFruitBearer; + case FRUIT: + return world.getTileEntity(x, y, z) instanceof IFruitBearer; - case LEAVES: - return block.isLeaves(world, x, y, z); + case LEAVES: + return block.isLeaves(world, x, y, z); - case SAPLING: - return block.getClass().getName().toLowerCase().contains("sapling"); + case SAPLING: + return block.getClass().getName().toLowerCase().contains("sapling"); - case MYSTICAL: - return block == Mods.botania.block("flower"); - } - return false; - } + case MYSTICAL: + return block == Mods.botania.block("flower"); + } + return false; + } - @Override - public boolean growFlower(World world, IIndividual individual, int x, int y, int z) { - switch (this) { - case WATER: - return world.isAirBlock(x, y, z) - && world.getBlock(x, y - 1, z) == Blocks.water - && world.setBlock(x, y, z, Blocks.waterlily, 0, 2); + @Override + public boolean growFlower(World world, IIndividual individual, int x, int y, int z) { + switch (this) { + case WATER: + return world.isAirBlock(x, y, z) + && world.getBlock(x, y - 1, z) == Blocks.water + && world.setBlock(x, y, z, Blocks.waterlily, 0, 2); - case SUGAR: - return world.getBlock(x, y - 1, z) == Blocks.reeds - && world.isAirBlock(x, y, z) - && world.setBlock(x, y, z, Blocks.reeds, 0, 0); - } - return false; - } + case SUGAR: + return world.getBlock(x, y - 1, z) == Blocks.reeds + && world.isAirBlock(x, y, z) + && world.setBlock(x, y, z, Blocks.reeds, 0, 0); + } + return false; + } - @Override - public ItemStack[] affectProducts(World world, IIndividual individual, int x, int y, int z, ItemStack[] products) { - if (this == ExtraBeesFlowers.MYSTICAL) { - List prods = new ArrayList<>(); - Collections.addAll(prods, products); + @Override + public ItemStack[] affectProducts(World world, IIndividual individual, int x, int y, int z, ItemStack[] products) { + if (this == ExtraBeesFlowers.MYSTICAL) { + List prods = new ArrayList<>(); + Collections.addAll(prods, products); - for (int k = 0; k < 50; ++k) { - int tX = 7; - int tY = 7; - int tZ = 3; - int x2 = x - tX + world.rand.nextInt(1 + 2 * tX); - int y2 = y - tY + world.rand.nextInt(1 + 2 * tY); - int z2 = z - tZ + world.rand.nextInt(1 + 2 * tZ); + for (int k = 0; k < 50; ++k) { + int tX = 7; + int tY = 7; + int tZ = 3; + int x2 = x - tX + world.rand.nextInt(1 + 2 * tX); + int y2 = y - tY + world.rand.nextInt(1 + 2 * tY); + int z2 = z - tZ + world.rand.nextInt(1 + 2 * tZ); - Block block = world.getBlock(x2, y2, z2); - if (block != null) { - if (block == Mods.botania.block("flower")) { - int meta = world.getBlockMetadata(x2, y2, z2); - Item item = Mods.botania.item("petal"); - if (item != null) { - prods.add(new ItemStack(item, 1, meta)); - } - } - } - } - return prods.toArray(new ItemStack[0]); - } - return products; - } + Block block = world.getBlock(x2, y2, z2); + if (block != null) { + if (block == Mods.botania.block("flower")) { + int meta = world.getBlockMetadata(x2, y2, z2); + Item item = Mods.botania.item("petal"); + if (item != null) { + prods.add(new ItemStack(item, 1, meta)); + } + } + } + } + return prods.toArray(new ItemStack[0]); + } + return products; + } - @Override - public String getName() { - return getDescription(); - } + @Override + public String getName() { + return getDescription(); + } - @Override - public String getUnlocalizedName() { - return getUID(); - } + @Override + public String getUnlocalizedName() { + return getUID(); + } - @Override - public String getFlowerType() { - return getUID(); - } + @Override + public String getFlowerType() { + return getUID(); + } - @Override - public Set getFlowers() { - return new HashSet<>(); - } + @Override + public Set getFlowers() { + return new HashSet<>(); + } - @Override - public Class getAlleleClass() { - return getClass(); - } + @Override + public Class getAlleleClass() { + return getClass(); + } - @Override - public ISpeciesRoot getSpeciesRoot() { - return AlleleManager.alleleRegistry.getSpeciesRoot(getUID()); - } + @Override + public ISpeciesRoot getSpeciesRoot() { + return AlleleManager.alleleRegistry.getSpeciesRoot(getUID()); + } } diff --git a/src/main/java/binnie/extrabees/genetics/ModuleGenetics.java b/src/main/java/binnie/extrabees/genetics/ModuleGenetics.java index 8b969f28..78595f4b 100644 --- a/src/main/java/binnie/extrabees/genetics/ModuleGenetics.java +++ b/src/main/java/binnie/extrabees/genetics/ModuleGenetics.java @@ -15,39 +15,47 @@ import net.minecraft.init.Items; import net.minecraft.item.ItemStack; public class ModuleGenetics implements IInitializable { - public static IGenome getGenome(IAlleleBeeSpecies allele0) { - return Binnie.Genetics.getBeeRoot().templateAsGenome(Binnie.Genetics.getBeeRoot().getTemplate(allele0.getUID())); - } + public static IGenome getGenome(IAlleleBeeSpecies allele0) { + return Binnie.Genetics.getBeeRoot() + .templateAsGenome(Binnie.Genetics.getBeeRoot().getTemplate(allele0.getUID())); + } - @Override - public void preInit() { - ExtraBees.dictionary = new ItemDictionary(); + @Override + public void preInit() { + ExtraBees.dictionary = new ItemDictionary(); - ExtraBees.ectoplasm = new BlockEctoplasm(); - GameRegistry.registerBlock(ExtraBees.ectoplasm, "ectoplasm"); - } + ExtraBees.ectoplasm = new BlockEctoplasm(); + GameRegistry.registerBlock(ExtraBees.ectoplasm, "ectoplasm"); + } - @Override - public void init() { - ExtraBeesEffect.doInit(); - ExtraBeesFlowers.doInit(); - ExtraBeeDefinition.initBees(); - } + @Override + public void init() { + ExtraBeesEffect.doInit(); + ExtraBeesFlowers.doInit(); + ExtraBeeDefinition.initBees(); + } - @Override - public void postInit() { - RecipeManagers.carpenterManager.addRecipe( - 100, - Binnie.Liquid.getLiquidStack("water", 2000), - null, - new ItemStack(ExtraBees.dictionary), - "X#X", "YEY", "RDR", - '#', Blocks.glass_pane, - 'X', Items.gold_ingot, - 'Y', "ingotTin", - 'R', Items.redstone, - 'D', Items.diamond, - 'E', Items.emerald - ); - } + @Override + public void postInit() { + RecipeManagers.carpenterManager.addRecipe( + 100, + Binnie.Liquid.getLiquidStack("water", 2000), + null, + new ItemStack(ExtraBees.dictionary), + "X#X", + "YEY", + "RDR", + '#', + Blocks.glass_pane, + 'X', + Items.gold_ingot, + 'Y', + "ingotTin", + 'R', + Items.redstone, + 'D', + Items.diamond, + 'E', + Items.emerald); + } } diff --git a/src/main/java/binnie/extrabees/genetics/effect/BlockEctoplasm.java b/src/main/java/binnie/extrabees/genetics/effect/BlockEctoplasm.java index 686da9c0..976c3557 100644 --- a/src/main/java/binnie/extrabees/genetics/effect/BlockEctoplasm.java +++ b/src/main/java/binnie/extrabees/genetics/effect/BlockEctoplasm.java @@ -3,37 +3,36 @@ package binnie.extrabees.genetics.effect; import binnie.extrabees.ExtraBees; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; import net.minecraft.block.BlockWeb; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Items; import net.minecraft.item.Item; -import java.util.Random; - public class BlockEctoplasm extends BlockWeb { - public BlockEctoplasm() { - setLightOpacity(1); - setHardness(0.5f); - } + public BlockEctoplasm() { + setLightOpacity(1); + setHardness(0.5f); + } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - blockIcon = ExtraBees.proxy.getIcon(register, "ectoplasm"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + blockIcon = ExtraBees.proxy.getIcon(register, "ectoplasm"); + } - @Override - public int quantityDropped(Random rand) { - return (rand.nextInt(5) == 0) ? 1 : 0; - } + @Override + public int quantityDropped(Random rand) { + return (rand.nextInt(5) == 0) ? 1 : 0; + } - @Override - public Item getItemDropped(int meta, Random rand, int fortune) { - return Items.slime_ball; - } + @Override + public Item getItemDropped(int meta, Random rand, int fortune) { + return Items.slime_ball; + } - @Override - public String getUnlocalizedName() { - return "extrabees.block.ectoplasm"; - } + @Override + public String getUnlocalizedName() { + return "extrabees.block.ectoplasm"; + } } diff --git a/src/main/java/binnie/extrabees/genetics/effect/EntityBeeLightning.java b/src/main/java/binnie/extrabees/genetics/effect/EntityBeeLightning.java index 4669ed2b..c9bc694b 100644 --- a/src/main/java/binnie/extrabees/genetics/effect/EntityBeeLightning.java +++ b/src/main/java/binnie/extrabees/genetics/effect/EntityBeeLightning.java @@ -1,5 +1,6 @@ package binnie.extrabees.genetics.effect; +import java.util.List; import net.minecraft.entity.Entity; import net.minecraft.entity.effect.EntityLightningBolt; import net.minecraft.init.Blocks; @@ -7,53 +8,64 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import java.util.List; - public class EntityBeeLightning extends EntityLightningBolt { - int lightningState; - int boltLivingTime; + int lightningState; + int boltLivingTime; - public EntityBeeLightning(World world, double x, double y, double z) { - super(world, x, y, z); - lightningState = 2; - boltLivingTime = rand.nextInt(3) + 1; - } + public EntityBeeLightning(World world, double x, double y, double z) { + super(world, x, y, z); + lightningState = 2; + boltLivingTime = rand.nextInt(3) + 1; + } - @Override - public void onUpdate() { - onEntityUpdate(); - lightningState--; + @Override + public void onUpdate() { + onEntityUpdate(); + lightningState--; - if (lightningState < 0) { - if (boltLivingTime == 0) { - setDead(); - } else if (lightningState < -rand.nextInt(10)) { - boltLivingTime--; - lightningState = 1; - boltVertex = rand.nextLong(); + if (lightningState < 0) { + if (boltLivingTime == 0) { + setDead(); + } else if (lightningState < -rand.nextInt(10)) { + boltLivingTime--; + lightningState = 1; + boltVertex = rand.nextLong(); - if (!worldObj.isRemote && worldObj.doChunksNearChunkExist(MathHelper.floor_double(posX), MathHelper.floor_double(posY), MathHelper.floor_double(posZ), 10)) { - int i = MathHelper.floor_double(posX); - int j = MathHelper.floor_double(posY); - int k = MathHelper.floor_double(posZ); - if (worldObj.getBlock(i, j, k) == null && Blocks.fire.canPlaceBlockAt(worldObj, i, j, k)) { - worldObj.setBlock(i, j, k, Blocks.fire); - } - } - } - } + if (!worldObj.isRemote + && worldObj.doChunksNearChunkExist( + MathHelper.floor_double(posX), + MathHelper.floor_double(posY), + MathHelper.floor_double(posZ), + 10)) { + int i = MathHelper.floor_double(posX); + int j = MathHelper.floor_double(posY); + int k = MathHelper.floor_double(posZ); + if (worldObj.getBlock(i, j, k) == null && Blocks.fire.canPlaceBlockAt(worldObj, i, j, k)) { + worldObj.setBlock(i, j, k, Blocks.fire); + } + } + } + } - if (lightningState >= 0) { - if (worldObj.isRemote) { - worldObj.lastLightningBolt = 2; - } else { - double offset = 3.0; - List list = worldObj.getEntitiesWithinAABBExcludingEntity(this, AxisAlignedBB.getBoundingBox(posX - offset, posY - offset, posZ - offset, posX + offset, posY + 6.0 + offset, posZ + offset)); - for (Object aList : list) { - Entity entity = (Entity) aList; - entity.onStruckByLightning(this); - } - } - } - } + if (lightningState >= 0) { + if (worldObj.isRemote) { + worldObj.lastLightningBolt = 2; + } else { + double offset = 3.0; + List list = worldObj.getEntitiesWithinAABBExcludingEntity( + this, + AxisAlignedBB.getBoundingBox( + posX - offset, + posY - offset, + posZ - offset, + posX + offset, + posY + 6.0 + offset, + posZ + offset)); + for (Object aList : list) { + Entity entity = (Entity) aList; + entity.onStruckByLightning(this); + } + } + } + } } diff --git a/src/main/java/binnie/extrabees/genetics/effect/ExtraBeesEffect.java b/src/main/java/binnie/extrabees/genetics/effect/ExtraBeesEffect.java index b503d014..33556250 100644 --- a/src/main/java/binnie/extrabees/genetics/effect/ExtraBeesEffect.java +++ b/src/main/java/binnie/extrabees/genetics/effect/ExtraBeesEffect.java @@ -13,6 +13,9 @@ import forestry.api.apiculture.IBeeHousing; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IEffectData; import forestry.core.proxy.Proxies; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; @@ -34,597 +37,616 @@ import net.minecraft.world.WorldServer; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.IFluidHandler; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.List; - public enum ExtraBeesEffect implements IAlleleBeeEffect { - ECTOPLASM, - ACID, - SPAWN_ZOMBIE, - SPAWN_SKELETON, - SPAWN_CREEPER, - LIGHTNING, - RADIOACTIVE, - METEOR, - HUNGER, - FOOD, - BLINDNESS, - CONFUSION, - FIREWORKS, - FESTIVAL, - BIRTHDAY, - TELEPORT, - GRAVITY, - THIEF, - WITHER, - WATER, - SLOW, - BONEMEAL_SAPLING, - BONEMEAL_FRUIT, - BONEMEAL_MUSHROOM, - POWER; - - protected static List birthdays; - - static { - birthdays = new ArrayList<>(); - birthdays.add(new Birthday(3, 10, "Binnie")); - } - - public boolean combinable; - public boolean dominant; - public int id; - String fx; - private String uid; - - ExtraBeesEffect() { - fx = ""; - uid = toString().toLowerCase(); - combinable = false; - dominant = true; - } - - public static void doInit() { - ExtraBeesEffect.BLINDNESS.setFX("blindness"); - ExtraBeesEffect.FOOD.setFX("food"); - ExtraBeesEffect.GRAVITY.setFX("gravity"); - ExtraBeesEffect.THIEF.setFX("gravity"); - ExtraBeesEffect.TELEPORT.setFX("gravity"); - ExtraBeesEffect.LIGHTNING.setFX("lightning"); - ExtraBeesEffect.METEOR.setFX("meteor"); - ExtraBeesEffect.RADIOACTIVE.setFX("radioactive"); - ExtraBeesEffect.WATER.setFX("water"); - ExtraBeesEffect.WITHER.setFX("wither"); - for (ExtraBeesEffect effect : values()) { - effect.register(); - } - } - - public static boolean wearsHelmet(EntityPlayer player) { - ItemStack armorItem = player.inventory.armorInventory[3]; - return armorItem != null && armorItem.getItem() instanceof IArmorApiarist; - } - - public static boolean wearsChest(EntityPlayer player) { - ItemStack armorItem = player.inventory.armorInventory[2]; - return armorItem != null && armorItem.getItem() instanceof IArmorApiarist; - } - - public static boolean wearsLegs(EntityPlayer player) { - ItemStack armorItem = player.inventory.armorInventory[1]; - return armorItem != null && armorItem.getItem() instanceof IArmorApiarist; - } - - public static boolean wearsBoots(EntityPlayer player) { - ItemStack armorItem = player.inventory.armorInventory[0]; - return armorItem != null && armorItem.getItem() instanceof IArmorApiarist; - } - - public static int wearsItems(EntityPlayer player) { - int count = 0; - if (wearsHelmet(player)) { - count++; - } - if (wearsChest(player)) { - count++; - } - if (wearsLegs(player)) { - count++; - } - if (wearsBoots(player)) { - count++; - } - return count; - } - - public void register() { - AlleleManager.alleleRegistry.registerAllele(this); - } - - @Override - public boolean isCombinable() { - return combinable; - } - - @Override - public IEffectData validateStorage(IEffectData storedData) { - return storedData; - } - - @Override - public String getName() { - return I18N.localise("extrabees.effect." + name().toLowerCase().replace("_", "") + ".name"); - } - - @Override - public boolean isDominant() { - return dominant; - } - - public void spawnMob(World world, int x, int y, int z, String name) { - if (!anyPlayerInRange(world, x, y, z, 16)) { - return; - } - - double xOffset = x + world.rand.nextFloat(); - double yOffset = y + world.rand.nextFloat(); - double zOffset = z + world.rand.nextFloat(); - world.spawnParticle("smoke", xOffset, yOffset, zOffset, 0.0, 0.0, 0.0); - world.spawnParticle("flame", xOffset, yOffset, zOffset, 0.0, 0.0, 0.0); - EntityLiving entity = (EntityLiving) EntityList.createEntityByName(name, world); - - if (entity == null) { - return; - } - - int entityCount = world.getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1).expand(8.0, 4.0, 8.0)).size(); - if (entityCount >= 6) { - return; - } - - xOffset = x + (world.rand.nextDouble() - world.rand.nextDouble()) * 4.0; - yOffset = y + world.rand.nextInt(3) - 1; - zOffset = z + (world.rand.nextDouble() - world.rand.nextDouble()) * 4.0; - entity.setLocationAndAngles(xOffset, yOffset, zOffset, world.rand.nextFloat() * 360.0f, 0.0f); - - if (entity.getCanSpawnHere()) { - world.spawnEntityInWorld(entity); - world.playAuxSFX(2004, x, y, z, 0); - entity.spawnExplosionParticle(); - } - } - - private boolean anyPlayerInRange(World world, int x, int y, int z, int distance) { - return world.getClosestPlayer(x + 0.5, y + 0.5, z + 0.5, distance) != null; - } - - @Override - public String getUID() { - return "extrabees.effect." + uid; - } - - @Override - public IEffectData doEffect(IBeeGenome genome, IEffectData storedData, IBeeHousing housing) { - World world = housing.getWorld(); - int xHouse = housing.getCoordinates().posX; - int yHouse = housing.getCoordinates().posY; - int zHouse = housing.getCoordinates().posZ; - int[] area = getModifiedArea(genome, housing); - int xd = 1 + area[0] / 2; - int yd = 1 + area[1] / 2; - int zd = 1 + area[2] / 2; - int x = xHouse - xd + world.rand.nextInt(2 * xd + 1); - int y = yHouse - yd + world.rand.nextInt(2 * yd + 1); - int z = zHouse - zd + world.rand.nextInt(2 * zd + 1); - - switch (this) { - case ECTOPLASM: - onEctoplasmEffect(world, x, y, z); - break; - - case ACID: - onAcidEffect(world, x, y, z); - break; - - case SPAWN_ZOMBIE: - onSpawnMobEffect(world, x, y, z, "Zombie"); - break; - - case SPAWN_SKELETON: - onSpawnMobEffect(world, x, y, z, "Skeleton"); - break; - - case SPAWN_CREEPER: - onSpawnMobEffect(world, x, y, z, "Creeper"); - break; - - case LIGHTNING: - onLightingEffect(world, x, y, z); - break; - - case METEOR: - onMeteorEffect(world, x, y, z); - break; - - case RADIOACTIVE: - onRadioactiveEffect(genome, housing); - break; - - case FOOD: - onFoodEffect(genome, housing); - break; - - case HUNGER: - onHungerEffect(genome, housing, world); - break; - - case BLINDNESS: - onPotionEffect(genome, housing, world, new PotionEffect(Potion.blindness.id, 200)); - break; - - case SLOW: - onPotionEffect(genome, housing, world, new PotionEffect(Potion.weakness.id, 200)); - break; - - case CONFUSION: { - onPotionEffect(genome, housing, world, new PotionEffect(Potion.confusion.id, 200)); - break; - } - - case BIRTHDAY: - case FESTIVAL: - case FIREWORKS: - onFeastEffect(genome, world, x, y, z); - break; - - case GRAVITY: - onGravityEffect(genome, housing, x, y, z); - break; - - case THIEF: - onThiefEffect(genome, housing, x, y, z); - break; - - case TELEPORT: - onTeleportEffect(genome, housing, world, x, y, z); - break; - - case WATER: - onWaterEffect(world, x, y, z); - break; - - case BONEMEAL_SAPLING: - onBonemealSaplingEffect(world, x, y, z); - break; - - case BONEMEAL_FRUIT: - onBonemealFruitEffect(world, x, y, z); - break; - - case BONEMEAL_MUSHROOM: - onBonemealMushroomEffect(world, x, y, z); - break; - - case POWER: - onPowerEffect(world, x, y, z); - break; - } - return null; - } - - private void onLightingEffect(World world, int x, int y, int z) { - if (world.rand.nextInt(100) < 1 && world.canBlockSeeTheSky(x, y, z) && world instanceof WorldServer) { - world.addWeatherEffect(new EntityBeeLightning(world, x, y, z)); - } - } - - private void onEctoplasmEffect(World world, int x, int y, int z) { - if (world.rand.nextInt(100) >= 4) { - return; - } - - if (world.isAirBlock(x, y, z) && (world.isBlockNormalCubeDefault(x, y - 1, z, false) || world.getBlock(x, y - 1, z) == ExtraBees.ectoplasm)) { - world.setBlock(x, y, z, ExtraBees.ectoplasm, 0, 0); - } - } - - private void onAcidEffect(World world, int x, int y, int z) { - if (world.rand.nextInt(100) >= 6) { - return; - } - - Block block = world.getBlock(x, y, z); - if (block == Blocks.cobblestone || block == Blocks.stone) { - world.setBlock(x, y, z, Blocks.gravel, 0, 0); - } else if (block == Blocks.dirt | block == Blocks.grass) { - world.setBlock(x, y, z, Blocks.sand, 0, 0); - } - } - - private void onSpawnMobEffect(World world, int x, int y, int z, String mobName) { - if (world.rand.nextInt(200) < 2) { - spawnMob(world, x, y, z, mobName); - } - } - - private void onMeteorEffect(World world, int x, int y, int z) { - if (world.rand.nextInt(100) < 1 && world.canBlockSeeTheSky(x, y, z)) { - world.spawnEntityInWorld(new EntitySmallFireball(world, x, y + 64, z, 0.0, -0.6, 0.0)); - } - } - - private void onRadioactiveEffect(IBeeGenome genome, IBeeHousing housing) { - for (EntityLivingBase entity : getEntities(EntityLivingBase.class, genome, housing)) { - int damage = 4; - if (entity instanceof EntityPlayer) { - int count = wearsItems((EntityPlayer) entity); - if (count > 3) { - continue; - } - - if (count > 2) { - damage = 1; - } else if (count > 1) { - damage = 2; - } else if (count > 0) { - damage = 3; - } - } - entity.attackEntityFrom(DamageSource.generic, damage); - } - } - - private void onFoodEffect(IBeeGenome genome, IBeeHousing housing) { - for (EntityLivingBase entity : getEntities(EntityLivingBase.class, genome, housing)) { - if (entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) entity; - player.getFoodStats().addStats(2, 0.2f); - } - } - } - - private void onHungerEffect(IBeeGenome genome, IBeeHousing housing, World world) { - for (EntityLivingBase entity : getEntities(EntityLivingBase.class, genome, housing)) { - if (entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) entity; - if (world.rand.nextInt(4) < wearsItems(player)) { - continue; - } - - player.getFoodStats().addExhaustion(4.0f); - player.addPotionEffect(new PotionEffect(Potion.hunger.id, 100)); - } - } - } - - private void onPotionEffect(IBeeGenome genome, IBeeHousing housing, World world, PotionEffect potion) { - for (EntityLivingBase entity : getEntities(EntityLivingBase.class, genome, housing)) { - if (entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) entity; - if (world.rand.nextInt(4) < wearsItems(player)) { - continue; - } - player.addPotionEffect(potion); - } - } - } - - private void onFeastEffect(IBeeGenome genome, World world, int x, int y, int z) { - if (world.rand.nextInt((this == ExtraBeesEffect.FIREWORKS) ? 8 : 12) >= 1) { - return; - } - - FireworkCreator.Firework firework = new FireworkCreator.Firework(); - switch (this) { - case BIRTHDAY: - firework.setShape(FireworkCreator.Shape.Star); - firework.addColor(0xffdd00); - for (Birthday birthday : ExtraBeesEffect.birthdays) { - if (birthday.isToday()) { - firework.addColor(0xff0000); - firework.addColor(0x00ff00); - firework.addColor(0x0000ff); - firework.setTrail(); - break; - } - } - - case FIREWORKS: - firework.setShape(FireworkCreator.Shape.Ball); - firework.addColor(genome.getPrimary().getIconColour(0)); - firework.addColor(genome.getPrimary().getIconColour(0)); - firework.addColor(genome.getPrimary().getIconColour(1)); - firework.addColor(genome.getSecondary().getIconColour(0)); - firework.addColor(genome.getSecondary().getIconColour(0)); - firework.addColor(genome.getPrimary().getIconColour(1)); - firework.setTrail(); - break; - } - - EntityFireworkRocket rocket = new EntityFireworkRocket(world, x, y, z, firework.getFirework()); - if (world.canBlockSeeTheSky(x, y, z)) { - world.spawnEntityInWorld(rocket); - } - } - - private void onGravityEffect(IBeeGenome genome, IBeeHousing housing, int x, int y, int z) { - List entities = getEntities(Entity.class, genome, housing); - for (Entity entity : entities) { - float entityStrength = 1.0f; - if (entity instanceof EntityPlayer) { - entityStrength *= 100.0f; - } - - double dx = x - entity.posX; - double dy = y - entity.posY; - double dz = z - entity.posZ; - if (dx * dx + dy * dy + dz * dz < 2.0) { - break; - } - - double strength = 0.5 / (dx * dx + dy * dy + dz * dz) * entityStrength; - entity.addVelocity(dx * strength, dy * strength, dz * strength); - } - } - - private void onThiefEffect(IBeeGenome genome, IBeeHousing housing, int x, int y, int z) { - List players = getEntities(EntityPlayer.class, genome, housing); - for (EntityPlayer player : players) { - double dx = x - player.posX; - double dy = y - player.posY; - double dz = z - player.posZ; - if (dx * dx + dy * dy + dz * dz < 2.0) { - break; - } - double strength = 0.5 / (dx * dx + dy * dy + dz * dz); - player.addVelocity(-dx * strength, -dy * strength, -dz * strength); - } - } - - private void onTeleportEffect(IBeeGenome genome, IBeeHousing housing, World world, int x, int y, int z) { - if (world.rand.nextInt(80) > 1) { - return; - } - - List entities = getEntities(Entity.class, genome, housing); - if (entities.size() == 0) { - return; - } - - Entity entity = entities.get(world.rand.nextInt(entities.size())); - if (!(entity instanceof EntityLiving)) { - return; - } - - if (y < 4) { - y = 4; - } - if (!world.isAirBlock(x, y, z) || !world.isAirBlock(x, y + 1, z)) { - return; - } - - EntityLiving living = (EntityLiving) entity; - living.setPositionAndUpdate(x, y, z); - living.addPotionEffect(new PotionEffect(Potion.confusion.id, 160, 10)); - } - - private void onWaterEffect(World world, int x, int y, int z) { - if (world.rand.nextInt(120) > 1) { - return; - } - - TileEntity tile = world.getTileEntity(x, y, z); - if (tile instanceof IFluidHandler) { - ((IFluidHandler) tile).fill(ForgeDirection.UP, Binnie.Liquid.getLiquidStack("water", 100), true); - } - } - - private void onBonemealSaplingEffect(World world, int x, int y, int z) { - if (world.rand.nextInt(20) > 1) { - return; - } - - if (ExtraBeesFlowers.SAPLING.isAcceptedFlower(world, x, y, z)) { - ItemDye.applyBonemeal(new ItemStack(Blocks.dirt, 1), world, x, y, z, null); - } - } - - private void onBonemealFruitEffect(World world, int x, int y, int z) { - if (world.rand.nextInt(20) > 1) { - return; - } - - if (ExtraBeesFlowers.FRUIT.isAcceptedFlower(world, x, y, z)) { - ItemDye.applyBonemeal(new ItemStack(Blocks.dirt, 1), world, x, y, z, null); - } - } - - private void onBonemealMushroomEffect(World world, int x, int y, int z) { - if (world.rand.nextInt(20) > 1) { - return; - } - - if (world.getBlock(x, y, z) == Blocks.brown_mushroom || world.getBlock(x, y, z) == Blocks.red_mushroom) { - ItemDye.applyBonemeal(new ItemStack(Blocks.dirt, 1), world, x, y, z, null); - } - } - - private void onPowerEffect(World world, int x, int y, int z) { - TileEntity tile2 = world.getTileEntity(x, y, z); - if (tile2 instanceof IEnergyReceiver) { - ((IEnergyReceiver) tile2).receiveEnergy(ForgeDirection.getOrientation(0), 5, true); - } - } - - protected int[] getModifiedArea(IBeeGenome genome, IBeeHousing housing) { - int[] territory; - int[] area = territory = genome.getTerritory(); - int n = 0; - territory[n] *= (int) (BeeManager.beeRoot.createBeeHousingModifier(housing).getTerritoryModifier(genome, 1.0f) * 3.0f); - - int[] array = area; - int n2 = 1; - array[n2] *= (int) (BeeManager.beeRoot.createBeeHousingModifier(housing).getTerritoryModifier(genome, 1.0f) * 3.0f); - - int[] array2 = area; - int n3 = 2; - array2[n3] *= (int) (BeeManager.beeRoot.createBeeHousingModifier(housing).getTerritoryModifier(genome, 1.0f) * 3.0f); - - if (area[0] < 1) { - area[0] = 1; - } - if (area[1] < 1) { - area[1] = 1; - } - if (area[2] < 1) { - area[2] = 1; - } - return area; - } - - @Override - public IEffectData doFX(IBeeGenome genome, IEffectData storedData, IBeeHousing housing) { - Proxies.render.addBeeHiveFX("particles/swarm_bee", housing.getWorld(), housing.getBeeFXCoordinates().xCoord, housing.getBeeFXCoordinates().yCoord, housing.getBeeFXCoordinates().zCoord, genome.getPrimary().getIconColour(0)); - return storedData; - } - - private void setFX(String string) { - fx = "particles/" + string; - } - - public List getEntities(Class eClass, IBeeGenome genome, IBeeHousing housing) { - int[] area = genome.getTerritory(); - int[] offset = {-Math.round(area[0] / 2), -Math.round(area[1] / 2), -Math.round(area[2] / 2)}; - int[] min = {housing.getCoordinates().posX + offset[0], housing.getCoordinates().posY + offset[1], housing.getCoordinates().posZ + offset[2]}; - int[] max = {housing.getCoordinates().posX + offset[0] + area[0], housing.getCoordinates().posY + offset[1] + area[1], housing.getCoordinates().posZ + offset[2] + area[2]}; - AxisAlignedBB box = AxisAlignedBB.getBoundingBox(min[0], min[1], min[2], max[0], max[1], max[2]); - return housing.getWorld().getEntitiesWithinAABB(eClass, box); - } - - @Override - public String getUnlocalizedName() { - return getUID(); - } - - public static class Birthday { - protected int day; - protected int month; - protected String name; - - private Birthday(int day, int month, String name) { - this.day = day; - this.month = month + 1; - this.name = name; - } - - public boolean isToday() { - return Calendar.getInstance().get(5) == month - && Calendar.getInstance().get(2) == day; - } - - public String getName() { - return name; - } - } + ECTOPLASM, + ACID, + SPAWN_ZOMBIE, + SPAWN_SKELETON, + SPAWN_CREEPER, + LIGHTNING, + RADIOACTIVE, + METEOR, + HUNGER, + FOOD, + BLINDNESS, + CONFUSION, + FIREWORKS, + FESTIVAL, + BIRTHDAY, + TELEPORT, + GRAVITY, + THIEF, + WITHER, + WATER, + SLOW, + BONEMEAL_SAPLING, + BONEMEAL_FRUIT, + BONEMEAL_MUSHROOM, + POWER; + + protected static List birthdays; + + static { + birthdays = new ArrayList<>(); + birthdays.add(new Birthday(3, 10, "Binnie")); + } + + public boolean combinable; + public boolean dominant; + public int id; + String fx; + private String uid; + + ExtraBeesEffect() { + fx = ""; + uid = toString().toLowerCase(); + combinable = false; + dominant = true; + } + + public static void doInit() { + ExtraBeesEffect.BLINDNESS.setFX("blindness"); + ExtraBeesEffect.FOOD.setFX("food"); + ExtraBeesEffect.GRAVITY.setFX("gravity"); + ExtraBeesEffect.THIEF.setFX("gravity"); + ExtraBeesEffect.TELEPORT.setFX("gravity"); + ExtraBeesEffect.LIGHTNING.setFX("lightning"); + ExtraBeesEffect.METEOR.setFX("meteor"); + ExtraBeesEffect.RADIOACTIVE.setFX("radioactive"); + ExtraBeesEffect.WATER.setFX("water"); + ExtraBeesEffect.WITHER.setFX("wither"); + for (ExtraBeesEffect effect : values()) { + effect.register(); + } + } + + public static boolean wearsHelmet(EntityPlayer player) { + ItemStack armorItem = player.inventory.armorInventory[3]; + return armorItem != null && armorItem.getItem() instanceof IArmorApiarist; + } + + public static boolean wearsChest(EntityPlayer player) { + ItemStack armorItem = player.inventory.armorInventory[2]; + return armorItem != null && armorItem.getItem() instanceof IArmorApiarist; + } + + public static boolean wearsLegs(EntityPlayer player) { + ItemStack armorItem = player.inventory.armorInventory[1]; + return armorItem != null && armorItem.getItem() instanceof IArmorApiarist; + } + + public static boolean wearsBoots(EntityPlayer player) { + ItemStack armorItem = player.inventory.armorInventory[0]; + return armorItem != null && armorItem.getItem() instanceof IArmorApiarist; + } + + public static int wearsItems(EntityPlayer player) { + int count = 0; + if (wearsHelmet(player)) { + count++; + } + if (wearsChest(player)) { + count++; + } + if (wearsLegs(player)) { + count++; + } + if (wearsBoots(player)) { + count++; + } + return count; + } + + public void register() { + AlleleManager.alleleRegistry.registerAllele(this); + } + + @Override + public boolean isCombinable() { + return combinable; + } + + @Override + public IEffectData validateStorage(IEffectData storedData) { + return storedData; + } + + @Override + public String getName() { + return I18N.localise("extrabees.effect." + name().toLowerCase().replace("_", "") + ".name"); + } + + @Override + public boolean isDominant() { + return dominant; + } + + public void spawnMob(World world, int x, int y, int z, String name) { + if (!anyPlayerInRange(world, x, y, z, 16)) { + return; + } + + double xOffset = x + world.rand.nextFloat(); + double yOffset = y + world.rand.nextFloat(); + double zOffset = z + world.rand.nextFloat(); + world.spawnParticle("smoke", xOffset, yOffset, zOffset, 0.0, 0.0, 0.0); + world.spawnParticle("flame", xOffset, yOffset, zOffset, 0.0, 0.0, 0.0); + EntityLiving entity = (EntityLiving) EntityList.createEntityByName(name, world); + + if (entity == null) { + return; + } + + int entityCount = world.getEntitiesWithinAABB( + entity.getClass(), + AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1) + .expand(8.0, 4.0, 8.0)) + .size(); + if (entityCount >= 6) { + return; + } + + xOffset = x + (world.rand.nextDouble() - world.rand.nextDouble()) * 4.0; + yOffset = y + world.rand.nextInt(3) - 1; + zOffset = z + (world.rand.nextDouble() - world.rand.nextDouble()) * 4.0; + entity.setLocationAndAngles(xOffset, yOffset, zOffset, world.rand.nextFloat() * 360.0f, 0.0f); + + if (entity.getCanSpawnHere()) { + world.spawnEntityInWorld(entity); + world.playAuxSFX(2004, x, y, z, 0); + entity.spawnExplosionParticle(); + } + } + + private boolean anyPlayerInRange(World world, int x, int y, int z, int distance) { + return world.getClosestPlayer(x + 0.5, y + 0.5, z + 0.5, distance) != null; + } + + @Override + public String getUID() { + return "extrabees.effect." + uid; + } + + @Override + public IEffectData doEffect(IBeeGenome genome, IEffectData storedData, IBeeHousing housing) { + World world = housing.getWorld(); + int xHouse = housing.getCoordinates().posX; + int yHouse = housing.getCoordinates().posY; + int zHouse = housing.getCoordinates().posZ; + int[] area = getModifiedArea(genome, housing); + int xd = 1 + area[0] / 2; + int yd = 1 + area[1] / 2; + int zd = 1 + area[2] / 2; + int x = xHouse - xd + world.rand.nextInt(2 * xd + 1); + int y = yHouse - yd + world.rand.nextInt(2 * yd + 1); + int z = zHouse - zd + world.rand.nextInt(2 * zd + 1); + + switch (this) { + case ECTOPLASM: + onEctoplasmEffect(world, x, y, z); + break; + + case ACID: + onAcidEffect(world, x, y, z); + break; + + case SPAWN_ZOMBIE: + onSpawnMobEffect(world, x, y, z, "Zombie"); + break; + + case SPAWN_SKELETON: + onSpawnMobEffect(world, x, y, z, "Skeleton"); + break; + + case SPAWN_CREEPER: + onSpawnMobEffect(world, x, y, z, "Creeper"); + break; + + case LIGHTNING: + onLightingEffect(world, x, y, z); + break; + + case METEOR: + onMeteorEffect(world, x, y, z); + break; + + case RADIOACTIVE: + onRadioactiveEffect(genome, housing); + break; + + case FOOD: + onFoodEffect(genome, housing); + break; + + case HUNGER: + onHungerEffect(genome, housing, world); + break; + + case BLINDNESS: + onPotionEffect(genome, housing, world, new PotionEffect(Potion.blindness.id, 200)); + break; + + case SLOW: + onPotionEffect(genome, housing, world, new PotionEffect(Potion.weakness.id, 200)); + break; + + case CONFUSION: { + onPotionEffect(genome, housing, world, new PotionEffect(Potion.confusion.id, 200)); + break; + } + + case BIRTHDAY: + case FESTIVAL: + case FIREWORKS: + onFeastEffect(genome, world, x, y, z); + break; + + case GRAVITY: + onGravityEffect(genome, housing, x, y, z); + break; + + case THIEF: + onThiefEffect(genome, housing, x, y, z); + break; + + case TELEPORT: + onTeleportEffect(genome, housing, world, x, y, z); + break; + + case WATER: + onWaterEffect(world, x, y, z); + break; + + case BONEMEAL_SAPLING: + onBonemealSaplingEffect(world, x, y, z); + break; + + case BONEMEAL_FRUIT: + onBonemealFruitEffect(world, x, y, z); + break; + + case BONEMEAL_MUSHROOM: + onBonemealMushroomEffect(world, x, y, z); + break; + + case POWER: + onPowerEffect(world, x, y, z); + break; + } + return null; + } + + private void onLightingEffect(World world, int x, int y, int z) { + if (world.rand.nextInt(100) < 1 && world.canBlockSeeTheSky(x, y, z) && world instanceof WorldServer) { + world.addWeatherEffect(new EntityBeeLightning(world, x, y, z)); + } + } + + private void onEctoplasmEffect(World world, int x, int y, int z) { + if (world.rand.nextInt(100) >= 4) { + return; + } + + if (world.isAirBlock(x, y, z) + && (world.isBlockNormalCubeDefault(x, y - 1, z, false) + || world.getBlock(x, y - 1, z) == ExtraBees.ectoplasm)) { + world.setBlock(x, y, z, ExtraBees.ectoplasm, 0, 0); + } + } + + private void onAcidEffect(World world, int x, int y, int z) { + if (world.rand.nextInt(100) >= 6) { + return; + } + + Block block = world.getBlock(x, y, z); + if (block == Blocks.cobblestone || block == Blocks.stone) { + world.setBlock(x, y, z, Blocks.gravel, 0, 0); + } else if (block == Blocks.dirt | block == Blocks.grass) { + world.setBlock(x, y, z, Blocks.sand, 0, 0); + } + } + + private void onSpawnMobEffect(World world, int x, int y, int z, String mobName) { + if (world.rand.nextInt(200) < 2) { + spawnMob(world, x, y, z, mobName); + } + } + + private void onMeteorEffect(World world, int x, int y, int z) { + if (world.rand.nextInt(100) < 1 && world.canBlockSeeTheSky(x, y, z)) { + world.spawnEntityInWorld(new EntitySmallFireball(world, x, y + 64, z, 0.0, -0.6, 0.0)); + } + } + + private void onRadioactiveEffect(IBeeGenome genome, IBeeHousing housing) { + for (EntityLivingBase entity : getEntities(EntityLivingBase.class, genome, housing)) { + int damage = 4; + if (entity instanceof EntityPlayer) { + int count = wearsItems((EntityPlayer) entity); + if (count > 3) { + continue; + } + + if (count > 2) { + damage = 1; + } else if (count > 1) { + damage = 2; + } else if (count > 0) { + damage = 3; + } + } + entity.attackEntityFrom(DamageSource.generic, damage); + } + } + + private void onFoodEffect(IBeeGenome genome, IBeeHousing housing) { + for (EntityLivingBase entity : getEntities(EntityLivingBase.class, genome, housing)) { + if (entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; + player.getFoodStats().addStats(2, 0.2f); + } + } + } + + private void onHungerEffect(IBeeGenome genome, IBeeHousing housing, World world) { + for (EntityLivingBase entity : getEntities(EntityLivingBase.class, genome, housing)) { + if (entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; + if (world.rand.nextInt(4) < wearsItems(player)) { + continue; + } + + player.getFoodStats().addExhaustion(4.0f); + player.addPotionEffect(new PotionEffect(Potion.hunger.id, 100)); + } + } + } + + private void onPotionEffect(IBeeGenome genome, IBeeHousing housing, World world, PotionEffect potion) { + for (EntityLivingBase entity : getEntities(EntityLivingBase.class, genome, housing)) { + if (entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; + if (world.rand.nextInt(4) < wearsItems(player)) { + continue; + } + player.addPotionEffect(potion); + } + } + } + + private void onFeastEffect(IBeeGenome genome, World world, int x, int y, int z) { + if (world.rand.nextInt((this == ExtraBeesEffect.FIREWORKS) ? 8 : 12) >= 1) { + return; + } + + FireworkCreator.Firework firework = new FireworkCreator.Firework(); + switch (this) { + case BIRTHDAY: + firework.setShape(FireworkCreator.Shape.Star); + firework.addColor(0xffdd00); + for (Birthday birthday : ExtraBeesEffect.birthdays) { + if (birthday.isToday()) { + firework.addColor(0xff0000); + firework.addColor(0x00ff00); + firework.addColor(0x0000ff); + firework.setTrail(); + break; + } + } + + case FIREWORKS: + firework.setShape(FireworkCreator.Shape.Ball); + firework.addColor(genome.getPrimary().getIconColour(0)); + firework.addColor(genome.getPrimary().getIconColour(0)); + firework.addColor(genome.getPrimary().getIconColour(1)); + firework.addColor(genome.getSecondary().getIconColour(0)); + firework.addColor(genome.getSecondary().getIconColour(0)); + firework.addColor(genome.getPrimary().getIconColour(1)); + firework.setTrail(); + break; + } + + EntityFireworkRocket rocket = new EntityFireworkRocket(world, x, y, z, firework.getFirework()); + if (world.canBlockSeeTheSky(x, y, z)) { + world.spawnEntityInWorld(rocket); + } + } + + private void onGravityEffect(IBeeGenome genome, IBeeHousing housing, int x, int y, int z) { + List entities = getEntities(Entity.class, genome, housing); + for (Entity entity : entities) { + float entityStrength = 1.0f; + if (entity instanceof EntityPlayer) { + entityStrength *= 100.0f; + } + + double dx = x - entity.posX; + double dy = y - entity.posY; + double dz = z - entity.posZ; + if (dx * dx + dy * dy + dz * dz < 2.0) { + break; + } + + double strength = 0.5 / (dx * dx + dy * dy + dz * dz) * entityStrength; + entity.addVelocity(dx * strength, dy * strength, dz * strength); + } + } + + private void onThiefEffect(IBeeGenome genome, IBeeHousing housing, int x, int y, int z) { + List players = getEntities(EntityPlayer.class, genome, housing); + for (EntityPlayer player : players) { + double dx = x - player.posX; + double dy = y - player.posY; + double dz = z - player.posZ; + if (dx * dx + dy * dy + dz * dz < 2.0) { + break; + } + double strength = 0.5 / (dx * dx + dy * dy + dz * dz); + player.addVelocity(-dx * strength, -dy * strength, -dz * strength); + } + } + + private void onTeleportEffect(IBeeGenome genome, IBeeHousing housing, World world, int x, int y, int z) { + if (world.rand.nextInt(80) > 1) { + return; + } + + List entities = getEntities(Entity.class, genome, housing); + if (entities.size() == 0) { + return; + } + + Entity entity = entities.get(world.rand.nextInt(entities.size())); + if (!(entity instanceof EntityLiving)) { + return; + } + + if (y < 4) { + y = 4; + } + if (!world.isAirBlock(x, y, z) || !world.isAirBlock(x, y + 1, z)) { + return; + } + + EntityLiving living = (EntityLiving) entity; + living.setPositionAndUpdate(x, y, z); + living.addPotionEffect(new PotionEffect(Potion.confusion.id, 160, 10)); + } + + private void onWaterEffect(World world, int x, int y, int z) { + if (world.rand.nextInt(120) > 1) { + return; + } + + TileEntity tile = world.getTileEntity(x, y, z); + if (tile instanceof IFluidHandler) { + ((IFluidHandler) tile).fill(ForgeDirection.UP, Binnie.Liquid.getLiquidStack("water", 100), true); + } + } + + private void onBonemealSaplingEffect(World world, int x, int y, int z) { + if (world.rand.nextInt(20) > 1) { + return; + } + + if (ExtraBeesFlowers.SAPLING.isAcceptedFlower(world, x, y, z)) { + ItemDye.applyBonemeal(new ItemStack(Blocks.dirt, 1), world, x, y, z, null); + } + } + + private void onBonemealFruitEffect(World world, int x, int y, int z) { + if (world.rand.nextInt(20) > 1) { + return; + } + + if (ExtraBeesFlowers.FRUIT.isAcceptedFlower(world, x, y, z)) { + ItemDye.applyBonemeal(new ItemStack(Blocks.dirt, 1), world, x, y, z, null); + } + } + + private void onBonemealMushroomEffect(World world, int x, int y, int z) { + if (world.rand.nextInt(20) > 1) { + return; + } + + if (world.getBlock(x, y, z) == Blocks.brown_mushroom || world.getBlock(x, y, z) == Blocks.red_mushroom) { + ItemDye.applyBonemeal(new ItemStack(Blocks.dirt, 1), world, x, y, z, null); + } + } + + private void onPowerEffect(World world, int x, int y, int z) { + TileEntity tile2 = world.getTileEntity(x, y, z); + if (tile2 instanceof IEnergyReceiver) { + ((IEnergyReceiver) tile2).receiveEnergy(ForgeDirection.getOrientation(0), 5, true); + } + } + + protected int[] getModifiedArea(IBeeGenome genome, IBeeHousing housing) { + int[] territory; + int[] area = territory = genome.getTerritory(); + int n = 0; + territory[n] *= + (int) (BeeManager.beeRoot.createBeeHousingModifier(housing).getTerritoryModifier(genome, 1.0f) * 3.0f); + + int[] array = area; + int n2 = 1; + array[n2] *= + (int) (BeeManager.beeRoot.createBeeHousingModifier(housing).getTerritoryModifier(genome, 1.0f) * 3.0f); + + int[] array2 = area; + int n3 = 2; + array2[n3] *= + (int) (BeeManager.beeRoot.createBeeHousingModifier(housing).getTerritoryModifier(genome, 1.0f) * 3.0f); + + if (area[0] < 1) { + area[0] = 1; + } + if (area[1] < 1) { + area[1] = 1; + } + if (area[2] < 1) { + area[2] = 1; + } + return area; + } + + @Override + public IEffectData doFX(IBeeGenome genome, IEffectData storedData, IBeeHousing housing) { + Proxies.render.addBeeHiveFX( + "particles/swarm_bee", + housing.getWorld(), + housing.getBeeFXCoordinates().xCoord, + housing.getBeeFXCoordinates().yCoord, + housing.getBeeFXCoordinates().zCoord, + genome.getPrimary().getIconColour(0)); + return storedData; + } + + private void setFX(String string) { + fx = "particles/" + string; + } + + public List getEntities(Class eClass, IBeeGenome genome, IBeeHousing housing) { + int[] area = genome.getTerritory(); + int[] offset = {-Math.round(area[0] / 2), -Math.round(area[1] / 2), -Math.round(area[2] / 2)}; + int[] min = { + housing.getCoordinates().posX + offset[0], + housing.getCoordinates().posY + offset[1], + housing.getCoordinates().posZ + offset[2] + }; + int[] max = { + housing.getCoordinates().posX + offset[0] + area[0], + housing.getCoordinates().posY + offset[1] + area[1], + housing.getCoordinates().posZ + offset[2] + area[2] + }; + AxisAlignedBB box = AxisAlignedBB.getBoundingBox(min[0], min[1], min[2], max[0], max[1], max[2]); + return housing.getWorld().getEntitiesWithinAABB(eClass, box); + } + + @Override + public String getUnlocalizedName() { + return getUID(); + } + + public static class Birthday { + protected int day; + protected int month; + protected String name; + + private Birthday(int day, int month, String name) { + this.day = day; + this.month = month + 1; + this.name = name; + } + + public boolean isToday() { + return Calendar.getInstance().get(5) == month + && Calendar.getInstance().get(2) == day; + } + + public String getName() { + return name; + } + } } diff --git a/src/main/java/binnie/extrabees/genetics/effect/FireworkCreator.java b/src/main/java/binnie/extrabees/genetics/effect/FireworkCreator.java index fcca6ba2..6bdb4a9e 100644 --- a/src/main/java/binnie/extrabees/genetics/effect/FireworkCreator.java +++ b/src/main/java/binnie/extrabees/genetics/effect/FireworkCreator.java @@ -1,81 +1,80 @@ package binnie.extrabees.genetics.effect; +import java.util.ArrayList; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import java.util.ArrayList; - public class FireworkCreator { - public enum Shape { - Ball, - LargeBall, - Star, - Creeper, - Burst - } + public enum Shape { + Ball, + LargeBall, + Star, + Creeper, + Burst + } - public static class Firework { - protected boolean flicker; - protected boolean trail; - protected ArrayList colors; - protected byte shape; + public static class Firework { + protected boolean flicker; + protected boolean trail; + protected ArrayList colors; + protected byte shape; - public Firework() { - flicker = false; - trail = false; - colors = new ArrayList<>(); - shape = 0; - } + public Firework() { + flicker = false; + trail = false; + colors = new ArrayList<>(); + shape = 0; + } - public void setTrail() { - trail = true; - } + public void setTrail() { + trail = true; + } - public void setShape(Shape shape) { - this.shape = (byte) shape.ordinal(); - } + public void setShape(Shape shape) { + this.shape = (byte) shape.ordinal(); + } - public void addColor(int color) { - colors.add(color); - } + public void addColor(int color) { + colors.add(color); + } - public NBTTagCompound getNBT() { - NBTTagCompound nbt = new NBTTagCompound(); - if (flicker) { - nbt.setBoolean("Flicker", true); - } + public NBTTagCompound getNBT() { + NBTTagCompound nbt = new NBTTagCompound(); + if (flicker) { + nbt.setBoolean("Flicker", true); + } - if (trail) { - nbt.setBoolean("Trail", true); - } + if (trail) { + nbt.setBoolean("Trail", true); + } - if (colors.size() == 0) { - addColor(0xffffff); - } + if (colors.size() == 0) { + addColor(0xffffff); + } - int[] array = new int[colors.size()]; - for (int i = 0; i < colors.size(); ++i) { - array[i] = colors.get(i); - } + int[] array = new int[colors.size()]; + for (int i = 0; i < colors.size(); ++i) { + array[i] = colors.get(i); + } - nbt.setIntArray("Colors", array); - nbt.setByte("Type", shape); - return nbt; - } + nbt.setIntArray("Colors", array); + nbt.setByte("Type", shape); + return nbt; + } - public ItemStack getFirework() { - NBTTagCompound fireworksNbt = new NBTTagCompound(); - NBTTagCompound fireworkNbt = new NBTTagCompound(); - NBTTagList explosions = new NBTTagList(); - explosions.appendTag(getNBT()); - fireworkNbt.setTag("Explosions", explosions); - fireworkNbt.setByte("Flight", (byte) 0); - fireworksNbt.setTag("Fireworks", fireworkNbt); - ItemStack item = new ItemStack(Items.fireworks); - item.setTagCompound(fireworksNbt); - return item; - } - } + public ItemStack getFirework() { + NBTTagCompound fireworksNbt = new NBTTagCompound(); + NBTTagCompound fireworkNbt = new NBTTagCompound(); + NBTTagList explosions = new NBTTagList(); + explosions.appendTag(getNBT()); + fireworkNbt.setTag("Explosions", explosions); + fireworkNbt.setByte("Flight", (byte) 0); + fireworksNbt.setTag("Fireworks", fireworkNbt); + ItemStack item = new ItemStack(Items.fireworks); + item.setTagCompound(fireworksNbt); + return item; + } + } } diff --git a/src/main/java/binnie/extrabees/genetics/items/ItemDictionary.java b/src/main/java/binnie/extrabees/genetics/items/ItemDictionary.java index 3fe80473..78efc083 100644 --- a/src/main/java/binnie/extrabees/genetics/items/ItemDictionary.java +++ b/src/main/java/binnie/extrabees/genetics/items/ItemDictionary.java @@ -6,6 +6,7 @@ import binnie.extrabees.core.ExtraBeeGUID; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -14,60 +15,60 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import java.util.List; - public class ItemDictionary extends Item { - protected IIcon iconMaster; + protected IIcon iconMaster; - public ItemDictionary() { - setCreativeTab(Tabs.tabApiculture); - setUnlocalizedName("dictionary"); - setMaxStackSize(1); - } + public ItemDictionary() { + setCreativeTab(Tabs.tabApiculture); + setUnlocalizedName("dictionary"); + setMaxStackSize(1); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - itemIcon = ExtraBees.proxy.getIcon(register, "apiaristDatabase"); - iconMaster = ExtraBees.proxy.getIcon(register, "masterApiaristDatabase"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = ExtraBees.proxy.getIcon(register, "apiaristDatabase"); + iconMaster = ExtraBees.proxy.getIcon(register, "masterApiaristDatabase"); + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int damage) { - return (damage == 0) ? itemIcon : iconMaster; - } + @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); - if (stack.getItemDamage() > 0) { - tooltip.add(I18N.localise("extrabees.item.database.tooltip")); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { + super.addInformation(stack, player, tooltip, advanced); + if (stack.getItemDamage() > 0) { + tooltip.add(I18N.localise("extrabees.item.database.tooltip")); + } + } - @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 + @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) { - ExtraBees.proxy.openGui(ExtraBeeGUID.Database, player, (int) player.posX, (int) player.posY, (int) player.posZ); - } else { - ExtraBees.proxy.openGui(ExtraBeeGUID.DatabaseNEI, player, (int) player.posX, (int) player.posY, (int) player.posZ); - } - return stack; - } + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if (stack.getItemDamage() == 0) { + ExtraBees.proxy.openGui( + ExtraBeeGUID.Database, player, (int) player.posX, (int) player.posY, (int) player.posZ); + } else { + ExtraBees.proxy.openGui( + ExtraBeeGUID.DatabaseNEI, player, (int) player.posX, (int) player.posY, (int) player.posZ); + } + return stack; + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return (stack.getItemDamage() == 0) - ? I18N.localise("extrabees.item.database") - : I18N.localise("extrabees.item.masterDatabase"); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return (stack.getItemDamage() == 0) + ? I18N.localise("extrabees.item.database") + : I18N.localise("extrabees.item.masterDatabase"); + } } diff --git a/src/main/java/binnie/extrabees/genetics/requirements/DummyMutationCondition.java b/src/main/java/binnie/extrabees/genetics/requirements/DummyMutationCondition.java index a21d1085..0bdd7ce3 100644 --- a/src/main/java/binnie/extrabees/genetics/requirements/DummyMutationCondition.java +++ b/src/main/java/binnie/extrabees/genetics/requirements/DummyMutationCondition.java @@ -7,19 +7,28 @@ import forestry.api.genetics.IMutationCondition; import net.minecraft.world.World; public class DummyMutationCondition implements IMutationCondition { - private final RequirementPerson requirement; + private final RequirementPerson requirement; - public DummyMutationCondition(RequirementPerson requirement) { - this.requirement = requirement; - } + public DummyMutationCondition(RequirementPerson requirement) { + this.requirement = requirement; + } - @Override - public float getChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1, IClimateProvider climate) { - return 1.0F; - } + @Override + public float getChance( + World world, + int x, + int y, + int z, + IAllele allele0, + IAllele allele1, + IGenome genome0, + IGenome genome1, + IClimateProvider climate) { + return 1.0F; + } - @Override - public String getDescription() { - return requirement.getDescription(); - } + @Override + public String getDescription() { + return requirement.getDescription(); + } } diff --git a/src/main/java/binnie/extrabees/genetics/requirements/IMutationRequirement.java b/src/main/java/binnie/extrabees/genetics/requirements/IMutationRequirement.java index 9e377efc..0facd377 100644 --- a/src/main/java/binnie/extrabees/genetics/requirements/IMutationRequirement.java +++ b/src/main/java/binnie/extrabees/genetics/requirements/IMutationRequirement.java @@ -5,7 +5,7 @@ import forestry.api.genetics.IAllele; import forestry.api.genetics.IGenome; public interface IMutationRequirement { - String getDescription(); + String getDescription(); - boolean fufilled(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1); + boolean fufilled(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1); } diff --git a/src/main/java/binnie/extrabees/genetics/requirements/RequirementPerson.java b/src/main/java/binnie/extrabees/genetics/requirements/RequirementPerson.java index 68b4a9d0..10399b0c 100644 --- a/src/main/java/binnie/extrabees/genetics/requirements/RequirementPerson.java +++ b/src/main/java/binnie/extrabees/genetics/requirements/RequirementPerson.java @@ -6,20 +6,20 @@ import forestry.api.genetics.IAllele; import forestry.api.genetics.IGenome; public class RequirementPerson implements IMutationRequirement { - protected String name; + protected String name; - public RequirementPerson(String name) { - this.name = name; - } + public RequirementPerson(String name) { + this.name = name; + } - @Override - public String getDescription() { - return I18N.localise("extrabees.genetics.requirements.user", name); - } + @Override + public String getDescription() { + return I18N.localise("extrabees.genetics.requirements.user", name); + } - @Override - public boolean fufilled(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) { - String ownerName = housing.getOwner().getName(); - return ownerName != null && ownerName.equals(name); - } + @Override + public boolean fufilled(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1) { + String ownerName = housing.getOwner().getName(); + return ownerName != null && ownerName.equals(name); + } } diff --git a/src/main/java/binnie/extrabees/gui/ExtraBeeGUITexture.java b/src/main/java/binnie/extrabees/gui/ExtraBeeGUITexture.java index a322a5c6..52ae067f 100644 --- a/src/main/java/binnie/extrabees/gui/ExtraBeeGUITexture.java +++ b/src/main/java/binnie/extrabees/gui/ExtraBeeGUITexture.java @@ -1,6 +1,6 @@ package binnie.extrabees.gui; public enum ExtraBeeGUITexture { - Chromosome, - Chromosome2 + Chromosome, + Chromosome2 } diff --git a/src/main/java/binnie/extrabees/gui/WindowAlvearyFrame.java b/src/main/java/binnie/extrabees/gui/WindowAlvearyFrame.java index b92cb851..30c30fc2 100644 --- a/src/main/java/binnie/extrabees/gui/WindowAlvearyFrame.java +++ b/src/main/java/binnie/extrabees/gui/WindowAlvearyFrame.java @@ -13,36 +13,36 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowAlvearyFrame extends Window { - protected Machine machine; - protected ControlPlayerInventory playerInventory; + protected Machine machine; + protected ControlPlayerInventory playerInventory; - public WindowAlvearyFrame(EntityPlayer player, IInventory inventory, Side side) { - super(176.0f, 144.0f, player, inventory, side); - machine = ((TileEntityMachine) inventory).getMachine(); - } + public WindowAlvearyFrame(EntityPlayer player, IInventory inventory, Side side) { + super(176.0f, 144.0f, player, inventory, side); + machine = ((TileEntityMachine) inventory).getMachine(); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - if (player == null || inventory == null) { - return null; - } - return new WindowAlvearyFrame(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + if (player == null || inventory == null) { + return null; + } + return new WindowAlvearyFrame(player, inventory, side); + } - @Override - public void initialiseClient() { - setTitle(I18N.localise("extrabees.machine.alveay.frame")); - playerInventory = new ControlPlayerInventory(this); - ControlSlot slot = new ControlSlot(this, 79.0f, 30.0f); - slot.assign(0); - } + @Override + public void initialiseClient() { + setTitle(I18N.localise("extrabees.machine.alveay.frame")); + playerInventory = new ControlPlayerInventory(this); + ControlSlot slot = new ControlSlot(this, 79.0f, 30.0f); + slot.assign(0); + } - @Override - public AbstractMod getMod() { - return ExtraBees.instance; - } + @Override + public AbstractMod getMod() { + return ExtraBees.instance; + } - @Override - public String getName() { - return "AlvearyFrame"; - } + @Override + public String getName() { + return "AlvearyFrame"; + } } diff --git a/src/main/java/binnie/extrabees/gui/WindowAlvearyHatchery.java b/src/main/java/binnie/extrabees/gui/WindowAlvearyHatchery.java index 76ab9257..0ccda28e 100644 --- a/src/main/java/binnie/extrabees/gui/WindowAlvearyHatchery.java +++ b/src/main/java/binnie/extrabees/gui/WindowAlvearyHatchery.java @@ -14,36 +14,36 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowAlvearyHatchery extends Window { - protected Machine machine; - protected ControlPlayerInventory playerInventory; + protected Machine machine; + protected ControlPlayerInventory playerInventory; - public WindowAlvearyHatchery(EntityPlayer player, IInventory inventory, Side side) { - super(176.0f, 144.0f, player, inventory, side); - machine = ((TileEntityMachine) inventory).getMachine(); - } + public WindowAlvearyHatchery(EntityPlayer player, IInventory inventory, Side side) { + super(176.0f, 144.0f, player, inventory, side); + machine = ((TileEntityMachine) inventory).getMachine(); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - if (player == null || inventory == null) { - return null; - } - return new WindowAlvearyHatchery(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + if (player == null || inventory == null) { + return null; + } + return new WindowAlvearyHatchery(player, inventory, side); + } - @Override - public void initialiseClient() { - setTitle(I18N.localise("extrabees.machine.alveay.hatchery")); - playerInventory = new ControlPlayerInventory(this); - ControlSlotArray slot = new ControlSlotArray(this, 43, 30, 5, 1); - slot.create(AlvearyHatchery.SLOT_LARVAE); - } + @Override + public void initialiseClient() { + setTitle(I18N.localise("extrabees.machine.alveay.hatchery")); + playerInventory = new ControlPlayerInventory(this); + ControlSlotArray slot = new ControlSlotArray(this, 43, 30, 5, 1); + slot.create(AlvearyHatchery.SLOT_LARVAE); + } - @Override - public AbstractMod getMod() { - return ExtraBees.instance; - } + @Override + public AbstractMod getMod() { + return ExtraBees.instance; + } - @Override - public String getName() { - return "AlvearyHatchery"; - } + @Override + public String getName() { + return "AlvearyHatchery"; + } } diff --git a/src/main/java/binnie/extrabees/gui/WindowAlvearyMutator.java b/src/main/java/binnie/extrabees/gui/WindowAlvearyMutator.java index 51be575b..d7916962 100644 --- a/src/main/java/binnie/extrabees/gui/WindowAlvearyMutator.java +++ b/src/main/java/binnie/extrabees/gui/WindowAlvearyMutator.java @@ -19,52 +19,56 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; public class WindowAlvearyMutator extends Window { - protected Machine machine; - protected ControlPlayerInventory playerInventory; + protected Machine machine; + protected ControlPlayerInventory playerInventory; - public WindowAlvearyMutator(EntityPlayer player, IInventory inventory, Side side) { - super(176.0f, 176.0f, player, inventory, side); - machine = ((TileEntityMachine) inventory).getMachine(); - } + public WindowAlvearyMutator(EntityPlayer player, IInventory inventory, Side side) { + super(176.0f, 176.0f, player, inventory, side); + machine = ((TileEntityMachine) inventory).getMachine(); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - if (player == null || inventory == null) { - return null; - } - return new WindowAlvearyMutator(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + if (player == null || inventory == null) { + return null; + } + return new WindowAlvearyMutator(player, inventory, side); + } - @Override - public void initialiseClient() { - setTitle(I18N.localise("extrabees.machine.alveay.mutator")); - playerInventory = new ControlPlayerInventory(this); - ControlSlot slot = new ControlSlot(this, 79.0f, 30.0f); - slot.assign(AlvearyMutator.SLOT_MUTATOR); - new ControlText(this, new IArea(0.0f, 52.0f, w(), 16.0f), I18N.localise("extrabees.machine.alveay.mutator.mutagens"), TextJustification.MIDDLE_CENTER) - .setColor(0x555555); - int size = AlvearyMutator.getMutagens().size(); - int w = size * 18; + @Override + public void initialiseClient() { + setTitle(I18N.localise("extrabees.machine.alveay.mutator")); + playerInventory = new ControlPlayerInventory(this); + ControlSlot slot = new ControlSlot(this, 79.0f, 30.0f); + slot.assign(AlvearyMutator.SLOT_MUTATOR); + new ControlText( + this, + new IArea(0.0f, 52.0f, w(), 16.0f), + I18N.localise("extrabees.machine.alveay.mutator.mutagens"), + TextJustification.MIDDLE_CENTER) + .setColor(0x555555); + int size = AlvearyMutator.getMutagens().size(); + int w = size * 18; - if (size <= 0) { - return; - } + if (size <= 0) { + return; + } - float x = (w() - w) / 2.0f; - for (ItemStack stack : AlvearyMutator.getMutagens()) { - ControlItemDisplay display = new ControlItemDisplay(this, x, 66.0f); - display.setItemStack(stack); - display.hastooltip = true; - x += 18.0f; - } - } + float x = (w() - w) / 2.0f; + for (ItemStack stack : AlvearyMutator.getMutagens()) { + ControlItemDisplay display = new ControlItemDisplay(this, x, 66.0f); + display.setItemStack(stack); + display.hastooltip = true; + x += 18.0f; + } + } - @Override - public AbstractMod getMod() { - return ExtraBees.instance; - } + @Override + public AbstractMod getMod() { + return ExtraBees.instance; + } - @Override - public String getName() { - return "AlvearyMutator"; - } + @Override + public String getName() { + return "AlvearyMutator"; + } } diff --git a/src/main/java/binnie/extrabees/gui/WindowAlvearyStimulator.java b/src/main/java/binnie/extrabees/gui/WindowAlvearyStimulator.java index d81a12e6..7873f48a 100644 --- a/src/main/java/binnie/extrabees/gui/WindowAlvearyStimulator.java +++ b/src/main/java/binnie/extrabees/gui/WindowAlvearyStimulator.java @@ -16,37 +16,37 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowAlvearyStimulator extends Window { - protected Machine machine; - protected ControlPlayerInventory playerInventory; + protected Machine machine; + protected ControlPlayerInventory playerInventory; - public WindowAlvearyStimulator(EntityPlayer player, IInventory inventory, Side side) { - super(176.0f, 144.0f, player, inventory, side); - machine = ((TileEntityMachine) inventory).getMachine(); - } + public WindowAlvearyStimulator(EntityPlayer player, IInventory inventory, Side side) { + super(176.0f, 144.0f, player, inventory, side); + machine = ((TileEntityMachine) inventory).getMachine(); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - if (player == null || inventory == null) { - return null; - } - return new WindowAlvearyStimulator(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + if (player == null || inventory == null) { + return null; + } + return new WindowAlvearyStimulator(player, inventory, side); + } - @Override - public void initialiseClient() { - setTitle(I18N.localise("extrabees.machine.alveay.stimulator")); - new ControlEnergyBar(this, 75, 29, 60, 16, Position.LEFT); - ControlSlot slot = new ControlSlot(this, 41.0f, 28.0f); - slot.assign(AlvearyStimulator.SLOT_CIRCUIT); - playerInventory = new ControlPlayerInventory(this); - } + @Override + public void initialiseClient() { + setTitle(I18N.localise("extrabees.machine.alveay.stimulator")); + new ControlEnergyBar(this, 75, 29, 60, 16, Position.LEFT); + ControlSlot slot = new ControlSlot(this, 41.0f, 28.0f); + slot.assign(AlvearyStimulator.SLOT_CIRCUIT); + playerInventory = new ControlPlayerInventory(this); + } - @Override - public AbstractMod getMod() { - return ExtraBees.instance; - } + @Override + public AbstractMod getMod() { + return ExtraBees.instance; + } - @Override - public String getName() { - return "AlvearyStimulator"; - } + @Override + public String getName() { + return "AlvearyStimulator"; + } } diff --git a/src/main/java/binnie/extrabees/gui/database/ControlClimateBar.java b/src/main/java/binnie/extrabees/gui/database/ControlClimateBar.java index 2527fc09..95fa2d7d 100644 --- a/src/main/java/binnie/extrabees/gui/database/ControlClimateBar.java +++ b/src/main/java/binnie/extrabees/gui/database/ControlClimateBar.java @@ -15,163 +15,160 @@ import forestry.api.apiculture.IBeeRoot; import forestry.api.core.EnumHumidity; import forestry.api.core.EnumTemperature; import forestry.api.genetics.EnumTolerance; - import java.awt.Color; import java.util.ArrayList; import java.util.List; public class ControlClimateBar extends Control implements ITooltip { - protected boolean isHumidity; - protected List tolerated; + protected boolean isHumidity; + protected List tolerated; - private static final Color[] TEMP_COLORS = new Color[]{ - new Color(0x00fffb), - new Color(0x78bbff), - new Color(0x4fff30), - new Color(0xffff00), - new Color(0xffa200), - new Color(0xff0000) - }; - private static final Color[] HUMID_COLORS = new Color[]{ - new Color(0xffe7a3), - new Color(0x1aff00), - new Color(0x307cff) - }; + private static final Color[] TEMP_COLORS = new Color[] { + new Color(0x00fffb), + new Color(0x78bbff), + new Color(0x4fff30), + new Color(0xffff00), + new Color(0xffa200), + new Color(0xff0000) + }; + private static final Color[] HUMID_COLORS = + new Color[] {new Color(0xffe7a3), new Color(0x1aff00), new Color(0x307cff)}; - public ControlClimateBar(IWidget parent, int x, int y, int width, int height) { - this(parent, x, y, width, height, false); - } + public ControlClimateBar(IWidget parent, int x, int y, int width, int height) { + this(parent, x, y, width, height, false); + } - public ControlClimateBar(IWidget parent, int x, int y, int width, int height, boolean humidity) { - super(parent, x, y, width, height); - tolerated = new ArrayList<>(); - addAttribute(WidgetAttribute.MOUSE_OVER); - isHumidity = humidity; - } + public ControlClimateBar(IWidget parent, int x, int y, int width, int height, boolean humidity) { + super(parent, x, y, width, height); + tolerated = new ArrayList<>(); + addAttribute(WidgetAttribute.MOUSE_OVER); + isHumidity = humidity; + } - @Override - public void getTooltip(Tooltip tooltip) { - if (tolerated.isEmpty()) { - return; - } + @Override + public void getTooltip(Tooltip tooltip) { + if (tolerated.isEmpty()) { + return; + } - int types = isHumidity ? 3 : 6; - int type = (int) ((int) (getRelativeMousePosition().x() - 1.0f) / ((getSize().x() - 2.0f) / types)); - if (!tolerated.contains(type) || type >= types) { - return; - } + int types = isHumidity ? 3 : 6; + int type = (int) + ((int) (getRelativeMousePosition().x() - 1.0f) / ((getSize().x() - 2.0f) / types)); + if (!tolerated.contains(type) || type >= types) { + return; + } - if (isHumidity) { - tooltip.add(EnumHumidity.values()[type].name); - } else { - tooltip.add(EnumTemperature.values()[type + 1].name); - } - } + if (isHumidity) { + tooltip.add(EnumHumidity.values()[type].name); + } else { + tooltip.add(EnumTemperature.values()[type + 1].name); + } + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(CraftGUITexture.EnergyBarBack, getArea()); - int types = isHumidity ? 3 : 6; - int w = (int) ((getSize().x() - 2.0f) / types); - for (int i = 0; i < types; ++i) { - int x = i * w; - if (tolerated.contains(i)) { - Color color; - if (isHumidity) { - color = HUMID_COLORS[i]; - } else { - color = TEMP_COLORS[i]; - } - CraftGUI.render.solid(new IArea(x + 1, 1.0f, w, getSize().y() - 2.0f), color.getRGB()); - } - } - CraftGUI.render.texture(CraftGUITexture.EnergyBarGlass, getArea()); - } + @Override + public void onRenderBackground() { + CraftGUI.render.texture(CraftGUITexture.EnergyBarBack, getArea()); + int types = isHumidity ? 3 : 6; + int w = (int) ((getSize().x() - 2.0f) / types); + for (int i = 0; i < types; ++i) { + int x = i * w; + if (tolerated.contains(i)) { + Color color; + if (isHumidity) { + color = HUMID_COLORS[i]; + } else { + color = TEMP_COLORS[i]; + } + CraftGUI.render.solid(new IArea(x + 1, 1.0f, w, getSize().y() - 2.0f), color.getRGB()); + } + } + CraftGUI.render.texture(CraftGUITexture.EnergyBarGlass, getArea()); + } - public void setSpecies(IAlleleBeeSpecies species) { - tolerated.clear(); - if (species == null) { - return; - } + public void setSpecies(IAlleleBeeSpecies species) { + tolerated.clear(); + if (species == null) { + return; + } - int main; - EnumTolerance tolerance; - IBeeRoot beeRoot = Binnie.Genetics.getBeeRoot(); - IBeeGenome genome = beeRoot.templateAsGenome(beeRoot.getTemplate(species.getUID())); - if (!isHumidity) { - main = species.getTemperature().ordinal() - 1; - tolerance = genome.getToleranceTemp(); - } else { - main = species.getHumidity().ordinal(); - tolerance = genome.getToleranceHumid(); - } + int main; + EnumTolerance tolerance; + IBeeRoot beeRoot = Binnie.Genetics.getBeeRoot(); + IBeeGenome genome = beeRoot.templateAsGenome(beeRoot.getTemplate(species.getUID())); + if (!isHumidity) { + main = species.getTemperature().ordinal() - 1; + tolerance = genome.getToleranceTemp(); + } else { + main = species.getHumidity().ordinal(); + tolerance = genome.getToleranceHumid(); + } - tolerated.add(main); - switch (tolerance) { - case BOTH_5: - case UP_5: - addTolerance(main, 5); - break; + tolerated.add(main); + switch (tolerance) { + case BOTH_5: + case UP_5: + addTolerance(main, 5); + break; - case BOTH_4: - case UP_4: - addTolerance(main, 4); - break; + case BOTH_4: + case UP_4: + addTolerance(main, 4); + break; - case BOTH_3: - case UP_3: - addTolerance(main, 3); - break; + case BOTH_3: + case UP_3: + addTolerance(main, 3); + break; - case BOTH_2: - case UP_2: - addTolerance(main, 2); - break; + case BOTH_2: + case UP_2: + addTolerance(main, 2); + break; - case BOTH_1: - case UP_1: - addTolerance(main, 1); - break; - } + case BOTH_1: + case UP_1: + addTolerance(main, 1); + break; + } - switch (tolerance) { - case BOTH_5: - case DOWN_5: - addTolerance(main, -5); - break; + switch (tolerance) { + case BOTH_5: + case DOWN_5: + addTolerance(main, -5); + break; - case BOTH_4: - case DOWN_4: - addTolerance(main, -4); - break; + case BOTH_4: + case DOWN_4: + addTolerance(main, -4); + break; - case BOTH_3: - case DOWN_3: - addTolerance(main, -3); - break; + case BOTH_3: + case DOWN_3: + addTolerance(main, -3); + break; - case BOTH_2: - case DOWN_2: - addTolerance(main, -2); - break; + case BOTH_2: + case DOWN_2: + addTolerance(main, -2); + break; - case BOTH_1: - case DOWN_1: - addTolerance(main, -1); - break; - } - } + case BOTH_1: + case DOWN_1: + addTolerance(main, -1); + break; + } + } - private void addTolerance(int main, int offset) { - offset += main; - if (main > offset) { - for (int i = offset; i < main; i++) { - tolerated.add(i); - } - } else { - for (int i = offset; i > main; i--) { - tolerated.add(i); - } - } - } + private void addTolerance(int main, int offset) { + offset += main; + if (main > offset) { + for (int i = offset; i < main; i++) { + tolerated.add(i); + } + } else { + for (int i = offset; i > main; i--) { + tolerated.add(i); + } + } + } } diff --git a/src/main/java/binnie/extrabees/gui/database/PageSpeciesClimate.java b/src/main/java/binnie/extrabees/gui/database/PageSpeciesClimate.java index 9593ef7d..9205e47b 100644 --- a/src/main/java/binnie/extrabees/gui/database/PageSpeciesClimate.java +++ b/src/main/java/binnie/extrabees/gui/database/PageSpeciesClimate.java @@ -9,19 +9,19 @@ import forestry.api.apiculture.IAlleleBeeSpecies; import forestry.api.genetics.IAlleleSpecies; public class PageSpeciesClimate extends PageSpecies { - protected ControlClimateBar tempBar; - protected ControlClimateBar humidBar; + protected ControlClimateBar tempBar; + protected ControlClimateBar humidBar; - public PageSpeciesClimate(IWidget parent, DatabaseTab tab) { - super(parent, tab); - new ControlTextCentered(this, 8.0f, I18N.localise("extrabees.gui.database.tab.species.climate")); - tempBar = new ControlClimateBar(this, 8, 24, 128, 12); - humidBar = new ControlClimateBar(this, 8, 42, 128, 12, true); - } + public PageSpeciesClimate(IWidget parent, DatabaseTab tab) { + super(parent, tab); + new ControlTextCentered(this, 8.0f, I18N.localise("extrabees.gui.database.tab.species.climate")); + tempBar = new ControlClimateBar(this, 8, 24, 128, 12); + humidBar = new ControlClimateBar(this, 8, 42, 128, 12, true); + } - @Override - public void onValueChanged(IAlleleSpecies species) { - tempBar.setSpecies((IAlleleBeeSpecies) species); - humidBar.setSpecies((IAlleleBeeSpecies) species); - } + @Override + public void onValueChanged(IAlleleSpecies species) { + tempBar.setSpecies((IAlleleBeeSpecies) species); + humidBar.setSpecies((IAlleleBeeSpecies) species); + } } diff --git a/src/main/java/binnie/extrabees/gui/database/PageSpeciesGenome.java b/src/main/java/binnie/extrabees/gui/database/PageSpeciesGenome.java index b152c438..05478b73 100644 --- a/src/main/java/binnie/extrabees/gui/database/PageSpeciesGenome.java +++ b/src/main/java/binnie/extrabees/gui/database/PageSpeciesGenome.java @@ -17,164 +17,205 @@ import forestry.api.genetics.IAlleleSpecies; import forestry.core.genetics.alleles.EnumAllele; public class PageSpeciesGenome extends PageSpecies { - protected ControlText title; - protected ControlText speedText; - protected ControlText lifespanText; - protected ControlText fertilityText; - protected ControlText floweringText; - protected ControlText territoryText; - protected ControlText nocturnalText; - protected ControlText caveDwellingText; - protected ControlText tolerantFlyerText; - protected ControlText flowerText; - protected ControlText effectText; + protected ControlText title; + protected ControlText speedText; + protected ControlText lifespanText; + protected ControlText fertilityText; + protected ControlText floweringText; + protected ControlText territoryText; + protected ControlText nocturnalText; + protected ControlText caveDwellingText; + protected ControlText tolerantFlyerText; + protected ControlText flowerText; + protected ControlText effectText; - public PageSpeciesGenome(IWidget parent, DatabaseTab tab) { - super(parent, tab); - title = new ControlTextCentered(this, 8.0f, I18N.localise("extrabees.gui.database.tab.species.genome")); - new ControlText(this, new IArea(0.0f, 32.0f, 68.0f, 30.0f), I18N.localise("extrabees.gui.database.tab.species.genome.speed"), TextJustification.TOP_RIGHT); - new ControlText(this, new IArea(0.0f, 44.0f, 68.0f, 30.0f), I18N.localise("extrabees.gui.database.tab.species.genome.lifespan"), TextJustification.TOP_RIGHT); - new ControlText(this, new IArea(0.0f, 56.0f, 68.0f, 30.0f), I18N.localise("extrabees.gui.database.tab.species.genome.fertility"), TextJustification.TOP_RIGHT); - new ControlText(this, new IArea(0.0f, 68.0f, 68.0f, 30.0f), I18N.localise("extrabees.gui.database.tab.species.genome.flowering"), TextJustification.TOP_RIGHT); - new ControlText(this, new IArea(0.0f, 80.0f, 68.0f, 30.0f), I18N.localise("extrabees.gui.database.tab.species.genome.territory"), TextJustification.TOP_RIGHT); - new ControlText(this, new IArea(0.0f, 97.0f, 68.0f, 30.0f), I18N.localise("extrabees.gui.database.tab.species.genome.behavior"), TextJustification.TOP_RIGHT); - new ControlText(this, new IArea(0.0f, 109.0f, 68.0f, 30.0f), I18N.localise("extrabees.gui.database.tab.species.genome.sunlight"), TextJustification.TOP_RIGHT); - new ControlText(this, new IArea(0.0f, 121.0f, 68.0f, 30.0f), I18N.localise("extrabees.gui.database.tab.species.genome.rain"), TextJustification.TOP_RIGHT); - new ControlText(this, new IArea(0.0f, 138.0f, 68.0f, 30.0f), I18N.localise("extrabees.gui.database.tab.species.genome.flower"), TextJustification.TOP_RIGHT); - new ControlText(this, new IArea(0.0f, 155.0f, 68.0f, 30.0f), I18N.localise("extrabees.gui.database.tab.species.genome.effect"), TextJustification.TOP_RIGHT); - int x = 72; + public PageSpeciesGenome(IWidget parent, DatabaseTab tab) { + super(parent, tab); + title = new ControlTextCentered(this, 8.0f, I18N.localise("extrabees.gui.database.tab.species.genome")); + new ControlText( + this, + new IArea(0.0f, 32.0f, 68.0f, 30.0f), + I18N.localise("extrabees.gui.database.tab.species.genome.speed"), + TextJustification.TOP_RIGHT); + new ControlText( + this, + new IArea(0.0f, 44.0f, 68.0f, 30.0f), + I18N.localise("extrabees.gui.database.tab.species.genome.lifespan"), + TextJustification.TOP_RIGHT); + new ControlText( + this, + new IArea(0.0f, 56.0f, 68.0f, 30.0f), + I18N.localise("extrabees.gui.database.tab.species.genome.fertility"), + TextJustification.TOP_RIGHT); + new ControlText( + this, + new IArea(0.0f, 68.0f, 68.0f, 30.0f), + I18N.localise("extrabees.gui.database.tab.species.genome.flowering"), + TextJustification.TOP_RIGHT); + new ControlText( + this, + new IArea(0.0f, 80.0f, 68.0f, 30.0f), + I18N.localise("extrabees.gui.database.tab.species.genome.territory"), + TextJustification.TOP_RIGHT); + new ControlText( + this, + new IArea(0.0f, 97.0f, 68.0f, 30.0f), + I18N.localise("extrabees.gui.database.tab.species.genome.behavior"), + TextJustification.TOP_RIGHT); + new ControlText( + this, + new IArea(0.0f, 109.0f, 68.0f, 30.0f), + I18N.localise("extrabees.gui.database.tab.species.genome.sunlight"), + TextJustification.TOP_RIGHT); + new ControlText( + this, + new IArea(0.0f, 121.0f, 68.0f, 30.0f), + I18N.localise("extrabees.gui.database.tab.species.genome.rain"), + TextJustification.TOP_RIGHT); + new ControlText( + this, + new IArea(0.0f, 138.0f, 68.0f, 30.0f), + I18N.localise("extrabees.gui.database.tab.species.genome.flower"), + TextJustification.TOP_RIGHT); + new ControlText( + this, + new IArea(0.0f, 155.0f, 68.0f, 30.0f), + I18N.localise("extrabees.gui.database.tab.species.genome.effect"), + TextJustification.TOP_RIGHT); + int x = 72; - speedText = new ControlText(this, new IArea(x, 32.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); - lifespanText = new ControlText(this, new IArea(x, 44.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); - fertilityText = new ControlText(this, new IArea(x, 56.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); - floweringText = new ControlText(this, new IArea(x, 68.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); - territoryText = new ControlText(this, new IArea(x, 80.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); - nocturnalText = new ControlText(this, new IArea(x, 97.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); - caveDwellingText = new ControlText(this, new IArea(x, 109.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); - tolerantFlyerText = new ControlText(this, new IArea(x, 121.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); - flowerText = new ControlText(this, new IArea(x, 138.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); - effectText = new ControlText(this, new IArea(x, 155.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); - } + speedText = new ControlText(this, new IArea(x, 32.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); + lifespanText = new ControlText(this, new IArea(x, 44.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); + fertilityText = new ControlText(this, new IArea(x, 56.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); + floweringText = new ControlText(this, new IArea(x, 68.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); + territoryText = new ControlText(this, new IArea(x, 80.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); + nocturnalText = new ControlText(this, new IArea(x, 97.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); + caveDwellingText = new ControlText(this, new IArea(x, 109.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); + tolerantFlyerText = new ControlText(this, new IArea(x, 121.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); + flowerText = new ControlText(this, new IArea(x, 138.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); + effectText = new ControlText(this, new IArea(x, 155.0f, 72.0f, 30.0f), "", TextJustification.TOP_LEFT); + } - public static String rateFlowering(int flowering) { - if (flowering >= 99) { - return AlleleHelper.toDisplay(EnumAllele.Flowering.MAXIMUM); - } - if (flowering >= 35) { - return AlleleHelper.toDisplay(EnumAllele.Flowering.FASTEST); - } - if (flowering >= 30) { - return AlleleHelper.toDisplay(EnumAllele.Flowering.FASTER); - } - if (flowering >= 25) { - return AlleleHelper.toDisplay(EnumAllele.Flowering.FAST); - } - if (flowering >= 20) { - return AlleleHelper.toDisplay(EnumAllele.Flowering.AVERAGE); - } - if (flowering >= 15) { - return AlleleHelper.toDisplay(EnumAllele.Flowering.SLOW); - } - if (flowering >= 10) { - return AlleleHelper.toDisplay(EnumAllele.Flowering.SLOWER); - } - return AlleleHelper.toDisplay(EnumAllele.Flowering.SLOWEST); - } + public static String rateFlowering(int flowering) { + if (flowering >= 99) { + return AlleleHelper.toDisplay(EnumAllele.Flowering.MAXIMUM); + } + if (flowering >= 35) { + return AlleleHelper.toDisplay(EnumAllele.Flowering.FASTEST); + } + if (flowering >= 30) { + return AlleleHelper.toDisplay(EnumAllele.Flowering.FASTER); + } + if (flowering >= 25) { + return AlleleHelper.toDisplay(EnumAllele.Flowering.FAST); + } + if (flowering >= 20) { + return AlleleHelper.toDisplay(EnumAllele.Flowering.AVERAGE); + } + if (flowering >= 15) { + return AlleleHelper.toDisplay(EnumAllele.Flowering.SLOW); + } + if (flowering >= 10) { + return AlleleHelper.toDisplay(EnumAllele.Flowering.SLOWER); + } + return AlleleHelper.toDisplay(EnumAllele.Flowering.SLOWEST); + } - public static String rateSpeed(float speed) { - if (speed >= 1.7f) { - return AlleleHelper.toDisplay(EnumAllele.Speed.FASTEST); - } - if (speed >= 1.4f) { - return AlleleHelper.toDisplay(EnumAllele.Speed.FASTER); - } - if (speed >= 1.2f) { - return AlleleHelper.toDisplay(EnumAllele.Speed.FAST); - } - if (speed >= 1.0f) { - return AlleleHelper.toDisplay(EnumAllele.Speed.NORMAL); - } - if (speed >= 0.8f) { - return AlleleHelper.toDisplay(EnumAllele.Speed.SLOW); - } - if (speed >= 0.6f) { - return AlleleHelper.toDisplay(EnumAllele.Speed.SLOWER); - } - return AlleleHelper.toDisplay(EnumAllele.Speed.SLOWEST); - } + public static String rateSpeed(float speed) { + if (speed >= 1.7f) { + return AlleleHelper.toDisplay(EnumAllele.Speed.FASTEST); + } + if (speed >= 1.4f) { + return AlleleHelper.toDisplay(EnumAllele.Speed.FASTER); + } + if (speed >= 1.2f) { + return AlleleHelper.toDisplay(EnumAllele.Speed.FAST); + } + if (speed >= 1.0f) { + return AlleleHelper.toDisplay(EnumAllele.Speed.NORMAL); + } + if (speed >= 0.8f) { + return AlleleHelper.toDisplay(EnumAllele.Speed.SLOW); + } + if (speed >= 0.6f) { + return AlleleHelper.toDisplay(EnumAllele.Speed.SLOWER); + } + return AlleleHelper.toDisplay(EnumAllele.Speed.SLOWEST); + } - public static String rateLifespan(int life) { - if (life >= 70) { - return AlleleHelper.toDisplay(EnumAllele.Lifespan.LONGEST); - } - if (life >= 60) { - return AlleleHelper.toDisplay(EnumAllele.Lifespan.LONGER); - } - if (life >= 50) { - return AlleleHelper.toDisplay(EnumAllele.Lifespan.LONG); - } - if (life >= 45) { - return AlleleHelper.toDisplay(EnumAllele.Lifespan.ELONGATED); - } - if (life >= 40) { - return AlleleHelper.toDisplay(EnumAllele.Lifespan.NORMAL); - } - if (life >= 35) { - return AlleleHelper.toDisplay(EnumAllele.Lifespan.SHORTENED); - } - if (life >= 30) { - return AlleleHelper.toDisplay(EnumAllele.Lifespan.SHORT); - } - if (life >= 20) { - return AlleleHelper.toDisplay(EnumAllele.Lifespan.SHORTER); - } - return AlleleHelper.toDisplay(EnumAllele.Lifespan.SHORTEST); - } + public static String rateLifespan(int life) { + if (life >= 70) { + return AlleleHelper.toDisplay(EnumAllele.Lifespan.LONGEST); + } + if (life >= 60) { + return AlleleHelper.toDisplay(EnumAllele.Lifespan.LONGER); + } + if (life >= 50) { + return AlleleHelper.toDisplay(EnumAllele.Lifespan.LONG); + } + if (life >= 45) { + return AlleleHelper.toDisplay(EnumAllele.Lifespan.ELONGATED); + } + if (life >= 40) { + return AlleleHelper.toDisplay(EnumAllele.Lifespan.NORMAL); + } + if (life >= 35) { + return AlleleHelper.toDisplay(EnumAllele.Lifespan.SHORTENED); + } + if (life >= 30) { + return AlleleHelper.toDisplay(EnumAllele.Lifespan.SHORT); + } + if (life >= 20) { + return AlleleHelper.toDisplay(EnumAllele.Lifespan.SHORTER); + } + return AlleleHelper.toDisplay(EnumAllele.Lifespan.SHORTEST); + } - public static String tolerated(boolean t) { - if (t) { - return I18N.localise("extrabees.gui.database.tab.species.genome.tolerated"); - } - return AlleleHelper.toDisplay(EnumTolerance.NONE); - } + public static String tolerated(boolean t) { + if (t) { + return I18N.localise("extrabees.gui.database.tab.species.genome.tolerated"); + } + return AlleleHelper.toDisplay(EnumTolerance.NONE); + } - @Override - public void onValueChanged(IAlleleSpecies species) { - IAllele[] template = Binnie.Genetics.getBeeRoot().getTemplate(species.getUID()); - if (template == null) { - return; - } + @Override + public void onValueChanged(IAlleleSpecies species) { + IAllele[] template = Binnie.Genetics.getBeeRoot().getTemplate(species.getUID()); + if (template == null) { + return; + } - IBeeGenome genome = Binnie.Genetics.getBeeRoot().templateAsGenome(template); - speedText.setValue(rateSpeed(genome.getSpeed())); - lifespanText.setValue(rateLifespan(genome.getLifespan())); - fertilityText.setValue(I18N.localise("extrabees.gui.database.tab.species.genome.children", genome.getFertility())); - floweringText.setValue(rateFlowering(genome.getFlowering())); - int[] area = genome.getTerritory(); - territoryText.setValue(area[0] + "x" + area[1] + "x" + area[2]); + IBeeGenome genome = Binnie.Genetics.getBeeRoot().templateAsGenome(template); + speedText.setValue(rateSpeed(genome.getSpeed())); + lifespanText.setValue(rateLifespan(genome.getLifespan())); + fertilityText.setValue( + I18N.localise("extrabees.gui.database.tab.species.genome.children", genome.getFertility())); + floweringText.setValue(rateFlowering(genome.getFlowering())); + int[] area = genome.getTerritory(); + territoryText.setValue(area[0] + "x" + area[1] + "x" + area[2]); - String behavior; - if (genome.getNocturnal()) { - behavior = I18N.localise("extrabees.gui.database.tab.species.genome.allDay"); - } else if (genome.getPrimary().isNocturnal()) { - behavior = I18N.localise("extrabees.gui.database.tab.species.genome.nighttime"); - } else { - behavior = I18N.localise("extrabees.gui.database.tab.species.genome.daytime"); - } - - nocturnalText.setValue(behavior); - if (genome.getCaveDwelling()) { - caveDwellingText.setValue(I18N.localise("extrabees.gui.database.tab.species.genome.notNeeded")); - } else { - caveDwellingText.setValue(I18N.localise("extrabees.gui.database.tab.species.genome.required")); - } + String behavior; + if (genome.getNocturnal()) { + behavior = I18N.localise("extrabees.gui.database.tab.species.genome.allDay"); + } else if (genome.getPrimary().isNocturnal()) { + behavior = I18N.localise("extrabees.gui.database.tab.species.genome.nighttime"); + } else { + behavior = I18N.localise("extrabees.gui.database.tab.species.genome.daytime"); + } - tolerantFlyerText.setValue(tolerated(genome.getTolerantFlyer())); - if (genome.getFlowerProvider() != null) { - flowerText.setValue(genome.getFlowerProvider().getDescription()); - } else { - flowerText.setValue(AlleleHelper.toDisplay(EnumTolerance.NONE)); - } - effectText.setValue(genome.getEffect().getName()); - } + nocturnalText.setValue(behavior); + if (genome.getCaveDwelling()) { + caveDwellingText.setValue(I18N.localise("extrabees.gui.database.tab.species.genome.notNeeded")); + } else { + caveDwellingText.setValue(I18N.localise("extrabees.gui.database.tab.species.genome.required")); + } + + tolerantFlyerText.setValue(tolerated(genome.getTolerantFlyer())); + if (genome.getFlowerProvider() != null) { + flowerText.setValue(genome.getFlowerProvider().getDescription()); + } else { + flowerText.setValue(AlleleHelper.toDisplay(EnumTolerance.NONE)); + } + effectText.setValue(genome.getEffect().getName()); + } } diff --git a/src/main/java/binnie/extrabees/gui/database/WindowApiaristDatabase.java b/src/main/java/binnie/extrabees/gui/database/WindowApiaristDatabase.java index 66258cfc..2c2820ba 100644 --- a/src/main/java/binnie/extrabees/gui/database/WindowApiaristDatabase.java +++ b/src/main/java/binnie/extrabees/gui/database/WindowApiaristDatabase.java @@ -19,35 +19,36 @@ import cpw.mods.fml.relauncher.Side; import net.minecraft.entity.player.EntityPlayer; public class WindowApiaristDatabase extends WindowAbstractDatabase { - public WindowApiaristDatabase(EntityPlayer player, Side side, boolean nei) { - super(player, side, nei, Binnie.Genetics.beeBreedingSystem, 110.0f); - } + public WindowApiaristDatabase(EntityPlayer player, Side side, boolean nei) { + super(player, side, nei, Binnie.Genetics.beeBreedingSystem, 110.0f); + } - public static Window create(EntityPlayer player, Side side, boolean nei) { - return new WindowApiaristDatabase(player, side, nei); - } + public static Window create(EntityPlayer player, Side side, boolean nei) { + return new WindowApiaristDatabase(player, side, nei); + } - @Override - protected void addTabs() { - new PageSpeciesOverview(getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.overview")); - new PageSpeciesClassification(getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.classification")); - new PageSpeciesGenome(getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.genome")); - new PageSpeciesProducts(getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.products")); - new PageSpeciesClimate(getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.climate")); - new PageSpeciesResultant(getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.resultant")); - new PageSpeciesMutations(getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.further")); - new PageBranchOverview(getInfoPages(Mode.Branches), new DatabaseTab(ExtraBees.instance, "branches.overview")); - new PageBranchSpecies(getInfoPages(Mode.Branches), new DatabaseTab(ExtraBees.instance, "branches.species")); - new PageBreeder(getInfoPages(Mode.Breeder), getUsername(), new DatabaseTab(ExtraBees.instance, "breeder")); - } + @Override + protected void addTabs() { + new PageSpeciesOverview(getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.overview")); + new PageSpeciesClassification( + getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.classification")); + new PageSpeciesGenome(getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.genome")); + new PageSpeciesProducts(getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.products")); + new PageSpeciesClimate(getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.climate")); + new PageSpeciesResultant(getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.resultant")); + new PageSpeciesMutations(getInfoPages(Mode.Species), new DatabaseTab(ExtraBees.instance, "species.further")); + new PageBranchOverview(getInfoPages(Mode.Branches), new DatabaseTab(ExtraBees.instance, "branches.overview")); + new PageBranchSpecies(getInfoPages(Mode.Branches), new DatabaseTab(ExtraBees.instance, "branches.species")); + new PageBreeder(getInfoPages(Mode.Breeder), getUsername(), new DatabaseTab(ExtraBees.instance, "breeder")); + } - @Override - public AbstractMod getMod() { - return ExtraBees.instance; - } + @Override + public AbstractMod getMod() { + return ExtraBees.instance; + } - @Override - public String getName() { - return I18N.localise("extrabees.gui.database"); - } + @Override + public String getName() { + return I18N.localise("extrabees.gui.database"); + } } diff --git a/src/main/java/binnie/extrabees/gui/database/product/ControlProductsBox.java b/src/main/java/binnie/extrabees/gui/database/product/ControlProductsBox.java index d310f862..dcc88dc2 100644 --- a/src/main/java/binnie/extrabees/gui/database/product/ControlProductsBox.java +++ b/src/main/java/binnie/extrabees/gui/database/product/ControlProductsBox.java @@ -7,55 +7,54 @@ import binnie.core.craftgui.controls.listbox.ControlListBox; import forestry.api.apiculture.IAlleleBeeSpecies; import forestry.api.apiculture.IBeeGenome; import forestry.api.genetics.IAllele; -import net.minecraft.item.ItemStack; - import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; +import net.minecraft.item.ItemStack; public class ControlProductsBox extends ControlListBox { - protected IAlleleBeeSpecies species; + protected IAlleleBeeSpecies species; - private ProductType type; + private ProductType type; - public ControlProductsBox(IWidget parent, int x, int y, int width, int height, ProductType type) { - super(parent, x, y, width, height, 12.0f); - this.type = type; - species = null; - } + public ControlProductsBox(IWidget parent, int x, int y, int width, int height, ProductType type) { + super(parent, x, y, width, height, 12.0f); + this.type = type; + species = null; + } - @Override - public IWidget createOption(Product value, int y) { - return new ControlProductsItem(getContent(), value, y); - } + @Override + public IWidget createOption(Product value, int y) { + return new ControlProductsItem(getContent(), value, y); + } - public void setSpecies(IAlleleBeeSpecies species) { - if (species != this.species && (this.species = species) != null) { - IAllele[] template = Binnie.Genetics.getBeeRoot().getTemplate(species.getUID()); - if (template == null) { - return; - } + public void setSpecies(IAlleleBeeSpecies species) { + if (species != this.species && (this.species = species) != null) { + IAllele[] template = Binnie.Genetics.getBeeRoot().getTemplate(species.getUID()); + if (template == null) { + return; + } - IBeeGenome genome = Binnie.Genetics.getBeeRoot().templateAsGenome(template); - float speed = genome.getSpeed(); - float modeSpeed = Binnie.Genetics.getBeeRoot() - .getBeekeepingMode(BinnieCore.proxy.getWorld()) - .getBeeModifier() - .getProductionModifier(genome, 1.0f); + IBeeGenome genome = Binnie.Genetics.getBeeRoot().templateAsGenome(template); + float speed = genome.getSpeed(); + float modeSpeed = Binnie.Genetics.getBeeRoot() + .getBeekeepingMode(BinnieCore.proxy.getWorld()) + .getBeeModifier() + .getProductionModifier(genome, 1.0f); - List strings = new ArrayList<>(); - Set> chances; - if (type == ProductType.PRODUCTS) { - chances = species.getProductChances().entrySet(); - } else { - chances = species.getSpecialtyChances().entrySet(); - } + List strings = new ArrayList<>(); + Set> chances; + if (type == ProductType.PRODUCTS) { + chances = species.getProductChances().entrySet(); + } else { + chances = species.getSpecialtyChances().entrySet(); + } - for (Map.Entry entry : chances) { - strings.add(new Product(entry.getKey(), speed * modeSpeed * entry.getValue())); - } - setOptions(strings); - } - } + for (Map.Entry entry : chances) { + strings.add(new Product(entry.getKey(), speed * modeSpeed * entry.getValue())); + } + setOptions(strings); + } + } } diff --git a/src/main/java/binnie/extrabees/gui/database/product/ControlProductsItem.java b/src/main/java/binnie/extrabees/gui/database/product/ControlProductsItem.java index f36964b2..f01074be 100644 --- a/src/main/java/binnie/extrabees/gui/database/product/ControlProductsItem.java +++ b/src/main/java/binnie/extrabees/gui/database/product/ControlProductsItem.java @@ -8,35 +8,37 @@ import binnie.core.craftgui.geometry.CraftGUIUtil; import binnie.core.craftgui.geometry.IPoint; import binnie.core.craftgui.minecraft.control.ControlItemDisplay; import binnie.core.util.I18N; - import java.text.DecimalFormat; public class ControlProductsItem extends ControlOption { - protected ControlItemDisplay item; + protected ControlItemDisplay item; - public ControlProductsItem(ControlList controlList, Product value, int y) { - super(controlList, value, y); - (item = new ControlItemDisplay(this, 4.0f, 4.0f)).setTooltip(); - ControlText textWidget = new ControlTextCentered(this, 2.0f, ""); - CraftGUIUtil.moveWidget(textWidget, new IPoint(12.0f, 0.0f)); + public ControlProductsItem(ControlList controlList, Product value, int y) { + super(controlList, value, y); + (item = new ControlItemDisplay(this, 4.0f, 4.0f)).setTooltip(); + ControlText textWidget = new ControlTextCentered(this, 2.0f, ""); + CraftGUIUtil.moveWidget(textWidget, new IPoint(12.0f, 0.0f)); - if (value == null) { - return; - } + if (value == null) { + return; + } - item.setItemStack(value.item); - float time = (int) (550.0 / value.chance); - float seconds = time / 20.0f; - float minutes = seconds / 60.0f; - float hours = minutes / 60.0f; - DecimalFormat df = new DecimalFormat("#.0"); + item.setItemStack(value.item); + float time = (int) (550.0 / value.chance); + float seconds = time / 20.0f; + float minutes = seconds / 60.0f; + float hours = minutes / 60.0f; + DecimalFormat df = new DecimalFormat("#.0"); - if (hours > 1.0f) { - textWidget.setValue(I18N.localise("extrabees.gui.database.tab.species.products.everyHours", df.format(hours))); - } else if (minutes > 1.0f) { - textWidget.setValue(I18N.localise("extrabees.gui.database.tab.species.products.everyMins", df.format(minutes))); - } else { - textWidget.setValue(I18N.localise("extrabees.gui.database.tab.species.products.everySecs", df.format(seconds))); - } - } + if (hours > 1.0f) { + textWidget.setValue( + I18N.localise("extrabees.gui.database.tab.species.products.everyHours", df.format(hours))); + } else if (minutes > 1.0f) { + textWidget.setValue( + I18N.localise("extrabees.gui.database.tab.species.products.everyMins", df.format(minutes))); + } else { + textWidget.setValue( + I18N.localise("extrabees.gui.database.tab.species.products.everySecs", df.format(seconds))); + } + } } diff --git a/src/main/java/binnie/extrabees/gui/database/product/PageSpeciesProducts.java b/src/main/java/binnie/extrabees/gui/database/product/PageSpeciesProducts.java index ff118192..9627133c 100644 --- a/src/main/java/binnie/extrabees/gui/database/product/PageSpeciesProducts.java +++ b/src/main/java/binnie/extrabees/gui/database/product/PageSpeciesProducts.java @@ -9,21 +9,21 @@ import forestry.api.apiculture.IAlleleBeeSpecies; import forestry.api.genetics.IAlleleSpecies; public class PageSpeciesProducts extends PageSpecies { - protected ControlProductsBox products; - protected ControlProductsBox specialties; + protected ControlProductsBox products; + protected ControlProductsBox specialties; - public PageSpeciesProducts(IWidget parent, DatabaseTab tab) { - super(parent, tab); - new ControlTextCentered(this, 8.0f, I18N.localise("extrabees.gui.database.tab.species.products")); - products = new ControlProductsBox(this, 4, 20, 136, 48, ProductType.PRODUCTS); + public PageSpeciesProducts(IWidget parent, DatabaseTab tab) { + super(parent, tab); + new ControlTextCentered(this, 8.0f, I18N.localise("extrabees.gui.database.tab.species.products")); + products = new ControlProductsBox(this, 4, 20, 136, 48, ProductType.PRODUCTS); - new ControlTextCentered(this, 68.0f, I18N.localise("extrabees.gui.database.tab.species.specialties")); - specialties = new ControlProductsBox(this, 4, 80, 136, 48, ProductType.SPECIALTIES); - } + new ControlTextCentered(this, 68.0f, I18N.localise("extrabees.gui.database.tab.species.specialties")); + specialties = new ControlProductsBox(this, 4, 80, 136, 48, ProductType.SPECIALTIES); + } - @Override - public void onValueChanged(IAlleleSpecies species) { - products.setSpecies((IAlleleBeeSpecies) species); - specialties.setSpecies((IAlleleBeeSpecies) species); - } + @Override + public void onValueChanged(IAlleleSpecies species) { + products.setSpecies((IAlleleBeeSpecies) species); + specialties.setSpecies((IAlleleBeeSpecies) species); + } } diff --git a/src/main/java/binnie/extrabees/gui/database/product/Product.java b/src/main/java/binnie/extrabees/gui/database/product/Product.java index 4d6d56c3..34538e91 100644 --- a/src/main/java/binnie/extrabees/gui/database/product/Product.java +++ b/src/main/java/binnie/extrabees/gui/database/product/Product.java @@ -3,11 +3,11 @@ package binnie.extrabees.gui.database.product; import net.minecraft.item.ItemStack; public class Product { - protected ItemStack item; - protected float chance; + protected ItemStack item; + protected float chance; - public Product(ItemStack item, float chance) { - this.item = item; - this.chance = chance; - } + public Product(ItemStack item, float chance) { + this.item = item; + this.chance = chance; + } } diff --git a/src/main/java/binnie/extrabees/gui/database/product/ProductType.java b/src/main/java/binnie/extrabees/gui/database/product/ProductType.java index bbc9ec6f..8293baa1 100644 --- a/src/main/java/binnie/extrabees/gui/database/product/ProductType.java +++ b/src/main/java/binnie/extrabees/gui/database/product/ProductType.java @@ -1,6 +1,6 @@ package binnie.extrabees.gui.database.product; public enum ProductType { - PRODUCTS, - SPECIALTIES + PRODUCTS, + SPECIALTIES } diff --git a/src/main/java/binnie/extrabees/liquids/ExtraBeeLiquid.java b/src/main/java/binnie/extrabees/liquids/ExtraBeeLiquid.java index 622545f8..7628b864 100644 --- a/src/main/java/binnie/extrabees/liquids/ExtraBeeLiquid.java +++ b/src/main/java/binnie/extrabees/liquids/ExtraBeeLiquid.java @@ -7,77 +7,76 @@ import binnie.core.util.I18N; import binnie.extrabees.ExtraBees; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.awt.Color; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; import net.minecraftforge.fluids.FluidStack; -import java.awt.Color; - public enum ExtraBeeLiquid implements ILiquidType { - ACID("acid", new Color(0xafeb19)), - POISON("poison", new Color(0xeb14eb)), - GLACIAL("liquidnitrogen", new Color(0x96c8c8)); + ACID("acid", new Color(0xafeb19)), + POISON("poison", new Color(0xeb14eb)), + GLACIAL("liquidnitrogen", new Color(0x96c8c8)); - protected String ident; - protected IIcon icon; - protected int color; + protected String ident; + protected IIcon icon; + protected int color; - ExtraBeeLiquid(String ident, Color color) { - this.ident = ident; - this.color = color.getRGB(); - } + ExtraBeeLiquid(String ident, Color color) { + this.ident = ident; + this.color = color.getRGB(); + } - @Override - public IIcon getIcon() { - return icon; - } + @Override + public IIcon getIcon() { + return icon; + } - @SideOnly(Side.CLIENT) - @Override - public void registerIcon(IIconRegister register) { - icon = ExtraBees.proxy.getIcon(register, "liquids/" + getIdentifier()); - } + @SideOnly(Side.CLIENT) + @Override + public void registerIcon(IIconRegister register) { + icon = ExtraBees.proxy.getIcon(register, "liquids/" + getIdentifier()); + } - @Override - public String getName() { - return I18N.localise("extrabees." + toString().toLowerCase()); - } + @Override + public String getName() { + return I18N.localise("extrabees." + toString().toLowerCase()); + } - @Override - public String getIdentifier() { - return ident; - } + @Override + public String getIdentifier() { + return ident; + } - @Override - public int getColor() { - return 0xffffff; - } + @Override + public int getColor() { + return 0xffffff; + } - @Override - public FluidStack get(int amount) { - return Binnie.Liquid.getLiquidStack(ident, amount); - } + @Override + public FluidStack get(int amount) { + return Binnie.Liquid.getLiquidStack(ident, amount); + } - @Override - public int getTransparency() { - return 255; - } + @Override + public int getTransparency() { + return 255; + } - @Override - public boolean canPlaceIn(FluidContainer container) { - return true; - } + @Override + public boolean canPlaceIn(FluidContainer container) { + return true; + } - @Override - public boolean showInCreative(FluidContainer container) { - return container == FluidContainer.Bucket - || container == FluidContainer.Can - || container == FluidContainer.Capsule - || container == FluidContainer.Refractory; - } + @Override + public boolean showInCreative(FluidContainer container) { + return container == FluidContainer.Bucket + || container == FluidContainer.Can + || container == FluidContainer.Capsule + || container == FluidContainer.Refractory; + } - @Override - public int getContainerColor() { - return color; - } + @Override + public int getContainerColor() { + return color; + } } diff --git a/src/main/java/binnie/extrabees/liquids/ModuleLiquids.java b/src/main/java/binnie/extrabees/liquids/ModuleLiquids.java index 7113afdb..8d991d9e 100644 --- a/src/main/java/binnie/extrabees/liquids/ModuleLiquids.java +++ b/src/main/java/binnie/extrabees/liquids/ModuleLiquids.java @@ -5,18 +5,18 @@ import binnie.core.IInitializable; import binnie.core.liquid.ItemFluidContainer; public class ModuleLiquids implements IInitializable { - @Override - public void preInit() { - Binnie.Liquid.createLiquids(ExtraBeeLiquid.values(), ItemFluidContainer.LiquidExtraBee); - } + @Override + public void preInit() { + Binnie.Liquid.createLiquids(ExtraBeeLiquid.values(), ItemFluidContainer.LiquidExtraBee); + } - @Override - public void init() { - // ignored - } + @Override + public void init() { + // ignored + } - @Override - public void postInit() { - // ignored - } + @Override + public void postInit() { + // ignored + } } diff --git a/src/main/java/binnie/extrabees/products/EnumHoneyComb.java b/src/main/java/binnie/extrabees/products/EnumHoneyComb.java index e5e3edfb..0447d9a2 100644 --- a/src/main/java/binnie/extrabees/products/EnumHoneyComb.java +++ b/src/main/java/binnie/extrabees/products/EnumHoneyComb.java @@ -4,160 +4,159 @@ import binnie.core.item.IItemEnum; import binnie.core.util.I18N; import binnie.extrabees.ExtraBees; import forestry.api.recipes.RecipeManagers; -import net.minecraft.item.ItemStack; - import java.awt.Color; import java.util.LinkedHashMap; import java.util.Locale; import java.util.Map; +import net.minecraft.item.ItemStack; public enum EnumHoneyComb implements IItemEnum { - BARREN(new Color(0x736c44), new Color(0xc2bea7)), - ROTTEN(new Color(0x3e5221), new Color(0xb1cc89)), - BONE(new Color(0xc4c4af), new Color(0xdedec1)), - OIL(new Color(0x060608), new Color(0x2c2b36)), - COAL(new Color(0x9e9478), new Color(0x38311e)), - FUEL(new Color(0x9c6f40), new Color(0xffc400)), - WATER(new Color(0x2732cf), new Color(0x79a8c9)), - MILK(new Color(0xd7d9c7), new Color(0xffffff)), - FRUIT(new Color(0x7d2934), new Color(0xdb4f62)), - SEED(new Color(0x344f33), new Color(0x71cc6e)), - ALCOHOL(new Color(0x418521), new Color(0xded94e)), - STONE(new Color(0x8c8c91), new Color(0xc6c6cc)), - REDSTONE(new Color(0xfa9696), new Color(0xe61010)), - RESIN(new Color(0xffc74f), new Color(0xc98a00)), - IC2ENERGY(new Color(0xe9f50f), new Color(0x20b3c9)), - IRON(new Color(0x363534), new Color(0xa87058)), - GOLD(new Color(0x363534), new Color(0xe6cc0b)), - COPPER(new Color(0x363534), new Color(0xd16308)), - TIN(new Color(0x363534), new Color(0xbdb1bd)), - SILVER(new Color(0x363534), new Color(0xdbdbdb)), -// BRONZE, - URANIUM(new Color(0x1eff00), new Color(0x41ab33)), - CLAY(new Color(0x6b563a), new Color(0xb0c0d6)), - OLD(new Color(0x453314), new Color(0xb39664)), - FUNGAL(new Color(0x6e654b), new Color(0x2b9443)), - CREOSOTE(new Color(0x9c810c), new Color(0xbdaa57)), - LATEX(new Color(0x595541), new Color(0xa8a285)), - ACIDIC(new Color(0x348543), new Color(0x14f73e)), - VENOMOUS(new Color(0x7d187d), new Color(0xff33ff)), - SLIME(new Color(0x3b473c), new Color(0x80d185)), - BLAZE(new Color(0xff6a00), new Color(0xffcc00)), - COFFEE(new Color(0x54381d), new Color(0xb37f4b)), - GLACIAL(new Color(0x4e8787), new Color(0xcbf2f2)), -// MINT, -// CITRUS, -// PEAT, - SHADOW(new Color(0x000000), new Color(0x361835)), - LEAD(new Color(0x363534), new Color(0x9a809c)), -// BRASS, -// ELECTRUM, - ZINC(new Color(0x363534), new Color(0xedebff)), - TITANIUM(new Color(0x363534), new Color(0xb0aae3)), - TUNGSTEN(new Color(0x363534), new Color(0x131214)), -// STEEL, -// IRIDIUM, - PLATINUM(new Color(0x363534), new Color(0x9a809c)), - LAPIS(new Color(0x363534), new Color(0x3d2cdb)), -// SODALITE, -// PYRITE, -// BAUXITE, -// CINNABAR, -// SPHALERITE, - EMERALD(new Color(0x363534), new Color(0x1cff03)), - RUBY(new Color(0x363534), new Color(0xd60000)), - SAPPHIRE(new Color(0x363534), new Color(0xa47ff)), -// OLIVINE, - DIAMOND(new Color(0x363534), new Color(0x7fbdfa)), - RED(new Color(0xcc4c4c), new Color(0xff0000)), - YELLOW(new Color(0xe5e533), new Color(0xffdd00)), - BLUE(new Color(0x99b2f2), new Color(0x0022ff)), - GREEN(new Color(0x667f33), new Color(0x009900)), - BLACK(new Color(0x191919), new Color(0x575757)), - WHITE(new Color(0xd6d6d6), new Color(0xffffff)), - BROWN(new Color(0x7f664c), new Color(0x5c350f)), - ORANGE(new Color(0xf2b233), new Color(0xff9d00)), - CYAN(new Color(0x4c99b2), new Color(0x00ffe5)), - PURPLE(new Color(0xb266e5), new Color(0xae00ff)), - GRAY(new Color(0x4c4c4c), new Color(0xbababa)), - LIGHTBLUE(new Color(0x99b2f2), new Color(0x009dff)), - PINK(new Color(0xf2b2cc), new Color(0xff80df)), - LIMEGREEN(new Color(0x7fcc19), new Color(0x00ff08)), - MAGENTA(new Color(0xe57fd8), new Color(0xff00cc)), - LIGHTGRAY(new Color(0x999999), new Color(0xc9c9c9)), - NICKEL(new Color(0x363534), new Color(0xffdefc)), -// INVAR, - GLOWSTONE(new Color(0xa69c5e), new Color(0xe0c409)), - SALTPETER(new Color(0xa69c5e), new Color(0xe0c409)), - //PULP, - //MULCH, - COMPOST(new Color(0x423308), new Color(0x6b5e3b)), - SAWDUST(new Color(0xbfaa71), new Color(0xf2d37e)), - CERTUS(new Color(0xc6d0ff), new Color(0x394d63)), - ENDERPEARL(new Color(0x349786), new Color(0x32620)), - YELLORIUM(new Color(0x27204d), new Color(14019840)), - CYANITE(new Color(0x27204d), new Color(0x86ed)), - BLUTONIUM(new Color(0x27204d), new Color(0x1b00e6)); + BARREN(new Color(0x736c44), new Color(0xc2bea7)), + ROTTEN(new Color(0x3e5221), new Color(0xb1cc89)), + BONE(new Color(0xc4c4af), new Color(0xdedec1)), + OIL(new Color(0x060608), new Color(0x2c2b36)), + COAL(new Color(0x9e9478), new Color(0x38311e)), + FUEL(new Color(0x9c6f40), new Color(0xffc400)), + WATER(new Color(0x2732cf), new Color(0x79a8c9)), + MILK(new Color(0xd7d9c7), new Color(0xffffff)), + FRUIT(new Color(0x7d2934), new Color(0xdb4f62)), + SEED(new Color(0x344f33), new Color(0x71cc6e)), + ALCOHOL(new Color(0x418521), new Color(0xded94e)), + STONE(new Color(0x8c8c91), new Color(0xc6c6cc)), + REDSTONE(new Color(0xfa9696), new Color(0xe61010)), + RESIN(new Color(0xffc74f), new Color(0xc98a00)), + IC2ENERGY(new Color(0xe9f50f), new Color(0x20b3c9)), + IRON(new Color(0x363534), new Color(0xa87058)), + GOLD(new Color(0x363534), new Color(0xe6cc0b)), + COPPER(new Color(0x363534), new Color(0xd16308)), + TIN(new Color(0x363534), new Color(0xbdb1bd)), + SILVER(new Color(0x363534), new Color(0xdbdbdb)), + // BRONZE, + URANIUM(new Color(0x1eff00), new Color(0x41ab33)), + CLAY(new Color(0x6b563a), new Color(0xb0c0d6)), + OLD(new Color(0x453314), new Color(0xb39664)), + FUNGAL(new Color(0x6e654b), new Color(0x2b9443)), + CREOSOTE(new Color(0x9c810c), new Color(0xbdaa57)), + LATEX(new Color(0x595541), new Color(0xa8a285)), + ACIDIC(new Color(0x348543), new Color(0x14f73e)), + VENOMOUS(new Color(0x7d187d), new Color(0xff33ff)), + SLIME(new Color(0x3b473c), new Color(0x80d185)), + BLAZE(new Color(0xff6a00), new Color(0xffcc00)), + COFFEE(new Color(0x54381d), new Color(0xb37f4b)), + GLACIAL(new Color(0x4e8787), new Color(0xcbf2f2)), + // MINT, + // CITRUS, + // PEAT, + SHADOW(new Color(0x000000), new Color(0x361835)), + LEAD(new Color(0x363534), new Color(0x9a809c)), + // BRASS, + // ELECTRUM, + ZINC(new Color(0x363534), new Color(0xedebff)), + TITANIUM(new Color(0x363534), new Color(0xb0aae3)), + TUNGSTEN(new Color(0x363534), new Color(0x131214)), + // STEEL, + // IRIDIUM, + PLATINUM(new Color(0x363534), new Color(0x9a809c)), + LAPIS(new Color(0x363534), new Color(0x3d2cdb)), + // SODALITE, + // PYRITE, + // BAUXITE, + // CINNABAR, + // SPHALERITE, + EMERALD(new Color(0x363534), new Color(0x1cff03)), + RUBY(new Color(0x363534), new Color(0xd60000)), + SAPPHIRE(new Color(0x363534), new Color(0xa47ff)), + // OLIVINE, + DIAMOND(new Color(0x363534), new Color(0x7fbdfa)), + RED(new Color(0xcc4c4c), new Color(0xff0000)), + YELLOW(new Color(0xe5e533), new Color(0xffdd00)), + BLUE(new Color(0x99b2f2), new Color(0x0022ff)), + GREEN(new Color(0x667f33), new Color(0x009900)), + BLACK(new Color(0x191919), new Color(0x575757)), + WHITE(new Color(0xd6d6d6), new Color(0xffffff)), + BROWN(new Color(0x7f664c), new Color(0x5c350f)), + ORANGE(new Color(0xf2b233), new Color(0xff9d00)), + CYAN(new Color(0x4c99b2), new Color(0x00ffe5)), + PURPLE(new Color(0xb266e5), new Color(0xae00ff)), + GRAY(new Color(0x4c4c4c), new Color(0xbababa)), + LIGHTBLUE(new Color(0x99b2f2), new Color(0x009dff)), + PINK(new Color(0xf2b2cc), new Color(0xff80df)), + LIMEGREEN(new Color(0x7fcc19), new Color(0x00ff08)), + MAGENTA(new Color(0xe57fd8), new Color(0xff00cc)), + LIGHTGRAY(new Color(0x999999), new Color(0xc9c9c9)), + NICKEL(new Color(0x363534), new Color(0xffdefc)), + // INVAR, + GLOWSTONE(new Color(0xa69c5e), new Color(0xe0c409)), + SALTPETER(new Color(0xa69c5e), new Color(0xe0c409)), + // PULP, + // MULCH, + COMPOST(new Color(0x423308), new Color(0x6b5e3b)), + SAWDUST(new Color(0xbfaa71), new Color(0xf2d37e)), + CERTUS(new Color(0xc6d0ff), new Color(0x394d63)), + ENDERPEARL(new Color(0x349786), new Color(0x32620)), + YELLORIUM(new Color(0x27204d), new Color(14019840)), + CYANITE(new Color(0x27204d), new Color(0x86ed)), + BLUTONIUM(new Color(0x27204d), new Color(0x1b00e6)); - public Map products; - public final int primaryColor; - public final int secondaryColor; - public final String name; + public Map products; + public final int primaryColor; + public final int secondaryColor; + public final String name; - protected boolean active; + protected boolean active; - EnumHoneyComb(Color primaryColor, Color secondaryColor) { - this.primaryColor = primaryColor.getRGB(); - this.secondaryColor = secondaryColor.getRGB(); - name = toString().toLowerCase(Locale.ENGLISH); - products = new LinkedHashMap<>(); - } + EnumHoneyComb(Color primaryColor, Color secondaryColor) { + this.primaryColor = primaryColor.getRGB(); + this.secondaryColor = secondaryColor.getRGB(); + name = toString().toLowerCase(Locale.ENGLISH); + products = new LinkedHashMap<>(); + } - public static EnumHoneyComb get(ItemStack itemStack) { - int i = itemStack.getItemDamage(); - if (i >= 0 && i < values().length) { - return values()[i]; - } - return values()[0]; - } + public static EnumHoneyComb get(ItemStack itemStack) { + int i = itemStack.getItemDamage(); + if (i >= 0 && i < values().length) { + return values()[i]; + } + return values()[0]; + } - public void addRecipe() { - RecipeManagers.centrifugeManager.addRecipe(20, get(1), products); - } + public void addRecipe() { + RecipeManagers.centrifugeManager.addRecipe(20, get(1), products); + } - @Override - public boolean isActive() { - return active; - } + @Override + public boolean isActive() { + return active; + } - @Override - public ItemStack get(int count) { - return new ItemStack(ExtraBees.comb, count, ordinal()); - } + @Override + public ItemStack get(int count) { + return new ItemStack(ExtraBees.comb, count, ordinal()); + } - @Override - public String getName(ItemStack stack) { - return I18N.localise("extrabees.item.comb." + name); - } + @Override + public String getName(ItemStack stack) { + return I18N.localise("extrabees.item.comb." + name); + } - public boolean addProduct(ItemStack item, Float chance) { - if (item == null) { - return false; - } - products.put(item.copy(), chance); - return true; - } + public boolean addProduct(ItemStack item, Float chance) { + if (item == null) { + return false; + } + products.put(item.copy(), chance); + return true; + } - public void tryAddProduct(ItemStack item, Float chance) { - active = addProduct(item, chance); - } + public void tryAddProduct(ItemStack item, Float chance) { + active = addProduct(item, chance); + } - public void tryAddProduct(IItemEnum type, Float chance) { - tryAddProduct(type.get(1), chance); - active = active && type.isActive(); - } + public void tryAddProduct(IItemEnum type, Float chance) { + tryAddProduct(type.get(1), chance); + active = active && type.isActive(); + } - public void copyProducts(EnumHoneyComb comb) { - products.putAll(comb.products); - } + public void copyProducts(EnumHoneyComb comb) { + products.putAll(comb.products); + } } diff --git a/src/main/java/binnie/extrabees/products/EnumHoneyDrop.java b/src/main/java/binnie/extrabees/products/EnumHoneyDrop.java index 11f0f606..d6a54d3b 100644 --- a/src/main/java/binnie/extrabees/products/EnumHoneyDrop.java +++ b/src/main/java/binnie/extrabees/products/EnumHoneyDrop.java @@ -5,88 +5,86 @@ import binnie.core.item.IItemEnum; import binnie.core.util.I18N; import binnie.extrabees.ExtraBees; import forestry.api.recipes.RecipeManagers; +import java.awt.Color; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import java.awt.Color; - public enum EnumHoneyDrop implements IItemEnum { - ENERGY(new Color(0x9c4972), new Color(0xe37171), ""), - ACID(new Color(0x4bb541), new Color(0x49de3c), "acid"), - POISON(new Color(0xd106b9), new Color(0xff03e2), "poison"), - APPLE(new Color(0xc75252), new Color(0xc92a2a), "juice"), -// CITRUS, - ICE(new Color(0xaee8e2), new Color(0x96fff5), "liquidnitrogen"), - MILK(new Color(0xe0e0e0), new Color(0xffffff), "milk"), - SEED(new Color(0x7cc272), new Color(0xc2bea7), "seedoil"), - ALCOHOL(new Color(0xdbe84d), new Color(0xa5e84d), "short.mead"), -// FRUIT, -// VEGETABLE, -// PUMPKIN, -// MELON, - RED(new Color(0xcc4c4c), new Color(0xff0000), "for.honey"), - YELLOW(new Color(0xe5e533), new Color(0xffdd00), "for.honey"), - BLUE(new Color(0x99b2f2), new Color(0x0022ff), "for.honey"), - GREEN(new Color(0x667f33), new Color(0x009900), "for.honey"), - BLACK(new Color(0x191919), new Color(0x575757), "for.honey"), - WHITE(new Color(0xd6d6d6), new Color(0xffffff), "for.honey"), - BROWN(new Color(0x7f664c), new Color(0x5c350f), "for.honey"), - ORANGE(new Color(0xf2b233), new Color(0xff9d00), "for.honey"), - CYAN(new Color(0x4c99b2), new Color(0x00ffe5), "for.honey"), - PURPLE(new Color(0xb266e5), new Color(0xae00ff), "for.honey"), - GRAY(new Color(0x4c4c4c), new Color(0xbababa), "for.honey"), - LIGHTBLUE(new Color(0x99b2f2), new Color(0x009dff), "for.honey"), - PINK(new Color(0xf2b2cc), new Color(0xff80df), "for.honey"), - LIMEGREEN(new Color(0x7fcc19), new Color(0x00ff08), "for.honey"), - MAGENTA(new Color(0xe57fd8), new Color(0xff00cc), "for.honey"), - LIGHTGRAY(new Color(0x999999), new Color(0xc9c9c9), "for.honey"); - - public final int primaryColor; - public final int secondaryColor; + ENERGY(new Color(0x9c4972), new Color(0xe37171), ""), + ACID(new Color(0x4bb541), new Color(0x49de3c), "acid"), + POISON(new Color(0xd106b9), new Color(0xff03e2), "poison"), + APPLE(new Color(0xc75252), new Color(0xc92a2a), "juice"), + // CITRUS, + ICE(new Color(0xaee8e2), new Color(0x96fff5), "liquidnitrogen"), + MILK(new Color(0xe0e0e0), new Color(0xffffff), "milk"), + SEED(new Color(0x7cc272), new Color(0xc2bea7), "seedoil"), + ALCOHOL(new Color(0xdbe84d), new Color(0xa5e84d), "short.mead"), + // FRUIT, + // VEGETABLE, + // PUMPKIN, + // MELON, + RED(new Color(0xcc4c4c), new Color(0xff0000), "for.honey"), + YELLOW(new Color(0xe5e533), new Color(0xffdd00), "for.honey"), + BLUE(new Color(0x99b2f2), new Color(0x0022ff), "for.honey"), + GREEN(new Color(0x667f33), new Color(0x009900), "for.honey"), + BLACK(new Color(0x191919), new Color(0x575757), "for.honey"), + WHITE(new Color(0xd6d6d6), new Color(0xffffff), "for.honey"), + BROWN(new Color(0x7f664c), new Color(0x5c350f), "for.honey"), + ORANGE(new Color(0xf2b233), new Color(0xff9d00), "for.honey"), + CYAN(new Color(0x4c99b2), new Color(0x00ffe5), "for.honey"), + PURPLE(new Color(0xb266e5), new Color(0xae00ff), "for.honey"), + GRAY(new Color(0x4c4c4c), new Color(0xbababa), "for.honey"), + LIGHTBLUE(new Color(0x99b2f2), new Color(0x009dff), "for.honey"), + PINK(new Color(0xf2b2cc), new Color(0xff80df), "for.honey"), + LIMEGREEN(new Color(0x7fcc19), new Color(0x00ff08), "for.honey"), + MAGENTA(new Color(0xe57fd8), new Color(0xff00cc), "for.honey"), + LIGHTGRAY(new Color(0x999999), new Color(0xc9c9c9), "for.honey"); - protected String liquidName; - protected ItemStack remenant; + public final int primaryColor; + public final int secondaryColor; - EnumHoneyDrop(Color primaryColor, Color secondaryColor, String liquid) { - this.primaryColor = primaryColor.getRGB(); - this.secondaryColor = secondaryColor.getRGB(); - liquidName = liquid; - } + protected String liquidName; + protected ItemStack remenant; - public static EnumHoneyDrop get(ItemStack itemStack) { - int i = itemStack.getItemDamage(); - if (i >= 0 && i < values().length) { - return values()[i]; - } - return values()[0]; - } + EnumHoneyDrop(Color primaryColor, Color secondaryColor, String liquid) { + this.primaryColor = primaryColor.getRGB(); + this.secondaryColor = secondaryColor.getRGB(); + liquidName = liquid; + } - public void addRemenant(ItemStack stack) { - remenant = stack; - } + public static EnumHoneyDrop get(ItemStack itemStack) { + int i = itemStack.getItemDamage(); + if (i >= 0 && i < values().length) { + return values()[i]; + } + return values()[0]; + } - public void addRecipe() { - FluidStack liquid = Binnie.Liquid.getLiquidStack(liquidName, 200); - if (liquid == null) { - return; - } - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{get(1)}, liquid, remenant, 100); - } + public void addRemenant(ItemStack stack) { + remenant = stack; + } - @Override - public boolean isActive() { - return liquidName == null - || FluidRegistry.isFluidRegistered(liquidName); - } + public void addRecipe() { + FluidStack liquid = Binnie.Liquid.getLiquidStack(liquidName, 200); + if (liquid == null) { + return; + } + RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[] {get(1)}, liquid, remenant, 100); + } - @Override - public ItemStack get(int count) { - return new ItemStack(ExtraBees.honeyDrop, count, ordinal()); - } + @Override + public boolean isActive() { + return liquidName == null || FluidRegistry.isFluidRegistered(liquidName); + } - @Override - public String getName(ItemStack itemStack) { - return I18N.localise("extrabees.item.honeydrop." + name().toLowerCase()); - } + @Override + public ItemStack get(int count) { + return new ItemStack(ExtraBees.honeyDrop, count, ordinal()); + } + + @Override + public String getName(ItemStack itemStack) { + return I18N.localise("extrabees.item.honeydrop." + name().toLowerCase()); + } } diff --git a/src/main/java/binnie/extrabees/products/EnumPropolis.java b/src/main/java/binnie/extrabees/products/EnumPropolis.java index 052b53b9..5651d2d8 100644 --- a/src/main/java/binnie/extrabees/products/EnumPropolis.java +++ b/src/main/java/binnie/extrabees/products/EnumPropolis.java @@ -5,61 +5,60 @@ import binnie.core.item.IItemEnum; import binnie.core.util.I18N; import binnie.extrabees.ExtraBees; import forestry.api.recipes.RecipeManagers; +import java.awt.Color; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; -import java.awt.Color; - public enum EnumPropolis implements IItemEnum { - WATER(new Color(0x24b3c9), new Color(0xc2bea7), "Water"), - OIL(new Color(0x172f33), new Color(0xc2bea7), "oil"), - FUEL(new Color(0xa38d12), new Color(0xc2bea7), "fuel"), -// MILK, -// FRUIT, -// SEED, -// ALCOHOL, - CREOSOTE(new Color(0x877501), new Color(0xbda613), "creosote"); -// GLACIAL, -// PEAT + WATER(new Color(0x24b3c9), new Color(0xc2bea7), "Water"), + OIL(new Color(0x172f33), new Color(0xc2bea7), "oil"), + FUEL(new Color(0xa38d12), new Color(0xc2bea7), "fuel"), + // MILK, + // FRUIT, + // SEED, + // ALCOHOL, + CREOSOTE(new Color(0x877501), new Color(0xbda613), "creosote"); + // GLACIAL, + // PEAT - public final int secondaryColor; - public final int primaryColor; - public final String liquidName; + public final int secondaryColor; + public final int primaryColor; + public final String liquidName; - EnumPropolis(Color primaryColor, Color secondaryColor, String liquidName) { - this.primaryColor = primaryColor.getRGB(); - this.secondaryColor = secondaryColor.getRGB(); - this.liquidName = liquidName; - } + EnumPropolis(Color primaryColor, Color secondaryColor, String liquidName) { + this.primaryColor = primaryColor.getRGB(); + this.secondaryColor = secondaryColor.getRGB(); + this.liquidName = liquidName; + } - public static EnumPropolis get(ItemStack itemStack) { - int i = itemStack.getItemDamage(); - if (i >= 0 && i < values().length) { - return values()[i]; - } - return values()[0]; - } + public static EnumPropolis get(ItemStack itemStack) { + int i = itemStack.getItemDamage(); + if (i >= 0 && i < values().length) { + return values()[i]; + } + return values()[0]; + } - public void addRecipe() { - FluidStack liquid = Binnie.Liquid.getLiquidStack(liquidName, 500); - if (liquid == null) { - return; - } - RecipeManagers.squeezerManager.addRecipe(20, new ItemStack[]{get(1)}, liquid, null, 0); - } + public void addRecipe() { + FluidStack liquid = Binnie.Liquid.getLiquidStack(liquidName, 500); + if (liquid == null) { + return; + } + RecipeManagers.squeezerManager.addRecipe(20, new ItemStack[] {get(1)}, liquid, null, 0); + } - @Override - public boolean isActive() { - return Binnie.Liquid.getLiquidStack(liquidName, 100) != null; - } + @Override + public boolean isActive() { + return Binnie.Liquid.getLiquidStack(liquidName, 100) != null; + } - @Override - public ItemStack get(int count) { - return new ItemStack(ExtraBees.propolis, count, ordinal()); - } + @Override + public ItemStack get(int count) { + return new ItemStack(ExtraBees.propolis, count, ordinal()); + } - @Override - public String getName(ItemStack itemStack) { - return I18N.localise("extrabees.item.propolis." + name().toLowerCase()); - } + @Override + public String getName(ItemStack itemStack) { + return I18N.localise("extrabees.item.propolis." + name().toLowerCase()); + } } diff --git a/src/main/java/binnie/extrabees/products/ItemHoneyComb.java b/src/main/java/binnie/extrabees/products/ItemHoneyComb.java index d91e4e23..c1497d9c 100644 --- a/src/main/java/binnie/extrabees/products/ItemHoneyComb.java +++ b/src/main/java/binnie/extrabees/products/ItemHoneyComb.java @@ -15,330 +15,335 @@ import net.minecraft.util.IIcon; import net.minecraftforge.oredict.OreDictionary; public class ItemHoneyComb extends ItemProduct { - protected IIcon icon1; - protected IIcon icon2; + protected IIcon icon1; + protected IIcon icon2; - public ItemHoneyComb() { - super(EnumHoneyComb.values()); - setCreativeTab(Tabs.tabApiculture); - setUnlocalizedName("honeyComb"); - } + public ItemHoneyComb() { + super(EnumHoneyComb.values()); + setCreativeTab(Tabs.tabApiculture); + setUnlocalizedName("honeyComb"); + } - public static void addSubtypes() { - ItemStack beeswax = Mods.forestry.stack("beeswax"); - ItemStack honeyDrop = Mods.forestry.stack("honeyDrop"); - OreDictionary.registerOre("ingotIron", Items.iron_ingot); - OreDictionary.registerOre("ingotGold", Items.gold_ingot); - OreDictionary.registerOre("gemDiamond", Items.diamond); - OreDictionary.registerOre("gemEmerald", Items.emerald); - OreDictionary.registerOre("gemLapis", new ItemStack(Items.dye, 1, 4)); + public static void addSubtypes() { + ItemStack beeswax = Mods.forestry.stack("beeswax"); + ItemStack honeyDrop = Mods.forestry.stack("honeyDrop"); + OreDictionary.registerOre("ingotIron", Items.iron_ingot); + OreDictionary.registerOre("ingotGold", Items.gold_ingot); + OreDictionary.registerOre("gemDiamond", Items.diamond); + OreDictionary.registerOre("gemEmerald", Items.emerald); + OreDictionary.registerOre("gemLapis", new ItemStack(Items.dye, 1, 4)); - EnumHoneyComb.BARREN.addProduct(beeswax, 1.00f); - EnumHoneyComb.BARREN.addProduct(honeyDrop, 0.50f); + EnumHoneyComb.BARREN.addProduct(beeswax, 1.00f); + EnumHoneyComb.BARREN.addProduct(honeyDrop, 0.50f); - EnumHoneyComb.ROTTEN.addProduct(beeswax, 0.20f); - EnumHoneyComb.ROTTEN.addProduct(honeyDrop, 0.20f); - EnumHoneyComb.ROTTEN.addProduct(new ItemStack(Items.rotten_flesh, 1, 0), 0.80f); + EnumHoneyComb.ROTTEN.addProduct(beeswax, 0.20f); + EnumHoneyComb.ROTTEN.addProduct(honeyDrop, 0.20f); + EnumHoneyComb.ROTTEN.addProduct(new ItemStack(Items.rotten_flesh, 1, 0), 0.80f); - EnumHoneyComb.BONE.addProduct(beeswax, 0.20f); - EnumHoneyComb.BONE.addProduct(honeyDrop, 0.20f); - EnumHoneyComb.BONE.addProduct(new ItemStack(Items.dye, 1, 15), 0.80f); + EnumHoneyComb.BONE.addProduct(beeswax, 0.20f); + EnumHoneyComb.BONE.addProduct(honeyDrop, 0.20f); + EnumHoneyComb.BONE.addProduct(new ItemStack(Items.dye, 1, 15), 0.80f); - EnumHoneyComb.OIL.tryAddProduct(EnumPropolis.OIL, 0.60f); - EnumHoneyComb.OIL.addProduct(honeyDrop, 0.75f); + EnumHoneyComb.OIL.tryAddProduct(EnumPropolis.OIL, 0.60f); + EnumHoneyComb.OIL.addProduct(honeyDrop, 0.75f); - EnumHoneyComb.COAL.addProduct(beeswax, 0.80f); - EnumHoneyComb.COAL.addProduct(honeyDrop, 0.75f); - EnumHoneyComb.COAL.tryAddProduct(ExtraBeeItems.CoalDust, 1.00f); + EnumHoneyComb.COAL.addProduct(beeswax, 0.80f); + EnumHoneyComb.COAL.addProduct(honeyDrop, 0.75f); + EnumHoneyComb.COAL.tryAddProduct(ExtraBeeItems.CoalDust, 1.00f); - EnumHoneyComb.WATER.tryAddProduct(EnumPropolis.WATER, 1.00f); - EnumHoneyComb.WATER.addProduct(honeyDrop, 0.90f); + EnumHoneyComb.WATER.tryAddProduct(EnumPropolis.WATER, 1.00f); + EnumHoneyComb.WATER.addProduct(honeyDrop, 0.90f); - EnumHoneyComb.STONE.addProduct(beeswax, 0.50f); - EnumHoneyComb.STONE.addProduct(honeyDrop, 0.25f); + EnumHoneyComb.STONE.addProduct(beeswax, 0.50f); + EnumHoneyComb.STONE.addProduct(honeyDrop, 0.25f); - EnumHoneyComb.MILK.tryAddProduct(EnumHoneyDrop.MILK, 1.00f); - EnumHoneyComb.MILK.addProduct(honeyDrop, 0.90f); + EnumHoneyComb.MILK.tryAddProduct(EnumHoneyDrop.MILK, 1.00f); + EnumHoneyComb.MILK.addProduct(honeyDrop, 0.90f); - EnumHoneyComb.FRUIT.tryAddProduct(EnumHoneyDrop.APPLE, 1.00f); - EnumHoneyComb.FRUIT.addProduct(honeyDrop, 0.90f); + EnumHoneyComb.FRUIT.tryAddProduct(EnumHoneyDrop.APPLE, 1.00f); + EnumHoneyComb.FRUIT.addProduct(honeyDrop, 0.90f); - EnumHoneyComb.SEED.tryAddProduct(EnumHoneyDrop.SEED, 1.00f); - EnumHoneyComb.SEED.addProduct(honeyDrop, 0.90f); + EnumHoneyComb.SEED.tryAddProduct(EnumHoneyDrop.SEED, 1.00f); + EnumHoneyComb.SEED.addProduct(honeyDrop, 0.90f); - EnumHoneyComb.ALCOHOL.tryAddProduct(EnumHoneyDrop.ALCOHOL, 1.00f); - EnumHoneyComb.ALCOHOL.addProduct(honeyDrop, 0.90f); + EnumHoneyComb.ALCOHOL.tryAddProduct(EnumHoneyDrop.ALCOHOL, 1.00f); + EnumHoneyComb.ALCOHOL.addProduct(honeyDrop, 0.90f); - EnumHoneyComb.FUEL.tryAddProduct(EnumPropolis.FUEL, 0.60f); - EnumHoneyComb.FUEL.addProduct(honeyDrop, 0.50f); + EnumHoneyComb.FUEL.tryAddProduct(EnumPropolis.FUEL, 0.60f); + EnumHoneyComb.FUEL.addProduct(honeyDrop, 0.50f); - EnumHoneyComb.CREOSOTE.tryAddProduct(EnumPropolis.CREOSOTE, 0.70f); - EnumHoneyComb.CREOSOTE.addProduct(honeyDrop, 0.50f); + EnumHoneyComb.CREOSOTE.tryAddProduct(EnumPropolis.CREOSOTE, 0.70f); + EnumHoneyComb.CREOSOTE.addProduct(honeyDrop, 0.50f); - EnumHoneyComb.LATEX.addProduct(honeyDrop, 0.50f); - EnumHoneyComb.LATEX.addProduct(beeswax, 0.85f); - if (!OreDictionary.getOres("itemRubber").isEmpty()) { - EnumHoneyComb.LATEX.tryAddProduct(OreDictionary.getOres("itemRubber").get(0), 1.00f); - } else { - EnumHoneyComb.LATEX.active = false; - } + EnumHoneyComb.LATEX.addProduct(honeyDrop, 0.50f); + EnumHoneyComb.LATEX.addProduct(beeswax, 0.85f); + if (!OreDictionary.getOres("itemRubber").isEmpty()) { + EnumHoneyComb.LATEX.tryAddProduct( + OreDictionary.getOres("itemRubber").get(0), 1.00f); + } else { + EnumHoneyComb.LATEX.active = false; + } - EnumHoneyComb.REDSTONE.addProduct(beeswax, 0.80f); - EnumHoneyComb.REDSTONE.addProduct(new ItemStack(Items.redstone, 1, 0), 1.00f); - EnumHoneyComb.REDSTONE.addProduct(honeyDrop, 0.50f); + EnumHoneyComb.REDSTONE.addProduct(beeswax, 0.80f); + EnumHoneyComb.REDSTONE.addProduct(new ItemStack(Items.redstone, 1, 0), 1.00f); + EnumHoneyComb.REDSTONE.addProduct(honeyDrop, 0.50f); - EnumHoneyComb.RESIN.addProduct(beeswax, 1.00f); - EnumHoneyComb.RESIN.tryAddProduct(Mods.ic2.stack("itemHarz"), 1.00f); - EnumHoneyComb.RESIN.tryAddProduct(Mods.ic2.stack("itemHarz"), 0.50f); + EnumHoneyComb.RESIN.addProduct(beeswax, 1.00f); + EnumHoneyComb.RESIN.tryAddProduct(Mods.ic2.stack("itemHarz"), 1.00f); + EnumHoneyComb.RESIN.tryAddProduct(Mods.ic2.stack("itemHarz"), 0.50f); - EnumHoneyComb.IC2ENERGY.addProduct(beeswax, 0.80f); - EnumHoneyComb.IC2ENERGY.addProduct(new ItemStack(Items.redstone, 1, 0), 0.75f); - EnumHoneyComb.IC2ENERGY.tryAddProduct(EnumHoneyDrop.ENERGY, 1.00f); + EnumHoneyComb.IC2ENERGY.addProduct(beeswax, 0.80f); + EnumHoneyComb.IC2ENERGY.addProduct(new ItemStack(Items.redstone, 1, 0), 0.75f); + EnumHoneyComb.IC2ENERGY.tryAddProduct(EnumHoneyDrop.ENERGY, 1.00f); - EnumHoneyComb.IRON.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.IRON.tryAddProduct(ExtraBeeItems.IronDust, 1.00f); + EnumHoneyComb.IRON.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.IRON.tryAddProduct(ExtraBeeItems.IronDust, 1.00f); - EnumHoneyComb.GOLD.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.GOLD.tryAddProduct(ExtraBeeItems.GoldDust, 1.00f); + EnumHoneyComb.GOLD.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.GOLD.tryAddProduct(ExtraBeeItems.GoldDust, 1.00f); - EnumHoneyComb.COPPER.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.COPPER.tryAddProduct(ExtraBeeItems.CopperDust, 1.00f); + EnumHoneyComb.COPPER.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.COPPER.tryAddProduct(ExtraBeeItems.CopperDust, 1.00f); - EnumHoneyComb.TIN.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.TIN.tryAddProduct(ExtraBeeItems.TinDust, 1.00f); + EnumHoneyComb.TIN.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.TIN.tryAddProduct(ExtraBeeItems.TinDust, 1.00f); - EnumHoneyComb.NICKEL.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.NICKEL.tryAddProduct(ExtraBeeItems.NickelDust, 1.00f); + EnumHoneyComb.NICKEL.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.NICKEL.tryAddProduct(ExtraBeeItems.NickelDust, 1.00f); - EnumHoneyComb.SILVER.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.SILVER.tryAddProduct(ExtraBeeItems.SilverDust, 1.00f); + EnumHoneyComb.SILVER.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.SILVER.tryAddProduct(ExtraBeeItems.SilverDust, 1.00f); - EnumHoneyComb.URANIUM.copyProducts(EnumHoneyComb.STONE); - if (!OreDictionary.getOres("crushedUranium").isEmpty()) { - EnumHoneyComb.URANIUM.tryAddProduct(OreDictionary.getOres("crushedUranium").get(0), 0.50f); - } + EnumHoneyComb.URANIUM.copyProducts(EnumHoneyComb.STONE); + if (!OreDictionary.getOres("crushedUranium").isEmpty()) { + EnumHoneyComb.URANIUM.tryAddProduct( + OreDictionary.getOres("crushedUranium").get(0), 0.50f); + } - EnumHoneyComb.CLAY.addProduct(beeswax, 0.25f); - EnumHoneyComb.CLAY.addProduct(honeyDrop, 0.80f); - EnumHoneyComb.CLAY.addProduct(new ItemStack(Items.clay_ball), 0.80f); + EnumHoneyComb.CLAY.addProduct(beeswax, 0.25f); + EnumHoneyComb.CLAY.addProduct(honeyDrop, 0.80f); + EnumHoneyComb.CLAY.addProduct(new ItemStack(Items.clay_ball), 0.80f); - EnumHoneyComb.OLD.addProduct(beeswax, 1.00f); - EnumHoneyComb.OLD.addProduct(honeyDrop, 0.90f); + EnumHoneyComb.OLD.addProduct(beeswax, 1.00f); + EnumHoneyComb.OLD.addProduct(honeyDrop, 0.90f); - EnumHoneyComb.FUNGAL.addProduct(beeswax, 0.90f); - EnumHoneyComb.FUNGAL.addProduct(new ItemStack(Blocks.brown_mushroom_block, 1, 0), 1.00f); - EnumHoneyComb.FUNGAL.addProduct(new ItemStack(Blocks.red_mushroom_block, 1, 0), 0.75f); + EnumHoneyComb.FUNGAL.addProduct(beeswax, 0.90f); + EnumHoneyComb.FUNGAL.addProduct(new ItemStack(Blocks.brown_mushroom_block, 1, 0), 1.00f); + EnumHoneyComb.FUNGAL.addProduct(new ItemStack(Blocks.red_mushroom_block, 1, 0), 0.75f); - EnumHoneyComb.ACIDIC.addProduct(beeswax, 0.80f); - EnumHoneyComb.ACIDIC.tryAddProduct(EnumHoneyDrop.ACID, 0.50f); - if (!OreDictionary.getOres("dustSulfur").isEmpty()) { - EnumHoneyComb.ACIDIC.addProduct(OreDictionary.getOres("dustSulfur").get(0), 0.75f); - } + EnumHoneyComb.ACIDIC.addProduct(beeswax, 0.80f); + EnumHoneyComb.ACIDIC.tryAddProduct(EnumHoneyDrop.ACID, 0.50f); + if (!OreDictionary.getOres("dustSulfur").isEmpty()) { + EnumHoneyComb.ACIDIC.addProduct(OreDictionary.getOres("dustSulfur").get(0), 0.75f); + } - EnumHoneyComb.VENOMOUS.addProduct(beeswax, 0.80f); - EnumHoneyComb.VENOMOUS.tryAddProduct(EnumHoneyDrop.POISON, 0.80f); + EnumHoneyComb.VENOMOUS.addProduct(beeswax, 0.80f); + EnumHoneyComb.VENOMOUS.tryAddProduct(EnumHoneyDrop.POISON, 0.80f); - EnumHoneyComb.SLIME.addProduct(beeswax, 1.00f); - EnumHoneyComb.SLIME.addProduct(honeyDrop, 0.75f); - EnumHoneyComb.SLIME.addProduct(new ItemStack(Items.slime_ball, 1, 0), 0.75f); + EnumHoneyComb.SLIME.addProduct(beeswax, 1.00f); + EnumHoneyComb.SLIME.addProduct(honeyDrop, 0.75f); + EnumHoneyComb.SLIME.addProduct(new ItemStack(Items.slime_ball, 1, 0), 0.75f); - EnumHoneyComb.BLAZE.addProduct(beeswax, 0.75f); - EnumHoneyComb.BLAZE.addProduct(new ItemStack(Items.blaze_powder, 1, 0), 1.00f); + EnumHoneyComb.BLAZE.addProduct(beeswax, 0.75f); + EnumHoneyComb.BLAZE.addProduct(new ItemStack(Items.blaze_powder, 1, 0), 1.00f); - EnumHoneyComb.COFFEE.addProduct(beeswax, 0.90f); - EnumHoneyComb.COFFEE.addProduct(honeyDrop, 0.75f); - EnumHoneyComb.COFFEE.tryAddProduct(Mods.ic2.stack("itemCofeePowder"), 0.75f); + EnumHoneyComb.COFFEE.addProduct(beeswax, 0.90f); + EnumHoneyComb.COFFEE.addProduct(honeyDrop, 0.75f); + EnumHoneyComb.COFFEE.tryAddProduct(Mods.ic2.stack("itemCofeePowder"), 0.75f); - EnumHoneyComb.GLACIAL.tryAddProduct(EnumHoneyDrop.ICE, 0.80f); - EnumHoneyComb.GLACIAL.addProduct(honeyDrop, 0.75f); + EnumHoneyComb.GLACIAL.tryAddProduct(EnumHoneyDrop.ICE, 0.80f); + EnumHoneyComb.GLACIAL.addProduct(honeyDrop, 0.75f); - EnumHoneyComb.SHADOW.addProduct(honeyDrop, 0.50f); - if (!OreDictionary.getOres("dustObsidian").isEmpty()) { - EnumHoneyComb.SHADOW.tryAddProduct(OreDictionary.getOres("dustObsidian").get(0), 0.75f); - } else { - EnumHoneyComb.SHADOW.active = false; - } + EnumHoneyComb.SHADOW.addProduct(honeyDrop, 0.50f); + if (!OreDictionary.getOres("dustObsidian").isEmpty()) { + EnumHoneyComb.SHADOW.tryAddProduct( + OreDictionary.getOres("dustObsidian").get(0), 0.75f); + } else { + EnumHoneyComb.SHADOW.active = false; + } - EnumHoneyComb.LEAD.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.LEAD.tryAddProduct(ExtraBeeItems.LeadDust, 1.00f); + EnumHoneyComb.LEAD.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.LEAD.tryAddProduct(ExtraBeeItems.LeadDust, 1.00f); - EnumHoneyComb.ZINC.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.ZINC.tryAddProduct(ExtraBeeItems.ZincDust, 1.00f); - - EnumHoneyComb.TITANIUM.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.TITANIUM.tryAddProduct(ExtraBeeItems.TitaniumDust, 1.00f); - - EnumHoneyComb.TUNGSTEN.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.TUNGSTEN.tryAddProduct(ExtraBeeItems.TungstenDust, 1.00f); - - EnumHoneyComb.PLATINUM.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.PLATINUM.tryAddProduct(ExtraBeeItems.PlatinumDust, 1.00f); - - EnumHoneyComb.LAPIS.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.LAPIS.addProduct(new ItemStack(Items.dye, 6, 4), 1.00f); - - EnumHoneyComb.EMERALD.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.EMERALD.tryAddProduct(ExtraBeeItems.EmeraldShard, 1.00f); - - EnumHoneyComb.RUBY.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.RUBY.tryAddProduct(ExtraBeeItems.RubyShard, 1.00f); - - EnumHoneyComb.SAPPHIRE.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.SAPPHIRE.tryAddProduct(ExtraBeeItems.SapphireShard, 1.00f); - - EnumHoneyComb.DIAMOND.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.DIAMOND.tryAddProduct(ExtraBeeItems.DiamondShard, 1.00f); - - EnumHoneyComb.RED.addProduct(honeyDrop, 0.80f); - EnumHoneyComb.RED.addProduct(beeswax, 0.80f); - - EnumHoneyComb.GLOWSTONE.addProduct(honeyDrop, 0.25f); - EnumHoneyComb.GLOWSTONE.addProduct(new ItemStack(Items.glowstone_dust), 1.00f); - - EnumHoneyComb.SALTPETER.addProduct(honeyDrop, 0.25f); - EnumHoneyComb.SALTPETER.tryAddProduct(getOreDictionary("dustSaltpeter"), 1.00f); - - EnumHoneyComb.COMPOST.addProduct(honeyDrop, 0.25f); - EnumHoneyComb.COMPOST.tryAddProduct(Mods.forestry.stack("fertilizerBio"), 1.00f); - - EnumHoneyComb.SAWDUST.addProduct(honeyDrop, 0.25f); - if (!OreDictionary.getOres("dustSawdust").isEmpty()) { - EnumHoneyComb.SAWDUST.tryAddProduct(OreDictionary.getOres("dustSawdust").get(0), 1.00f); - } else if (!OreDictionary.getOres("sawdust").isEmpty()) { - EnumHoneyComb.SAWDUST.tryAddProduct(OreDictionary.getOres("sawdust").get(0), 1.00f); - } - - EnumHoneyComb.CERTUS.addProduct(honeyDrop, 0.25f); - EnumHoneyComb.CERTUS.addProduct(new ItemStack(Items.quartz), 0.25f); - if (!OreDictionary.getOres("dustCertusQuartz").isEmpty()) { - EnumHoneyComb.CERTUS.tryAddProduct(OreDictionary.getOres("dustCertusQuartz").get(0), 0.20f); - } - - EnumHoneyComb.ENDERPEARL.addProduct(honeyDrop, 0.25f); - if (!OreDictionary.getOres("dustEnderPearl").isEmpty()) { - EnumHoneyComb.ENDERPEARL.tryAddProduct(OreDictionary.getOres("dustEnderPearl").get(0), 0.25f); - } - - EnumHoneyComb.YELLORIUM.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.YELLORIUM.tryAddProduct(ExtraBeeItems.YelloriumDust, 0.25f); - - EnumHoneyComb.CYANITE.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.CYANITE.tryAddProduct(ExtraBeeItems.CyaniteDust, 0.25f); - - EnumHoneyComb.BLUTONIUM.copyProducts(EnumHoneyComb.STONE); - EnumHoneyComb.BLUTONIUM.tryAddProduct(ExtraBeeItems.BlutoniumDust, 0.25f); - OreDictionary.registerOre("beeComb", new ItemStack(ExtraBees.comb, 1, 32767)); - - for (int i = 0; i < 16; ++i) { - EnumHoneyComb type = EnumHoneyComb.values()[EnumHoneyComb.RED.ordinal() + i]; - if (type != EnumHoneyComb.RED) { - type.copyProducts(EnumHoneyComb.RED); - } - } - - for (int i = 0; i < 16; ++i) { - EnumHoneyComb type = EnumHoneyComb.values()[EnumHoneyComb.RED.ordinal() + i]; - EnumHoneyDrop drop = EnumHoneyDrop.values()[EnumHoneyDrop.RED.ordinal() + i]; - int[] dyeC = {1, 11, 4, 2, 0, 15, 3, 14, 6, 5, 8, 12, 9, 10, 13, 7}; - int k = dyeC[i]; - ItemStack dye = new ItemStack(Items.dye, 1, k); - switch (k) { - case 0: - dye = ExtraBeeItems.BlackDye.get(1); - break; - - case 1: - dye = ExtraBeeItems.RedDye.get(1); - break; - - case 2: - dye = ExtraBeeItems.GreenDye.get(1); - break; - - case 3: - dye = ExtraBeeItems.BrownDye.get(1); - break; - - case 4: - dye = ExtraBeeItems.BlueDye.get(1); - break; - - case 11: - dye = ExtraBeeItems.YellowDye.get(1); - break; - - case 15: - dye = ExtraBeeItems.WhiteDye.get(1); - break; - - } - type.addProduct(drop.get(1), 1.00f); - drop.addRemenant(dye); - } - } - - private static ItemStack getOreDictionary(String string) { - if (OreDictionary.getOres(string).size() > 0) { - return OreDictionary.getOres(string).get(0); - } - return null; - } - - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - return true; - } - - @Override - public int getColorFromItemStack(ItemStack stack, int indexColor) { - EnumHoneyComb comb = EnumHoneyComb.get(stack); - if (comb == null) { - return 0xffffff; - } - if (indexColor == 0) { - return comb.primaryColor; - } - return comb.secondaryColor; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamageForRenderPass(int i, int j) { - if (j > 0) { - return icon1; - } - return icon2; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - icon1 = BinnieCore.proxy.getIcon(register, "forestry", "beeCombs.0"); - icon2 = BinnieCore.proxy.getIcon(register, "forestry", "beeCombs.1"); - } - - public enum VanillaComb { - HONEY, - COCOA, - SIMMERING, - STRINGY, - FROZEN, - DRIPPING, - SILKY, - PARCHED, - MYSTERIOUS, - IRRADIATED, - POWDERY, - REDDENED, - DARKENED, - OMEGA, - WHEATEN, - MOSSY, - QUARTZ; - - public ItemStack get() { - return new ItemStack(Mods.forestry.item("beeCombs"), 1, ordinal()); - } - } + EnumHoneyComb.ZINC.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.ZINC.tryAddProduct(ExtraBeeItems.ZincDust, 1.00f); + + EnumHoneyComb.TITANIUM.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.TITANIUM.tryAddProduct(ExtraBeeItems.TitaniumDust, 1.00f); + + EnumHoneyComb.TUNGSTEN.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.TUNGSTEN.tryAddProduct(ExtraBeeItems.TungstenDust, 1.00f); + + EnumHoneyComb.PLATINUM.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.PLATINUM.tryAddProduct(ExtraBeeItems.PlatinumDust, 1.00f); + + EnumHoneyComb.LAPIS.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.LAPIS.addProduct(new ItemStack(Items.dye, 6, 4), 1.00f); + + EnumHoneyComb.EMERALD.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.EMERALD.tryAddProduct(ExtraBeeItems.EmeraldShard, 1.00f); + + EnumHoneyComb.RUBY.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.RUBY.tryAddProduct(ExtraBeeItems.RubyShard, 1.00f); + + EnumHoneyComb.SAPPHIRE.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.SAPPHIRE.tryAddProduct(ExtraBeeItems.SapphireShard, 1.00f); + + EnumHoneyComb.DIAMOND.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.DIAMOND.tryAddProduct(ExtraBeeItems.DiamondShard, 1.00f); + + EnumHoneyComb.RED.addProduct(honeyDrop, 0.80f); + EnumHoneyComb.RED.addProduct(beeswax, 0.80f); + + EnumHoneyComb.GLOWSTONE.addProduct(honeyDrop, 0.25f); + EnumHoneyComb.GLOWSTONE.addProduct(new ItemStack(Items.glowstone_dust), 1.00f); + + EnumHoneyComb.SALTPETER.addProduct(honeyDrop, 0.25f); + EnumHoneyComb.SALTPETER.tryAddProduct(getOreDictionary("dustSaltpeter"), 1.00f); + + EnumHoneyComb.COMPOST.addProduct(honeyDrop, 0.25f); + EnumHoneyComb.COMPOST.tryAddProduct(Mods.forestry.stack("fertilizerBio"), 1.00f); + + EnumHoneyComb.SAWDUST.addProduct(honeyDrop, 0.25f); + if (!OreDictionary.getOres("dustSawdust").isEmpty()) { + EnumHoneyComb.SAWDUST.tryAddProduct( + OreDictionary.getOres("dustSawdust").get(0), 1.00f); + } else if (!OreDictionary.getOres("sawdust").isEmpty()) { + EnumHoneyComb.SAWDUST.tryAddProduct(OreDictionary.getOres("sawdust").get(0), 1.00f); + } + + EnumHoneyComb.CERTUS.addProduct(honeyDrop, 0.25f); + EnumHoneyComb.CERTUS.addProduct(new ItemStack(Items.quartz), 0.25f); + if (!OreDictionary.getOres("dustCertusQuartz").isEmpty()) { + EnumHoneyComb.CERTUS.tryAddProduct( + OreDictionary.getOres("dustCertusQuartz").get(0), 0.20f); + } + + EnumHoneyComb.ENDERPEARL.addProduct(honeyDrop, 0.25f); + if (!OreDictionary.getOres("dustEnderPearl").isEmpty()) { + EnumHoneyComb.ENDERPEARL.tryAddProduct( + OreDictionary.getOres("dustEnderPearl").get(0), 0.25f); + } + + EnumHoneyComb.YELLORIUM.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.YELLORIUM.tryAddProduct(ExtraBeeItems.YelloriumDust, 0.25f); + + EnumHoneyComb.CYANITE.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.CYANITE.tryAddProduct(ExtraBeeItems.CyaniteDust, 0.25f); + + EnumHoneyComb.BLUTONIUM.copyProducts(EnumHoneyComb.STONE); + EnumHoneyComb.BLUTONIUM.tryAddProduct(ExtraBeeItems.BlutoniumDust, 0.25f); + OreDictionary.registerOre("beeComb", new ItemStack(ExtraBees.comb, 1, 32767)); + + for (int i = 0; i < 16; ++i) { + EnumHoneyComb type = EnumHoneyComb.values()[EnumHoneyComb.RED.ordinal() + i]; + if (type != EnumHoneyComb.RED) { + type.copyProducts(EnumHoneyComb.RED); + } + } + + for (int i = 0; i < 16; ++i) { + EnumHoneyComb type = EnumHoneyComb.values()[EnumHoneyComb.RED.ordinal() + i]; + EnumHoneyDrop drop = EnumHoneyDrop.values()[EnumHoneyDrop.RED.ordinal() + i]; + int[] dyeC = {1, 11, 4, 2, 0, 15, 3, 14, 6, 5, 8, 12, 9, 10, 13, 7}; + int k = dyeC[i]; + ItemStack dye = new ItemStack(Items.dye, 1, k); + switch (k) { + case 0: + dye = ExtraBeeItems.BlackDye.get(1); + break; + + case 1: + dye = ExtraBeeItems.RedDye.get(1); + break; + + case 2: + dye = ExtraBeeItems.GreenDye.get(1); + break; + + case 3: + dye = ExtraBeeItems.BrownDye.get(1); + break; + + case 4: + dye = ExtraBeeItems.BlueDye.get(1); + break; + + case 11: + dye = ExtraBeeItems.YellowDye.get(1); + break; + + case 15: + dye = ExtraBeeItems.WhiteDye.get(1); + break; + } + type.addProduct(drop.get(1), 1.00f); + drop.addRemenant(dye); + } + } + + private static ItemStack getOreDictionary(String string) { + if (OreDictionary.getOres(string).size() > 0) { + return OreDictionary.getOres(string).get(0); + } + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses() { + return true; + } + + @Override + public int getColorFromItemStack(ItemStack stack, int indexColor) { + EnumHoneyComb comb = EnumHoneyComb.get(stack); + if (comb == null) { + return 0xffffff; + } + if (indexColor == 0) { + return comb.primaryColor; + } + return comb.secondaryColor; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamageForRenderPass(int i, int j) { + if (j > 0) { + return icon1; + } + return icon2; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + icon1 = BinnieCore.proxy.getIcon(register, "forestry", "beeCombs.0"); + icon2 = BinnieCore.proxy.getIcon(register, "forestry", "beeCombs.1"); + } + + public enum VanillaComb { + HONEY, + COCOA, + SIMMERING, + STRINGY, + FROZEN, + DRIPPING, + SILKY, + PARCHED, + MYSTERIOUS, + IRRADIATED, + POWDERY, + REDDENED, + DARKENED, + OMEGA, + WHEATEN, + MOSSY, + QUARTZ; + + public ItemStack get() { + return new ItemStack(Mods.forestry.item("beeCombs"), 1, ordinal()); + } + } } diff --git a/src/main/java/binnie/extrabees/products/ItemHoneyDrop.java b/src/main/java/binnie/extrabees/products/ItemHoneyDrop.java index b42f2bcb..eeecb9f1 100644 --- a/src/main/java/binnie/extrabees/products/ItemHoneyDrop.java +++ b/src/main/java/binnie/extrabees/products/ItemHoneyDrop.java @@ -9,42 +9,42 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; public class ItemHoneyDrop extends ItemProduct { - protected IIcon icon1; - protected IIcon icon2; + protected IIcon icon1; + protected IIcon icon2; - public ItemHoneyDrop() { - super(EnumHoneyDrop.values()); - setCreativeTab(Tabs.tabApiculture); - setUnlocalizedName("honeyDrop"); - } + public ItemHoneyDrop() { + super(EnumHoneyDrop.values()); + setCreativeTab(Tabs.tabApiculture); + setUnlocalizedName("honeyDrop"); + } - @Override - @SideOnly(Side.CLIENT) - public boolean requiresMultipleRenderPasses() { - return true; - } + @Override + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses() { + return true; + } - @Override - public int getColorFromItemStack(ItemStack itemStack, int j) { - if (j == 0) { - return EnumHoneyDrop.get(itemStack).primaryColor; - } - return EnumHoneyDrop.get(itemStack).secondaryColor; - } + @Override + public int getColorFromItemStack(ItemStack itemStack, int j) { + if (j == 0) { + return EnumHoneyDrop.get(itemStack).primaryColor; + } + return EnumHoneyDrop.get(itemStack).secondaryColor; + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamageForRenderPass(int i, int j) { - if (j > 0) { - return icon1; - } - return icon2; - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamageForRenderPass(int i, int j) { + if (j > 0) { + return icon1; + } + return icon2; + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - icon1 = BinnieCore.proxy.getIcon(register, "forestry", "honeyDrop.0"); - icon2 = BinnieCore.proxy.getIcon(register, "forestry", "honeyDrop.1"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + icon1 = BinnieCore.proxy.getIcon(register, "forestry", "honeyDrop.0"); + icon2 = BinnieCore.proxy.getIcon(register, "forestry", "honeyDrop.1"); + } } diff --git a/src/main/java/binnie/extrabees/products/ItemProduct.java b/src/main/java/binnie/extrabees/products/ItemProduct.java index e7c8ac73..1e509d81 100644 --- a/src/main/java/binnie/extrabees/products/ItemProduct.java +++ b/src/main/java/binnie/extrabees/products/ItemProduct.java @@ -1,41 +1,40 @@ package binnie.extrabees.products; import binnie.core.item.IItemEnum; +import java.util.List; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import java.util.List; - public class ItemProduct extends Item { - protected IItemEnum[] types; + protected IItemEnum[] types; - public ItemProduct(IItemEnum[] types) { - this.types = types; - setMaxStackSize(64); - setMaxDamage(0); - setHasSubtypes(true); - } + public ItemProduct(IItemEnum[] types) { + this.types = types; + setMaxStackSize(64); + setMaxDamage(0); + setHasSubtypes(true); + } - public IItemEnum get(ItemStack stack) { - int i = stack.getItemDamage(); - if (i >= 0 && i < types.length) { - return types[i]; - } - return types[0]; - } + public IItemEnum get(ItemStack stack) { + int i = stack.getItemDamage(); + if (i >= 0 && i < types.length) { + return types[i]; + } + return types[0]; + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return get(stack).getName(stack); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return get(stack).getName(stack); + } - @Override - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (IItemEnum type : types) { - if (type.isActive()) { - list.add(new ItemStack(this, 1, type.ordinal())); - } - } - } + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (IItemEnum type : types) { + if (type.isActive()) { + list.add(new ItemStack(this, 1, type.ordinal())); + } + } + } } diff --git a/src/main/java/binnie/extrabees/products/ItemPropolis.java b/src/main/java/binnie/extrabees/products/ItemPropolis.java index 560727c4..aaf97490 100644 --- a/src/main/java/binnie/extrabees/products/ItemPropolis.java +++ b/src/main/java/binnie/extrabees/products/ItemPropolis.java @@ -8,23 +8,23 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; public class ItemPropolis extends ItemProduct { - public ItemPropolis() { - super(EnumPropolis.values()); - setCreativeTab(Tabs.tabApiculture); - setUnlocalizedName("propolis"); - } + public ItemPropolis() { + super(EnumPropolis.values()); + setCreativeTab(Tabs.tabApiculture); + setUnlocalizedName("propolis"); + } - @Override - public int getColorFromItemStack(ItemStack itemStack, int j) { - if (j == 0) { - return EnumPropolis.get(itemStack).primaryColor; - } - return EnumPropolis.get(itemStack).secondaryColor; - } + @Override + public int getColorFromItemStack(ItemStack itemStack, int j) { + if (j == 0) { + return EnumPropolis.get(itemStack).primaryColor; + } + return EnumPropolis.get(itemStack).secondaryColor; + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - itemIcon = BinnieCore.proxy.getIcon(register, "forestry", "propolis.0"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = BinnieCore.proxy.getIcon(register, "forestry", "propolis.0"); + } } diff --git a/src/main/java/binnie/extrabees/products/ModuleProducts.java b/src/main/java/binnie/extrabees/products/ModuleProducts.java index dd620ffb..9b381333 100644 --- a/src/main/java/binnie/extrabees/products/ModuleProducts.java +++ b/src/main/java/binnie/extrabees/products/ModuleProducts.java @@ -6,31 +6,31 @@ import net.minecraft.init.Items; import net.minecraftforge.oredict.OreDictionary; public class ModuleProducts implements IInitializable { - @Override - public void preInit() { - ExtraBees.honeyDrop = new ItemHoneyDrop(); - ExtraBees.comb = new ItemHoneyComb(); - ExtraBees.propolis = new ItemPropolis(); - OreDictionary.registerOre("ingotIron", Items.iron_ingot); - OreDictionary.registerOre("ingotGold", Items.gold_ingot); - OreDictionary.registerOre("gemDiamond", Items.diamond); - } + @Override + public void preInit() { + ExtraBees.honeyDrop = new ItemHoneyDrop(); + ExtraBees.comb = new ItemHoneyComb(); + ExtraBees.propolis = new ItemPropolis(); + OreDictionary.registerOre("ingotIron", Items.iron_ingot); + OreDictionary.registerOre("ingotGold", Items.gold_ingot); + OreDictionary.registerOre("gemDiamond", Items.diamond); + } - @Override - public void init() { - ItemHoneyComb.addSubtypes(); - } + @Override + public void init() { + ItemHoneyComb.addSubtypes(); + } - @Override - public void postInit() { - for (EnumHoneyComb info : EnumHoneyComb.values()) { - info.addRecipe(); - } - for (EnumHoneyDrop info2 : EnumHoneyDrop.values()) { - info2.addRecipe(); - } - for (EnumPropolis info3 : EnumPropolis.values()) { - info3.addRecipe(); - } - } + @Override + public void postInit() { + for (EnumHoneyComb info : EnumHoneyComb.values()) { + info.addRecipe(); + } + for (EnumHoneyDrop info2 : EnumHoneyDrop.values()) { + info2.addRecipe(); + } + for (EnumPropolis info3 : EnumPropolis.values()) { + info3.addRecipe(); + } + } } diff --git a/src/main/java/binnie/extrabees/proxy/ExtraBeesProxy.java b/src/main/java/binnie/extrabees/proxy/ExtraBeesProxy.java index 3976e793..552610df 100644 --- a/src/main/java/binnie/extrabees/proxy/ExtraBeesProxy.java +++ b/src/main/java/binnie/extrabees/proxy/ExtraBeesProxy.java @@ -4,7 +4,7 @@ import binnie.core.proxy.BinnieModProxy; import binnie.extrabees.ExtraBees; public class ExtraBeesProxy extends BinnieModProxy { - public ExtraBeesProxy() { - super(ExtraBees.instance); - } + public ExtraBeesProxy() { + super(ExtraBees.instance); + } } diff --git a/src/main/java/binnie/extrabees/proxy/ExtraBeesProxyClient.java b/src/main/java/binnie/extrabees/proxy/ExtraBeesProxyClient.java index 1d27543e..78b39cdd 100644 --- a/src/main/java/binnie/extrabees/proxy/ExtraBeesProxyClient.java +++ b/src/main/java/binnie/extrabees/proxy/ExtraBeesProxyClient.java @@ -1,4 +1,3 @@ package binnie.extrabees.proxy; -public class ExtraBeesProxyClient extends ExtraBeesProxy { -} +public class ExtraBeesProxyClient extends ExtraBeesProxy {} diff --git a/src/main/java/binnie/extrabees/proxy/ExtraBeesProxyServer.java b/src/main/java/binnie/extrabees/proxy/ExtraBeesProxyServer.java index ec85c8ae..593f4ae2 100644 --- a/src/main/java/binnie/extrabees/proxy/ExtraBeesProxyServer.java +++ b/src/main/java/binnie/extrabees/proxy/ExtraBeesProxyServer.java @@ -1,4 +1,3 @@ package binnie.extrabees.proxy; -public class ExtraBeesProxyServer extends ExtraBeesProxy { -} +public class ExtraBeesProxyServer extends ExtraBeesProxy {} diff --git a/src/main/java/binnie/extrabees/worldgen/BlockExtraBeeHive.java b/src/main/java/binnie/extrabees/worldgen/BlockExtraBeeHive.java index a958413f..25184a05 100644 --- a/src/main/java/binnie/extrabees/worldgen/BlockExtraBeeHive.java +++ b/src/main/java/binnie/extrabees/worldgen/BlockExtraBeeHive.java @@ -5,6 +5,9 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.apiculture.IHiveDrop; import forestry.api.core.Tabs; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -13,84 +16,82 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - public class BlockExtraBeeHive extends Block { - protected IIcon[][] icons; + protected IIcon[][] icons; - public BlockExtraBeeHive() { - super(ExtraBees.materialBeehive); - setLightLevel(0.2f); - setHardness(1.0f); - setTickRandomly(true); - setBlockName("hive"); - setCreativeTab(Tabs.tabApiculture); - } + public BlockExtraBeeHive() { + super(ExtraBees.materialBeehive); + setLightLevel(0.2f); + setHardness(1.0f); + setTickRandomly(true); + setBlockName("hive"); + setCreativeTab(Tabs.tabApiculture); + } - public String getUnlocalizedName(ItemStack par1ItemStack) { - return "extrabees.block.hive." + par1ItemStack.getItemDamage(); - } + public String getUnlocalizedName(ItemStack par1ItemStack) { + return "extrabees.block.hive." + par1ItemStack.getItemDamage(); + } - @Override - public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List itemList) { - for (int i = 0; i < 4; ++i) { - itemList.add(new ItemStack(this, 1, i)); - } - } + @Override + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List itemList) { + for (int i = 0; i < 4; ++i) { + itemList.add(new ItemStack(this, 1, i)); + } + } - @Override - public IIcon getIcon(int side, int metadata) { - if (metadata >= EnumHiveType.values().length) { - return null; - } - if (side < 2) { - return icons[metadata][1]; - } - return icons[metadata][0]; - } + @Override + public IIcon getIcon(int side, int metadata) { + if (metadata >= EnumHiveType.values().length) { + return null; + } + if (side < 2) { + return icons[metadata][1]; + } + return icons[metadata][0]; + } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - icons = new IIcon[EnumHiveType.values().length][2]; - for (EnumHiveType hive : EnumHiveType.values()) { - icons[hive.ordinal()][0] = ExtraBees.proxy.getIcon(register, "hive/" + hive.toString().toLowerCase() + ".0"); - icons[hive.ordinal()][1] = ExtraBees.proxy.getIcon(register, "hive/" + hive.toString().toLowerCase() + ".1"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + icons = new IIcon[EnumHiveType.values().length][2]; + for (EnumHiveType hive : EnumHiveType.values()) { + icons[hive.ordinal()][0] = + ExtraBees.proxy.getIcon(register, "hive/" + hive.toString().toLowerCase() + ".0"); + icons[hive.ordinal()][1] = + ExtraBees.proxy.getIcon(register, "hive/" + hive.toString().toLowerCase() + ".1"); + } + } - @Override - public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { - ArrayList ret = new ArrayList<>(); - List dropList = EnumHiveType.values()[metadata].drops; - Collections.shuffle(dropList); - int tries = 0; + @Override + public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { + ArrayList ret = new ArrayList<>(); + List dropList = EnumHiveType.values()[metadata].drops; + Collections.shuffle(dropList); + int tries = 0; - for (boolean hasPrincess = false; tries <= 10 && !hasPrincess; hasPrincess = true) { - tries++; - for (IHiveDrop drop : dropList) { - if (world.rand.nextInt(100) < drop.getChance(world, x, y, z)) { - ret.add(drop.getPrincess(world, x, y, z, fortune)); - break; - } - } - } + for (boolean hasPrincess = false; tries <= 10 && !hasPrincess; hasPrincess = true) { + tries++; + for (IHiveDrop drop : dropList) { + if (world.rand.nextInt(100) < drop.getChance(world, x, y, z)) { + ret.add(drop.getPrincess(world, x, y, z, fortune)); + break; + } + } + } - for (IHiveDrop drop : dropList) { - if (world.rand.nextInt(100) < drop.getChance(world, x, y, z)) { - ret.addAll(drop.getDrones(world, x, y, z, fortune)); - break; - } - } + for (IHiveDrop drop : dropList) { + if (world.rand.nextInt(100) < drop.getChance(world, x, y, z)) { + ret.addAll(drop.getDrones(world, x, y, z, fortune)); + break; + } + } - for (IHiveDrop drop : dropList) { - if (world.rand.nextInt(100) < drop.getChance(world, x, y, z)) { - ret.addAll(drop.getAdditional(world, x, y, z, fortune)); - break; - } - } - return ret; - } + for (IHiveDrop drop : dropList) { + if (world.rand.nextInt(100) < drop.getChance(world, x, y, z)) { + ret.addAll(drop.getAdditional(world, x, y, z, fortune)); + break; + } + } + return ret; + } } diff --git a/src/main/java/binnie/extrabees/worldgen/EnumHiveType.java b/src/main/java/binnie/extrabees/worldgen/EnumHiveType.java index dcbd3395..ab9cb2c7 100644 --- a/src/main/java/binnie/extrabees/worldgen/EnumHiveType.java +++ b/src/main/java/binnie/extrabees/worldgen/EnumHiveType.java @@ -1,19 +1,18 @@ package binnie.extrabees.worldgen; import forestry.api.apiculture.IHiveDrop; - import java.util.ArrayList; import java.util.List; public enum EnumHiveType { - WATER, - ROCK, - NETHER, - MARBLE; + WATER, + ROCK, + NETHER, + MARBLE; - public List drops; + public List drops; - EnumHiveType() { - drops = new ArrayList<>(); - } + EnumHiveType() { + drops = new ArrayList<>(); + } } diff --git a/src/main/java/binnie/extrabees/worldgen/HiveDrop.java b/src/main/java/binnie/extrabees/worldgen/HiveDrop.java index 8e61c336..01173d92 100644 --- a/src/main/java/binnie/extrabees/worldgen/HiveDrop.java +++ b/src/main/java/binnie/extrabees/worldgen/HiveDrop.java @@ -6,56 +6,56 @@ import forestry.api.apiculture.IAlleleBeeSpecies; import forestry.api.apiculture.IBeeRoot; import forestry.api.apiculture.IHiveDrop; import forestry.api.genetics.IAllele; +import java.util.ArrayList; +import java.util.Collections; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import java.util.ArrayList; -import java.util.Collections; - public class HiveDrop implements IHiveDrop { - private IAllele[] template; - private ArrayList additional; - private int chance; + private IAllele[] template; + private ArrayList additional; + private int chance; - public HiveDrop(IAlleleBeeSpecies species, int chance) { - this(Binnie.Genetics.getBeeRoot().getTemplate(species.getUID()), new ItemStack[0], chance); - } + public HiveDrop(IAlleleBeeSpecies species, int chance) { + this(Binnie.Genetics.getBeeRoot().getTemplate(species.getUID()), new ItemStack[0], chance); + } - public HiveDrop(IAllele[] template, ItemStack[] bonus, int chance) { - additional = new ArrayList<>(); - if (template == null) { - template = Binnie.Genetics.getBeeRoot().getDefaultTemplate(); - } - this.template = template; - this.chance = chance; - Collections.addAll(additional, bonus); - } + public HiveDrop(IAllele[] template, ItemStack[] bonus, int chance) { + additional = new ArrayList<>(); + if (template == null) { + template = Binnie.Genetics.getBeeRoot().getDefaultTemplate(); + } + this.template = template; + this.chance = chance; + Collections.addAll(additional, bonus); + } - @Override - public ItemStack getPrincess(World world, int x, int y, int z, int fortune) { - IBeeRoot beeRoot = Binnie.Genetics.getBeeRoot(); - return beeRoot.getMemberStack(beeRoot.getBee(world, beeRoot.templateAsGenome(template)), EnumBeeType.PRINCESS.ordinal()); - } + @Override + public ItemStack getPrincess(World world, int x, int y, int z, int fortune) { + IBeeRoot beeRoot = Binnie.Genetics.getBeeRoot(); + return beeRoot.getMemberStack( + beeRoot.getBee(world, beeRoot.templateAsGenome(template)), EnumBeeType.PRINCESS.ordinal()); + } - @Override - public ArrayList getDrones(World world, int x, int y, int z, int fortune) { - ArrayList ret = new ArrayList<>(); - IBeeRoot beeRoot = Binnie.Genetics.getBeeRoot(); - ret.add(beeRoot.getMemberStack(beeRoot.templateAsIndividual(template), EnumBeeType.DRONE.ordinal())); - return ret; - } + @Override + public ArrayList getDrones(World world, int x, int y, int z, int fortune) { + ArrayList ret = new ArrayList<>(); + IBeeRoot beeRoot = Binnie.Genetics.getBeeRoot(); + ret.add(beeRoot.getMemberStack(beeRoot.templateAsIndividual(template), EnumBeeType.DRONE.ordinal())); + return ret; + } - @Override - public ArrayList getAdditional(World world, int x, int y, int z, int fortune) { - ArrayList ret = new ArrayList<>(); - for (ItemStack stack : additional) { - ret.add(stack.copy()); - } - return ret; - } + @Override + public ArrayList getAdditional(World world, int x, int y, int z, int fortune) { + ArrayList ret = new ArrayList<>(); + for (ItemStack stack : additional) { + ret.add(stack.copy()); + } + return ret; + } - @Override - public int getChance(World world, int x, int y, int z) { - return chance; - } + @Override + public int getChance(World world, int x, int y, int z) { + return chance; + } } diff --git a/src/main/java/binnie/extrabees/worldgen/ItemBeehive.java b/src/main/java/binnie/extrabees/worldgen/ItemBeehive.java index ac09d71d..4bc0c88d 100644 --- a/src/main/java/binnie/extrabees/worldgen/ItemBeehive.java +++ b/src/main/java/binnie/extrabees/worldgen/ItemBeehive.java @@ -1,36 +1,35 @@ package binnie.extrabees.worldgen; import binnie.core.util.I18N; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; -import java.util.List; - public class ItemBeehive extends ItemBlock { - public ItemBeehive(Block block) { - super(block); - setMaxDamage(0); - setHasSubtypes(true); - setCreativeTab(CreativeTabs.tabBlock); - } + public ItemBeehive(Block block) { + super(block); + setMaxDamage(0); + setHasSubtypes(true); + setCreativeTab(CreativeTabs.tabBlock); + } - @Override - public int getMetadata(int i) { - return i; - } + @Override + public int getMetadata(int i) { + return i; + } - @Override - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (int i = 0; i < 4; ++i) { - list.add(new ItemStack(this, 1, i)); - } - } + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (int i = 0; i < 4; ++i) { + list.add(new ItemStack(this, 1, i)); + } + } - @Override - public String getItemStackDisplayName(ItemStack itemStack) { - return I18N.localise("extrabees.block.hive." + itemStack.getItemDamage()); - } + @Override + public String getItemStackDisplayName(ItemStack itemStack) { + return I18N.localise("extrabees.block.hive." + itemStack.getItemDamage()); + } } diff --git a/src/main/java/binnie/extrabees/worldgen/MaterialBeehive.java b/src/main/java/binnie/extrabees/worldgen/MaterialBeehive.java index c1bf38e0..9264b7c5 100644 --- a/src/main/java/binnie/extrabees/worldgen/MaterialBeehive.java +++ b/src/main/java/binnie/extrabees/worldgen/MaterialBeehive.java @@ -4,14 +4,14 @@ import net.minecraft.block.material.MapColor; import net.minecraft.block.material.Material; public class MaterialBeehive extends Material { - public MaterialBeehive() { - super(MapColor.stoneColor); - setRequiresTool(); - setImmovableMobility(); - } + public MaterialBeehive() { + super(MapColor.stoneColor); + setRequiresTool(); + setImmovableMobility(); + } - @Override - public boolean isOpaque() { - return true; - } + @Override + public boolean isOpaque() { + return true; + } } diff --git a/src/main/java/binnie/extrabees/worldgen/ModuleGeneration.java b/src/main/java/binnie/extrabees/worldgen/ModuleGeneration.java index 128ace12..4a189485 100644 --- a/src/main/java/binnie/extrabees/worldgen/ModuleGeneration.java +++ b/src/main/java/binnie/extrabees/worldgen/ModuleGeneration.java @@ -8,76 +8,87 @@ import buildcraft.api.core.BuildCraftAPI; import cpw.mods.fml.common.IWorldGenerator; import cpw.mods.fml.common.registry.GameRegistry; import forestry.apiculture.genetics.BeeDefinition; +import java.util.Random; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; -import java.util.Random; - public class ModuleGeneration implements IWorldGenerator, IInitializable { - protected static int waterRate = 2; - protected static int rockRate = 2; - protected static int netherRate = 2; - protected static int marbleRate = 2; + protected static int waterRate = 2; + protected static int rockRate = 2; + protected static int netherRate = 2; + protected static int marbleRate = 2; - @Override - public void preInit() { - ExtraBees.materialBeehive = new MaterialBeehive(); - ExtraBees.hive = new BlockExtraBeeHive(); - GameRegistry.registerBlock(ExtraBees.hive, ItemBeehive.class, "hive"); - } + @Override + public void preInit() { + ExtraBees.materialBeehive = new MaterialBeehive(); + ExtraBees.hive = new BlockExtraBeeHive(); + GameRegistry.registerBlock(ExtraBees.hive, ItemBeehive.class, "hive"); + } - @Override - public void init() { - ModuleGeneration.waterRate = ConfigurationMain.waterHiveRate; - ModuleGeneration.rockRate = ConfigurationMain.rockHiveRate; - ModuleGeneration.netherRate = ConfigurationMain.netherHiveRate; - GameRegistry.registerWorldGenerator(new ModuleGeneration(), 0); - if (!ConfigurationMain.canQuarryMineHives) { - BuildCraftAPI.softBlocks.add(ExtraBees.hive); - } - } + @Override + public void init() { + ModuleGeneration.waterRate = ConfigurationMain.waterHiveRate; + ModuleGeneration.rockRate = ConfigurationMain.rockHiveRate; + ModuleGeneration.netherRate = ConfigurationMain.netherHiveRate; + GameRegistry.registerWorldGenerator(new ModuleGeneration(), 0); + if (!ConfigurationMain.canQuarryMineHives) { + BuildCraftAPI.softBlocks.add(ExtraBees.hive); + } + } - @Override - public void postInit() { - EnumHiveType.WATER.drops.add(new HiveDrop(ExtraBeeDefinition.WATER.getGenome().getPrimary(), 80)); - EnumHiveType.WATER.drops.add(new HiveDrop(BeeDefinition.VALIANT.getGenome().getPrimary(), 3)); + @Override + public void postInit() { + EnumHiveType.WATER.drops.add( + new HiveDrop(ExtraBeeDefinition.WATER.getGenome().getPrimary(), 80)); + EnumHiveType.WATER.drops.add( + new HiveDrop(BeeDefinition.VALIANT.getGenome().getPrimary(), 3)); - EnumHiveType.ROCK.drops.add(new HiveDrop(ExtraBeeDefinition.ROCK.getGenome().getPrimary(), 80)); - EnumHiveType.ROCK.drops.add(new HiveDrop(BeeDefinition.VALIANT.getGenome().getPrimary(), 3)); + EnumHiveType.ROCK.drops.add( + new HiveDrop(ExtraBeeDefinition.ROCK.getGenome().getPrimary(), 80)); + EnumHiveType.ROCK.drops.add( + new HiveDrop(BeeDefinition.VALIANT.getGenome().getPrimary(), 3)); - EnumHiveType.NETHER.drops.add(new HiveDrop(ExtraBeeDefinition.BASALT.getGenome().getPrimary(), 80)); - EnumHiveType.NETHER.drops.add(new HiveDrop(BeeDefinition.VALIANT.getGenome().getPrimary(), 3)); + EnumHiveType.NETHER.drops.add( + new HiveDrop(ExtraBeeDefinition.BASALT.getGenome().getPrimary(), 80)); + EnumHiveType.NETHER.drops.add( + new HiveDrop(BeeDefinition.VALIANT.getGenome().getPrimary(), 3)); - ExtraBees.hive.setHarvestLevel("scoop", 0, 0); - ExtraBees.hive.setHarvestLevel("scoop", 0, 1); - ExtraBees.hive.setHarvestLevel("scoop", 0, 2); - ExtraBees.hive.setHarvestLevel("scoop", 0, 3); - } + ExtraBees.hive.setHarvestLevel("scoop", 0, 0); + ExtraBees.hive.setHarvestLevel("scoop", 0, 1); + ExtraBees.hive.setHarvestLevel("scoop", 0, 2); + ExtraBees.hive.setHarvestLevel("scoop", 0, 3); + } - @Override - public void generate(Random rand, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { - chunkX <<= 4; - chunkZ <<= 4; + @Override + public void generate( + Random rand, + int chunkX, + int chunkZ, + World world, + IChunkProvider chunkGenerator, + IChunkProvider chunkProvider) { + chunkX <<= 4; + chunkZ <<= 4; - for (int i = 0; i < ModuleGeneration.waterRate; ++i) { - int randPosX = chunkX + rand.nextInt(16); - int randPosY = rand.nextInt(50) + 20; - int randPosZ = chunkZ + rand.nextInt(16); - new WorldGenHiveWater().generate(world, rand, randPosX, randPosY, randPosZ); - } + for (int i = 0; i < ModuleGeneration.waterRate; ++i) { + int randPosX = chunkX + rand.nextInt(16); + int randPosY = rand.nextInt(50) + 20; + int randPosZ = chunkZ + rand.nextInt(16); + new WorldGenHiveWater().generate(world, rand, randPosX, randPosY, randPosZ); + } - for (int i = 0; i < ModuleGeneration.rockRate; ++i) { - int randPosX = chunkX + rand.nextInt(16); - int randPosY = rand.nextInt(50) + 20; - int randPosZ = chunkZ + rand.nextInt(16); - new WorldGenHiveRock().generate(world, rand, randPosX, randPosY, randPosZ); - } + for (int i = 0; i < ModuleGeneration.rockRate; ++i) { + int randPosX = chunkX + rand.nextInt(16); + int randPosY = rand.nextInt(50) + 20; + int randPosZ = chunkZ + rand.nextInt(16); + new WorldGenHiveRock().generate(world, rand, randPosX, randPosY, randPosZ); + } - for (int i = 0; i < ModuleGeneration.netherRate; ++i) { - int randPosX = chunkX + rand.nextInt(16); - int randPosY = rand.nextInt(50) + 20; - int randPosZ = chunkZ + rand.nextInt(16); - new WorldGenHiveNether().generate(world, rand, randPosX, randPosY, randPosZ); - } - } + for (int i = 0; i < ModuleGeneration.netherRate; ++i) { + int randPosX = chunkX + rand.nextInt(16); + int randPosY = rand.nextInt(50) + 20; + int randPosZ = chunkZ + rand.nextInt(16); + new WorldGenHiveNether().generate(world, rand, randPosX, randPosY, randPosZ); + } + } } diff --git a/src/main/java/binnie/extrabees/worldgen/WorldGenHiveNether.java b/src/main/java/binnie/extrabees/worldgen/WorldGenHiveNether.java index a95d25ca..a0a33f43 100644 --- a/src/main/java/binnie/extrabees/worldgen/WorldGenHiveNether.java +++ b/src/main/java/binnie/extrabees/worldgen/WorldGenHiveNether.java @@ -1,6 +1,7 @@ package binnie.extrabees.worldgen; import binnie.extrabees.ExtraBees; +import java.util.Random; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; @@ -8,31 +9,27 @@ import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.common.BiomeDictionary; -import java.util.Random; - public class WorldGenHiveNether extends WorldGenerator { - @Override - public boolean generate(World world, Random random, int i, int j, int k) { - BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(i, k); - if (!BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.NETHER)) { - return true; - } + @Override + public boolean generate(World world, Random random, int i, int j, int k) { + BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(i, k); + if (!BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.NETHER)) { + return true; + } - if (embedInWall(world, Blocks.netherrack, i, j, k)) { - world.setBlock(i, j, k, ExtraBees.hive, 2, 0); - } - return true; - } + if (embedInWall(world, Blocks.netherrack, i, j, k)) { + world.setBlock(i, j, k, ExtraBees.hive, 2, 0); + } + return true; + } - public boolean embedInWall(World world, Block blockID, int i, int j, int k) { - return world.getBlock(i, j, k) == blockID - && world.getBlock(i, j + 1, k) == blockID - && world.getBlock(i, j - 1, k) == blockID - && ( - world.isAirBlock(i + 1, j, k) - || world.isAirBlock(i - 1, j, k) - || world.isAirBlock(i, j, k + 1) - || world.isAirBlock(i, j, k - 1) - ); - } + public boolean embedInWall(World world, Block blockID, int i, int j, int k) { + return world.getBlock(i, j, k) == blockID + && world.getBlock(i, j + 1, k) == blockID + && world.getBlock(i, j - 1, k) == blockID + && (world.isAirBlock(i + 1, j, k) + || world.isAirBlock(i - 1, j, k) + || world.isAirBlock(i, j, k + 1) + || world.isAirBlock(i, j, k - 1)); + } } diff --git a/src/main/java/binnie/extrabees/worldgen/WorldGenHiveRock.java b/src/main/java/binnie/extrabees/worldgen/WorldGenHiveRock.java index 70943ffb..69c5d779 100644 --- a/src/main/java/binnie/extrabees/worldgen/WorldGenHiveRock.java +++ b/src/main/java/binnie/extrabees/worldgen/WorldGenHiveRock.java @@ -1,26 +1,25 @@ package binnie.extrabees.worldgen; import binnie.extrabees.ExtraBees; +import java.util.Random; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.gen.feature.WorldGenerator; -import java.util.Random; - public class WorldGenHiveRock extends WorldGenerator { - @Override - public boolean generate(World world, Random random, int i, int j, int k) { - BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(i, k); - Block block = world.getBlock(i, j, k); - if (block == null) { - return true; - } + @Override + public boolean generate(World world, Random random, int i, int j, int k) { + BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(i, k); + Block block = world.getBlock(i, j, k); + if (block == null) { + return true; + } - if (block.isReplaceableOreGen(world, i, j, k, Blocks.stone)) { - world.setBlock(i, j, k, ExtraBees.hive, 1, 0); - } - return true; - } + if (block.isReplaceableOreGen(world, i, j, k, Blocks.stone)) { + world.setBlock(i, j, k, ExtraBees.hive, 1, 0); + } + return true; + } } diff --git a/src/main/java/binnie/extrabees/worldgen/WorldGenHiveWater.java b/src/main/java/binnie/extrabees/worldgen/WorldGenHiveWater.java index 9b477bda..a142eeaf 100644 --- a/src/main/java/binnie/extrabees/worldgen/WorldGenHiveWater.java +++ b/src/main/java/binnie/extrabees/worldgen/WorldGenHiveWater.java @@ -1,28 +1,30 @@ package binnie.extrabees.worldgen; import binnie.extrabees.ExtraBees; +import java.util.Random; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.gen.feature.WorldGenerator; -import java.util.Random; - public class WorldGenHiveWater extends WorldGenerator { - @Override - public boolean generate(World world, Random random, int i, int j, int k) { - BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(i, k); - int i2 = i + random.nextInt(8) - random.nextInt(8); - int j2 = j + random.nextInt(4) - random.nextInt(4); - int k2 = k + random.nextInt(8) - random.nextInt(8); - if (world.getBlock(i2, j2, k2) != Blocks.water && world.getBlock(i2, j2, k2) != Blocks.water) { - return false; - } + @Override + public boolean generate(World world, Random random, int i, int j, int k) { + BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(i, k); + int i2 = i + random.nextInt(8) - random.nextInt(8); + int j2 = j + random.nextInt(4) - random.nextInt(4); + int k2 = k + random.nextInt(8) - random.nextInt(8); + if (world.getBlock(i2, j2, k2) != Blocks.water && world.getBlock(i2, j2, k2) != Blocks.water) { + return false; + } - if (world.getBlock(i2, j2 - 1, k2).getMaterial() == Material.sand || world.getBlock(i2, j2 - 1, k2).getMaterial() == Material.clay || world.getBlock(i2, j2 - 1, k2).getMaterial() == Material.ground || world.getBlock(i2, j2 - 1, k2).getMaterial() == Material.rock) { - world.setBlock(i2, j2, k2, ExtraBees.hive, 0, 0); - } - return true; - } + if (world.getBlock(i2, j2 - 1, k2).getMaterial() == Material.sand + || world.getBlock(i2, j2 - 1, k2).getMaterial() == Material.clay + || world.getBlock(i2, j2 - 1, k2).getMaterial() == Material.ground + || world.getBlock(i2, j2 - 1, k2).getMaterial() == Material.rock) { + world.setBlock(i2, j2, k2, ExtraBees.hive, 0, 0); + } + return true; + } } diff --git a/src/main/java/binnie/extratrees/ExtraTrees.java b/src/main/java/binnie/extratrees/ExtraTrees.java index 1531d836..0e6c038e 100644 --- a/src/main/java/binnie/extratrees/ExtraTrees.java +++ b/src/main/java/binnie/extratrees/ExtraTrees.java @@ -29,112 +29,108 @@ import net.minecraft.block.Block; import net.minecraft.item.Item; @Mod( - modid = "ExtraTrees", - name = "Extra Trees", - version = BinnieCore.VERSION, - useMetadata = true, - dependencies = "after:BinnieCore" -) + modid = "ExtraTrees", + name = "Extra Trees", + version = BinnieCore.VERSION, + useMetadata = true, + dependencies = "after:BinnieCore") public class ExtraTrees extends AbstractMod { - @Mod.Instance("ExtraTrees") - public static ExtraTrees instance; + @Mod.Instance("ExtraTrees") + public static ExtraTrees instance; - @SidedProxy( - clientSide = "binnie.extratrees.proxy.ProxyClient", - serverSide = "binnie.extratrees.proxy.ProxyServer" - ) - public static Proxy proxy; + @SidedProxy(clientSide = "binnie.extratrees.proxy.ProxyClient", serverSide = "binnie.extratrees.proxy.ProxyServer") + public static Proxy proxy; - public static Item itemDictionary; - public static Item itemDictionaryLepi; - public static Item itemMisc; - public static Item itemFood; - public static Block blockStairs; - public static Block blockLog; - public static BlockCarpentry blockCarpentry; - public static Block blockPlanks; - public static Block blockShrubLeaves; - public static Block blockMachine; - public static Block blockFence; - public static BlockCarpentry blockPanel; - public static Block blockSlab; - public static Block blockDoubleSlab; - public static Item itemHammer; - public static Item itemDurableHammer; - public static Block blockGate; - public static Block blockDoor; - public static BlockMultiFence blockMultiFence; - public static BlockHedge blockHedge; - public static BlockStainedDesign blockStained; - public static int doorRenderId; - public static int branchRenderId; - public static int fenceID; - public static int stairsID; + public static Item itemDictionary; + public static Item itemDictionaryLepi; + public static Item itemMisc; + public static Item itemFood; + public static Block blockStairs; + public static Block blockLog; + public static BlockCarpentry blockCarpentry; + public static Block blockPlanks; + public static Block blockShrubLeaves; + public static Block blockMachine; + public static Block blockFence; + public static BlockCarpentry blockPanel; + public static Block blockSlab; + public static Block blockDoubleSlab; + public static Item itemHammer; + public static Item itemDurableHammer; + public static Block blockGate; + public static Block blockDoor; + public static BlockMultiFence blockMultiFence; + public static BlockHedge blockHedge; + public static BlockStainedDesign blockStained; + public static int doorRenderId; + public static int branchRenderId; + public static int fenceID; + public static int stairsID; - public ExtraTrees() { - ExtraTrees.instance = this; - } + public ExtraTrees() { + ExtraTrees.instance = this; + } - @Mod.EventHandler - public void preInit(FMLPreInitializationEvent event) { - addModule(new ModuleBlocks()); - addModule(new ModuleItems()); - addModule(new ModuleGenetics()); - addModule(new ModuleCarpentry()); - addModule(new ModuleMachine()); - addModule(new ModuleCore()); - IMCForNEI.IMCSender(); - preInit(); - } + @Mod.EventHandler + public void preInit(FMLPreInitializationEvent event) { + addModule(new ModuleBlocks()); + addModule(new ModuleItems()); + addModule(new ModuleGenetics()); + addModule(new ModuleCarpentry()); + addModule(new ModuleMachine()); + addModule(new ModuleCore()); + IMCForNEI.IMCSender(); + preInit(); + } - @Mod.EventHandler - public void init(FMLInitializationEvent event) { - init(); - } + @Mod.EventHandler + public void init(FMLInitializationEvent event) { + init(); + } - @Mod.EventHandler - public void postInit(FMLPostInitializationEvent event) { - postInit(); - } + @Mod.EventHandler + public void postInit(FMLPostInitializationEvent event) { + postInit(); + } - @Override - public IBinnieGUID[] getGUIDs() { - return ExtraTreesGUID.values(); - } + @Override + public IBinnieGUID[] getGUIDs() { + return ExtraTreesGUID.values(); + } - @Override - public Class[] getConfigs() { - return new Class[]{ConfigurationMain.class}; - } + @Override + public Class[] getConfigs() { + return new Class[] {ConfigurationMain.class}; + } - @Override - public String getChannel() { - return "ET"; - } + @Override + public String getChannel() { + return "ET"; + } - @Override - public IProxyCore getProxy() { - return ExtraTrees.proxy; - } + @Override + public IProxyCore getProxy() { + return ExtraTrees.proxy; + } - @Override - public String getModID() { - return "extratrees"; - } + @Override + public String getModID() { + return "extratrees"; + } - @Override - protected Class getPacketHandler() { - return PacketHandler.class; - } + @Override + protected Class getPacketHandler() { + return PacketHandler.class; + } - @Override - public boolean isActive() { - return BinnieCore.isExtraTreesActive(); - } + @Override + public boolean isActive() { + return BinnieCore.isExtraTreesActive(); + } - public static class PacketHandler extends BinniePacketHandler { - public PacketHandler() { - super(ExtraBees.instance); - } - } + public static class PacketHandler extends BinniePacketHandler { + public PacketHandler() { + super(ExtraBees.instance); + } + } } diff --git a/src/main/java/binnie/extratrees/FakeWorld.java b/src/main/java/binnie/extratrees/FakeWorld.java index 9efbb9bc..b35eaf65 100644 --- a/src/main/java/binnie/extratrees/FakeWorld.java +++ b/src/main/java/binnie/extratrees/FakeWorld.java @@ -3,6 +3,7 @@ package binnie.extratrees; import binnie.core.block.TileEntityMetadata; import forestry.api.arboriculture.EnumWoodType; import forestry.arboriculture.tiles.TileWood; +import java.lang.reflect.Constructor; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.init.Blocks; @@ -15,117 +16,113 @@ import net.minecraft.world.WorldType; import net.minecraft.world.chunk.IChunkProvider; import sun.reflect.ReflectionFactory; -import java.lang.reflect.Constructor; - public class FakeWorld extends World { - public static FakeWorld instance = SilentObjectCreator.create(FakeWorld.class); + public static FakeWorld instance = SilentObjectCreator.create(FakeWorld.class); - protected Block block; - protected int metadata; - protected TileEntity te; + protected Block block; + protected int metadata; + protected TileEntity te; - //It is never called. - private FakeWorld() { - super(null, "", null, new WorldSettings(Long.MAX_VALUE, GameType.NOT_SET, false, false, WorldType.FLAT), null); - } + // It is never called. + private FakeWorld() { + super(null, "", null, new WorldSettings(Long.MAX_VALUE, GameType.NOT_SET, false, false, WorldType.FLAT), null); + } - public ItemStack getWooLog() { - if (te instanceof TileWood) { - return TileWood.getPickBlock(block, this, 0, 0, 0); - } else if (te instanceof TileEntityMetadata) { - return new ItemStack(block, 1, ((TileEntityMetadata) te).getTileMetadata()); - } - return null; - } + public ItemStack getWooLog() { + if (te instanceof TileWood) { + return TileWood.getPickBlock(block, this, 0, 0, 0); + } else if (te instanceof TileEntityMetadata) { + return new ItemStack(block, 1, ((TileEntityMetadata) te).getTileMetadata()); + } + return null; + } - @Override - public boolean setBlock(int x, int y, int z, Block block) { - this.block = block; - return true; - } + @Override + public boolean setBlock(int x, int y, int z, Block block) { + this.block = block; + return true; + } - @Override - public boolean setBlock(int x, int y, int z, Block block, int metadata, int update) { - this.block = block; - this.metadata = metadata; - if (block.hasTileEntity(metadata)) { - te = block.createTileEntity(this, metadata); - } else { - TileWood wood = new TileWood(); - wood.setWoodType(EnumWoodType.VALUES[metadata]); - te = wood; - } - return true; - } + @Override + public boolean setBlock(int x, int y, int z, Block block, int metadata, int update) { + this.block = block; + this.metadata = metadata; + if (block.hasTileEntity(metadata)) { + te = block.createTileEntity(this, metadata); + } else { + TileWood wood = new TileWood(); + wood.setWoodType(EnumWoodType.VALUES[metadata]); + te = wood; + } + return true; + } - @Override - public boolean setBlockToAir(int x, int y, int z) { - return true; - } + @Override + public boolean setBlockToAir(int x, int y, int z) { + return true; + } - @Override - public TileEntity getTileEntity(int x, int y, int z) { - return te; - } + @Override + public TileEntity getTileEntity(int x, int y, int z) { + return te; + } - @Override - public void setTileEntity(int x, int y, int z, TileEntity tileEntity) { + @Override + public void setTileEntity(int x, int y, int z, TileEntity tileEntity) {} - } + @Override + public Block getBlock(int x, int y, int z) { + return block != null ? block : Blocks.air; + } - @Override - public Block getBlock(int x, int y, int z) { - return block != null ? block : Blocks.air; - } + @Override + public int getBlockMetadata(int x, int y, int z) { + return metadata; + } - @Override - public int getBlockMetadata(int x, int y, int z) { - return metadata; - } + @Override + public boolean setBlockMetadataWithNotify(int x, int y, int z, int metadata, int delay) { + this.metadata = metadata; + return true; + } - @Override - public boolean setBlockMetadataWithNotify(int x, int y, int z, int metadata, int delay) { - this.metadata = metadata; - return true; - } + @Override + protected IChunkProvider createChunkProvider() { + return null; + } - @Override - protected IChunkProvider createChunkProvider() { - return null; - } + @Override + protected int func_152379_p() { + return 0; + } - @Override - protected int func_152379_p() { - return 0; - } + @Override + public Entity getEntityByID(int id) { + return null; + } - @Override - public Entity getEntityByID(int id) { - return null; - } + public static class SilentObjectCreator { + /** + * Creating objects without calling constructors. + */ + public static T create(Class clazz) { + return create(clazz, Object.class); + } - public static class SilentObjectCreator { - /** - * Creating objects without calling constructors. - */ - public static T create(Class clazz) { - return create(clazz, Object.class); - } - - /** - * Creating objects without calling constructors. - */ - public static T create(Class clazz, Class parent) { - try { - ReflectionFactory rf = ReflectionFactory.getReflectionFactory(); - Constructor objDef = parent.getDeclaredConstructor(); - Constructor intConstr = rf.newConstructorForSerialization(clazz, objDef); - return clazz.cast(intConstr.newInstance()); - } catch (RuntimeException e) { - throw e; - } catch (Exception e) { - throw new IllegalStateException("Cannot create object", e); - } - } - } + /** + * Creating objects without calling constructors. + */ + public static T create(Class clazz, Class parent) { + try { + ReflectionFactory rf = ReflectionFactory.getReflectionFactory(); + Constructor objDef = parent.getDeclaredConstructor(); + Constructor intConstr = rf.newConstructorForSerialization(clazz, objDef); + return clazz.cast(intConstr.newInstance()); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new IllegalStateException("Cannot create object", e); + } + } + } } diff --git a/src/main/java/binnie/extratrees/api/CarpentryManager.java b/src/main/java/binnie/extratrees/api/CarpentryManager.java index 81d14c94..f6e17037 100644 --- a/src/main/java/binnie/extratrees/api/CarpentryManager.java +++ b/src/main/java/binnie/extratrees/api/CarpentryManager.java @@ -1,5 +1,5 @@ package binnie.extratrees.api; public class CarpentryManager { - public static ICarpentryInterface carpentryInterface; + public static ICarpentryInterface carpentryInterface; } diff --git a/src/main/java/binnie/extratrees/api/ICarpentryInterface.java b/src/main/java/binnie/extratrees/api/ICarpentryInterface.java index ac43f272..698bfa31 100644 --- a/src/main/java/binnie/extratrees/api/ICarpentryInterface.java +++ b/src/main/java/binnie/extratrees/api/ICarpentryInterface.java @@ -1,32 +1,31 @@ package binnie.extratrees.api; -import net.minecraft.item.ItemStack; - import java.util.Collection; import java.util.List; +import net.minecraft.item.ItemStack; public interface ICarpentryInterface { - boolean registerCarpentryWood(int index, IDesignMaterial wood); + boolean registerCarpentryWood(int index, IDesignMaterial wood); - int getCarpentryWoodIndex(IDesignMaterial wood); + int getCarpentryWoodIndex(IDesignMaterial wood); - IDesignMaterial getWoodMaterial(int index); + IDesignMaterial getWoodMaterial(int index); - boolean registerDesign(int index, IDesign wood); + boolean registerDesign(int index, IDesign wood); - int getDesignIndex(IDesign wood); + int getDesignIndex(IDesign wood); - IDesign getDesign(int p0); + IDesign getDesign(int p0); - ILayout getLayout(IPattern pattern, boolean inverted); + ILayout getLayout(IPattern pattern, boolean inverted); - IDesignMaterial getWoodMaterial(ItemStack stack); + IDesignMaterial getWoodMaterial(ItemStack stack); - boolean registerDesignCategory(IDesignCategory category); + boolean registerDesignCategory(IDesignCategory category); - IDesignCategory getDesignCategory(String id); + IDesignCategory getDesignCategory(String id); - Collection getAllDesignCategories(); + Collection getAllDesignCategories(); - List getSortedDesigns(); + List getSortedDesigns(); } diff --git a/src/main/java/binnie/extratrees/api/IDesign.java b/src/main/java/binnie/extratrees/api/IDesign.java index f7cd1f02..6b03edae 100644 --- a/src/main/java/binnie/extratrees/api/IDesign.java +++ b/src/main/java/binnie/extratrees/api/IDesign.java @@ -1,17 +1,17 @@ package binnie.extratrees.api; public interface IDesign { - String getName(); + String getName(); - ILayout getTopPattern(); + ILayout getTopPattern(); - ILayout getBottomPattern(); + ILayout getBottomPattern(); - ILayout getNorthPattern(); + ILayout getNorthPattern(); - ILayout getEastPattern(); + ILayout getEastPattern(); - ILayout getSouthPattern(); + ILayout getSouthPattern(); - ILayout getWestPattern(); + ILayout getWestPattern(); } diff --git a/src/main/java/binnie/extratrees/api/IDesignCategory.java b/src/main/java/binnie/extratrees/api/IDesignCategory.java index 34c0753e..ffde3804 100644 --- a/src/main/java/binnie/extratrees/api/IDesignCategory.java +++ b/src/main/java/binnie/extratrees/api/IDesignCategory.java @@ -3,11 +3,11 @@ package binnie.extratrees.api; import java.util.List; public interface IDesignCategory { - String getName(); + String getName(); - List getDesigns(); + List getDesigns(); - void addDesign(IDesign design); + void addDesign(IDesign design); - String getId(); + String getId(); } diff --git a/src/main/java/binnie/extratrees/api/IDesignMaterial.java b/src/main/java/binnie/extratrees/api/IDesignMaterial.java index 18eb84e3..575293f1 100644 --- a/src/main/java/binnie/extratrees/api/IDesignMaterial.java +++ b/src/main/java/binnie/extratrees/api/IDesignMaterial.java @@ -3,9 +3,9 @@ package binnie.extratrees.api; import net.minecraft.item.ItemStack; public interface IDesignMaterial { - ItemStack getStack(); + ItemStack getStack(); - String getName(); + String getName(); - int getColor(); + int getColor(); } diff --git a/src/main/java/binnie/extratrees/api/IDesignSystem.java b/src/main/java/binnie/extratrees/api/IDesignSystem.java index e18a357b..fb8b5d5c 100644 --- a/src/main/java/binnie/extratrees/api/IDesignSystem.java +++ b/src/main/java/binnie/extratrees/api/IDesignSystem.java @@ -5,21 +5,21 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; public interface IDesignSystem { - IIcon getPrimaryIcon(IPattern pattern); + IIcon getPrimaryIcon(IPattern pattern); - IIcon getSecondaryIcon(IPattern pattern); + IIcon getSecondaryIcon(IPattern pattern); - void registerIcons(IIconRegister register); + void registerIcons(IIconRegister register); - IDesignMaterial getDefaultMaterial(); + IDesignMaterial getDefaultMaterial(); - IDesignMaterial getMaterial(int id); + IDesignMaterial getMaterial(int id); - int getMaterialIndex(IDesignMaterial wood); + int getMaterialIndex(IDesignMaterial wood); - IDesignMaterial getDefaultMaterial2(); + IDesignMaterial getDefaultMaterial2(); - ItemStack getAdhesive(); + ItemStack getAdhesive(); - IDesignMaterial getMaterial(ItemStack stack); + IDesignMaterial getMaterial(ItemStack stack); } diff --git a/src/main/java/binnie/extratrees/api/ILayout.java b/src/main/java/binnie/extratrees/api/ILayout.java index 73ad209a..54cf2e05 100644 --- a/src/main/java/binnie/extratrees/api/ILayout.java +++ b/src/main/java/binnie/extratrees/api/ILayout.java @@ -3,21 +3,21 @@ package binnie.extratrees.api; import net.minecraft.util.IIcon; public interface ILayout { - IPattern getPattern(); + IPattern getPattern(); - boolean isInverted(); + boolean isInverted(); - ILayout rotateRight(); + ILayout rotateRight(); - ILayout rotateLeft(); + ILayout rotateLeft(); - ILayout flipHorizontal(); + ILayout flipHorizontal(); - ILayout flipVertical(); + ILayout flipVertical(); - ILayout invert(); + ILayout invert(); - IIcon getPrimaryIcon(IDesignSystem system); + IIcon getPrimaryIcon(IDesignSystem system); - IIcon getSecondaryIcon(IDesignSystem system); + IIcon getSecondaryIcon(IDesignSystem system); } diff --git a/src/main/java/binnie/extratrees/api/IPattern.java b/src/main/java/binnie/extratrees/api/IPattern.java index 7768b9b2..f9496632 100644 --- a/src/main/java/binnie/extratrees/api/IPattern.java +++ b/src/main/java/binnie/extratrees/api/IPattern.java @@ -4,13 +4,13 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; public interface IPattern { - IIcon getPrimaryIcon(IDesignSystem system); + IIcon getPrimaryIcon(IDesignSystem system); - IIcon getSecondaryIcon(IDesignSystem system); + IIcon getSecondaryIcon(IDesignSystem system); - ILayout getRotation(); + ILayout getRotation(); - ILayout getHorizontalFlip(); + ILayout getHorizontalFlip(); - void registerIcons(IIconRegister register); + void registerIcons(IIconRegister register); } diff --git a/src/main/java/binnie/extratrees/api/IToolHammer.java b/src/main/java/binnie/extratrees/api/IToolHammer.java index 52e331b7..f759fce9 100644 --- a/src/main/java/binnie/extratrees/api/IToolHammer.java +++ b/src/main/java/binnie/extratrees/api/IToolHammer.java @@ -4,7 +4,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; public interface IToolHammer { - boolean isActive(ItemStack stack); + boolean isActive(ItemStack stack); - void onHammerUsed(ItemStack stack, EntityPlayer player); + void onHammerUsed(ItemStack stack, EntityPlayer player); } diff --git a/src/main/java/binnie/extratrees/block/BlockETDoor.java b/src/main/java/binnie/extratrees/block/BlockETDoor.java index fb77a459..7163c8a1 100644 --- a/src/main/java/binnie/extratrees/block/BlockETDoor.java +++ b/src/main/java/binnie/extratrees/block/BlockETDoor.java @@ -8,6 +8,8 @@ import binnie.extratrees.ExtraTrees; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import java.util.ArrayList; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.BlockDoor; import net.minecraft.block.material.Material; @@ -24,251 +26,249 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; - public class BlockETDoor extends BlockDoor implements IBlockMetadata { - protected BlockETDoor() { - super(Material.wood); - setHardness(3.0f); - setStepSound(Block.soundTypeWood); - setCreativeTab(Tabs.tabArboriculture); - setBlockName("door"); - } + protected BlockETDoor() { + super(Material.wood); + setHardness(3.0f); + setStepSound(Block.soundTypeWood); + setCreativeTab(Tabs.tabArboriculture); + setBlockName("door"); + } - public static DoorType getDoorType(int tileMeta) { - int type = (tileMeta & 0xF00) >> 8; - if (type >= 0 && type < DoorType.values().length) { - return DoorType.values()[type]; - } - return DoorType.STANDARD; - } + public static DoorType getDoorType(int tileMeta) { + int type = (tileMeta & 0xF00) >> 8; + if (type >= 0 && type < DoorType.values().length) { + return DoorType.values()[type]; + } + return DoorType.STANDARD; + } - private IIcon getFlippedIcon(boolean upper, boolean flip, int tileMeta) { - DoorType type = getDoorType(tileMeta); - if (upper) { - return flip ? type.iconDoorUpperFlip : type.iconDoorUpper; - } - return flip ? type.iconDoorLowerFlip : type.iconDoorLower; - } + private IIcon getFlippedIcon(boolean upper, boolean flip, int tileMeta) { + DoorType type = getDoorType(tileMeta); + if (upper) { + return flip ? type.iconDoorUpperFlip : type.iconDoorUpper; + } + return flip ? type.iconDoorLowerFlip : type.iconDoorLower; + } - @Override - public IIcon getIcon(int side, int meta) { - return DoorType.STANDARD.iconDoorLower; - } + @Override + public IIcon getIcon(int side, int meta) { + return DoorType.STANDARD.iconDoorLower; + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess blockAccess, int x, int y, int z, int meta) { - if (meta != 1 && meta != 0) { - int i1 = getFullMetadata(blockAccess, x, y, z); - int j1 = i1 & 0x3; - boolean flag = (i1 & 0x4) != 0; - boolean flag2; - boolean flag3 = (i1 & 0x8) != 0; - if (flag) { - flag2 = (j1 == 0 && meta == 2) - || (j1 == 1 && meta == 5) - || (j1 == 2 && meta == 3) - || (j1 == 3 && meta == 4); - } else { - flag2 = (j1 == 0 && meta == 5) - || (j1 == 1 && meta == 3) - || (j1 == 2 && meta == 4) - || (j1 == 3 && meta == 2); + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess blockAccess, int x, int y, int z, int meta) { + if (meta != 1 && meta != 0) { + int i1 = getFullMetadata(blockAccess, x, y, z); + int j1 = i1 & 0x3; + boolean flag = (i1 & 0x4) != 0; + boolean flag2; + boolean flag3 = (i1 & 0x8) != 0; + if (flag) { + flag2 = (j1 == 0 && meta == 2) + || (j1 == 1 && meta == 5) + || (j1 == 2 && meta == 3) + || (j1 == 3 && meta == 4); + } else { + flag2 = (j1 == 0 && meta == 5) + || (j1 == 1 && meta == 3) + || (j1 == 2 && meta == 4) + || (j1 == 3 && meta == 2); - if ((i1 & 0x10) != 0) { - flag2 = !flag2; - } - } + if ((i1 & 0x10) != 0) { + flag2 = !flag2; + } + } - int tileMeta; - if (flag3) { - tileMeta = TileEntityMetadata.getTileMetadata(blockAccess, x, y - 1, z); - } else { - tileMeta = TileEntityMetadata.getTileMetadata(blockAccess, x, y, z); - } - return getFlippedIcon(flag3, flag2, tileMeta); - } - return DoorType.STANDARD.iconDoorLower; - } + int tileMeta; + if (flag3) { + tileMeta = TileEntityMetadata.getTileMetadata(blockAccess, x, y - 1, z); + } else { + tileMeta = TileEntityMetadata.getTileMetadata(blockAccess, x, y, z); + } + return getFlippedIcon(flag3, flag2, tileMeta); + } + return DoorType.STANDARD.iconDoorLower; + } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - for (DoorType type : DoorType.values()) { - type.iconDoorLower = ExtraTrees.proxy.getIcon(register, "door." + type.id + ".lower"); - type.iconDoorUpper = ExtraTrees.proxy.getIcon(register, "door." + type.id + ".upper"); - type.iconDoorLowerFlip = new IconFlipped(type.iconDoorLower, true, false); - type.iconDoorUpperFlip = new IconFlipped(type.iconDoorUpper, true, false); - } - } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + for (DoorType type : DoorType.values()) { + type.iconDoorLower = ExtraTrees.proxy.getIcon(register, "door." + type.id + ".lower"); + type.iconDoorUpper = ExtraTrees.proxy.getIcon(register, "door." + type.id + ".upper"); + type.iconDoorLowerFlip = new IconFlipped(type.iconDoorLower, true, false); + type.iconDoorUpperFlip = new IconFlipped(type.iconDoorUpper, true, false); + } + } - @Override - public int getRenderType() { - return ExtraTrees.doorRenderId; - } + @Override + public int getRenderType() { + return ExtraTrees.doorRenderId; + } - @Override - @SideOnly(Side.CLIENT) - public int colorMultiplier(IBlockAccess blockAccess, int x, int y, int z) { - int i1 = getFullMetadata(blockAccess, x, y, z); - if ((i1 & 0x8) != 0) { - int meta = TileEntityMetadata.getTileMetadata(blockAccess, x, y - 1, z); - return WoodManager.getPlankType(meta & 0xFF).getColor(); - } + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess blockAccess, int x, int y, int z) { + int i1 = getFullMetadata(blockAccess, x, y, z); + if ((i1 & 0x8) != 0) { + int meta = TileEntityMetadata.getTileMetadata(blockAccess, x, y - 1, z); + return WoodManager.getPlankType(meta & 0xFF).getColor(); + } - int meta = TileEntityMetadata.getTileMetadata(blockAccess, x, y, z); - return WoodManager.getPlankType(meta & 0xFF).getColor(); - } + int meta = TileEntityMetadata.getTileMetadata(blockAccess, x, y, z); + return WoodManager.getPlankType(meta & 0xFF).getColor(); + } - public int getFullMetadata(IBlockAccess blockAccess, int x, int y, int z) { - int l = blockAccess.getBlockMetadata(x, y, z); - boolean flag = (l & 0x8) != 0x0; - int i1; - int j1; - if (flag) { - i1 = blockAccess.getBlockMetadata(x, y - 1, z); - j1 = l; - } else { - i1 = l; - j1 = blockAccess.getBlockMetadata(x, y + 1, z); - } + public int getFullMetadata(IBlockAccess blockAccess, int x, int y, int z) { + int l = blockAccess.getBlockMetadata(x, y, z); + boolean flag = (l & 0x8) != 0x0; + int i1; + int j1; + if (flag) { + i1 = blockAccess.getBlockMetadata(x, y - 1, z); + j1 = l; + } else { + i1 = l; + j1 = blockAccess.getBlockMetadata(x, y + 1, z); + } - boolean flag2 = (j1 & 0x1) != 0x0; - return (i1 & 0x7) | (flag ? 8 : 0) | (flag2 ? 16 : 0); - } + boolean flag2 = (j1 & 0x1) != 0x0; + return (i1 & 0x7) | (flag ? 8 : 0) | (flag2 ? 16 : 0); + } - public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { - int meta = world.getBlockMetadata(x, y, z); - if ((meta & 8) == 0) { - boolean flag = false; - if (world.getBlock(x, y + 1, z) != this) { - world.setBlockToAir(x, y, z); - flag = true; - } + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + int meta = world.getBlockMetadata(x, y, z); + if ((meta & 8) == 0) { + boolean flag = false; + if (world.getBlock(x, y + 1, z) != this) { + world.setBlockToAir(x, y, z); + flag = true; + } - if (!World.doesBlockHaveSolidTopSurface(world, x, y - 1, z)) { - flag = true; - } - - if (flag) { - if (!world.isRemote) { - dropBlockAsItem(world, x, y, z, meta, 0); - } - } else { - boolean flag1 = world.isBlockIndirectlyGettingPowered(x, y, z) || world.isBlockIndirectlyGettingPowered(x, y + 1, z); - if ((flag1 || block.canProvidePower()) && block != this) { - func_150014_a(world, x, y, z, flag1); - } - } + if (!World.doesBlockHaveSolidTopSurface(world, x, y - 1, z)) { + flag = true; + } - if (!World.doesBlockHaveSolidTopSurface(world, x, y - 1, z)) { - world.setBlockToAir(x, y, z); - if (world.getBlock(x, y + 1, z) == this) { - world.setBlockToAir(x, y + 1, z); - } - } - } else { - if (world.getBlock(x, y - 1, z) != this) { - world.setBlockToAir(x, y, z); - } + if (flag) { + if (!world.isRemote) { + dropBlockAsItem(world, x, y, z, meta, 0); + } + } else { + boolean flag1 = world.isBlockIndirectlyGettingPowered(x, y, z) + || world.isBlockIndirectlyGettingPowered(x, y + 1, z); + if ((flag1 || block.canProvidePower()) && block != this) { + func_150014_a(world, x, y, z, flag1); + } + } - if (block != this) { - onNeighborBlockChange(world, x, y - 1, z, block); - } - } - } + if (!World.doesBlockHaveSolidTopSurface(world, x, y - 1, z)) { + world.setBlockToAir(x, y, z); + if (world.getBlock(x, y + 1, z) == this) { + world.setBlockToAir(x, y + 1, z); + } + } + } else { + if (world.getBlock(x, y - 1, z) != this) { + world.setBlockToAir(x, y, z); + } - @Override - public ArrayList getDrops(World world, int x, int y, int z, int meta, int fortune) { - if ((meta & 0x08) != 0) { - y -= 1; - } - return BlockMetadata.getBlockDropped(this, world, x, y, z, meta); - } + if (block != this) { + onNeighborBlockChange(world, x, y - 1, z, block); + } + } + } - @Override - public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { - return BlockMetadata.breakBlock(this, player, world, x, y, z); - } + @Override + public ArrayList getDrops(World world, int x, int y, int z, int meta, int fortune) { + if ((meta & 0x08) != 0) { + y -= 1; + } + return BlockMetadata.getBlockDropped(this, world, x, y, z, meta); + } - @Override - public TileEntity createNewTileEntity(World world, int k) { - return new TileEntityMetadata(); - } + @Override + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { + return BlockMetadata.breakBlock(this, player, world, x, y, z); + } - @Override - public boolean hasTileEntity(int meta) { - return true; - } + @Override + public TileEntity createNewTileEntity(World world, int k) { + return new TileEntityMetadata(); + } - @Override - public int getPlacedMeta(ItemStack stack, World world, int x, int y, int z, ForgeDirection direction) { - return TileEntityMetadata.getItemDamage(stack); - } + @Override + public boolean hasTileEntity(int meta) { + return true; + } - @Override - public int getDroppedMeta(int blockMeta, int tileMeta) { - return tileMeta; - } + @Override + public int getPlacedMeta(ItemStack stack, World world, int x, int y, int z, ForgeDirection direction) { + return TileEntityMetadata.getItemDamage(stack); + } - @Override - public String getBlockName(ItemStack stack) { - int meta = TileEntityMetadata.getItemDamage(stack); - String typeName = getDoorType(meta).getName(); - String woodName = WoodManager.getPlankType(meta & 0xFF).getName(); - if (typeName.isEmpty()) { - return I18N.localise("extratrees.block.door.name", woodName); - } - return I18N.localise("extratrees.block.door.name.adv", woodName, typeName); - } + @Override + public int getDroppedMeta(int blockMeta, int tileMeta) { + return tileMeta; + } - @Override - public void addBlockTooltip(ItemStack stack, List tooltip) { - // ignored - } + @Override + public String getBlockName(ItemStack stack) { + int meta = TileEntityMetadata.getItemDamage(stack); + String typeName = getDoorType(meta).getName(); + String woodName = WoodManager.getPlankType(meta & 0xFF).getName(); + if (typeName.isEmpty()) { + return I18N.localise("extratrees.block.door.name", woodName); + } + return I18N.localise("extratrees.block.door.name.adv", woodName, typeName); + } - @Override - public void dropAsStack(World world, int x, int y, int z, ItemStack stack) { - dropBlockAsItem(world, x, y, z, stack); - } + @Override + public void addBlockTooltip(ItemStack stack, List tooltip) { + // ignored + } - @Override - public void getSubBlocks(Item item, CreativeTabs tab, List itemList) { - for (IPlankType type : PlankType.ExtraTreePlanks.values()) { - itemList.add(WoodManager.getDoor(type, DoorType.STANDARD)); - } - for (IPlankType type : PlankType.ForestryPlanks.values()) { - itemList.add(WoodManager.getDoor(type, DoorType.STANDARD)); - } - for (IPlankType type : PlankType.ExtraBiomesPlank.values()) { - if (type.getStack() != null) { - itemList.add(WoodManager.getDoor(type, DoorType.STANDARD)); - } - } - for (IPlankType type : PlankType.VanillaPlanks.values()) { - itemList.add(WoodManager.getDoor(type, DoorType.STANDARD)); - } - } + @Override + public void dropAsStack(World world, int x, int y, int z, ItemStack stack) { + dropBlockAsItem(world, x, y, z, stack); + } - @Override - public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 20; - } + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List itemList) { + for (IPlankType type : PlankType.ExtraTreePlanks.values()) { + itemList.add(WoodManager.getDoor(type, DoorType.STANDARD)); + } + for (IPlankType type : PlankType.ForestryPlanks.values()) { + itemList.add(WoodManager.getDoor(type, DoorType.STANDARD)); + } + for (IPlankType type : PlankType.ExtraBiomesPlank.values()) { + if (type.getStack() != null) { + itemList.add(WoodManager.getDoor(type, DoorType.STANDARD)); + } + } + for (IPlankType type : PlankType.VanillaPlanks.values()) { + itemList.add(WoodManager.getDoor(type, DoorType.STANDARD)); + } + } - @Override - public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return true; - } + @Override + public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 20; + } - @Override - public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 5; - } + @Override + public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return true; + } - @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { - return BlockMetadata.getPickBlock(world, x, y, z); - } + @Override + public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 5; + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + return BlockMetadata.getPickBlock(world, x, y, z); + } } diff --git a/src/main/java/binnie/extratrees/block/BlockETLog.java b/src/main/java/binnie/extratrees/block/BlockETLog.java index 3dee0474..57458083 100644 --- a/src/main/java/binnie/extratrees/block/BlockETLog.java +++ b/src/main/java/binnie/extratrees/block/BlockETLog.java @@ -7,6 +7,8 @@ import binnie.core.util.I18N; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import java.util.ArrayList; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.BlockLog; import net.minecraft.client.renderer.texture.IIconRegister; @@ -21,185 +23,182 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; - public class BlockETLog extends BlockLog implements IBlockMetadata { - public BlockETLog() { - setCreativeTab(Tabs.tabArboriculture); - setBlockName("log"); - setResistance(5.0f); - setHardness(2.0f); - setStepSound(Block.soundTypeWood); - } + public BlockETLog() { + setCreativeTab(Tabs.tabArboriculture); + setBlockName("log"); + setResistance(5.0f); + setHardness(2.0f); + setStepSound(Block.soundTypeWood); + } - @Override - public void getSubBlocks(Item item, CreativeTabs tab, List list) { - for (int i = 0; i < ILogType.ExtraTreeLog.values().length; ++i) { - list.add(TileEntityMetadata.getItemStack(this, i)); - } - } + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (int i = 0; i < ILogType.ExtraTreeLog.values().length; ++i) { + list.add(TileEntityMetadata.getItemStack(this, i)); + } + } - @Override - @SideOnly(Side.CLIENT) - 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 getIcon(side, tile.getTileMetadata(), world.getBlockMetadata(x, y, z)); - } - return super.getIcon(world, x, y, z, side); - } + @Override + @SideOnly(Side.CLIENT) + 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 getIcon(side, tile.getTileMetadata(), world.getBlockMetadata(x, y, z)); + } + return super.getIcon(world, x, y, z, side); + } - public IIcon getIcon(int side, int tileMeta, int blockMeta) { - int oriented = blockMeta & 0xC; - ILogType.ExtraTreeLog log = ILogType.ExtraTreeLog.values()[tileMeta]; - switch (oriented) { - case 4: - if (side > 3) { - return log.getTrunk(); - } - return log.getBark(); + public IIcon getIcon(int side, int tileMeta, int blockMeta) { + int oriented = blockMeta & 0xC; + ILogType.ExtraTreeLog log = ILogType.ExtraTreeLog.values()[tileMeta]; + switch (oriented) { + case 4: + if (side > 3) { + return log.getTrunk(); + } + return log.getBark(); - case 8: - if (side == 2 || side == 3) { - return log.getTrunk(); - } - return log.getBark(); - } - if (side < 2) { - return log.getTrunk(); - } - return log.getBark(); - } + case 8: + if (side == 2 || side == 3) { + return log.getTrunk(); + } + return log.getBark(); + } + if (side < 2) { + return log.getTrunk(); + } + return log.getBark(); + } - @Override - public IIcon getIcon(int side, int tileMeta) { - return getIcon(side, tileMeta, 0); - } + @Override + public IIcon getIcon(int side, int tileMeta) { + return getIcon(side, tileMeta, 0); + } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - ILogType.ExtraTreeLog.registerIcons(register); - } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + ILogType.ExtraTreeLog.registerIcons(register); + } - @Override - public int getRenderType() { - return 31; - } + @Override + public int getRenderType() { + return 31; + } - @Override - public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { - dropBlockAsItem(world, x, y, z, itemStack); - } + @Override + public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { + dropBlockAsItem(world, x, y, z, itemStack); + } - @Override - 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 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(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { - return BlockMetadata.breakBlock(this, player, world, x, y, z); - } + @Override + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { + return BlockMetadata.breakBlock(this, player, world, x, y, z); + } - @Override - public TileEntity createNewTileEntity(World world, int meta) { - return new TileEntityMetadata(); - } + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityMetadata(); + } - @Override - public boolean hasTileEntity(int meta) { - return true; - } + @Override + public boolean hasTileEntity(int meta) { + return true; + } - @Override - 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 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 getDroppedMeta(int blockMeta, int tileMeta) { - return tileMeta; - } + @Override + public int getDroppedMeta(int blockMeta, int tileMeta) { + return tileMeta; + } - @Override - public String getBlockName(ItemStack itemStack) { - int meta = TileEntityMetadata.getItemDamage(itemStack); - ILogType.ExtraTreeLog[] logs= ILogType.ExtraTreeLog.values(); - if(meta < 0 || meta >= logs.length) { - meta = 0; - } - return I18N.localise("extratrees.block.log.name", logs[meta].getName()); - } + @Override + public String getBlockName(ItemStack itemStack) { + int meta = TileEntityMetadata.getItemDamage(itemStack); + ILogType.ExtraTreeLog[] logs = ILogType.ExtraTreeLog.values(); + if (meta < 0 || meta >= logs.length) { + meta = 0; + } + return I18N.localise("extratrees.block.log.name", logs[meta].getName()); + } - @Override - public void addBlockTooltip(ItemStack itemStack, List tooltip) { - // ignored - } + @Override + public void addBlockTooltip(ItemStack itemStack, List tooltip) { + // ignored + } - @Override - public boolean canSustainLeaves(IBlockAccess world, int x, int y, int z) { - return true; - } + @Override + public boolean canSustainLeaves(IBlockAccess world, int x, int y, int z) { + return true; + } - @Override - public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { - return TileEntityMetadata.getItemDamage(itemStack); - } + @Override + public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { + return TileEntityMetadata.getItemDamage(itemStack); + } - @Override - public int onBlockPlaced(World world, int x, int y, int z, int side, float par6, float par7, float par8, int meta) { - byte b0 = 0; - switch (side) { - case 0: - case 1: - b0 = 0; - break; + @Override + public int onBlockPlaced(World world, int x, int y, int z, int side, float par6, float par7, float par8, int meta) { + byte b0 = 0; + switch (side) { + case 0: + case 1: + b0 = 0; + break; - case 2: - case 3: - b0 = 8; - break; + case 2: + case 3: + b0 = 8; + break; - case 4: - case 5: - b0 = 4; - break; - } - return b0; - } + case 4: + case 5: + b0 = 4; + break; + } + return b0; + } - @Override - 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 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(IBlockAccess world, int x, int y, int z) { - return true; - } + @Override + public boolean isWood(IBlockAccess world, int x, int y, int z) { + return true; + } - @Override - public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 20; - } + @Override + public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 20; + } - @Override - public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return true; - } + @Override + public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return true; + } - @Override - public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 5; - } + @Override + public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 5; + } - @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { - return BlockMetadata.getPickBlock(world, x, y, z); - } + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + return BlockMetadata.getPickBlock(world, x, y, z); + } } diff --git a/src/main/java/binnie/extratrees/block/BlockETPlanks.java b/src/main/java/binnie/extratrees/block/BlockETPlanks.java index 23cd94fc..0c7189af 100644 --- a/src/main/java/binnie/extratrees/block/BlockETPlanks.java +++ b/src/main/java/binnie/extratrees/block/BlockETPlanks.java @@ -7,6 +7,8 @@ import binnie.core.util.I18N; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import java.util.ArrayList; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.BlockWood; import net.minecraft.client.renderer.texture.IIconRegister; @@ -21,129 +23,126 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; - public class BlockETPlanks extends BlockWood implements IBlockMetadata { - public BlockETPlanks() { - setBlockName("planks"); - setCreativeTab(Tabs.tabArboriculture); - setResistance(5.0f); - setHardness(2.0f); - setStepSound(Block.soundTypeWood); - } + public BlockETPlanks() { + setBlockName("planks"); + setCreativeTab(Tabs.tabArboriculture); + setResistance(5.0f); + setHardness(2.0f); + setStepSound(Block.soundTypeWood); + } - @Override - 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 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(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { - return BlockMetadata.breakBlock(this, player, world, x, y, z); - } + @Override + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { + return BlockMetadata.breakBlock(this, player, world, x, y, z); + } - @Override - public TileEntity createNewTileEntity(World var1, int i) { - return new TileEntityMetadata(); - } + @Override + public TileEntity createNewTileEntity(World var1, int i) { + return new TileEntityMetadata(); + } - @Override - public boolean hasTileEntity(int meta) { - return true; - } + @Override + public boolean hasTileEntity(int meta) { + return true; + } - @Override - 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 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(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { - return TileEntityMetadata.getItemDamage(itemStack); - } + @Override + public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { + return TileEntityMetadata.getItemDamage(itemStack); + } - @Override - public int getDroppedMeta(int blockMeta, int tileMeta) { - return tileMeta; - } + @Override + public int getDroppedMeta(int blockMeta, int tileMeta) { + return tileMeta; + } - @Override - public String getBlockName(ItemStack itemStack) { - int meta = TileEntityMetadata.getItemDamage(itemStack); - return I18N.localise("extratrees.block.plank.name", PlankType.ExtraTreePlanks.values()[meta].getName()); - } + @Override + public String getBlockName(ItemStack itemStack) { + int meta = TileEntityMetadata.getItemDamage(itemStack); + return I18N.localise("extratrees.block.plank.name", PlankType.ExtraTreePlanks.values()[meta].getName()); + } - @Override - public void addBlockTooltip(ItemStack itemStack, List tooltip) { - // ignored - } + @Override + public void addBlockTooltip(ItemStack itemStack, List tooltip) { + // ignored + } - @Override - public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { - dropBlockAsItem(world, x, y, z, itemStack); - } + @Override + public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { + dropBlockAsItem(world, x, y, z, itemStack); + } - @Override - public void getSubBlocks(Item item, CreativeTabs tab, List list) { - for (int i = 0; i < PlankType.ExtraTreePlanks.values().length; ++i) { - list.add(TileEntityMetadata.getItemStack(this, i)); - } - } + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (int i = 0; i < PlankType.ExtraTreePlanks.values().length; ++i) { + list.add(TileEntityMetadata.getItemStack(this, i)); + } + } - @Override - @SideOnly(Side.CLIENT) - 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 getIcon(side, tile.getTileMetadata()); - } - return super.getIcon(world, x, y, z, side); - } + @Override + @SideOnly(Side.CLIENT) + 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 getIcon(side, tile.getTileMetadata()); + } + return super.getIcon(world, x, y, z, side); + } - @Override - public IIcon getIcon(int side, int meta) { - return PlankType.ExtraTreePlanks.values()[meta].getIcon(); - } + @Override + public IIcon getIcon(int side, int meta) { + return PlankType.ExtraTreePlanks.values()[meta].getIcon(); + } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - for (PlankType.ExtraTreePlanks plank : PlankType.ExtraTreePlanks.values()) { - plank.loadIcon(register); - } - } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + for (PlankType.ExtraTreePlanks plank : PlankType.ExtraTreePlanks.values()) { + plank.loadIcon(register); + } + } - @Override - 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 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(IBlockAccess world, int x, int y, int z) { - return true; - } + @Override + public boolean isWood(IBlockAccess world, int x, int y, int z) { + return true; + } - @Override - public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 20; - } + @Override + public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 20; + } - @Override - public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return true; - } + @Override + public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return true; + } - @Override - public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 5; - } + @Override + public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 5; + } - @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { - return BlockMetadata.getPickBlock(world, x, y, z); - } + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + return BlockMetadata.getPickBlock(world, x, y, z); + } } diff --git a/src/main/java/binnie/extratrees/block/BlockETSlab.java b/src/main/java/binnie/extratrees/block/BlockETSlab.java index ac301ccd..f2e9322d 100644 --- a/src/main/java/binnie/extratrees/block/BlockETSlab.java +++ b/src/main/java/binnie/extratrees/block/BlockETSlab.java @@ -8,6 +8,8 @@ import binnie.extratrees.ExtraTrees; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import java.util.ArrayList; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.BlockWoodSlab; import net.minecraft.creativetab.CreativeTabs; @@ -21,141 +23,139 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; - public class BlockETSlab extends BlockWoodSlab implements IBlockMetadata { - public BlockETSlab(boolean isDouble) { - super(isDouble); - setCreativeTab(Tabs.tabArboriculture); - setHardness(2.0f); - setResistance(5.0f); - setStepSound(Block.soundTypeWood); + public BlockETSlab(boolean isDouble) { + super(isDouble); + setCreativeTab(Tabs.tabArboriculture); + setHardness(2.0f); + setResistance(5.0f); + setStepSound(Block.soundTypeWood); - if (!field_150004_a) { - useNeighborBrightness = true; - } + if (!field_150004_a) { + useNeighborBrightness = true; + } - setLightOpacity(0); - setBlockName("slabs"); - } + setLightOpacity(0); + setBlockName("slabs"); + } - @Override - public ArrayList getDrops(World world, int x, int y, int z, int blockMeta, int fortune) { - ArrayList drops = new ArrayList<>(); - drops.addAll(BlockMetadata.getBlockDropped((IBlockMetadata) ExtraTrees.blockSlab, world, x, y, z, blockMeta)); - if (field_150004_a) { - drops.addAll(BlockMetadata.getBlockDropped((IBlockMetadata) ExtraTrees.blockSlab, world, x, y, z, blockMeta)); - } - return drops; - } + @Override + public ArrayList getDrops(World world, int x, int y, int z, int blockMeta, int fortune) { + ArrayList drops = new ArrayList<>(); + drops.addAll(BlockMetadata.getBlockDropped((IBlockMetadata) ExtraTrees.blockSlab, world, x, y, z, blockMeta)); + if (field_150004_a) { + drops.addAll( + BlockMetadata.getBlockDropped((IBlockMetadata) ExtraTrees.blockSlab, world, x, y, z, blockMeta)); + } + return drops; + } - @Override - public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { - return BlockMetadata.breakBlock(this, player, world, x, y, z); - } + @Override + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { + return BlockMetadata.breakBlock(this, player, world, x, y, z); + } - @Override - public TileEntity createNewTileEntity(World world, int meta) { - return new TileEntityMetadata(); - } + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityMetadata(); + } - @Override - public boolean hasTileEntity(int meta) { - return true; - } + @Override + public boolean hasTileEntity(int meta) { + return true; + } - @Override - 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 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(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { - return TileEntityMetadata.getItemDamage(itemStack); - } + @Override + public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { + return TileEntityMetadata.getItemDamage(itemStack); + } - @Override - public int getDroppedMeta(int blockMeta, int tileMeta) { - return tileMeta; - } + @Override + public int getDroppedMeta(int blockMeta, int tileMeta) { + return tileMeta; + } - @Override - public String getBlockName(ItemStack itemStack) { - int meta = TileEntityMetadata.getItemDamage(itemStack); - return I18N.localise("extratrees.block.woodslab.name", PlankType.ExtraTreePlanks.values()[meta].getName()); - } + @Override + public String getBlockName(ItemStack itemStack) { + int meta = TileEntityMetadata.getItemDamage(itemStack); + return I18N.localise("extratrees.block.woodslab.name", PlankType.ExtraTreePlanks.values()[meta].getName()); + } - @Override - public void addBlockTooltip(ItemStack itemStack, List tooltip) { - // ignored - } + @Override + public void addBlockTooltip(ItemStack itemStack, List tooltip) { + // ignored + } - @Override - public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { - dropBlockAsItem(world, x, y, z, itemStack); - } + @Override + public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { + dropBlockAsItem(world, x, y, z, itemStack); + } - @Override - public void getSubBlocks(Item item, CreativeTabs tab, List list) { - if (field_150004_a) { - return; - } - for (int i = 0; i < PlankType.ExtraTreePlanks.values().length; ++i) { - list.add(TileEntityMetadata.getItemStack(this, i)); - } - } + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + if (field_150004_a) { + return; + } + for (int i = 0; i < PlankType.ExtraTreePlanks.values().length; ++i) { + list.add(TileEntityMetadata.getItemStack(this, i)); + } + } - @Override - @SideOnly(Side.CLIENT) - 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 getIcon(side, tile.getTileMetadata()); - } - return super.getIcon(world, x, y, z, side); - } + @Override + @SideOnly(Side.CLIENT) + 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 getIcon(side, tile.getTileMetadata()); + } + return super.getIcon(world, x, y, z, side); + } - @Override - public IIcon getIcon(int side, int meta) { - return PlankType.ExtraTreePlanks.values()[meta].getIcon(); - } + @Override + public IIcon getIcon(int side, int meta) { + return PlankType.ExtraTreePlanks.values()[meta].getIcon(); + } - @Override - 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 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 isOpaqueCube() { - return false; - } + @Override + public boolean isOpaqueCube() { + return false; + } - @Override - public boolean isWood(IBlockAccess world, int x, int y, int z) { - return true; - } + @Override + public boolean isWood(IBlockAccess world, int x, int y, int z) { + return true; + } - @Override - public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 20; - } + @Override + public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 20; + } - @Override - public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return true; - } + @Override + public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return true; + } - @Override - public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 5; - } + @Override + public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 5; + } - @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { - return BlockMetadata.getPickBlock(world, x, y, z); - } + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + return BlockMetadata.getPickBlock(world, x, y, z); + } } diff --git a/src/main/java/binnie/extratrees/block/BlockETStairs.java b/src/main/java/binnie/extratrees/block/BlockETStairs.java index 33e272cd..945ae5c2 100644 --- a/src/main/java/binnie/extratrees/block/BlockETStairs.java +++ b/src/main/java/binnie/extratrees/block/BlockETStairs.java @@ -8,6 +8,8 @@ import binnie.extratrees.ExtraTrees; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import java.util.ArrayList; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.BlockStairs; import net.minecraft.creativetab.CreativeTabs; @@ -20,123 +22,122 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; - public class BlockETStairs extends BlockStairs implements IBlockMetadata { - public BlockETStairs(Block par2Block) { - super(par2Block, 0); - setCreativeTab(Tabs.tabArboriculture); - setBlockName("stairs"); - setResistance(5.0f); - setHardness(2.0f); - setStepSound(Block.soundTypeWood); - useNeighborBrightness = true; - } + public BlockETStairs(Block par2Block) { + super(par2Block, 0); + setCreativeTab(Tabs.tabArboriculture); + setBlockName("stairs"); + setResistance(5.0f); + setHardness(2.0f); + setStepSound(Block.soundTypeWood); + useNeighborBrightness = true; + } - @Override - public int getRenderType() { - return ExtraTrees.stairsID; - } + @Override + public int getRenderType() { + return ExtraTrees.stairsID; + } - @Override - public void getSubBlocks(Item item, CreativeTabs tabs, List list) { - for (int i = 0; i < PlankType.ExtraTreePlanks.values().length; ++i) { - list.add(new ItemStack(this, 1, i)); - } - } + @Override + public void getSubBlocks(Item item, CreativeTabs tabs, List list) { + for (int i = 0; i < PlankType.ExtraTreePlanks.values().length; ++i) { + list.add(new ItemStack(this, 1, i)); + } + } - @Override - @SideOnly(Side.CLIENT) - 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 getIcon(side, tile.getTileMetadata()); - } - return super.getIcon(world, x, y, z, side); - } + @Override + @SideOnly(Side.CLIENT) + 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 getIcon(side, tile.getTileMetadata()); + } + return super.getIcon(world, x, y, z, side); + } - @Override - public IIcon getIcon(int side, int meta) { - return WoodManager.getPlankType(meta + 32).getIcon(); - } + @Override + public IIcon getIcon(int side, int meta) { + return WoodManager.getPlankType(meta + 32).getIcon(); + } - @Override - public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { - dropBlockAsItem(world, x, y, z, itemStack); - } + @Override + public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { + dropBlockAsItem(world, x, y, z, itemStack); + } - @Override - 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 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(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { - return BlockMetadata.breakBlock(this, player, world, x, y, z); - } + @Override + public boolean removedByPlayer(World world, EntityPlayer player, int x, int y, int z, boolean willHarvest) { + return BlockMetadata.breakBlock(this, player, world, x, y, z); + } - @Override - public TileEntity createNewTileEntity(World world, int meta) { - return new TileEntityMetadata(); - } + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityMetadata(); + } - @Override - public boolean hasTileEntity(int meta) { - return true; - } + @Override + public boolean hasTileEntity(int meta) { + return true; + } - @Override - 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 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(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { - return TileEntityMetadata.getItemDamage(itemStack); - } + @Override + public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { + return TileEntityMetadata.getItemDamage(itemStack); + } - @Override - public int getDroppedMeta(int blockMeta, int tileMeta) { - return tileMeta; - } + @Override + public int getDroppedMeta(int blockMeta, int tileMeta) { + return tileMeta; + } - @Override - public String getBlockName(ItemStack itemStack) { - int meta = TileEntityMetadata.getItemDamage(itemStack); - return I18N.localise("extratrees.block.woodstairs.name", WoodManager.getPlankType(meta + 32).getName()); - } + @Override + public String getBlockName(ItemStack itemStack) { + int meta = TileEntityMetadata.getItemDamage(itemStack); + return I18N.localise( + "extratrees.block.woodstairs.name", + WoodManager.getPlankType(meta + 32).getName()); + } - @Override - public void addBlockTooltip(ItemStack itemStack, List tooltip) { - // ignored - } + @Override + public void addBlockTooltip(ItemStack itemStack, List tooltip) { + // ignored + } - @Override - 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 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(IBlockAccess world, int x, int y, int z) { - return true; - } + @Override + public boolean isWood(IBlockAccess world, int x, int y, int z) { + return true; + } - @Override - public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 20; - } + @Override + public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 20; + } - @Override - public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return true; - } + @Override + public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return true; + } - @Override - public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 5; - } + @Override + public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 5; + } } diff --git a/src/main/java/binnie/extratrees/block/BlockShrubLeaves.java b/src/main/java/binnie/extratrees/block/BlockShrubLeaves.java index aa515899..4a9bf10c 100644 --- a/src/main/java/binnie/extratrees/block/BlockShrubLeaves.java +++ b/src/main/java/binnie/extratrees/block/BlockShrubLeaves.java @@ -4,12 +4,12 @@ import forestry.arboriculture.blocks.BlockForestryLeaves; import net.minecraft.world.World; public class BlockShrubLeaves extends BlockForestryLeaves { - public BlockShrubLeaves() { - super(); - } + public BlockShrubLeaves() { + super(); + } - @Override - public void beginLeavesDecay(World world, int x, int y, int z) { - // ignored, no able decay - } + @Override + public void beginLeavesDecay(World world, int x, int y, int z) { + // ignored, no able decay + } } diff --git a/src/main/java/binnie/extratrees/block/BranchBlockRenderer.java b/src/main/java/binnie/extratrees/block/BranchBlockRenderer.java index 4ebd3546..9bb94a8b 100644 --- a/src/main/java/binnie/extratrees/block/BranchBlockRenderer.java +++ b/src/main/java/binnie/extratrees/block/BranchBlockRenderer.java @@ -7,24 +7,25 @@ import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.world.IBlockAccess; public class BranchBlockRenderer implements ISimpleBlockRenderingHandler { - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { - // ignored - } + @Override + public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { + // ignored + } - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - renderer.renderStandardBlock(block, x, y, z); - return true; - } + @Override + public boolean renderWorldBlock( + IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + renderer.renderStandardBlock(block, x, y, z); + return true; + } - @Override - public boolean shouldRender3DInInventory(int i) { - return false; - } + @Override + public boolean shouldRender3DInInventory(int i) { + return false; + } - @Override - public int getRenderId() { - return ExtraTrees.branchRenderId; - } + @Override + public int getRenderId() { + return ExtraTrees.branchRenderId; + } } diff --git a/src/main/java/binnie/extratrees/block/DoorBlockRenderer.java b/src/main/java/binnie/extratrees/block/DoorBlockRenderer.java index 26324858..92fc4921 100644 --- a/src/main/java/binnie/extratrees/block/DoorBlockRenderer.java +++ b/src/main/java/binnie/extratrees/block/DoorBlockRenderer.java @@ -9,74 +9,81 @@ import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; public class DoorBlockRenderer implements ISimpleBlockRenderingHandler { - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { - // ignored - } + @Override + public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { + // ignored + } - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - int c = block.colorMultiplier(renderer.blockAccess, x, y, z); - float c2 = (c >> 16 & 0xFF) / 255.0f; - float c3 = (c >> 8 & 0xFF) / 255.0f; - float c4 = (c & 0xFF) / 255.0f; - Tessellator tessellator = Tessellator.instance; - int l = renderer.blockAccess.getBlockMetadata(x, y, z); - if ((l & 0x8) != 0x0) { - if (renderer.blockAccess.getBlock(x, y - 1, z) != block) { - return false; - } - } else if (renderer.blockAccess.getBlock(x, y + 1, z) != block) { - return false; - } + @Override + public boolean renderWorldBlock( + IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + int c = block.colorMultiplier(renderer.blockAccess, x, y, z); + float c2 = (c >> 16 & 0xFF) / 255.0f; + float c3 = (c >> 8 & 0xFF) / 255.0f; + float c4 = (c & 0xFF) / 255.0f; + Tessellator tessellator = Tessellator.instance; + int l = renderer.blockAccess.getBlockMetadata(x, y, z); + if ((l & 0x8) != 0x0) { + if (renderer.blockAccess.getBlock(x, y - 1, z) != block) { + return false; + } + } else if (renderer.blockAccess.getBlock(x, y + 1, z) != block) { + return false; + } - float f = 0.5f; - float f2 = 1.0f; - float f3 = 0.8f; - float f4 = 0.6f; + float f = 0.5f; + float f2 = 1.0f; + float f3 = 0.8f; + float f4 = 0.6f; - int i1 = block.getMixedBrightnessForBlock(renderer.blockAccess, x, y, z); - tessellator.setBrightness((renderer.renderMinY > 0.0) ? i1 : block.getMixedBrightnessForBlock(renderer.blockAccess, x, y - 1, z)); - tessellator.setColorOpaque_F(f * c2, f * c3, f * c4); - renderer.renderFaceYNeg(block, x, y, z, renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 0)); + int i1 = block.getMixedBrightnessForBlock(renderer.blockAccess, x, y, z); + tessellator.setBrightness( + (renderer.renderMinY > 0.0) ? i1 : block.getMixedBrightnessForBlock(renderer.blockAccess, x, y - 1, z)); + tessellator.setColorOpaque_F(f * c2, f * c3, f * c4); + renderer.renderFaceYNeg(block, x, y, z, renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 0)); - tessellator.setBrightness((renderer.renderMaxY < 1.0) ? i1 : block.getMixedBrightnessForBlock(renderer.blockAccess, x, y + 1, z)); - tessellator.setColorOpaque_F(f2 * c2, f2 * c3, f2 * c4); - renderer.renderFaceYPos(block, x, y, z, renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 1)); + tessellator.setBrightness( + (renderer.renderMaxY < 1.0) ? i1 : block.getMixedBrightnessForBlock(renderer.blockAccess, x, y + 1, z)); + tessellator.setColorOpaque_F(f2 * c2, f2 * c3, f2 * c4); + renderer.renderFaceYPos(block, x, y, z, renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 1)); - tessellator.setBrightness((renderer.renderMinZ > 0.0) ? i1 : block.getMixedBrightnessForBlock(renderer.blockAccess, x, y, z - 1)); - tessellator.setColorOpaque_F(f3 * c2, f3 * c3, f3 * c4); - IIcon icon = renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 2); - renderer.renderFaceZNeg(block, x, y, z, icon); + tessellator.setBrightness( + (renderer.renderMinZ > 0.0) ? i1 : block.getMixedBrightnessForBlock(renderer.blockAccess, x, y, z - 1)); + tessellator.setColorOpaque_F(f3 * c2, f3 * c3, f3 * c4); + IIcon icon = renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 2); + renderer.renderFaceZNeg(block, x, y, z, icon); - renderer.flipTexture = false; - tessellator.setBrightness((renderer.renderMaxZ < 1.0) ? i1 : block.getMixedBrightnessForBlock(renderer.blockAccess, x, y, z + 1)); - tessellator.setColorOpaque_F(f3 * c2, f3 * c3, f3 * c4); - icon = renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 3); - renderer.renderFaceZPos(block, x, y, z, icon); + renderer.flipTexture = false; + tessellator.setBrightness( + (renderer.renderMaxZ < 1.0) ? i1 : block.getMixedBrightnessForBlock(renderer.blockAccess, x, y, z + 1)); + tessellator.setColorOpaque_F(f3 * c2, f3 * c3, f3 * c4); + icon = renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 3); + renderer.renderFaceZPos(block, x, y, z, icon); - renderer.flipTexture = false; - tessellator.setBrightness((renderer.renderMinX > 0.0) ? i1 : block.getMixedBrightnessForBlock(renderer.blockAccess, x - 1, y, z)); - tessellator.setColorOpaque_F(f4 * c2, f4 * c3, f4 * c4); - icon = renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 4); - renderer.renderFaceXNeg(block, x, y, z, icon); + renderer.flipTexture = false; + tessellator.setBrightness( + (renderer.renderMinX > 0.0) ? i1 : block.getMixedBrightnessForBlock(renderer.blockAccess, x - 1, y, z)); + tessellator.setColorOpaque_F(f4 * c2, f4 * c3, f4 * c4); + icon = renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 4); + renderer.renderFaceXNeg(block, x, y, z, icon); - renderer.flipTexture = false; - tessellator.setBrightness((renderer.renderMaxX < 1.0) ? i1 : block.getMixedBrightnessForBlock(renderer.blockAccess, x + 1, y, z)); - tessellator.setColorOpaque_F(f4 * c2, f4 * c3, f4 * c4); - icon = renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 5); - renderer.renderFaceXPos(block, x, y, z, icon); - renderer.flipTexture = false; - return true; - } + renderer.flipTexture = false; + tessellator.setBrightness( + (renderer.renderMaxX < 1.0) ? i1 : block.getMixedBrightnessForBlock(renderer.blockAccess, x + 1, y, z)); + tessellator.setColorOpaque_F(f4 * c2, f4 * c3, f4 * c4); + icon = renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 5); + renderer.renderFaceXPos(block, x, y, z, icon); + renderer.flipTexture = false; + return true; + } - @Override - public boolean shouldRender3DInInventory(int i) { - return false; - } + @Override + public boolean shouldRender3DInInventory(int i) { + return false; + } - @Override - public int getRenderId() { - return ExtraTrees.doorRenderId; - } + @Override + public int getRenderId() { + return ExtraTrees.doorRenderId; + } } diff --git a/src/main/java/binnie/extratrees/block/DoorType.java b/src/main/java/binnie/extratrees/block/DoorType.java index b76fcdce..afc79954 100644 --- a/src/main/java/binnie/extratrees/block/DoorType.java +++ b/src/main/java/binnie/extratrees/block/DoorType.java @@ -4,23 +4,23 @@ import binnie.core.util.I18N; import net.minecraft.util.IIcon; public enum DoorType { - STANDARD("standard"), - SOLID("solid"), - DOUBLE("double"), - FULL("full"); + STANDARD("standard"), + SOLID("solid"), + DOUBLE("double"), + FULL("full"); - protected String id; - protected IIcon iconDoorLower; - protected IIcon iconDoorUpper; - protected IIcon iconDoorLowerFlip; - protected IIcon iconDoorUpperFlip; - protected IIcon iconItem; + protected String id; + protected IIcon iconDoorLower; + protected IIcon iconDoorUpper; + protected IIcon iconDoorLowerFlip; + protected IIcon iconDoorUpperFlip; + protected IIcon iconItem; - DoorType(String id) { - this.id = id; - } + DoorType(String id) { + this.id = id; + } - public String getName() { - return I18N.localise("extratrees.block.door.type." + id); - } + public String getName() { + return I18N.localise("extratrees.block.door.type." + id); + } } diff --git a/src/main/java/binnie/extratrees/block/FruitPod.java b/src/main/java/binnie/extratrees/block/FruitPod.java index b51c6d5f..5c7b23eb 100644 --- a/src/main/java/binnie/extratrees/block/FruitPod.java +++ b/src/main/java/binnie/extratrees/block/FruitPod.java @@ -9,44 +9,44 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; public enum FruitPod implements IIconProvider { - Cocoa, - Banana, - Coconut, - Plantain, - RedBanana, - Papayimar; + Cocoa, + Banana, + Coconut, + Plantain, + RedBanana, + Papayimar; - protected short[] textures; - protected IIcon[] icons; + protected short[] textures; + protected IIcon[] icons; - FruitPod() { - textures = new short[]{ - BinnieCore.proxy.getUniqueTextureUID(), - BinnieCore.proxy.getUniqueTextureUID(), - BinnieCore.proxy.getUniqueTextureUID(), - }; - icons = new IIcon[3]; - } + FruitPod() { + textures = new short[] { + BinnieCore.proxy.getUniqueTextureUID(), + BinnieCore.proxy.getUniqueTextureUID(), + BinnieCore.proxy.getUniqueTextureUID(), + }; + icons = new IIcon[3]; + } - public short[] getTextures() { - return textures; - } + public short[] getTextures() { + return textures; + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(short texUID) { - int index = textures[0] - texUID; - if (index >= 0 && index < 3) { - return icons[index]; - } - return null; - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(short texUID) { + int index = textures[0] - texUID; + if (index >= 0 && index < 3) { + return icons[index]; + } + return null; + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - icons[0] = ExtraTrees.proxy.getIcon(register, "pods/" + toString().toLowerCase() + ".0"); - icons[1] = ExtraTrees.proxy.getIcon(register, "pods/" + toString().toLowerCase() + ".1"); - icons[2] = ExtraTrees.proxy.getIcon(register, "pods/" + toString().toLowerCase() + ".2"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + icons[0] = ExtraTrees.proxy.getIcon(register, "pods/" + toString().toLowerCase() + ".0"); + icons[1] = ExtraTrees.proxy.getIcon(register, "pods/" + toString().toLowerCase() + ".1"); + icons[2] = ExtraTrees.proxy.getIcon(register, "pods/" + toString().toLowerCase() + ".2"); + } } diff --git a/src/main/java/binnie/extratrees/block/GateItemRenderer.java b/src/main/java/binnie/extratrees/block/GateItemRenderer.java index 7986ec41..d92cde2b 100644 --- a/src/main/java/binnie/extratrees/block/GateItemRenderer.java +++ b/src/main/java/binnie/extratrees/block/GateItemRenderer.java @@ -9,81 +9,87 @@ import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; public class GateItemRenderer implements IItemRenderer { - private void renderStairBlock(RenderBlocks renderBlocks, ItemStack item, float f, float g, float h) { - Tessellator tessellator = Tessellator.instance; - Block block = ((ItemBlock) item.getItem()).field_150939_a; - for (int k = 0; k < 3; ++k) { - float f2 = 0.0625f; - if (k == 0) { - renderBlocks.setRenderBounds(0.5f - f2, 0.30000001192092896, 0.0, 0.5f + f2, 1.0, f2 * 2.0f); - } - if (k == 1) { - renderBlocks.setRenderBounds(0.5f - f2, 0.30000001192092896, 1.0f - f2 * 2.0f, 0.5f + f2, 1.0, 1.0); - } - f2 = 0.0625f; - if (k == 2) { - renderBlocks.setRenderBounds(0.5f - f2, 0.5, 0.0, 0.5f + f2, 1.0f - f2, 1.0); - } - GL11.glTranslatef(-0.5f, -0.5f, -0.5f); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0f, -1.0f, 0.0f); - renderBlocks.renderFaceYNeg(block, 0.0, 0.0, 0.0, renderBlocks.getBlockIconFromSideAndMetadata(block, 0, item.getItemDamage())); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0f, 1.0f, 0.0f); - renderBlocks.renderFaceYPos(block, 0.0, 0.0, 0.0, renderBlocks.getBlockIconFromSideAndMetadata(block, 1, item.getItemDamage())); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0f, 0.0f, -1.0f); - renderBlocks.renderFaceZNeg(block, 0.0, 0.0, 0.0, renderBlocks.getBlockIconFromSideAndMetadata(block, 2, item.getItemDamage())); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0f, 0.0f, 1.0f); - renderBlocks.renderFaceZPos(block, 0.0, 0.0, 0.0, renderBlocks.getBlockIconFromSideAndMetadata(block, 3, item.getItemDamage())); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0f, 0.0f, 0.0f); - renderBlocks.renderFaceXNeg(block, 0.0, 0.0, 0.0, renderBlocks.getBlockIconFromSideAndMetadata(block, 4, item.getItemDamage())); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0f, 0.0f, 0.0f); - renderBlocks.renderFaceXPos(block, 0.0, 0.0, 0.0, renderBlocks.getBlockIconFromSideAndMetadata(block, 5, item.getItemDamage())); - tessellator.draw(); - GL11.glTranslatef(0.5f, 0.5f, 0.5f); - } - } + private void renderStairBlock(RenderBlocks renderBlocks, ItemStack item, float f, float g, float h) { + Tessellator tessellator = Tessellator.instance; + Block block = ((ItemBlock) item.getItem()).field_150939_a; + for (int k = 0; k < 3; ++k) { + float f2 = 0.0625f; + if (k == 0) { + renderBlocks.setRenderBounds(0.5f - f2, 0.30000001192092896, 0.0, 0.5f + f2, 1.0, f2 * 2.0f); + } + if (k == 1) { + renderBlocks.setRenderBounds(0.5f - f2, 0.30000001192092896, 1.0f - f2 * 2.0f, 0.5f + f2, 1.0, 1.0); + } + f2 = 0.0625f; + if (k == 2) { + renderBlocks.setRenderBounds(0.5f - f2, 0.5, 0.0, 0.5f + f2, 1.0f - f2, 1.0); + } + GL11.glTranslatef(-0.5f, -0.5f, -0.5f); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0f, -1.0f, 0.0f); + renderBlocks.renderFaceYNeg( + block, 0.0, 0.0, 0.0, renderBlocks.getBlockIconFromSideAndMetadata(block, 0, item.getItemDamage())); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0f, 1.0f, 0.0f); + renderBlocks.renderFaceYPos( + block, 0.0, 0.0, 0.0, renderBlocks.getBlockIconFromSideAndMetadata(block, 1, item.getItemDamage())); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0f, 0.0f, -1.0f); + renderBlocks.renderFaceZNeg( + block, 0.0, 0.0, 0.0, renderBlocks.getBlockIconFromSideAndMetadata(block, 2, item.getItemDamage())); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0f, 0.0f, 1.0f); + renderBlocks.renderFaceZPos( + block, 0.0, 0.0, 0.0, renderBlocks.getBlockIconFromSideAndMetadata(block, 3, item.getItemDamage())); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0f, 0.0f, 0.0f); + renderBlocks.renderFaceXNeg( + block, 0.0, 0.0, 0.0, renderBlocks.getBlockIconFromSideAndMetadata(block, 4, item.getItemDamage())); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0f, 0.0f, 0.0f); + renderBlocks.renderFaceXPos( + block, 0.0, 0.0, 0.0, renderBlocks.getBlockIconFromSideAndMetadata(block, 5, item.getItemDamage())); + tessellator.draw(); + GL11.glTranslatef(0.5f, 0.5f, 0.5f); + } + } - @Override - public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type) { - switch (type) { - case ENTITY: - case EQUIPPED: - case INVENTORY: - return true; - } - return false; - } + @Override + public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type) { + switch (type) { + case ENTITY: + case EQUIPPED: + case INVENTORY: + return true; + } + return false; + } - @Override - public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper) { - return true; - } + @Override + public boolean shouldUseRenderHelper( + IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper) { + return true; + } - @Override - public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data) { - switch (type) { - case ENTITY: - renderStairBlock((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; + @Override + public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data) { + switch (type) { + case ENTITY: + renderStairBlock((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); + break; - case EQUIPPED: - renderStairBlock((RenderBlocks) data[0], item, 0.0f, 0.0f, 0.0f); - break; + case EQUIPPED: + renderStairBlock((RenderBlocks) data[0], item, 0.0f, 0.0f, 0.0f); + break; - case INVENTORY: - renderStairBlock((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - - } - } + case INVENTORY: + renderStairBlock((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); + break; + } + } } diff --git a/src/main/java/binnie/extratrees/block/IFenceProvider.java b/src/main/java/binnie/extratrees/block/IFenceProvider.java index 568737b0..2901077a 100644 --- a/src/main/java/binnie/extratrees/block/IFenceProvider.java +++ b/src/main/java/binnie/extratrees/block/IFenceProvider.java @@ -3,5 +3,5 @@ package binnie.extratrees.block; import net.minecraft.item.ItemStack; public interface IFenceProvider { - ItemStack getFence(); + ItemStack getFence(); } diff --git a/src/main/java/binnie/extratrees/block/ILogType.java b/src/main/java/binnie/extratrees/block/ILogType.java index 520effcd..00b199ad 100644 --- a/src/main/java/binnie/extratrees/block/ILogType.java +++ b/src/main/java/binnie/extratrees/block/ILogType.java @@ -1,219 +1,219 @@ package binnie.extratrees.block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -import net.minecraftforge.common.util.ForgeDirection; - -import forestry.api.arboriculture.EnumWoodType; -import forestry.api.arboriculture.TreeManager; -import forestry.arboriculture.worldgen.BlockTypeLog; - import binnie.core.block.TileEntityMetadata; import binnie.core.util.I18N; import binnie.extratrees.ExtraTrees; import binnie.extratrees.api.IDesignMaterial; import cpw.mods.fml.common.registry.GameRegistry; +import forestry.api.arboriculture.EnumWoodType; +import forestry.api.arboriculture.TreeManager; +import forestry.arboriculture.worldgen.BlockTypeLog; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public interface ILogType { - void placeBlock(World p0, int p1, int p2, int p3); + void placeBlock(World p0, int p1, int p2, int p3); - ItemStack getItemStack(); + ItemStack getItemStack(); - int getColour(); + int getColour(); - enum ExtraTreeLog implements ILogType { - Apple("apple", 0x7b7a7b, PlankType.ExtraTreePlanks.Apple), - Fig("fig", 0x807357, PlankType.ExtraTreePlanks.Fig), - Butternut("butternut", 0xb7ada0, PlankType.ExtraTreePlanks.Butternut), - Cherry("cherry", 0x716850, PlankType.ForestryPlanks.CHERRY), - Whitebeam("whitebeam", 0x786a6d, PlankType.ExtraTreePlanks.Whitebeam), - Rowan("rowan", 0xb6b09b, PlankType.ExtraTreePlanks.Rowan), - Hemlock("hemlock", 0xada39b, PlankType.ExtraTreePlanks.Hemlock), - Ash("ash", 0x898982, PlankType.ExtraTreePlanks.Ash), - Alder("alder", 0xc6c0b8, PlankType.ExtraTreePlanks.Alder), - Beech("beech", 0xb2917e, PlankType.ExtraTreePlanks.Beech), - Hawthorn("hawthorn", 0x5f5745, PlankType.ExtraTreePlanks.Hawthorn), - Banana("banana", 0x85924f), - Yew("yew", 0xd1bbc1, PlankType.ExtraTreePlanks.Yew), - Cypress("cypress", 0x9a8483, PlankType.ExtraTreePlanks.Cypress), - Fir("fir", 0x828382, PlankType.ExtraTreePlanks.Fir), - Hazel("hazel", 0xaa986f, PlankType.ExtraTreePlanks.Hazel), - Hickory("hickory", 0x3e3530, PlankType.ExtraTreePlanks.Hickory), - Elm("elm", 0x848386, PlankType.ExtraTreePlanks.Elm), - Elder("elder", 0xd8b874, PlankType.ExtraTreePlanks.Elder), - Holly("holly", 0xb5aa85, PlankType.ExtraTreePlanks.Holly), - Hornbeam("hornbeam", 0xa39276, PlankType.ExtraTreePlanks.Hornbeam), - Cedar("cedar", 0xad764f, PlankType.ExtraTreePlanks.Cedar), - Olive("olive", 0x7b706a, PlankType.ExtraTreePlanks.Olive), - Sweetgum("sweetgum", 0xa1a19c, PlankType.ExtraTreePlanks.Sweetgum), - Locust("locust", 0xadacbc, PlankType.ExtraTreePlanks.Locust), - Pear("pear", 0xa89779, PlankType.ExtraTreePlanks.Pear), - Maclura("maclura", 0x8b5734, PlankType.ExtraTreePlanks.Maclura), - Brazilwood("brazilwood", 0x9e8068, PlankType.ExtraTreePlanks.Brazilwood), - Logwood("logwood", 0xf9e2d2, PlankType.ExtraTreePlanks.Logwood), - Rosewood("rosewood", 0x998666, PlankType.ExtraTreePlanks.Rosewood), - Purpleheart("purpleheart", 0x9392a2, PlankType.ExtraTreePlanks.Purpleheart), - Iroko("iroko", 0x605c5b, PlankType.ExtraTreePlanks.Iroko), - Gingko("gingko", 0xadae9c, PlankType.ExtraTreePlanks.Gingko), - Eucalyptus("eucalyptus", 0xeadeda, PlankType.ExtraTreePlanks.Eucalyptus), - Eucalyptus2("eucalyptus", 0x867e65, PlankType.ExtraTreePlanks.Eucalyptus), - Box("box", 0xab6f57, PlankType.ExtraTreePlanks.Box), - Syzgium("syzgium", 0xab6f57, PlankType.ExtraTreePlanks.Syzgium), - Eucalyptus3("eucalyptus", 0x6cb03f, PlankType.ExtraTreePlanks.Eucalyptus), - Cinnamon("cinnamon", 0x86583c, PlankType.VanillaPlanks.JUNGLE), - PinkIvory("pinkivory", 0x7f6554, PlankType.ExtraTreePlanks.PinkIvory); + enum ExtraTreeLog implements ILogType { + Apple("apple", 0x7b7a7b, PlankType.ExtraTreePlanks.Apple), + Fig("fig", 0x807357, PlankType.ExtraTreePlanks.Fig), + Butternut("butternut", 0xb7ada0, PlankType.ExtraTreePlanks.Butternut), + Cherry("cherry", 0x716850, PlankType.ForestryPlanks.CHERRY), + Whitebeam("whitebeam", 0x786a6d, PlankType.ExtraTreePlanks.Whitebeam), + Rowan("rowan", 0xb6b09b, PlankType.ExtraTreePlanks.Rowan), + Hemlock("hemlock", 0xada39b, PlankType.ExtraTreePlanks.Hemlock), + Ash("ash", 0x898982, PlankType.ExtraTreePlanks.Ash), + Alder("alder", 0xc6c0b8, PlankType.ExtraTreePlanks.Alder), + Beech("beech", 0xb2917e, PlankType.ExtraTreePlanks.Beech), + Hawthorn("hawthorn", 0x5f5745, PlankType.ExtraTreePlanks.Hawthorn), + Banana("banana", 0x85924f), + Yew("yew", 0xd1bbc1, PlankType.ExtraTreePlanks.Yew), + Cypress("cypress", 0x9a8483, PlankType.ExtraTreePlanks.Cypress), + Fir("fir", 0x828382, PlankType.ExtraTreePlanks.Fir), + Hazel("hazel", 0xaa986f, PlankType.ExtraTreePlanks.Hazel), + Hickory("hickory", 0x3e3530, PlankType.ExtraTreePlanks.Hickory), + Elm("elm", 0x848386, PlankType.ExtraTreePlanks.Elm), + Elder("elder", 0xd8b874, PlankType.ExtraTreePlanks.Elder), + Holly("holly", 0xb5aa85, PlankType.ExtraTreePlanks.Holly), + Hornbeam("hornbeam", 0xa39276, PlankType.ExtraTreePlanks.Hornbeam), + Cedar("cedar", 0xad764f, PlankType.ExtraTreePlanks.Cedar), + Olive("olive", 0x7b706a, PlankType.ExtraTreePlanks.Olive), + Sweetgum("sweetgum", 0xa1a19c, PlankType.ExtraTreePlanks.Sweetgum), + Locust("locust", 0xadacbc, PlankType.ExtraTreePlanks.Locust), + Pear("pear", 0xa89779, PlankType.ExtraTreePlanks.Pear), + Maclura("maclura", 0x8b5734, PlankType.ExtraTreePlanks.Maclura), + Brazilwood("brazilwood", 0x9e8068, PlankType.ExtraTreePlanks.Brazilwood), + Logwood("logwood", 0xf9e2d2, PlankType.ExtraTreePlanks.Logwood), + Rosewood("rosewood", 0x998666, PlankType.ExtraTreePlanks.Rosewood), + Purpleheart("purpleheart", 0x9392a2, PlankType.ExtraTreePlanks.Purpleheart), + Iroko("iroko", 0x605c5b, PlankType.ExtraTreePlanks.Iroko), + Gingko("gingko", 0xadae9c, PlankType.ExtraTreePlanks.Gingko), + Eucalyptus("eucalyptus", 0xeadeda, PlankType.ExtraTreePlanks.Eucalyptus), + Eucalyptus2("eucalyptus", 0x867e65, PlankType.ExtraTreePlanks.Eucalyptus), + Box("box", 0xab6f57, PlankType.ExtraTreePlanks.Box), + Syzgium("syzgium", 0xab6f57, PlankType.ExtraTreePlanks.Syzgium), + Eucalyptus3("eucalyptus", 0x6cb03f, PlankType.ExtraTreePlanks.Eucalyptus), + Cinnamon("cinnamon", 0x86583c, PlankType.VanillaPlanks.JUNGLE), + PinkIvory("pinkivory", 0x7f6554, PlankType.ExtraTreePlanks.PinkIvory); - protected String name; - protected int color; - protected IDesignMaterial plank; - protected IIcon trunk; - protected IIcon bark; + protected String name; + protected int color; + protected IDesignMaterial plank; + protected IIcon trunk; + protected IIcon bark; - ExtraTreeLog(String name, int color) { - this.name = name; - this.color = color; - plank = null; - } + ExtraTreeLog(String name, int color) { + this.name = name; + this.color = color; + plank = null; + } - ExtraTreeLog(String name, int color, IDesignMaterial plank) { - this.name = name; - this.color = color; - this.plank = plank; - } + ExtraTreeLog(String name, int color, IDesignMaterial plank) { + this.name = name; + this.color = color; + this.plank = plank; + } - public static void registerIcons(IIconRegister register) { - for (ExtraTreeLog log : values()) { - log.trunk = ExtraTrees.proxy.getIcon(register, "logs/" + log.toString().toLowerCase() + "Trunk"); - log.bark = ExtraTrees.proxy.getIcon(register, "logs/" + log.toString().toLowerCase() + "Bark"); - } - } + public static void registerIcons(IIconRegister register) { + for (ExtraTreeLog log : values()) { + log.trunk = ExtraTrees.proxy.getIcon( + register, "logs/" + log.toString().toLowerCase() + "Trunk"); + log.bark = ExtraTrees.proxy.getIcon( + register, "logs/" + log.toString().toLowerCase() + "Bark"); + } + } - public String getName() { - return I18N.localise("extratrees.block.planks." + name); - } + public String getName() { + return I18N.localise("extratrees.block.planks." + name); + } - public void addRecipe() { - if (plank == null) { - return; - } + public void addRecipe() { + if (plank == null) { + return; + } - ItemStack log = getItemStack(); - ItemStack result = plank.getStack(); - result.stackSize = 4; - GameRegistry.addShapelessRecipe(result, log); - } + ItemStack log = getItemStack(); + ItemStack result = plank.getStack(); + result.stackSize = 4; + GameRegistry.addShapelessRecipe(result, log); + } - @Override - public void placeBlock(World world, int x, int y, int z) { - world.setBlock(x, y, z, ExtraTrees.blockLog, 0, 2); - if (world.getTileEntity(x, y, z) != null) { - ((TileEntityMetadata) world.getTileEntity(x, y, z)).setTileMetadata(ordinal(), false); - } - } + @Override + public void placeBlock(World world, int x, int y, int z) { + world.setBlock(x, y, z, ExtraTrees.blockLog, 0, 2); + if (world.getTileEntity(x, y, z) != null) { + ((TileEntityMetadata) world.getTileEntity(x, y, z)).setTileMetadata(ordinal(), false); + } + } - public IIcon getTrunk() { - return trunk; - } + public IIcon getTrunk() { + return trunk; + } - public IIcon getBark() { - return bark; - } + public IIcon getBark() { + return bark; + } - @Override - public ItemStack getItemStack() { - return TileEntityMetadata.getItemStack(ExtraTrees.blockLog, ordinal()).copy(); - } + @Override + public ItemStack getItemStack() { + return TileEntityMetadata.getItemStack(ExtraTrees.blockLog, ordinal()) + .copy(); + } - @Override - public int getColour() { - return color; - } - } + @Override + public int getColour() { + return color; + } + } - enum ForestryLog implements ILogType { - LARCH(1, 0, 6376529), - TEAK(1, 1, 3486249), - ACACIA(1, 2, 7565906), - LIME(1, 3, 7431512), - CHESTNUT(2, 0, 6183484), - WENGE(2, 1, 6444875), - BAOBAB(2, 2, 14326376), - SEQUOIA(2, 3, 11563861), - KAPOK(3, 0, 5396559), - EBONY(3, 1, 10453073), - MAHOGANY(3, 2, 9403501), - BALSA(3, 3, 8551285), - WILLOW(4, 0, 10590869), - WALNUT(4, 1, 9474682), - GREENHEART(4, 2, 7956050), - CHERRY(4, 3, 6296064), - MAHOE(5, 0, 6382152), - POPLAR(5, 1, 9217671), - PALM(5, 2, 8941379), - PAPAYA(5, 3, 9069862), - PINE(6, 0, 7558729), - PLUM(6, 1, 11961953), - MAPLE(6, 2, 9078657), - CITRUS(6, 3, 5983033); + enum ForestryLog implements ILogType { + LARCH(1, 0, 6376529), + TEAK(1, 1, 3486249), + ACACIA(1, 2, 7565906), + LIME(1, 3, 7431512), + CHESTNUT(2, 0, 6183484), + WENGE(2, 1, 6444875), + BAOBAB(2, 2, 14326376), + SEQUOIA(2, 3, 11563861), + KAPOK(3, 0, 5396559), + EBONY(3, 1, 10453073), + MAHOGANY(3, 2, 9403501), + BALSA(3, 3, 8551285), + WILLOW(4, 0, 10590869), + WALNUT(4, 1, 9474682), + GREENHEART(4, 2, 7956050), + CHERRY(4, 3, 6296064), + MAHOE(5, 0, 6382152), + POPLAR(5, 1, 9217671), + PALM(5, 2, 8941379), + PAPAYA(5, 3, 9069862), + PINE(6, 0, 7558729), + PLUM(6, 1, 11961953), + MAPLE(6, 2, 9078657), + CITRUS(6, 3, 5983033); - protected int block; - protected int metadata; - protected int colour; + protected int block; + protected int metadata; + protected int colour; - ForestryLog(int blockOffset, int meta, int colour) { - block = blockOffset; - metadata = meta; - this.colour = colour; - } + ForestryLog(int blockOffset, int meta, int colour) { + block = blockOffset; + metadata = meta; + this.colour = colour; + } - @Override - public void placeBlock(World world, int x, int y, int z) { - BlockTypeLog logBlock = new BlockTypeLog(TreeManager.woodItemAccess.getLog(EnumWoodType.valueOf(name().toUpperCase()), false)); - logBlock.setDirection(ForgeDirection.UP); - logBlock.setBlock(world, x, y, z); + @Override + public void placeBlock(World world, int x, int y, int z) { + BlockTypeLog logBlock = new BlockTypeLog( + TreeManager.woodItemAccess.getLog(EnumWoodType.valueOf(name().toUpperCase()), false)); + logBlock.setDirection(ForgeDirection.UP); + logBlock.setBlock(world, x, y, z); + } - } + @Override + public ItemStack getItemStack() { + return TreeManager.woodItemAccess.getLog(EnumWoodType.valueOf(name().toUpperCase()), false); + } - @Override - public ItemStack getItemStack() { - return TreeManager.woodItemAccess.getLog(EnumWoodType.valueOf(name().toUpperCase()), false); - } + @Override + public int getColour() { + return colour; + } + } - @Override - public int getColour() { - return colour; - } - } + enum VanillaLog implements ILogType { + Oak(6376752), + Spruce(2759179), + Birch(6376752), + Jungle(5456154); - enum VanillaLog implements ILogType { - Oak(6376752), - Spruce(2759179), - Birch(6376752), - Jungle(5456154); + protected int colour; - protected int colour; + VanillaLog(int colour) { + this.colour = colour; + } - VanillaLog(int colour) { - this.colour = colour; - } + @Override + public void placeBlock(World world, int x, int y, int z) { + world.setBlock(x, y, z, Blocks.log, ordinal(), 2); + } - @Override - public void placeBlock(World world, int x, int y, int z) { - world.setBlock(x, y, z, Blocks.log, ordinal(), 2); - } + @Override + public ItemStack getItemStack() { + return new ItemStack(Blocks.log, 1, ordinal()); + } - @Override - public ItemStack getItemStack() { - return new ItemStack(Blocks.log, 1, ordinal()); - } - - @Override - public int getColour() { - return colour; - } - } + @Override + public int getColour() { + return colour; + } + } } diff --git a/src/main/java/binnie/extratrees/block/IPlankType.java b/src/main/java/binnie/extratrees/block/IPlankType.java index de9877b3..a3f11d77 100644 --- a/src/main/java/binnie/extratrees/block/IPlankType.java +++ b/src/main/java/binnie/extratrees/block/IPlankType.java @@ -4,7 +4,7 @@ import binnie.extratrees.api.IDesignMaterial; import net.minecraft.util.IIcon; public interface IPlankType extends IDesignMaterial { - IIcon getIcon(); + IIcon getIcon(); - String getDescription(); + String getDescription(); } diff --git a/src/main/java/binnie/extratrees/block/ItemETDoor.java b/src/main/java/binnie/extratrees/block/ItemETDoor.java index 7bede3e3..de68b900 100644 --- a/src/main/java/binnie/extratrees/block/ItemETDoor.java +++ b/src/main/java/binnie/extratrees/block/ItemETDoor.java @@ -15,97 +15,111 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class ItemETDoor extends ItemMetadata { - public ItemETDoor(Block block) { - super(block); - maxStackSize = 8; - setCreativeTab(CreativeTabs.tabRedstone); - } + public ItemETDoor(Block block) { + super(block); + maxStackSize = 8; + setCreativeTab(CreativeTabs.tabRedstone); + } - public static void placeDoorBlock(World world, int x, int y, int z, int meta, Block block, ItemStack item, EntityPlayer player) { - byte b0 = 0; - byte b2 = 0; - if (meta == 0) { - b2 = 1; - } - if (meta == 1) { - b0 = -1; - } - if (meta == 2) { - b2 = -1; - } - if (meta == 3) { - b0 = 1; - } + public static void placeDoorBlock( + World world, int x, int y, int z, int meta, Block block, ItemStack item, EntityPlayer player) { + byte b0 = 0; + byte b2 = 0; + if (meta == 0) { + b2 = 1; + } + if (meta == 1) { + b0 = -1; + } + if (meta == 2) { + b2 = -1; + } + if (meta == 3) { + b0 = 1; + } - int i1 = (world.isBlockNormalCubeDefault(x - b0, y, z - b2, false) ? 1 : 0) + (world.isBlockNormalCubeDefault(x - b0, y + 1, z - b2, false) ? 1 : 0); - int j1 = (world.isBlockNormalCubeDefault(x + b0, y, z + b2, false) ? 1 : 0) + (world.isBlockNormalCubeDefault(x + b0, y + 1, z + b2, false) ? 1 : 0); - boolean flag = world.getBlock(x - b0, y, z - b2) == block || world.getBlock(x - b0, y + 1, z - b2) == block; - boolean flag2 = world.getBlock(x + b0, y, z + b2) == block || world.getBlock(x + b0, y + 1, z + b2) == block; - boolean flag3 = false; - if (flag && !flag2 || j1 > i1) { - flag3 = true; - } + int i1 = (world.isBlockNormalCubeDefault(x - b0, y, z - b2, false) ? 1 : 0) + + (world.isBlockNormalCubeDefault(x - b0, y + 1, z - b2, false) ? 1 : 0); + int j1 = (world.isBlockNormalCubeDefault(x + b0, y, z + b2, false) ? 1 : 0) + + (world.isBlockNormalCubeDefault(x + b0, y + 1, z + b2, false) ? 1 : 0); + boolean flag = world.getBlock(x - b0, y, z - b2) == block || world.getBlock(x - b0, y + 1, z - b2) == block; + boolean flag2 = world.getBlock(x + b0, y, z + b2) == block || world.getBlock(x + b0, y + 1, z + b2) == block; + boolean flag3 = false; + if (flag && !flag2 || j1 > i1) { + flag3 = true; + } - world.setBlock(x, y, z, block, meta, 2); - world.setBlock(x, y + 1, z, block, 0x8 | (flag3 ? 1 : 0), 2); - if (world.getBlock(x, y, z) == block) { - TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); - if (tile != null) { - tile.setTileMetadata(TileEntityMetadata.getItemDamage(item), false); - } - block.onBlockPlacedBy(world, x, y, z, player, item); - block.onPostBlockPlaced(world, x, y, z, meta); - } + world.setBlock(x, y, z, block, meta, 2); + world.setBlock(x, y + 1, z, block, 0x8 | (flag3 ? 1 : 0), 2); + if (world.getBlock(x, y, z) == block) { + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + if (tile != null) { + tile.setTileMetadata(TileEntityMetadata.getItemDamage(item), false); + } + block.onBlockPlacedBy(world, x, y, z, player, item); + block.onPostBlockPlaced(world, x, y, z, meta); + } - world.notifyBlocksOfNeighborChange(x, y, z, block); - world.notifyBlocksOfNeighborChange(x, y + 1, z, block); - } + world.notifyBlocksOfNeighborChange(x, y, z, block); + world.notifyBlocksOfNeighborChange(x, y + 1, z, block); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - for (DoorType type : DoorType.values()) { - type.iconItem = ExtraTrees.proxy.getIcon(register, "door." + type.id); - } - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + for (DoorType type : DoorType.values()) { + type.iconItem = ExtraTrees.proxy.getIcon(register, "door." + type.id); + } + } - @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int meta, float hitX, float hitY, float hitZ) { - if (meta != 1) { - return false; - } + @Override + public boolean onItemUse( + ItemStack stack, + EntityPlayer player, + World world, + int x, + int y, + int z, + int meta, + float hitX, + float hitY, + float hitZ) { + if (meta != 1) { + return false; + } - y++; - Block block = ExtraTrees.blockDoor; - if (!player.canPlayerEdit(x, y, z, meta, stack) || !player.canPlayerEdit(x, y + 1, z, meta, stack)) { - return false; - } - if (!block.canPlaceBlockAt(world, x, y, z)) { - return false; - } + y++; + Block block = ExtraTrees.blockDoor; + if (!player.canPlayerEdit(x, y, z, meta, stack) || !player.canPlayerEdit(x, y + 1, z, meta, stack)) { + return false; + } + if (!block.canPlaceBlockAt(world, x, y, z)) { + return false; + } - int newMeta = MathHelper.floor_double((player.rotationYaw + 180.0f) * 4.0f / 360.0f - 0.5) & 0x3; - placeDoorBlock(world, x, y, z, newMeta, block, stack, player); - stack.stackSize--; - return true; - } + int newMeta = MathHelper.floor_double((player.rotationYaw + 180.0f) * 4.0f / 360.0f - 0.5) & 0x3; + placeDoorBlock(world, x, y, z, newMeta, block, stack, player); + stack.stackSize--; + return true; + } - @Override - @SideOnly(Side.CLIENT) - public int getSpriteNumber() { - return 1; - } + @Override + @SideOnly(Side.CLIENT) + public int getSpriteNumber() { + return 1; + } - @SideOnly(Side.CLIENT) - @Override - public IIcon getIconFromDamage(int damage) { - DoorType type = BlockETDoor.getDoorType(damage); - return type.iconItem; - } + @SideOnly(Side.CLIENT) + @Override + public IIcon getIconFromDamage(int damage) { + DoorType type = BlockETDoor.getDoorType(damage); + return type.iconItem; + } - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack stack, int meta) { - return WoodManager.getPlankType((stack == null) ? 0 : (stack.getItemDamage() & 0xFF)).getColor(); - } + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int meta) { + return WoodManager.getPlankType((stack == null) ? 0 : (stack.getItemDamage() & 0xFF)) + .getColor(); + } } diff --git a/src/main/java/binnie/extratrees/block/ItemETSlab.java b/src/main/java/binnie/extratrees/block/ItemETSlab.java index 9586eaa9..10bc260c 100644 --- a/src/main/java/binnie/extratrees/block/ItemETSlab.java +++ b/src/main/java/binnie/extratrees/block/ItemETSlab.java @@ -11,80 +11,92 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ItemETSlab extends ItemMetadata { - private boolean isFullBlock; - private BlockETSlab theHalfSlab; - private BlockETSlab doubleSlab; + private boolean isFullBlock; + private BlockETSlab theHalfSlab; + private BlockETSlab doubleSlab; - public ItemETSlab(Block block) { - super(block); - theHalfSlab = (BlockETSlab) ExtraTrees.blockSlab; - doubleSlab = (BlockETSlab) ExtraTrees.blockDoubleSlab; - isFullBlock = (block != theHalfSlab); - setMaxDamage(0); - setHasSubtypes(true); - } + public ItemETSlab(Block block) { + super(block); + theHalfSlab = (BlockETSlab) ExtraTrees.blockSlab; + doubleSlab = (BlockETSlab) ExtraTrees.blockDoubleSlab; + isFullBlock = (block != theHalfSlab); + setMaxDamage(0); + setHasSubtypes(true); + } - @Override - @SideOnly(Side.CLIENT) - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int meta, float hitX, float hitY, float hitZ) { - if (isFullBlock) { - return super.onItemUse(stack, player, world, x, y, z, meta, hitX, hitY, hitZ); - } - if (stack.stackSize == 0 || !player.canPlayerEdit(x, y, z, meta, stack)) { - return false; - } + @Override + @SideOnly(Side.CLIENT) + public boolean onItemUse( + ItemStack stack, + EntityPlayer player, + World world, + int x, + int y, + int z, + int meta, + float hitX, + float hitY, + float hitZ) { + if (isFullBlock) { + return super.onItemUse(stack, player, world, x, y, z, meta, hitX, hitY, hitZ); + } + if (stack.stackSize == 0 || !player.canPlayerEdit(x, y, z, meta, stack)) { + return false; + } - Block i1 = world.getBlock(x, y, z); - int j1 = world.getBlockMetadata(x, y, z); - int tileMeta = TileEntityMetadata.getTileMetadata(world, x, y, z); - int k1 = j1 & 0x7; - boolean flag = (j1 & 0x8) != 0x0; + Block i1 = world.getBlock(x, y, z); + int j1 = world.getBlockMetadata(x, y, z); + int tileMeta = TileEntityMetadata.getTileMetadata(world, x, y, z); + int k1 = j1 & 0x7; + boolean flag = (j1 & 0x8) != 0x0; - if (((meta == 1 && !flag) || (meta == 0 && flag)) && i1 == theHalfSlab && tileMeta == stack.getItemDamage()) { - if (world.checkNoEntityCollision(doubleSlab.getCollisionBoundingBoxFromPool(world, x, y, z)) && world.setBlock(x, y, z, doubleSlab, k1, 3)) { - TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); - if (tile != null) { - tile.setTileMetadata(tileMeta, true); - } - stack.stackSize--; - } - return true; - } - return func_77888_a(stack, player, world, x, y, z, meta) - || super.onItemUse(stack, player, world, x, y, z, meta, hitX, hitY, hitZ); - } + if (((meta == 1 && !flag) || (meta == 0 && flag)) && i1 == theHalfSlab && tileMeta == stack.getItemDamage()) { + if (world.checkNoEntityCollision(doubleSlab.getCollisionBoundingBoxFromPool(world, x, y, z)) + && world.setBlock(x, y, z, doubleSlab, k1, 3)) { + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + if (tile != null) { + tile.setTileMetadata(tileMeta, true); + } + stack.stackSize--; + } + return true; + } + return func_77888_a(stack, player, world, x, y, z, meta) + || super.onItemUse(stack, player, world, x, y, z, meta, hitX, hitY, hitZ); + } - private boolean func_77888_a(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side) { - 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++; - } + private boolean func_77888_a(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side) { + 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++; + } - Block i1 = world.getBlock(x, y, z); - int j1 = world.getBlockMetadata(x, y, z); - int k1 = j1 & 0x7; - int tileMeta = TileEntityMetadata.getTileMetadata(world, x, y, z); + Block i1 = world.getBlock(x, y, z); + int j1 = world.getBlockMetadata(x, y, z); + int k1 = j1 & 0x7; + int tileMeta = TileEntityMetadata.getTileMetadata(world, x, y, z); - if (i1 == theHalfSlab && tileMeta == stack.getItemDamage()) { - if (world.checkNoEntityCollision(doubleSlab.getCollisionBoundingBoxFromPool(world, x, y, z)) && world.setBlock(x, y, z, doubleSlab, k1, 3)) { - TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); - if (tile != null) { - tile.setTileMetadata(tileMeta, false); - world.markBlockForUpdate(x, y, z); - } - stack.stackSize--; - } - return true; - } - return false; - } + if (i1 == theHalfSlab && tileMeta == stack.getItemDamage()) { + if (world.checkNoEntityCollision(doubleSlab.getCollisionBoundingBoxFromPool(world, x, y, z)) + && world.setBlock(x, y, z, doubleSlab, k1, 3)) { + TileEntityMetadata tile = TileEntityMetadata.getTile(world, x, y, z); + if (tile != null) { + tile.setTileMetadata(tileMeta, false); + world.markBlockForUpdate(x, y, z); + } + stack.stackSize--; + } + return true; + } + return false; + } } diff --git a/src/main/java/binnie/extratrees/block/ItemETStairs.java b/src/main/java/binnie/extratrees/block/ItemETStairs.java index 6abd68ee..a2b550ef 100644 --- a/src/main/java/binnie/extratrees/block/ItemETStairs.java +++ b/src/main/java/binnie/extratrees/block/ItemETStairs.java @@ -13,31 +13,42 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; public class ItemETStairs extends ItemBlock { - public ItemETStairs(Block block) { - super(block); - setCreativeTab(CreativeTabs.tabBlock); - setUnlocalizedName("stairs"); - } + public ItemETStairs(Block block) { + super(block); + setCreativeTab(CreativeTabs.tabBlock); + setUnlocalizedName("stairs"); + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) { - return PlankType.ExtraTreePlanks.values()[par1].getIcon(); - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int par1) { + return PlankType.ExtraTreePlanks.values()[par1].getIcon(); + } - @Override - 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) { - boolean done = super.placeBlockAt(stack, player, world, x, y, z, side, hitX, hitY, hitZ, metadata); - TileEntityMetadata tile = (TileEntityMetadata) world.getTileEntity(x, y, z); - if (tile != null) { - tile.setTileMetadata(stack.getItemDamage(), false); - } - return done; - } + @Override + 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) { + boolean done = super.placeBlockAt(stack, player, world, x, y, z, side, hitX, hitY, hitZ, metadata); + TileEntityMetadata tile = (TileEntityMetadata) world.getTileEntity(x, y, z); + if (tile != null) { + tile.setTileMetadata(stack.getItemDamage(), false); + } + return done; + } - @Override - @SideOnly(Side.CLIENT) - public String getItemStackDisplayName(ItemStack par1ItemStack) { - return ((IBlockMetadata) field_150939_a).getBlockName(par1ItemStack); - } + @Override + @SideOnly(Side.CLIENT) + public String getItemStackDisplayName(ItemStack par1ItemStack) { + return ((IBlockMetadata) field_150939_a).getBlockName(par1ItemStack); + } } diff --git a/src/main/java/binnie/extratrees/block/ModuleBlocks.java b/src/main/java/binnie/extratrees/block/ModuleBlocks.java index 72d328e5..0028e379 100644 --- a/src/main/java/binnie/extratrees/block/ModuleBlocks.java +++ b/src/main/java/binnie/extratrees/block/ModuleBlocks.java @@ -32,113 +32,121 @@ import net.minecraftforge.oredict.RecipeSorter; import net.minecraftforge.oredict.ShapedOreRecipe; public class ModuleBlocks implements IInitializable { - public static int hedgeRenderID; + public static int hedgeRenderID; - @Override - public void preInit() { - PlankType.setup(); - ExtraTrees.blockPlanks = new BlockETPlanks(); - ExtraTrees.blockFence = new BlockFence(); - ExtraTrees.blockLog = new BlockETLog(); - ExtraTrees.blockShrubLeaves = new BlockShrubLeaves(); - ExtraTrees.blockGate = new BlockGate(); - ExtraTrees.blockDoor = new BlockETDoor(); - ExtraTrees.blockMultiFence = new BlockMultiFence(); - ExtraTrees.blockSlab = new BlockETSlab(false); - ExtraTrees.blockDoubleSlab = new BlockETSlab(true); - ExtraTrees.blockStairs = new BlockETStairs(ExtraTrees.blockPlanks); + @Override + public void preInit() { + PlankType.setup(); + ExtraTrees.blockPlanks = new BlockETPlanks(); + ExtraTrees.blockFence = new BlockFence(); + ExtraTrees.blockLog = new BlockETLog(); + ExtraTrees.blockShrubLeaves = new BlockShrubLeaves(); + ExtraTrees.blockGate = new BlockGate(); + ExtraTrees.blockDoor = new BlockETDoor(); + ExtraTrees.blockMultiFence = new BlockMultiFence(); + ExtraTrees.blockSlab = new BlockETSlab(false); + ExtraTrees.blockDoubleSlab = new BlockETSlab(true); + ExtraTrees.blockStairs = new BlockETStairs(ExtraTrees.blockPlanks); - GameRegistry.registerBlock(ExtraTrees.blockPlanks, ItemMetadata.class, "planks"); - GameRegistry.registerBlock(ExtraTrees.blockFence, ItemMetadata.class, "fence"); - GameRegistry.registerBlock(ExtraTrees.blockMultiFence, ItemMetadata.class, "multifence"); - BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(ExtraTrees.blockMultiFence), new ItemMetadataRenderer()); - GameRegistry.registerBlock(ExtraTrees.blockLog, ItemMetadata.class, "log"); - GameRegistry.registerBlock(ExtraTrees.blockGate, ItemMetadata.class, "gate"); - GameRegistry.registerBlock(ExtraTrees.blockSlab, ItemETSlab.class, "slab"); - GameRegistry.registerBlock(ExtraTrees.blockDoubleSlab, ItemETSlab.class, "doubleSlab"); - GameRegistry.registerBlock(ExtraTrees.blockDoor, ItemETDoor.class, "door"); - GameRegistry.registerBlock(ExtraTrees.blockStairs, ItemETStairs.class, "stairs"); + GameRegistry.registerBlock(ExtraTrees.blockPlanks, ItemMetadata.class, "planks"); + GameRegistry.registerBlock(ExtraTrees.blockFence, ItemMetadata.class, "fence"); + GameRegistry.registerBlock(ExtraTrees.blockMultiFence, ItemMetadata.class, "multifence"); + BinnieCore.proxy.registerCustomItemRenderer( + Item.getItemFromBlock(ExtraTrees.blockMultiFence), new ItemMetadataRenderer()); + GameRegistry.registerBlock(ExtraTrees.blockLog, ItemMetadata.class, "log"); + GameRegistry.registerBlock(ExtraTrees.blockGate, ItemMetadata.class, "gate"); + GameRegistry.registerBlock(ExtraTrees.blockSlab, ItemETSlab.class, "slab"); + GameRegistry.registerBlock(ExtraTrees.blockDoubleSlab, ItemETSlab.class, "doubleSlab"); + GameRegistry.registerBlock(ExtraTrees.blockDoor, ItemETDoor.class, "door"); + GameRegistry.registerBlock(ExtraTrees.blockStairs, ItemETStairs.class, "stairs"); - BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(ExtraTrees.blockStairs), new StairItemRenderer()); - BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(ExtraTrees.blockGate), new GateItemRenderer()); - for (ILogType plank : ILogType.ExtraTreeLog.values()) { - OreDictionary.registerOre("logWood", plank.getItemStack()); - } + BinnieCore.proxy.registerCustomItemRenderer( + Item.getItemFromBlock(ExtraTrees.blockStairs), new StairItemRenderer()); + BinnieCore.proxy.registerCustomItemRenderer( + Item.getItemFromBlock(ExtraTrees.blockGate), new GateItemRenderer()); + for (ILogType plank : ILogType.ExtraTreeLog.values()) { + OreDictionary.registerOre("logWood", plank.getItemStack()); + } - GameRegistry.addSmelting(ExtraTrees.blockLog, new ItemStack(Items.coal, 1, 1), 0.15f); - for (IPlankType plank2 : PlankType.ExtraTreePlanks.values()) { - OreDictionary.registerOre("plankWood", plank2.getStack()); - } + GameRegistry.addSmelting(ExtraTrees.blockLog, new ItemStack(Items.coal, 1, 1), 0.15f); + for (IPlankType plank2 : PlankType.ExtraTreePlanks.values()) { + OreDictionary.registerOre("plankWood", plank2.getStack()); + } - FMLInterModComms.sendMessage("Forestry", "add-fence-block", "ExtraTrees:fence"); - FMLInterModComms.sendMessage("Forestry", "add-fence-block", "ExtraTrees:gate"); - // FMLInterModComms.sendMessage("Forestry", "add-alveary-slab", "ExtraTrees:slab"); - FMLInterModComms.sendMessage("Forestry", "add-fence-block", "ExtraTrees:multifence"); - ModuleBlocks.hedgeRenderID = BinnieCore.proxy.getUniqueRenderID(); - } + FMLInterModComms.sendMessage("Forestry", "add-fence-block", "ExtraTrees:fence"); + FMLInterModComms.sendMessage("Forestry", "add-fence-block", "ExtraTrees:gate"); + // FMLInterModComms.sendMessage("Forestry", "add-alveary-slab", "ExtraTrees:slab"); + FMLInterModComms.sendMessage("Forestry", "add-fence-block", "ExtraTrees:multifence"); + ModuleBlocks.hedgeRenderID = BinnieCore.proxy.getUniqueRenderID(); + } - @Override - public void init() { - ExtraTrees.fenceID = RenderingRegistry.getNextAvailableRenderId(); - RenderingRegistry.registerBlockHandler(new FenceRenderer()); - ExtraTrees.stairsID = RenderingRegistry.getNextAvailableRenderId(); - RenderingRegistry.registerBlockHandler(new StairsRenderer()); - ExtraTrees.doorRenderId = RenderingRegistry.getNextAvailableRenderId(); - RenderingRegistry.registerBlockHandler(new DoorBlockRenderer()); - ExtraTrees.branchRenderId = RenderingRegistry.getNextAvailableRenderId(); - RenderingRegistry.registerBlockHandler(new BranchBlockRenderer()); - RenderingRegistry.registerBlockHandler(new HedgeRenderer()); - RecipeSorter.register("extratrees:multifence", MultiFenceRecipeSize.class, RecipeSorter.Category.SHAPED, ""); - RecipeSorter.register("extratrees:multifence2", MultiFenceRecipeEmbedded.class, RecipeSorter.Category.SHAPED, ""); - RecipeSorter.register("extratrees:multifence3", MultiFenceRecipeSolid.class, RecipeSorter.Category.SHAPED, ""); - } + @Override + public void init() { + ExtraTrees.fenceID = RenderingRegistry.getNextAvailableRenderId(); + RenderingRegistry.registerBlockHandler(new FenceRenderer()); + ExtraTrees.stairsID = RenderingRegistry.getNextAvailableRenderId(); + RenderingRegistry.registerBlockHandler(new StairsRenderer()); + ExtraTrees.doorRenderId = RenderingRegistry.getNextAvailableRenderId(); + RenderingRegistry.registerBlockHandler(new DoorBlockRenderer()); + ExtraTrees.branchRenderId = RenderingRegistry.getNextAvailableRenderId(); + RenderingRegistry.registerBlockHandler(new BranchBlockRenderer()); + RenderingRegistry.registerBlockHandler(new HedgeRenderer()); + RecipeSorter.register("extratrees:multifence", MultiFenceRecipeSize.class, RecipeSorter.Category.SHAPED, ""); + RecipeSorter.register( + "extratrees:multifence2", MultiFenceRecipeEmbedded.class, RecipeSorter.Category.SHAPED, ""); + RecipeSorter.register("extratrees:multifence3", MultiFenceRecipeSolid.class, RecipeSorter.Category.SHAPED, ""); + } - @Override - public void postInit() { - for (PlankType.ExtraTreePlanks plank : PlankType.ExtraTreePlanks.values()) { - ItemStack planks = plank.getStack(); - ItemStack slabs = TileEntityMetadata.getItemStack(ExtraTrees.blockSlab, plank.ordinal()); - ItemStack stairs = TileEntityMetadata.getItemStack(ExtraTrees.blockStairs, plank.ordinal()); - stairs.stackSize = 4; - GameRegistry.addRecipe(stairs.copy(), "# ", "## ", "###", '#', planks.copy()); - slabs.stackSize = 6; - CraftingManager.getInstance().getRecipeList().add(0, new ShapedOreRecipe(slabs.copy(), "###", '#', planks.copy())); - } + @Override + public void postInit() { + for (PlankType.ExtraTreePlanks plank : PlankType.ExtraTreePlanks.values()) { + ItemStack planks = plank.getStack(); + ItemStack slabs = TileEntityMetadata.getItemStack(ExtraTrees.blockSlab, plank.ordinal()); + ItemStack stairs = TileEntityMetadata.getItemStack(ExtraTrees.blockStairs, plank.ordinal()); + stairs.stackSize = 4; + GameRegistry.addRecipe(stairs.copy(), "# ", "## ", "###", '#', planks.copy()); + slabs.stackSize = 6; + CraftingManager.getInstance() + .getRecipeList() + .add(0, new ShapedOreRecipe(slabs.copy(), "###", '#', planks.copy())); + } - GameRegistry.addRecipe(new MultiFenceRecipeSize()); - GameRegistry.addRecipe(new MultiFenceRecipeEmbedded()); - GameRegistry.addRecipe(new MultiFenceRecipeSolid()); - for (IPlankType plank2 : WoodManager.getAllPlankTypes()) { - ItemStack planks2 = plank2.getStack(); - ItemStack fenceNormal = WoodManager.getFence(plank2, new FenceType(0), 1); - ItemStack gate = WoodManager.getGate(plank2); - ItemStack doorStandard = WoodManager.getDoor(plank2, DoorType.STANDARD); - ItemStack doorSolid = WoodManager.getDoor(plank2, DoorType.SOLID); - ItemStack doorSplit = WoodManager.getDoor(plank2, DoorType.DOUBLE); - ItemStack doorFull = WoodManager.getDoor(plank2, DoorType.FULL); - if (planks2 != null) { - if (gate == null) { - continue; - } - gate.stackSize = 1; - GameRegistry.addRecipe(gate.copy(), "fpf", 'f', fenceNormal.copy(), 'p', planks2.copy()); - fenceNormal.stackSize = 4; - GameRegistry.addRecipe(fenceNormal.copy(), "###", "# #", '#', planks2.copy()); - GameRegistry.addRecipe(doorSolid.copy(), "###", "###", "###", '#', planks2.copy()); - GameRegistry.addRecipe(doorStandard.copy(), "# #", "###", "###", '#', planks2.copy()); - GameRegistry.addRecipe(doorSplit.copy(), "# #", "###", "# #", '#', planks2.copy()); - GameRegistry.addRecipe(doorFull.copy(), "# #", "# #", "# #", '#', planks2.copy()); - } - } - addSqueezer(ILogType.VanillaLog.Spruce, ExtraTreeLiquid.Resin, 50); - } + GameRegistry.addRecipe(new MultiFenceRecipeSize()); + GameRegistry.addRecipe(new MultiFenceRecipeEmbedded()); + GameRegistry.addRecipe(new MultiFenceRecipeSolid()); + for (IPlankType plank2 : WoodManager.getAllPlankTypes()) { + ItemStack planks2 = plank2.getStack(); + ItemStack fenceNormal = WoodManager.getFence(plank2, new FenceType(0), 1); + ItemStack gate = WoodManager.getGate(plank2); + ItemStack doorStandard = WoodManager.getDoor(plank2, DoorType.STANDARD); + ItemStack doorSolid = WoodManager.getDoor(plank2, DoorType.SOLID); + ItemStack doorSplit = WoodManager.getDoor(plank2, DoorType.DOUBLE); + ItemStack doorFull = WoodManager.getDoor(plank2, DoorType.FULL); + if (planks2 != null) { + if (gate == null) { + continue; + } + gate.stackSize = 1; + GameRegistry.addRecipe(gate.copy(), "fpf", 'f', fenceNormal.copy(), 'p', planks2.copy()); + fenceNormal.stackSize = 4; + GameRegistry.addRecipe(fenceNormal.copy(), "###", "# #", '#', planks2.copy()); + GameRegistry.addRecipe(doorSolid.copy(), "###", "###", "###", '#', planks2.copy()); + GameRegistry.addRecipe(doorStandard.copy(), "# #", "###", "###", '#', planks2.copy()); + GameRegistry.addRecipe(doorSplit.copy(), "# #", "###", "# #", '#', planks2.copy()); + GameRegistry.addRecipe(doorFull.copy(), "# #", "# #", "# #", '#', planks2.copy()); + } + } + addSqueezer(ILogType.VanillaLog.Spruce, ExtraTreeLiquid.Resin, 50); + } - public void addSqueezer(ILogType log, ILiquidType liquid, int amount, float pulpChance) { - FluidStack liquidStack = liquid.get(amount); - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{log.getItemStack()}, liquidStack, Mods.forestry.stack("woodPulp"), (int) (100.0f * pulpChance)); - } + public void addSqueezer(ILogType log, ILiquidType liquid, int amount, float pulpChance) { + FluidStack liquidStack = liquid.get(amount); + RecipeManagers.squeezerManager.addRecipe( + 10, new ItemStack[] {log.getItemStack()}, liquidStack, Mods.forestry.stack("woodPulp"), (int) + (100.0f * pulpChance)); + } - public void addSqueezer(ILogType log, ILiquidType liquid, int amount) { - addSqueezer(log, liquid, amount, 0.5f); - } + public void addSqueezer(ILogType log, ILiquidType liquid, int amount) { + addSqueezer(log, liquid, amount, 0.5f); + } } diff --git a/src/main/java/binnie/extratrees/block/PlankType.java b/src/main/java/binnie/extratrees/block/PlankType.java index 6bca7912..9951f9ab 100644 --- a/src/main/java/binnie/extratrees/block/PlankType.java +++ b/src/main/java/binnie/extratrees/block/PlankType.java @@ -15,268 +15,270 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; public class PlankType { - public static void setup() { - for (VanillaPlanks plank : VanillaPlanks.values()) { - CarpentryManager.carpentryInterface.registerCarpentryWood(plank.ordinal(), plank); - } - for (ExtraTreePlanks plank2 : ExtraTreePlanks.values()) { - CarpentryManager.carpentryInterface.registerCarpentryWood(plank2.ordinal() + 32, plank2); - } - for (ForestryPlanks plank3 : ForestryPlanks.values()) { - CarpentryManager.carpentryInterface.registerCarpentryWood(plank3.ordinal() + 128, plank3); - } - for (ExtraBiomesPlank plank4 : ExtraBiomesPlank.values()) { - CarpentryManager.carpentryInterface.registerCarpentryWood(plank4.ordinal() + 192, plank4); - } - } + public static void setup() { + for (VanillaPlanks plank : VanillaPlanks.values()) { + CarpentryManager.carpentryInterface.registerCarpentryWood(plank.ordinal(), plank); + } + for (ExtraTreePlanks plank2 : ExtraTreePlanks.values()) { + CarpentryManager.carpentryInterface.registerCarpentryWood(plank2.ordinal() + 32, plank2); + } + for (ForestryPlanks plank3 : ForestryPlanks.values()) { + CarpentryManager.carpentryInterface.registerCarpentryWood(plank3.ordinal() + 128, plank3); + } + for (ExtraBiomesPlank plank4 : ExtraBiomesPlank.values()) { + CarpentryManager.carpentryInterface.registerCarpentryWood(plank4.ordinal() + 192, plank4); + } + } - public enum ExtraTreePlanks implements IPlankType, IFenceProvider { - Fir(0xc38c54), - Cedar(0xd86634), - Hemlock(0xc7b56c), - Cypress(0xf6b85c), - Fig(0xc8882a), - Beech(0xe19951), - Alder(0xb88553), - Hazel(0xcdb195), - Hornbeam(0xc39860), - Box(0xfbf1c6), - Butternut(0xecaa7a), - Hickory(0xdab48e), - Whitebeam(0xc9c2b9), - Elm(0xf0a964), - Apple(0x603528), - Yew(0xe0a57a), - Pear(0xb8896d), - Hawthorn(0xcc8362), - Rowan(0xcfad9a), - Elder(0xbe9279), - Maclura(0xf3b22e), - Syzgium(0xe6c3c1), - Brazilwood(0x723e57), - Logwood(0xa4372c), - Iroko(0x753400), - Locust(0xc39160), - Eucalyptus(0xf6ab8b), - Purpleheart(0x5b1c2f), - Ash(0xf5c768), - Holly(0xfbf6e7), - Olive(0xb0ad88), - Sweetgum(0xd59658), - Rosewood(0x761500), - Gingko(0xf4e7ba), - PinkIvory(0xec8ca0); + public enum ExtraTreePlanks implements IPlankType, IFenceProvider { + Fir(0xc38c54), + Cedar(0xd86634), + Hemlock(0xc7b56c), + Cypress(0xf6b85c), + Fig(0xc8882a), + Beech(0xe19951), + Alder(0xb88553), + Hazel(0xcdb195), + Hornbeam(0xc39860), + Box(0xfbf1c6), + Butternut(0xecaa7a), + Hickory(0xdab48e), + Whitebeam(0xc9c2b9), + Elm(0xf0a964), + Apple(0x603528), + Yew(0xe0a57a), + Pear(0xb8896d), + Hawthorn(0xcc8362), + Rowan(0xcfad9a), + Elder(0xbe9279), + Maclura(0xf3b22e), + Syzgium(0xe6c3c1), + Brazilwood(0x723e57), + Logwood(0xa4372c), + Iroko(0x753400), + Locust(0xc39160), + Eucalyptus(0xf6ab8b), + Purpleheart(0x5b1c2f), + Ash(0xf5c768), + Holly(0xfbf6e7), + Olive(0xb0ad88), + Sweetgum(0xd59658), + Rosewood(0x761500), + Gingko(0xf4e7ba), + PinkIvory(0xec8ca0); - protected int color; - protected IIcon icon; + protected int color; + protected IIcon icon; - ExtraTreePlanks(int color) { - this.color = color; - } + ExtraTreePlanks(int color) { + this.color = color; + } - @Override - public String getName() { - return I18N.localise("extratrees.block.planks." + toString().toLowerCase()); - } + @Override + public String getName() { + return I18N.localise("extratrees.block.planks." + toString().toLowerCase()); + } - @Override - public String getDescription() { - return I18N.localise("extratrees.block.planks." + toString().toLowerCase() + ".desc"); - } + @Override + public String getDescription() { + return I18N.localise("extratrees.block.planks." + toString().toLowerCase() + ".desc"); + } - @Override - public int getColor() { - return color; - } + @Override + public int getColor() { + return color; + } - @Override - public ItemStack getStack() { - return TileEntityMetadata.getItemStack(ExtraTrees.blockPlanks, ordinal()); - } + @Override + public ItemStack getStack() { + return TileEntityMetadata.getItemStack(ExtraTrees.blockPlanks, ordinal()); + } - public IIcon loadIcon(IIconRegister register) { - return icon = ExtraTrees.proxy.getIcon(register, "planks/" + toString()); - } + public IIcon loadIcon(IIconRegister register) { + return icon = ExtraTrees.proxy.getIcon(register, "planks/" + toString()); + } - @Override - public IIcon getIcon() { - return icon; - } + @Override + public IIcon getIcon() { + return icon; + } - @Override - public ItemStack getFence() { - return TileEntityMetadata.getItemStack(ExtraTrees.blockFence, WoodManager.getPlankTypeIndex(this)); - } - } + @Override + public ItemStack getFence() { + return TileEntityMetadata.getItemStack(ExtraTrees.blockFence, WoodManager.getPlankTypeIndex(this)); + } + } - public enum VanillaPlanks implements IPlankType, IFenceProvider { - OAK(0xb4905a), - SPRUCE(0x805e36), - BIRCH(0xd7c185), - JUNGLE(0xb1805c), - ACACIA(0xba6337), - DARKOAK(0x462d15); + public enum VanillaPlanks implements IPlankType, IFenceProvider { + OAK(0xb4905a), + SPRUCE(0x805e36), + BIRCH(0xd7c185), + JUNGLE(0xb1805c), + ACACIA(0xba6337), + DARKOAK(0x462d15); - protected int color; + protected int color; - VanillaPlanks(int color) { - this.color = color; - } + VanillaPlanks(int color) { + this.color = color; + } - @Override - public String getName() { - return I18N.localise("extratrees.block.planks.vanilla." + toString().toLowerCase()); - } + @Override + public String getName() { + return I18N.localise("extratrees.block.planks.vanilla." + toString().toLowerCase()); + } - @Override - public String getDescription() { - return I18N.localise("extratrees.block.planks.vanilla." + toString().toLowerCase() + ".desc"); - } + @Override + public String getDescription() { + return I18N.localise("extratrees.block.planks.vanilla." + toString().toLowerCase() + ".desc"); + } - @Override - public int getColor() { - return color; - } + @Override + public int getColor() { + return color; + } - @Override - public ItemStack getStack() { - return new ItemStack(Blocks.planks, 1, ordinal()); - } + @Override + public ItemStack getStack() { + return new ItemStack(Blocks.planks, 1, ordinal()); + } - @Override - public IIcon getIcon() { - int meta = getStack().getItemDamage(); - Block block = Blocks.planks; - return block.getIcon(2, meta); - } + @Override + public IIcon getIcon() { + int meta = getStack().getItemDamage(); + Block block = Blocks.planks; + return block.getIcon(2, meta); + } - @Override - public ItemStack getFence() { - return TileEntityMetadata.getItemStack(ExtraTrees.blockFence, WoodManager.getPlankTypeIndex(this)); - } - } + @Override + public ItemStack getFence() { + return TileEntityMetadata.getItemStack(ExtraTrees.blockFence, WoodManager.getPlankTypeIndex(this)); + } + } - public enum ForestryPlanks implements IPlankType, IFenceProvider { - LARCH(0xd79f8d), - TEAK(0x7d7963), - ACACIA(0x94b387), - LIME(0xceaa70), - CHESTNUT(0xbbaa5d), - WENGE(0x5e564a), - BAOBAB(0x929c62), - SEQUOIA(0x995a57), - KAPOK(0x7c7434), - EBONY(0x3c3730), - MAHOGANY(0x763f38), - BALSA(0xa9a299), - WILLOW(0xb2b162), - WALNUT(0x685242), - GREENHEART(0x4e7e5c), - CHERRY(0xb58234), - MAHOE(0x7f98aa), - POPLAR(0xcfcf82), - PALM(0xca804b), - PAPAYA(0xdccb75), - PINE(0xc49e51), - PLUM(0xad687f), - MAPLE(0xae6d2b), - CITRUS(0x9ca81d), - GIGANTEUM(0x4f241e), - IPE(0x4d2d1e), - PADAUK(0xb36335), - COCOBOLO(0x731302), - ZEBRAWOOD(0xa6824e); + public enum ForestryPlanks implements IPlankType, IFenceProvider { + LARCH(0xd79f8d), + TEAK(0x7d7963), + ACACIA(0x94b387), + LIME(0xceaa70), + CHESTNUT(0xbbaa5d), + WENGE(0x5e564a), + BAOBAB(0x929c62), + SEQUOIA(0x995a57), + KAPOK(0x7c7434), + EBONY(0x3c3730), + MAHOGANY(0x763f38), + BALSA(0xa9a299), + WILLOW(0xb2b162), + WALNUT(0x685242), + GREENHEART(0x4e7e5c), + CHERRY(0xb58234), + MAHOE(0x7f98aa), + POPLAR(0xcfcf82), + PALM(0xca804b), + PAPAYA(0xdccb75), + PINE(0xc49e51), + PLUM(0xad687f), + MAPLE(0xae6d2b), + CITRUS(0x9ca81d), + GIGANTEUM(0x4f241e), + IPE(0x4d2d1e), + PADAUK(0xb36335), + COCOBOLO(0x731302), + ZEBRAWOOD(0xa6824e); - protected int color; + protected int color; - ForestryPlanks(int color) { - this.color = color; - } + ForestryPlanks(int color) { + this.color = color; + } - @Override - public String getName() { - return I18N.localise("extratrees.block.planks.forestry." + toString().toLowerCase()); - } + @Override + public String getName() { + return I18N.localise( + "extratrees.block.planks.forestry." + toString().toLowerCase()); + } - @Override - public String getDescription() { - return I18N.localise("extratrees.block.planks.forestry." + toString().toLowerCase() + ".desc"); - } + @Override + public String getDescription() { + return I18N.localise( + "extratrees.block.planks.forestry." + toString().toLowerCase() + ".desc"); + } - @Override - public int getColor() { - return color; - } + @Override + public int getColor() { + return color; + } - @Override - public ItemStack getStack() { - Item stack = Mods.forestry.item("planks"); - return new ItemStack(stack, 1, ordinal()); - } + @Override + public ItemStack getStack() { + Item stack = Mods.forestry.item("planks"); + return new ItemStack(stack, 1, ordinal()); + } - @Override - public IIcon getIcon() { - if (getStack() != null) { - int meta = getStack().getItemDamage(); - Block block = ((ItemBlock) getStack().getItem()).field_150939_a; - return block.getIcon(2, meta); - } - return null; - } + @Override + public IIcon getIcon() { + if (getStack() != null) { + int meta = getStack().getItemDamage(); + Block block = ((ItemBlock) getStack().getItem()).field_150939_a; + return block.getIcon(2, meta); + } + return null; + } - @Override - public ItemStack getFence() { - ItemStack fence = Mods.forestry.stack("fences"); - fence.setItemDamage(ordinal()); - return fence; - } - } + @Override + public ItemStack getFence() { + ItemStack fence = Mods.forestry.stack("fences"); + fence.setItemDamage(ordinal()); + return fence; + } + } - public enum ExtraBiomesPlank implements IPlankType { - Redwood(0x9b6b42), - Fir(0x7e774a), - Acacia(0xbfaa7e); + public enum ExtraBiomesPlank implements IPlankType { + Redwood(0x9b6b42), + Fir(0x7e774a), + Acacia(0xbfaa7e); - protected int color; + protected int color; - ExtraBiomesPlank(int color) { - this.color = color; - } + ExtraBiomesPlank(int color) { + this.color = color; + } - @Override - public String getName() { - return I18N.localise("extratrees.block.planks.ebxl." + toString().toLowerCase()); - } + @Override + public String getName() { + return I18N.localise("extratrees.block.planks.ebxl." + toString().toLowerCase()); + } - @Override - public String getDescription() { - return I18N.localise("extratrees.block.planks.ebxl." + toString().toLowerCase() + ".desc"); - } + @Override + public String getDescription() { + return I18N.localise("extratrees.block.planks.ebxl." + toString().toLowerCase() + ".desc"); + } - @Override - public int getColor() { - return color; - } + @Override + public int getColor() { + return color; + } - @Override - public ItemStack getStack() { - try { - Class clss = Class.forName("extrabiomes.api.Stuff"); - Block block = (Block) ((Optional) clss.getField("planks").get(null)).get(); - return new ItemStack(block, 1, ordinal()); - } catch (Exception e) { - return null; - } - } + @Override + public ItemStack getStack() { + try { + Class clss = Class.forName("extrabiomes.api.Stuff"); + Block block = (Block) ((Optional) clss.getField("planks").get(null)).get(); + return new ItemStack(block, 1, ordinal()); + } catch (Exception e) { + return null; + } + } - @Override - public IIcon getIcon() { - if (getStack() != null) { - int meta = getStack().getItemDamage(); - Block block = ((ItemBlock) getStack().getItem()).field_150939_a; - return block.getIcon(2, meta); - } - return null; - } - } + @Override + public IIcon getIcon() { + if (getStack() != null) { + int meta = getStack().getItemDamage(); + Block block = ((ItemBlock) getStack().getItem()).field_150939_a; + return block.getIcon(2, meta); + } + return null; + } + } } diff --git a/src/main/java/binnie/extratrees/block/StairItemRenderer.java b/src/main/java/binnie/extratrees/block/StairItemRenderer.java index 2059c0f9..386a6c1a 100644 --- a/src/main/java/binnie/extratrees/block/StairItemRenderer.java +++ b/src/main/java/binnie/extratrees/block/StairItemRenderer.java @@ -10,78 +10,79 @@ import net.minecraftforge.client.IItemRenderer; import org.lwjgl.opengl.GL11; public class StairItemRenderer implements IItemRenderer { - private void renderStairBlock(RenderBlocks renderBlocks, ItemStack item, float f, float g, float h) { - Tessellator tessellator = Tessellator.instance; - Block block = ((ItemBlock) item.getItem()).field_150939_a; - IIcon textureIndex = PlankType.ExtraTreePlanks.values()[item.getItemDamage()].getIcon(); + private void renderStairBlock(RenderBlocks renderBlocks, ItemStack item, float f, float g, float h) { + Tessellator tessellator = Tessellator.instance; + Block block = ((ItemBlock) item.getItem()).field_150939_a; + IIcon textureIndex = PlankType.ExtraTreePlanks.values()[item.getItemDamage()].getIcon(); - for (int i = 0; i < 2; ++i) { - if (i == 0) { - renderBlocks.setRenderBounds(0.0, 0.0, 0.0, 1.0, 1.0, 0.5); - } - if (i == 1) { - renderBlocks.setRenderBounds(0.0, 0.0, 0.5, 1.0, 0.5, 1.0); - } + for (int i = 0; i < 2; ++i) { + if (i == 0) { + renderBlocks.setRenderBounds(0.0, 0.0, 0.0, 1.0, 1.0, 0.5); + } + if (i == 1) { + renderBlocks.setRenderBounds(0.0, 0.0, 0.5, 1.0, 0.5, 1.0); + } - GL11.glTranslatef(-0.5f, -0.5f, -0.5f); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0f, -1.0f, 0.0f); - renderBlocks.renderFaceYNeg(block, 0.0, 0.0, 0.0, textureIndex); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0f, 1.0f, 0.0f); - renderBlocks.renderFaceYPos(block, 0.0, 0.0, 0.0, textureIndex); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0f, 0.0f, -1.0f); - renderBlocks.renderFaceXNeg(block, 0.0, 0.0, 0.0, textureIndex); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0f, 0.0f, 1.0f); - renderBlocks.renderFaceXPos(block, 0.0, 0.0, 0.0, textureIndex); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0f, 0.0f, 0.0f); - renderBlocks.renderFaceZNeg(block, 0.0, 0.0, 0.0, textureIndex); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0f, 0.0f, 0.0f); - renderBlocks.renderFaceZPos(block, 0.0, 0.0, 0.0, textureIndex); - tessellator.draw(); - GL11.glTranslatef(0.5f, 0.5f, 0.5f); - } - } + GL11.glTranslatef(-0.5f, -0.5f, -0.5f); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0f, -1.0f, 0.0f); + renderBlocks.renderFaceYNeg(block, 0.0, 0.0, 0.0, textureIndex); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0f, 1.0f, 0.0f); + renderBlocks.renderFaceYPos(block, 0.0, 0.0, 0.0, textureIndex); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0f, 0.0f, -1.0f); + renderBlocks.renderFaceXNeg(block, 0.0, 0.0, 0.0, textureIndex); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0f, 0.0f, 1.0f); + renderBlocks.renderFaceXPos(block, 0.0, 0.0, 0.0, textureIndex); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0f, 0.0f, 0.0f); + renderBlocks.renderFaceZNeg(block, 0.0, 0.0, 0.0, textureIndex); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0f, 0.0f, 0.0f); + renderBlocks.renderFaceZPos(block, 0.0, 0.0, 0.0, textureIndex); + tessellator.draw(); + GL11.glTranslatef(0.5f, 0.5f, 0.5f); + } + } - @Override - public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type) { - switch (type) { - case ENTITY: - case EQUIPPED: - case INVENTORY: - return true; - } - return false; - } + @Override + public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type) { + switch (type) { + case ENTITY: + case EQUIPPED: + case INVENTORY: + return true; + } + return false; + } - @Override - public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper) { - return true; - } + @Override + public boolean shouldUseRenderHelper( + IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper) { + return true; + } - @Override - public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data) { - switch (type) { - case ENTITY: - renderStairBlock((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; + @Override + public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data) { + switch (type) { + case ENTITY: + renderStairBlock((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); + break; - case EQUIPPED: - renderStairBlock((RenderBlocks) data[0], item, 0.0f, 0.0f, 0.0f); - break; + case EQUIPPED: + renderStairBlock((RenderBlocks) data[0], item, 0.0f, 0.0f, 0.0f); + break; - case INVENTORY: - renderStairBlock((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); - break; - } - } + case INVENTORY: + renderStairBlock((RenderBlocks) data[0], item, -0.5f, -0.5f, -0.5f); + break; + } + } } diff --git a/src/main/java/binnie/extratrees/block/StairsRenderer.java b/src/main/java/binnie/extratrees/block/StairsRenderer.java index c80ce6ad..d2290b42 100644 --- a/src/main/java/binnie/extratrees/block/StairsRenderer.java +++ b/src/main/java/binnie/extratrees/block/StairsRenderer.java @@ -9,69 +9,70 @@ import net.minecraft.world.IBlockAccess; import org.lwjgl.opengl.GL11; public class StairsRenderer implements ISimpleBlockRenderingHandler { - @Override - public void renderInventoryBlock(Block par1Block, int metadata, int modelID, RenderBlocks renderer) { - Tessellator var4 = Tessellator.instance; - for (int var5 = 0; var5 < 2; ++var5) { - if (var5 == 0) { - renderer.setRenderBounds(0.0, 0.0, 0.0, 1.0, 1.0, 0.5); - } - if (var5 == 1) { - renderer.setRenderBounds(0.0, 0.0, 0.5, 1.0, 0.5, 1.0); - } + @Override + public void renderInventoryBlock(Block par1Block, int metadata, int modelID, RenderBlocks renderer) { + Tessellator var4 = Tessellator.instance; + for (int var5 = 0; var5 < 2; ++var5) { + if (var5 == 0) { + renderer.setRenderBounds(0.0, 0.0, 0.0, 1.0, 1.0, 0.5); + } + if (var5 == 1) { + renderer.setRenderBounds(0.0, 0.0, 0.5, 1.0, 0.5, 1.0); + } - GL11.glTranslatef(-0.5f, -0.5f, -0.5f); - var4.startDrawingQuads(); - var4.setNormal(0.0f, -1.0f, 0.0f); - renderer.renderFaceYNeg(par1Block, 0.0, 0.0, 0.0, par1Block.getIcon(0, metadata)); - var4.draw(); - var4.startDrawingQuads(); - var4.setNormal(0.0f, 1.0f, 0.0f); - renderer.renderFaceYPos(par1Block, 0.0, 0.0, 0.0, par1Block.getIcon(1, metadata)); - var4.draw(); - var4.startDrawingQuads(); - var4.setNormal(0.0f, 0.0f, -1.0f); - renderer.renderFaceXPos(par1Block, 0.0, 0.0, 0.0, par1Block.getIcon(2, metadata)); - var4.draw(); - var4.startDrawingQuads(); - var4.setNormal(0.0f, 0.0f, 1.0f); - renderer.renderFaceXNeg(par1Block, 0.0, 0.0, 0.0, par1Block.getIcon(3, metadata)); - var4.draw(); - var4.startDrawingQuads(); - var4.setNormal(-1.0f, 0.0f, 0.0f); - renderer.renderFaceZNeg(par1Block, 0.0, 0.0, 0.0, par1Block.getIcon(4, metadata)); - var4.draw(); - var4.startDrawingQuads(); - var4.setNormal(1.0f, 0.0f, 0.0f); - renderer.renderFaceZPos(par1Block, 0.0, 0.0, 0.0, par1Block.getIcon(5, metadata)); - var4.draw(); - GL11.glTranslatef(0.5f, 0.5f, 0.5f); - } - } + GL11.glTranslatef(-0.5f, -0.5f, -0.5f); + var4.startDrawingQuads(); + var4.setNormal(0.0f, -1.0f, 0.0f); + renderer.renderFaceYNeg(par1Block, 0.0, 0.0, 0.0, par1Block.getIcon(0, metadata)); + var4.draw(); + var4.startDrawingQuads(); + var4.setNormal(0.0f, 1.0f, 0.0f); + renderer.renderFaceYPos(par1Block, 0.0, 0.0, 0.0, par1Block.getIcon(1, metadata)); + var4.draw(); + var4.startDrawingQuads(); + var4.setNormal(0.0f, 0.0f, -1.0f); + renderer.renderFaceXPos(par1Block, 0.0, 0.0, 0.0, par1Block.getIcon(2, metadata)); + var4.draw(); + var4.startDrawingQuads(); + var4.setNormal(0.0f, 0.0f, 1.0f); + renderer.renderFaceXNeg(par1Block, 0.0, 0.0, 0.0, par1Block.getIcon(3, metadata)); + var4.draw(); + var4.startDrawingQuads(); + var4.setNormal(-1.0f, 0.0f, 0.0f); + renderer.renderFaceZNeg(par1Block, 0.0, 0.0, 0.0, par1Block.getIcon(4, metadata)); + var4.draw(); + var4.startDrawingQuads(); + var4.setNormal(1.0f, 0.0f, 0.0f); + renderer.renderFaceZPos(par1Block, 0.0, 0.0, 0.0, par1Block.getIcon(5, metadata)); + var4.draw(); + GL11.glTranslatef(0.5f, 0.5f, 0.5f); + } + } - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - BlockETStairs blockStairs = (BlockETStairs) block; - blockStairs.func_150147_e(renderer.blockAccess, x, y, z); - renderer.setRenderBoundsFromBlock(blockStairs); - renderer.renderStandardBlock(blockStairs, x, y, z); - boolean var5 = blockStairs.func_150145_f(renderer.blockAccess, x, y, z); - renderer.setRenderBoundsFromBlock(blockStairs); - renderer.renderStandardBlock(blockStairs, x, y, z); - if (var5 && blockStairs.func_150144_g(renderer.blockAccess, x, y, z)) { - renderer.setRenderBoundsFromBlock(blockStairs); - renderer.renderStandardBlock(blockStairs, x, y, z); - } - return true; - } + @Override + public boolean renderWorldBlock( + IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + BlockETStairs blockStairs = (BlockETStairs) block; + blockStairs.func_150147_e(renderer.blockAccess, x, y, z); + renderer.setRenderBoundsFromBlock(blockStairs); + renderer.renderStandardBlock(blockStairs, x, y, z); + boolean var5 = blockStairs.func_150145_f(renderer.blockAccess, x, y, z); + renderer.setRenderBoundsFromBlock(blockStairs); + renderer.renderStandardBlock(blockStairs, x, y, z); + if (var5 && blockStairs.func_150144_g(renderer.blockAccess, x, y, z)) { + renderer.setRenderBoundsFromBlock(blockStairs); + renderer.renderStandardBlock(blockStairs, x, y, z); + } + return true; + } - @Override - public boolean shouldRender3DInInventory(int i) { - return true; - } + @Override + public boolean shouldRender3DInInventory(int i) { + return true; + } - @Override - public int getRenderId() { - return ExtraTrees.stairsID; - } + @Override + public int getRenderId() { + return ExtraTrees.stairsID; + } } diff --git a/src/main/java/binnie/extratrees/block/WoodManager.java b/src/main/java/binnie/extratrees/block/WoodManager.java index 9c7c2f19..04ae971c 100644 --- a/src/main/java/binnie/extratrees/block/WoodManager.java +++ b/src/main/java/binnie/extratrees/block/WoodManager.java @@ -6,113 +6,113 @@ import binnie.extratrees.api.CarpentryManager; import binnie.extratrees.api.IDesignMaterial; import binnie.extratrees.block.decor.FenceDescription; import binnie.extratrees.block.decor.FenceType; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - public class WoodManager { - public static IPlankType getPlankType(int index) { - IDesignMaterial wood = CarpentryManager.carpentryInterface.getWoodMaterial(index); - if (wood instanceof IPlankType) { - return (IPlankType) wood; - } - return PlankType.ExtraTreePlanks.Fir; - } + public static IPlankType getPlankType(int index) { + IDesignMaterial wood = CarpentryManager.carpentryInterface.getWoodMaterial(index); + if (wood instanceof IPlankType) { + return (IPlankType) wood; + } + return PlankType.ExtraTreePlanks.Fir; + } - public static int getPlankTypeIndex(IPlankType type) { - int index = CarpentryManager.carpentryInterface.getCarpentryWoodIndex(type); - return (index < 0) ? 0 : index; - } + public static int getPlankTypeIndex(IPlankType type) { + int index = CarpentryManager.carpentryInterface.getCarpentryWoodIndex(type); + return (index < 0) ? 0 : index; + } - public static FenceType getFenceType(ItemStack stack) { - FenceDescription desc = getFenceDescription(stack); - return (desc == null) ? null : desc.getFenceType(); - } + public static FenceType getFenceType(ItemStack stack) { + FenceDescription desc = getFenceDescription(stack); + return (desc == null) ? null : desc.getFenceType(); + } - public static FenceDescription getFenceDescription(ItemStack stack) { - if (stack == null) { - return null; - } + public static FenceDescription getFenceDescription(ItemStack stack) { + if (stack == null) { + return null; + } - if (stack.getItem() == Item.getItemFromBlock(ExtraTrees.blockMultiFence)) { - int damage = TileEntityMetadata.getItemDamage(stack); - return getFenceDescription(damage); - } + if (stack.getItem() == Item.getItemFromBlock(ExtraTrees.blockMultiFence)) { + int damage = TileEntityMetadata.getItemDamage(stack); + return getFenceDescription(damage); + } - for (IPlankType type : getAllPlankTypes()) { - if (type instanceof IFenceProvider) { - ItemStack f = ((IFenceProvider) type).getFence(); - if (f != null && ItemStack.areItemStacksEqual(stack, f)) { - return new FenceDescription(new FenceType(0), type, type); - } - } - } - return null; - } + for (IPlankType type : getAllPlankTypes()) { + if (type instanceof IFenceProvider) { + ItemStack f = ((IFenceProvider) type).getFence(); + if (f != null && ItemStack.areItemStacksEqual(stack, f)) { + return new FenceDescription(new FenceType(0), type, type); + } + } + } + return null; + } - public static FenceDescription getFenceDescription(int meta) { - return new FenceDescription(meta); - } + public static FenceDescription getFenceDescription(int meta) { + return new FenceDescription(meta); + } - public static FenceType getFenceType(int meta) { - return getFenceDescription(meta).getFenceType(); - } + public static FenceType getFenceType(int meta) { + return getFenceDescription(meta).getFenceType(); + } - public static ItemStack getGate(IPlankType plank) { - if (plank == PlankType.VanillaPlanks.OAK) { - return new ItemStack(Blocks.fence_gate); - } - return TileEntityMetadata.getItemStack(ExtraTrees.blockGate, getPlankTypeIndex(plank)); - } + public static ItemStack getGate(IPlankType plank) { + if (plank == PlankType.VanillaPlanks.OAK) { + return new ItemStack(Blocks.fence_gate); + } + return TileEntityMetadata.getItemStack(ExtraTrees.blockGate, getPlankTypeIndex(plank)); + } - public static ItemStack getFence(IPlankType plank, FenceType type, int amount) { - return getFence(plank, plank, type, amount); - } + public static ItemStack getFence(IPlankType plank, FenceType type, int amount) { + return getFence(plank, plank, type, amount); + } - public static ItemStack getFence(IPlankType plank, IPlankType plank2, FenceType type, int amount) { - if (plank instanceof IFenceProvider && plank == plank2 && type.isPlain()) { - ItemStack original = ((IFenceProvider) plank).getFence(); - if (original != null) { - original.stackSize = amount; - return original; - } - } + public static ItemStack getFence(IPlankType plank, IPlankType plank2, FenceType type, int amount) { + if (plank instanceof IFenceProvider && plank == plank2 && type.isPlain()) { + ItemStack original = ((IFenceProvider) plank).getFence(); + if (original != null) { + original.stackSize = amount; + return original; + } + } - int ord = type.ordinal(); - int i = getPlankTypeIndex(plank) + 256 * ord; - ItemStack stack = TileEntityMetadata.getItemStack(ExtraTrees.blockMultiFence, i + 65536 * getPlankTypeIndex(plank2)); - stack.stackSize = amount; - return stack; - } + int ord = type.ordinal(); + int i = getPlankTypeIndex(plank) + 256 * ord; + ItemStack stack = + TileEntityMetadata.getItemStack(ExtraTrees.blockMultiFence, i + 65536 * getPlankTypeIndex(plank2)); + stack.stackSize = amount; + return stack; + } - public static ItemStack getDoor(IPlankType plank, DoorType type) { - return TileEntityMetadata.getItemStack(ExtraTrees.blockDoor, type.ordinal() * 256 + getPlankTypeIndex(plank)); - } + public static ItemStack getDoor(IPlankType plank, DoorType type) { + return TileEntityMetadata.getItemStack(ExtraTrees.blockDoor, type.ordinal() * 256 + getPlankTypeIndex(plank)); + } - public static List getAllPlankTypes() { - List list = new ArrayList<>(); - Collections.addAll(list, PlankType.ExtraTreePlanks.values()); - Collections.addAll(list, PlankType.ForestryPlanks.values()); - for (IPlankType type : PlankType.ExtraBiomesPlank.values()) { - if (type.getStack() != null) { - list.add(type); - } - } + public static List getAllPlankTypes() { + List list = new ArrayList<>(); + Collections.addAll(list, PlankType.ExtraTreePlanks.values()); + Collections.addAll(list, PlankType.ForestryPlanks.values()); + for (IPlankType type : PlankType.ExtraBiomesPlank.values()) { + if (type.getStack() != null) { + list.add(type); + } + } - Collections.addAll(list, PlankType.VanillaPlanks.values()); - return list; - } + Collections.addAll(list, PlankType.VanillaPlanks.values()); + return list; + } - public static IPlankType get(ItemStack species) { - for (IPlankType type : getAllPlankTypes()) { - if (type.getStack() != null && type.getStack().isItemEqual(species)) { - return type; - } - } - return null; - } + public static IPlankType get(ItemStack species) { + for (IPlankType type : getAllPlankTypes()) { + if (type.getStack() != null && type.getStack().isItemEqual(species)) { + return type; + } + } + return null; + } } diff --git a/src/main/java/binnie/extratrees/block/decor/BlockFence.java b/src/main/java/binnie/extratrees/block/decor/BlockFence.java index dced65c7..364ea42e 100644 --- a/src/main/java/binnie/extratrees/block/decor/BlockFence.java +++ b/src/main/java/binnie/extratrees/block/decor/BlockFence.java @@ -11,12 +11,13 @@ import binnie.extratrees.block.WoodManager; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import java.util.ArrayList; +import java.util.List; 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.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -26,162 +27,160 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; - public class BlockFence extends net.minecraft.block.BlockFence implements IBlockMetadata, IBlockFence { - public BlockFence() { - super("", Material.wood); - setCreativeTab(Tabs.tabArboriculture); - setBlockName("fence"); - setResistance(5.0f); - setHardness(2.0f); - setStepSound(Block.soundTypeWood); - } + public BlockFence() { + super("", Material.wood); + setCreativeTab(Tabs.tabArboriculture); + setBlockName("fence"); + setResistance(5.0f); + setHardness(2.0f); + setStepSound(Block.soundTypeWood); + } - @Override - public void getSubBlocks(Item item, CreativeTabs tab, List list) { - for (IFenceProvider type : PlankType.ExtraTreePlanks.values()) { - list.add(type.getFence()); - } + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (IFenceProvider type : PlankType.ExtraTreePlanks.values()) { + list.add(type.getFence()); + } - for (IFenceProvider type : PlankType.VanillaPlanks.values()) { - if (type != PlankType.VanillaPlanks.OAK) { - list.add(type.getFence()); - } - } - } + for (IFenceProvider type : PlankType.VanillaPlanks.values()) { + if (type != PlankType.VanillaPlanks.OAK) { + list.add(type.getFence()); + } + } + } - @Override - @SideOnly(Side.CLIENT) - 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 getIcon(side, tile.getTileMetadata()); - } - return super.getIcon(world, x, y, z, side); - } + @Override + @SideOnly(Side.CLIENT) + 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 getIcon(side, tile.getTileMetadata()); + } + return super.getIcon(world, x, y, z, side); + } - public FenceDescription getDescription(int meta) { - return WoodManager.getFenceDescription(meta); - } + public FenceDescription getDescription(int meta) { + return WoodManager.getFenceDescription(meta); + } - @Override - public IIcon getIcon(int side, int meta) { - return getDescription(meta).getPlankType().getIcon(); - } + @Override + public IIcon getIcon(int side, int meta) { + return getDescription(meta).getPlankType().getIcon(); + } - @Override - public int getRenderType() { - return ExtraTrees.fenceID; - } + @Override + public int getRenderType() { + return ExtraTrees.fenceID; + } - @Override - public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { - dropBlockAsItem(world, x, y, z, itemStack); - } + @Override + public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { + dropBlockAsItem(world, x, y, z, itemStack); + } - @Override - 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 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(World world, EntityPlayer player, int x, int y, int z) { - return BlockMetadata.breakBlock(this, player, world, x, y, z); - } + @Override + 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(World world, int meta) { - return new TileEntityMetadata(); - } + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityMetadata(); + } - @Override - public boolean hasTileEntity(int meta) { - return true; - } + @Override + public boolean hasTileEntity(int meta) { + return true; + } - @Override - 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 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(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { - return TileEntityMetadata.getItemDamage(itemStack); - } + @Override + public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { + return TileEntityMetadata.getItemDamage(itemStack); + } - @Override - public int getDroppedMeta(int blockMeta, int tileMeta) { - return tileMeta; - } + @Override + public int getDroppedMeta(int blockMeta, int tileMeta) { + return tileMeta; + } - @Override - public String getBlockName(ItemStack itemStack) { - int meta = TileEntityMetadata.getItemDamage(itemStack); - return I18N.localise("extratrees.block.woodfence.name", getDescription(meta).getPlankType().getName()); - } + @Override + public String getBlockName(ItemStack itemStack) { + int meta = TileEntityMetadata.getItemDamage(itemStack); + return I18N.localise( + "extratrees.block.woodfence.name", + getDescription(meta).getPlankType().getName()); + } - @Override - public void addBlockTooltip(ItemStack itemStack, List tooltip) { - } + @Override + public void addBlockTooltip(ItemStack itemStack, List tooltip) {} - @Override - public boolean canPlaceTorchOnTop(World world, int x, int y, int z) { - return true; - } + @Override + public boolean canPlaceTorchOnTop(World world, int x, int y, int z) { + return true; + } - @Override - public boolean canConnectFenceTo(IBlockAccess world, int x, int y, int z) { - Block block = world.getBlock(x, y, z); - Material material = block.getMaterial(); - return IBlockFence.isFence(block) && material == this.blockMaterial - || material.isOpaque() && block.renderAsNormalBlock() && material != Material.gourd; - } + @Override + public boolean canConnectFenceTo(IBlockAccess world, int x, int y, int z) { + Block block = world.getBlock(x, y, z); + Material material = block.getMaterial(); + return IBlockFence.isFence(block) && material == this.blockMaterial + || material.isOpaque() && block.renderAsNormalBlock() && material != Material.gourd; + } - @Override - 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 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(IBlockAccess world, int x, int y, int z) { - return true; - } + @Override + public boolean isWood(IBlockAccess world, int x, int y, int z) { + return true; + } - @Override - public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 20; - } + @Override + public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 20; + } - @Override - public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return true; - } + @Override + public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return true; + } - @Override - public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 5; - } + @Override + public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 5; + } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - // ignored - } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + // ignored + } - @Override - //@SideOnly(Side.CLIENT) - 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 ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { + return BlockMetadata.getPickBlock(world, x, y, z); + } - @Override - //@SideOnly(Side.CLIENT) - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { - return BlockMetadata.getPickBlock(world, x, y, z); - } + @Override + // @SideOnly(Side.CLIENT) + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + return BlockMetadata.getPickBlock(world, x, y, z); + } } diff --git a/src/main/java/binnie/extratrees/block/decor/BlockGate.java b/src/main/java/binnie/extratrees/block/decor/BlockGate.java index 2b3fc6bf..c641fe14 100644 --- a/src/main/java/binnie/extratrees/block/decor/BlockGate.java +++ b/src/main/java/binnie/extratrees/block/decor/BlockGate.java @@ -9,6 +9,8 @@ import binnie.extratrees.block.WoodManager; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import java.util.ArrayList; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.BlockFenceGate; import net.minecraft.creativetab.CreativeTabs; @@ -22,134 +24,131 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; - public class BlockGate extends BlockFenceGate implements IBlockMetadata { - public BlockGate() { - setCreativeTab(Tabs.tabArboriculture); - setResistance(5.0f); - setHardness(2.0f); - setStepSound(Block.soundTypeWood); - } + public BlockGate() { + setCreativeTab(Tabs.tabArboriculture); + setResistance(5.0f); + setHardness(2.0f); + setStepSound(Block.soundTypeWood); + } - @Override - public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List itemList) { - for (IPlankType type : WoodManager.getAllPlankTypes()) { - ItemStack gate = WoodManager.getGate(type); - if (gate != null) { - itemList.add(gate); - } - } - } + @Override + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List itemList) { + for (IPlankType type : WoodManager.getAllPlankTypes()) { + ItemStack gate = WoodManager.getGate(type); + if (gate != null) { + itemList.add(gate); + } + } + } - @Override - @SideOnly(Side.CLIENT) - 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 getIcon(side, tile.getTileMetadata()); - } - return super.getIcon(world, x, y, z, side); - } + @Override + @SideOnly(Side.CLIENT) + 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 getIcon(side, tile.getTileMetadata()); + } + return super.getIcon(world, x, y, z, side); + } - @Override - public IIcon getIcon(int side, int meta) { - return WoodManager.getPlankType(meta).getIcon(); - } + @Override + public IIcon getIcon(int side, int meta) { + return WoodManager.getPlankType(meta).getIcon(); + } - @Override - public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { - dropBlockAsItem(world, x, y, z, itemStack); - } + @Override + public void dropAsStack(World world, int x, int y, int z, ItemStack itemStack) { + dropBlockAsItem(world, x, y, z, itemStack); + } - @Override - 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 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(World world, EntityPlayer player, int x, int y, int z) { - return BlockMetadata.breakBlock(this, player, world, x, y, z); - } + @Override + 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(World world, int meta) { - return new TileEntityMetadata(); - } + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityMetadata(); + } - @Override - public boolean hasTileEntity(int meta) { - return true; - } + @Override + public boolean hasTileEntity(int meta) { + return true; + } - @Override - 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 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(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { - return TileEntityMetadata.getItemDamage(itemStack); - } + @Override + public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection direction) { + return TileEntityMetadata.getItemDamage(itemStack); + } - @Override - public int getDroppedMeta(int blockMeta, int tileMeta) { - return tileMeta; - } + @Override + public int getDroppedMeta(int blockMeta, int tileMeta) { + return tileMeta; + } - @Override - public String getBlockName(ItemStack itemStack) { - int meta = TileEntityMetadata.getItemDamage(itemStack); - return I18N.localise("extratrees.block.woodgate.name", WoodManager.getPlankType(meta).getName()); - } + @Override + public String getBlockName(ItemStack itemStack) { + int meta = TileEntityMetadata.getItemDamage(itemStack); + return I18N.localise( + "extratrees.block.woodgate.name", WoodManager.getPlankType(meta).getName()); + } - @Override - public void addBlockTooltip(ItemStack itemStack, List tooltip) { - } + @Override + public void addBlockTooltip(ItemStack itemStack, List tooltip) {} - @Override - 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 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(IBlockAccess world, int x, int y, int z) { - return true; - } + @Override + public boolean isWood(IBlockAccess world, int x, int y, int z) { + return true; + } - @Override - public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 20; - } + @Override + public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 20; + } - @Override - public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return true; - } + @Override + public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return true; + } - @Override - public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { - return 5; - } + @Override + public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return 5; + } - @Override - //@SideOnly(Side.CLIENT) - 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 ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { + return BlockMetadata.getPickBlock(world, x, y, z); + } - @Override - //@SideOnly(Side.CLIENT) - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { - return BlockMetadata.getPickBlock(world, x, y, z); - } + @Override + // @SideOnly(Side.CLIENT) + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + return BlockMetadata.getPickBlock(world, x, y, z); + } - @Override - public boolean getBlocksMovement(IBlockAccess world, int x, int y, int z) { - return false; - } + @Override + public boolean getBlocksMovement(IBlockAccess world, int x, int y, int z) { + return false; + } } diff --git a/src/main/java/binnie/extratrees/block/decor/BlockHedge.java b/src/main/java/binnie/extratrees/block/decor/BlockHedge.java index 6391c80f..c6b8680b 100644 --- a/src/main/java/binnie/extratrees/block/decor/BlockHedge.java +++ b/src/main/java/binnie/extratrees/block/decor/BlockHedge.java @@ -6,12 +6,12 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.ForestryAPI; import forestry.api.core.Tabs; +import java.util.List; 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.Entity; -import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; @@ -20,161 +20,162 @@ import net.minecraft.world.ColorizerFoliage; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import java.util.List; - public class BlockHedge extends Block implements IBlockFence { - public BlockHedge() { - super(Material.leaves); - setCreativeTab(Tabs.tabArboriculture); - setBlockName("hedge"); - } + public BlockHedge() { + super(Material.leaves); + setCreativeTab(Tabs.tabArboriculture); + setBlockName("hedge"); + } - public static int getColor(int meta) { - LeafType type = LeafType.values()[meta % 6]; - if (type == LeafType.CONIFER) { - return ColorizerFoliage.getFoliageColorPine(); - } - double d0 = 0.5; - double d2 = 1.0; - return ColorizerFoliage.getFoliageColor(d0, d2); - } + public static int getColor(int meta) { + LeafType type = LeafType.values()[meta % 6]; + if (type == LeafType.CONIFER) { + return ColorizerFoliage.getFoliageColorPine(); + } + double d0 = 0.5; + double d2 = 1.0; + return ColorizerFoliage.getFoliageColor(d0, d2); + } - @Override - public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB aabb, List list, Entity entity) { - boolean connectNegZ = canConnectFenceTo(world, x, y, z - 1); - boolean connectPosZ = canConnectFenceTo(world, x, y, z + 1); - boolean connectNegX = canConnectFenceTo(world, x - 1, y, z); - boolean connectPosX = canConnectFenceTo(world, x + 1, y, z); - float f = 0.25f; - float f2 = 0.75f; - float f3 = 0.25f; - float f4 = 0.75f; - if (connectNegZ) { - f3 = 0.0f; - } - if (connectPosZ) { - f4 = 1.0f; - } - if (connectNegZ || connectPosZ) { - setBlockBounds(f, 0.0f, f3, f2, 1.5f, f4); - super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity); - } + @Override + public void addCollisionBoxesToList( + World world, int x, int y, int z, AxisAlignedBB aabb, List list, Entity entity) { + boolean connectNegZ = canConnectFenceTo(world, x, y, z - 1); + boolean connectPosZ = canConnectFenceTo(world, x, y, z + 1); + boolean connectNegX = canConnectFenceTo(world, x - 1, y, z); + boolean connectPosX = canConnectFenceTo(world, x + 1, y, z); + float f = 0.25f; + float f2 = 0.75f; + float f3 = 0.25f; + float f4 = 0.75f; + if (connectNegZ) { + f3 = 0.0f; + } + if (connectPosZ) { + f4 = 1.0f; + } + if (connectNegZ || connectPosZ) { + setBlockBounds(f, 0.0f, f3, f2, 1.5f, f4); + super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity); + } - f3 = 0.25f; - f4 = 0.75f; - if (connectNegX) { - f = 0.0f; - } - if (connectPosX) { - f2 = 1.0f; - } - if (connectNegX || connectPosX || (!connectNegZ && !connectPosZ)) { - setBlockBounds(f, 0.0f, f3, f2, 1.5f, f4); - super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity); - } - if (connectNegZ) { - f3 = 0.0f; - } - if (connectPosZ) { - f4 = 1.0f; - } - setBlockBounds(f, 0.0f, f3, f2, 1.0f, f4); - } + f3 = 0.25f; + f4 = 0.75f; + if (connectNegX) { + f = 0.0f; + } + if (connectPosX) { + f2 = 1.0f; + } + if (connectNegX || connectPosX || (!connectNegZ && !connectPosZ)) { + setBlockBounds(f, 0.0f, f3, f2, 1.5f, f4); + super.addCollisionBoxesToList(world, x, y, z, aabb, list, entity); + } + if (connectNegZ) { + f3 = 0.0f; + } + if (connectPosZ) { + f4 = 1.0f; + } + setBlockBounds(f, 0.0f, f3, f2, 1.0f, f4); + } - @Override - public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { - boolean connectNegZ = canConnectFenceTo(world, x, y, z - 1); - boolean connectPosZ = canConnectFenceTo(world, x, y, z + 1); - boolean connectNegX = canConnectFenceTo(world, x - 1, y, z); - boolean connectPosX = canConnectFenceTo(world, x + 1, y, z); - float f = 0.25f; - float f2 = 0.75f; - float f3 = 0.25f; - float f4 = 0.75f; - if (connectNegZ) { - f3 = 0.0f; - } - if (connectPosZ) { - f4 = 1.0f; - } - if (connectNegX) { - f = 0.0f; - } - if (connectPosX) { - f2 = 1.0f; - } - setBlockBounds(f, 0.0f, f3, f2, 1.0f, f4); - } + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + boolean connectNegZ = canConnectFenceTo(world, x, y, z - 1); + boolean connectPosZ = canConnectFenceTo(world, x, y, z + 1); + boolean connectNegX = canConnectFenceTo(world, x - 1, y, z); + boolean connectPosX = canConnectFenceTo(world, x + 1, y, z); + float f = 0.25f; + float f2 = 0.75f; + float f3 = 0.25f; + float f4 = 0.75f; + if (connectNegZ) { + f3 = 0.0f; + } + if (connectPosZ) { + f4 = 1.0f; + } + if (connectNegX) { + f = 0.0f; + } + if (connectPosX) { + f2 = 1.0f; + } + setBlockBounds(f, 0.0f, f3, f2, 1.0f, f4); + } - @Override - public boolean isOpaqueCube() { - return false; - } + @Override + public boolean isOpaqueCube() { + return false; + } - @Override - public boolean renderAsNormalBlock() { - return false; - } + @Override + public boolean renderAsNormalBlock() { + return false; + } - @Override - public boolean getBlocksMovement(IBlockAccess world, int x, int y, int z) { - return false; - } + @Override + public boolean getBlocksMovement(IBlockAccess world, int x, int y, int z) { + return false; + } - @Override - public int getRenderType() { - return ModuleBlocks.hedgeRenderID; - } + @Override + public int getRenderType() { + return ModuleBlocks.hedgeRenderID; + } - @Override - public boolean canConnectFenceTo(IBlockAccess world, int x, int y, int z) { - Block block = world.getBlock(x, y, z); - return block == this - || IBlockFence.isFence(block) - || block.isLeaves(world, x, y, z) - || (block.getMaterial().isOpaque() && block.renderAsNormalBlock() && block.getMaterial() != Material.gourd); - } + @Override + public boolean canConnectFenceTo(IBlockAccess world, int x, int y, int z) { + Block block = world.getBlock(x, y, z); + return block == this + || IBlockFence.isFence(block) + || block.isLeaves(world, x, y, z) + || (block.getMaterial().isOpaque() + && block.renderAsNormalBlock() + && block.getMaterial() != Material.gourd); + } - @Override - @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { - return true; - } + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { + return true; + } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - // ignored - } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + // ignored + } - private LeafType getType(int meta) { - return LeafType.values()[meta % 8]; - } + private LeafType getType(int meta) { + return LeafType.values()[meta % 8]; + } - private boolean isFull(int meta) { - return meta / 8 > 0; - } + private boolean isFull(int meta) { + return meta / 8 > 0; + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) { - LeafType type = getType(meta); - return ForestryAPI.textureManager.getIcon(isFull(meta) ? type.plainUID : type.fancyUID); - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + LeafType type = getType(meta); + return ForestryAPI.textureManager.getIcon(isFull(meta) ? type.plainUID : type.fancyUID); + } - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item item, CreativeTabs tab, List list) { - for (int i = 0; i < 6; ++i) { - for (int f = 0; f < 2; ++f) { - list.add(new ItemStack(item, 1, i + f * 8)); - } - } - } + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (int i = 0; i < 6; ++i) { + for (int f = 0; f < 2; ++f) { + list.add(new ItemStack(item, 1, i + f * 8)); + } + } + } - @Override - @SideOnly(Side.CLIENT) - public int colorMultiplier(IBlockAccess world, int x, int y, int z) { - return getColor(world.getBlockMetadata(x, y, z)); - } + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + return getColor(world.getBlockMetadata(x, y, z)); + } } diff --git a/src/main/java/binnie/extratrees/block/decor/BlockMultiFence.java b/src/main/java/binnie/extratrees/block/decor/BlockMultiFence.java index d243d949..e05c5f68 100644 --- a/src/main/java/binnie/extratrees/block/decor/BlockMultiFence.java +++ b/src/main/java/binnie/extratrees/block/decor/BlockMultiFence.java @@ -6,39 +6,42 @@ import binnie.core.util.I18N; import binnie.extratrees.block.IPlankType; import binnie.extratrees.block.PlankType; import binnie.extratrees.block.WoodManager; +import java.util.List; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import java.util.List; - public class BlockMultiFence extends BlockFence implements IBlockMetadata { - public BlockMultiFence() { - setBlockName("multifence"); - } + public BlockMultiFence() { + setBlockName("multifence"); + } - @Override - public void getSubBlocks(Item item, CreativeTabs tab, List list) { - for (FenceType type : FenceType.values()) { - list.add(WoodManager.getFence(PlankType.VanillaPlanks.SPRUCE, PlankType.VanillaPlanks.BIRCH, type, 1)); - } - } + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (FenceType type : FenceType.values()) { + list.add(WoodManager.getFence(PlankType.VanillaPlanks.SPRUCE, PlankType.VanillaPlanks.BIRCH, type, 1)); + } + } - @Override - public IIcon getIcon(int side, int meta) { - return (FenceRenderer.layer == 0) - ? getDescription(meta).getPlankType().getIcon() - : getDescription(meta).getSecondaryPlankType().getIcon(); - } + @Override + public IIcon getIcon(int side, int meta) { + return (FenceRenderer.layer == 0) + ? getDescription(meta).getPlankType().getIcon() + : getDescription(meta).getSecondaryPlankType().getIcon(); + } - @Override - public String getBlockName(ItemStack itemStack) { - int meta = TileEntityMetadata.getItemDamage(itemStack); - IPlankType type1 = getDescription(meta).getPlankType(); - IPlankType type2 = getDescription(meta).getSecondaryPlankType(); - FenceType type3 = getDescription(meta).getFenceType(); - boolean twoTypes = type1 != type2; - return I18N.localise("extratrees.block.woodslab.name" + (twoTypes ? "2" : ""), type3.getPrefix(), type1.getName(), type2.getName()); - } + @Override + public String getBlockName(ItemStack itemStack) { + int meta = TileEntityMetadata.getItemDamage(itemStack); + IPlankType type1 = getDescription(meta).getPlankType(); + IPlankType type2 = getDescription(meta).getSecondaryPlankType(); + FenceType type3 = getDescription(meta).getFenceType(); + boolean twoTypes = type1 != type2; + return I18N.localise( + "extratrees.block.woodslab.name" + (twoTypes ? "2" : ""), + type3.getPrefix(), + type1.getName(), + type2.getName()); + } } diff --git a/src/main/java/binnie/extratrees/block/decor/FenceDescription.java b/src/main/java/binnie/extratrees/block/decor/FenceDescription.java index dbc2cec2..32da169d 100644 --- a/src/main/java/binnie/extratrees/block/decor/FenceDescription.java +++ b/src/main/java/binnie/extratrees/block/decor/FenceDescription.java @@ -4,31 +4,31 @@ import binnie.extratrees.block.IPlankType; import binnie.extratrees.block.WoodManager; public class FenceDescription { - protected FenceType fenceType; - protected IPlankType plankType; - protected IPlankType secondaryPlankType; + protected FenceType fenceType; + protected IPlankType plankType; + protected IPlankType secondaryPlankType; - public FenceDescription(FenceType fenceType, IPlankType plankType, IPlankType secondaryPlankType) { - this.fenceType = fenceType; - this.plankType = plankType; - this.secondaryPlankType = secondaryPlankType; - } + public FenceDescription(FenceType fenceType, IPlankType plankType, IPlankType secondaryPlankType) { + this.fenceType = fenceType; + this.plankType = plankType; + this.secondaryPlankType = secondaryPlankType; + } - public FenceDescription(int meta) { - fenceType = new FenceType(meta >> 8 & 0xFF); - plankType = WoodManager.getPlankType(meta & 0xFF); - secondaryPlankType = WoodManager.getPlankType(meta >> 16 & 0xFF); - } + public FenceDescription(int meta) { + fenceType = new FenceType(meta >> 8 & 0xFF); + plankType = WoodManager.getPlankType(meta & 0xFF); + secondaryPlankType = WoodManager.getPlankType(meta >> 16 & 0xFF); + } - public FenceType getFenceType() { - return fenceType; - } + public FenceType getFenceType() { + return fenceType; + } - public IPlankType getPlankType() { - return plankType; - } + public IPlankType getPlankType() { + return plankType; + } - public IPlankType getSecondaryPlankType() { - return secondaryPlankType; - } + public IPlankType getSecondaryPlankType() { + return secondaryPlankType; + } } diff --git a/src/main/java/binnie/extratrees/block/decor/FenceRenderer.java b/src/main/java/binnie/extratrees/block/decor/FenceRenderer.java index cc5dfbfc..0c18c9f8 100644 --- a/src/main/java/binnie/extratrees/block/decor/FenceRenderer.java +++ b/src/main/java/binnie/extratrees/block/decor/FenceRenderer.java @@ -12,272 +12,276 @@ import net.minecraft.world.IBlockAccess; import org.lwjgl.opengl.GL11; public class FenceRenderer implements ISimpleBlockRenderingHandler { - public static int layer; + public static int layer; - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { - Tessellator tess = Tessellator.instance; - for (int i = 0; i < 5; ++i) { - float thickness = 0.125f; - FenceRenderer.layer = 0; - if (i == 0) { - block.setBlockBounds(0.5f - thickness, 0.0f, 0.0f, 0.5f + thickness, 1.0f, thickness * 2.0f); - } - if (i == 1) { - block.setBlockBounds(0.5f - thickness, 0.0f, 1.0f - thickness * 2.0f, 0.5f + thickness, 1.0f, 1.0f); - } + @Override + public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { + Tessellator tess = Tessellator.instance; + for (int i = 0; i < 5; ++i) { + float thickness = 0.125f; + FenceRenderer.layer = 0; + if (i == 0) { + block.setBlockBounds(0.5f - thickness, 0.0f, 0.0f, 0.5f + thickness, 1.0f, thickness * 2.0f); + } + if (i == 1) { + block.setBlockBounds(0.5f - thickness, 0.0f, 1.0f - thickness * 2.0f, 0.5f + thickness, 1.0f, 1.0f); + } - float s = 0.0625f; - FenceType fenceType = (block == ExtraTrees.blockMultiFence) ? WoodManager.getFenceType(metadata) : new FenceType(0); - boolean bottomBar = !fenceType.solid; - float topBarMaxY = 1.0f - s; - float topBarMinY = 1.0f - s * 3.0f; - float bottomBarMaxY = 0.5f - s; - float bottomBarMinY = 0.5f - s * 3.0f; - if (fenceType.size == 2) { - bottomBarMinY -= 4.0f * s; - bottomBarMaxY -= 4.0f * s; - topBarMinY -= 4.0f * s; - topBarMaxY -= 4.0f * s; - } + float s = 0.0625f; + FenceType fenceType = + (block == ExtraTrees.blockMultiFence) ? WoodManager.getFenceType(metadata) : new FenceType(0); + boolean bottomBar = !fenceType.solid; + float topBarMaxY = 1.0f - s; + float topBarMinY = 1.0f - s * 3.0f; + float bottomBarMaxY = 0.5f - s; + float bottomBarMinY = 0.5f - s * 3.0f; + if (fenceType.size == 2) { + bottomBarMinY -= 4.0f * s; + bottomBarMaxY -= 4.0f * s; + topBarMinY -= 4.0f * s; + topBarMaxY -= 4.0f * s; + } - if (fenceType.size == 1) { - bottomBarMinY -= 4.0f * s; - bottomBarMaxY -= 4.0f * s; - } + if (fenceType.size == 1) { + bottomBarMinY -= 4.0f * s; + bottomBarMaxY -= 4.0f * s; + } - if (fenceType.solid) { - topBarMinY = bottomBarMinY; - } + if (fenceType.solid) { + topBarMinY = bottomBarMinY; + } - float minX = 0.5f - s; - float maxX = 0.5f + s; - float minZ = -s * 2.0f; - float maxZ = 1.0f + s * 2.0f; - if (i == 2) { - block.setBlockBounds(minX, topBarMinY, minZ, maxX, topBarMaxY, maxZ); - FenceRenderer.layer = 1; - } else if (i == 3) { - if (!bottomBar) { - continue; - } - block.setBlockBounds(minX, bottomBarMinY, minZ, maxX, bottomBarMaxY, maxZ); - FenceRenderer.layer = 1; - } else if (i == 4) { - if (fenceType.embossed) { - minX -= s * 0.9f; - maxX += s * 0.9f; - minZ -= s; - maxZ += s; - float minY; - float maxY; + float minX = 0.5f - s; + float maxX = 0.5f + s; + float minZ = -s * 2.0f; + float maxZ = 1.0f + s * 2.0f; + if (i == 2) { + block.setBlockBounds(minX, topBarMinY, minZ, maxX, topBarMaxY, maxZ); + FenceRenderer.layer = 1; + } else if (i == 3) { + if (!bottomBar) { + continue; + } + block.setBlockBounds(minX, bottomBarMinY, minZ, maxX, bottomBarMaxY, maxZ); + FenceRenderer.layer = 1; + } else if (i == 4) { + if (fenceType.embossed) { + minX -= s * 0.9f; + maxX += s * 0.9f; + minZ -= s; + maxZ += s; + float minY; + float maxY; - if (fenceType.size != 1 && !fenceType.solid) { - minY = bottomBarMinY + 2.0f * s; - maxY = topBarMaxY - 2.0f * s; - } else if (fenceType.size == 1 && fenceType.solid) { - minY = bottomBarMinY + 2.0f * s; - maxY = topBarMaxY - 2.0f * s; - } else { - minY = 0.5f - 2.0f * s; - maxY = 0.5f + 2.0f * s; - } - if (fenceType.solid && fenceType.size == 0) { - minY -= s; - maxY -= s; - } - if (fenceType.solid && fenceType.size == 2) { - minY += s; - maxY += s; - } - block.setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ); - FenceRenderer.layer = 0; - } else { - if (fenceType.size != 1 || fenceType.solid) { - continue; - } - block.setBlockBounds(minX, 0.5f - s, minZ, maxX, 0.5f + s, maxZ); - FenceRenderer.layer = 1; - } - } + if (fenceType.size != 1 && !fenceType.solid) { + minY = bottomBarMinY + 2.0f * s; + maxY = topBarMaxY - 2.0f * s; + } else if (fenceType.size == 1 && fenceType.solid) { + minY = bottomBarMinY + 2.0f * s; + maxY = topBarMaxY - 2.0f * s; + } else { + minY = 0.5f - 2.0f * s; + maxY = 0.5f + 2.0f * s; + } + if (fenceType.solid && fenceType.size == 0) { + minY -= s; + maxY -= s; + } + if (fenceType.solid && fenceType.size == 2) { + minY += s; + maxY += s; + } + block.setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ); + FenceRenderer.layer = 0; + } else { + if (fenceType.size != 1 || fenceType.solid) { + continue; + } + block.setBlockBounds(minX, 0.5f - s, minZ, maxX, 0.5f + s, maxZ); + FenceRenderer.layer = 1; + } + } - renderer.setRenderBoundsFromBlock(block); - GL11.glTranslatef(-0.5f, -0.5f, -0.5f); - tess.startDrawingQuads(); - tess.setNormal(0.0f, -1.0f, 0.0f); - renderer.renderFaceYNeg(block, 0.0, 0.0, 0.0, block.getIcon(0, metadata)); - tess.draw(); - tess.startDrawingQuads(); - tess.setNormal(0.0f, 1.0f, 0.0f); - renderer.renderFaceYPos(block, 0.0, 0.0, 0.0, block.getIcon(1, metadata)); - tess.draw(); - tess.startDrawingQuads(); - tess.setNormal(0.0f, 0.0f, -1.0f); - renderer.renderFaceXPos(block, 0.0, 0.0, 0.0, block.getIcon(2, metadata)); - tess.draw(); - tess.startDrawingQuads(); - tess.setNormal(0.0f, 0.0f, 1.0f); - renderer.renderFaceXNeg(block, 0.0, 0.0, 0.0, block.getIcon(3, metadata)); - tess.draw(); - tess.startDrawingQuads(); - tess.setNormal(-1.0f, 0.0f, 0.0f); - renderer.renderFaceZNeg(block, 0.0, 0.0, 0.0, block.getIcon(4, metadata)); - tess.draw(); - tess.startDrawingQuads(); - tess.setNormal(1.0f, 0.0f, 0.0f); - renderer.renderFaceZPos(block, 0.0, 0.0, 0.0, block.getIcon(5, metadata)); - tess.draw(); - GL11.glTranslatef(0.5f, 0.5f, 0.5f); - } - block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f); - renderer.setRenderBoundsFromBlock(block); - } + renderer.setRenderBoundsFromBlock(block); + GL11.glTranslatef(-0.5f, -0.5f, -0.5f); + tess.startDrawingQuads(); + tess.setNormal(0.0f, -1.0f, 0.0f); + renderer.renderFaceYNeg(block, 0.0, 0.0, 0.0, block.getIcon(0, metadata)); + tess.draw(); + tess.startDrawingQuads(); + tess.setNormal(0.0f, 1.0f, 0.0f); + renderer.renderFaceYPos(block, 0.0, 0.0, 0.0, block.getIcon(1, metadata)); + tess.draw(); + tess.startDrawingQuads(); + tess.setNormal(0.0f, 0.0f, -1.0f); + renderer.renderFaceXPos(block, 0.0, 0.0, 0.0, block.getIcon(2, metadata)); + tess.draw(); + tess.startDrawingQuads(); + tess.setNormal(0.0f, 0.0f, 1.0f); + renderer.renderFaceXNeg(block, 0.0, 0.0, 0.0, block.getIcon(3, metadata)); + tess.draw(); + tess.startDrawingQuads(); + tess.setNormal(-1.0f, 0.0f, 0.0f); + renderer.renderFaceZNeg(block, 0.0, 0.0, 0.0, block.getIcon(4, metadata)); + tess.draw(); + tess.startDrawingQuads(); + tess.setNormal(1.0f, 0.0f, 0.0f); + renderer.renderFaceZPos(block, 0.0, 0.0, 0.0, block.getIcon(5, metadata)); + tess.draw(); + GL11.glTranslatef(0.5f, 0.5f, 0.5f); + } + block.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f); + renderer.setRenderBoundsFromBlock(block); + } - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - FenceRenderer.layer = 0; - BlockFence blockFence = (BlockFence) block; - float i = 0.0625f; - FenceType fenceType = new FenceType(0); - TileEntity tile = world.getTileEntity(x, y, z); - if (tile != null && tile instanceof TileEntityMetadata && block instanceof BlockMultiFence) { - fenceType = WoodManager.getFenceType(((TileEntityMetadata) tile).getTileMetadata()); - } + @Override + public boolean renderWorldBlock( + IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + FenceRenderer.layer = 0; + BlockFence blockFence = (BlockFence) block; + float i = 0.0625f; + FenceType fenceType = new FenceType(0); + TileEntity tile = world.getTileEntity(x, y, z); + if (tile != null && tile instanceof TileEntityMetadata && block instanceof BlockMultiFence) { + fenceType = WoodManager.getFenceType(((TileEntityMetadata) tile).getTileMetadata()); + } - boolean rendered; - float postWidth = 0.25f; - float postHeight = 1.0f; - float minPostPos = 0.5f - postWidth / 2.0f; - float maxPostPos = 0.5f + postWidth / 2.0f; - renderer.setRenderBounds(minPostPos, 0.0, minPostPos, maxPostPos, postHeight, maxPostPos); - renderer.renderStandardBlock(block, x, y, z); - rendered = true; - boolean connectAnyX = false; - boolean connectAnyZ = false; - if (blockFence.canConnectFenceTo(renderer.blockAccess, x - 1, y, z) || blockFence.canConnectFenceTo(renderer.blockAccess, x + 1, y, z)) { - connectAnyX = true; - } - if (blockFence.canConnectFenceTo(renderer.blockAccess, x, y, z - 1) || blockFence.canConnectFenceTo(renderer.blockAccess, x, y, z + 1)) { - connectAnyZ = true; - } + boolean rendered; + float postWidth = 0.25f; + float postHeight = 1.0f; + float minPostPos = 0.5f - postWidth / 2.0f; + float maxPostPos = 0.5f + postWidth / 2.0f; + renderer.setRenderBounds(minPostPos, 0.0, minPostPos, maxPostPos, postHeight, maxPostPos); + renderer.renderStandardBlock(block, x, y, z); + rendered = true; + boolean connectAnyX = false; + boolean connectAnyZ = false; + if (blockFence.canConnectFenceTo(renderer.blockAccess, x - 1, y, z) + || blockFence.canConnectFenceTo(renderer.blockAccess, x + 1, y, z)) { + connectAnyX = true; + } + if (blockFence.canConnectFenceTo(renderer.blockAccess, x, y, z - 1) + || blockFence.canConnectFenceTo(renderer.blockAccess, x, y, z + 1)) { + connectAnyZ = true; + } - boolean connectNegX = blockFence.canConnectFenceTo(renderer.blockAccess, x - 1, y, z); - boolean connectPosX = blockFence.canConnectFenceTo(renderer.blockAccess, x + 1, y, z); - boolean connectNegZ = blockFence.canConnectFenceTo(renderer.blockAccess, x, y, z - 1); - boolean connectPosZ = blockFence.canConnectFenceTo(renderer.blockAccess, x, y, z + 1); - if (!connectAnyX && !connectAnyZ) { - connectAnyX = true; - } + boolean connectNegX = blockFence.canConnectFenceTo(renderer.blockAccess, x - 1, y, z); + boolean connectPosX = blockFence.canConnectFenceTo(renderer.blockAccess, x + 1, y, z); + boolean connectNegZ = blockFence.canConnectFenceTo(renderer.blockAccess, x, y, z - 1); + boolean connectPosZ = blockFence.canConnectFenceTo(renderer.blockAccess, x, y, z + 1); + if (!connectAnyX && !connectAnyZ) { + connectAnyX = true; + } - minPostPos = 7.0f * i; - maxPostPos = 9.0f * i; - float barMinY = 12.0f * i; - float barMaxY = 15.0f * i; - float minX = connectNegX ? 0.0f : minPostPos; - float maxX = connectPosX ? 1.0f : maxPostPos; - float minZ = connectNegZ ? 0.0f : minPostPos; - float maxZ = connectPosZ ? 1.0f : maxPostPos; - boolean renderBottom = true; - if (fenceType.size == 2) { - barMaxY -= 5.0f * i; - barMinY -= 5.0f * i; - } - if (fenceType.solid) { - renderBottom = false; - if (fenceType.size == 0) { - barMinY = 6.0f * i; - } else { - barMinY = i; - } - } + minPostPos = 7.0f * i; + maxPostPos = 9.0f * i; + float barMinY = 12.0f * i; + float barMaxY = 15.0f * i; + float minX = connectNegX ? 0.0f : minPostPos; + float maxX = connectPosX ? 1.0f : maxPostPos; + float minZ = connectNegZ ? 0.0f : minPostPos; + float maxZ = connectPosZ ? 1.0f : maxPostPos; + boolean renderBottom = true; + if (fenceType.size == 2) { + barMaxY -= 5.0f * i; + barMinY -= 5.0f * i; + } + if (fenceType.solid) { + renderBottom = false; + if (fenceType.size == 0) { + barMinY = 6.0f * i; + } else { + barMinY = i; + } + } - float totalMaxY = barMaxY; - FenceRenderer.layer = 1; - if (connectAnyX) { - renderer.setRenderBounds(minX, barMinY, minPostPos, maxX, barMaxY, maxPostPos); - renderer.renderStandardBlock(blockFence, x, y, z); - rendered = true; - } + float totalMaxY = barMaxY; + FenceRenderer.layer = 1; + if (connectAnyX) { + renderer.setRenderBounds(minX, barMinY, minPostPos, maxX, barMaxY, maxPostPos); + renderer.renderStandardBlock(blockFence, x, y, z); + rendered = true; + } - if (connectAnyZ) { - renderer.setRenderBounds(minPostPos, barMinY, minZ, maxPostPos, barMaxY, maxZ); - renderer.renderStandardBlock(blockFence, x, y, z); - rendered = true; - } + if (connectAnyZ) { + renderer.setRenderBounds(minPostPos, barMinY, minZ, maxPostPos, barMaxY, maxZ); + renderer.renderStandardBlock(blockFence, x, y, z); + rendered = true; + } - if (renderBottom) { - barMinY -= 6.0f * i; - barMaxY -= 6.0f * i; - if (fenceType.size == 1) { - barMinY += i; - } - if (connectAnyX) { - renderer.setRenderBounds(minX, barMinY, minPostPos, maxX, barMaxY, maxPostPos); - renderer.renderStandardBlock(blockFence, x, y, z); - rendered = true; - } - if (connectAnyZ) { - renderer.setRenderBounds(minPostPos, barMinY, minZ, maxPostPos, barMaxY, maxZ); - renderer.renderStandardBlock(blockFence, x, y, z); - rendered = true; - } - } + if (renderBottom) { + barMinY -= 6.0f * i; + barMaxY -= 6.0f * i; + if (fenceType.size == 1) { + barMinY += i; + } + if (connectAnyX) { + renderer.setRenderBounds(minX, barMinY, minPostPos, maxX, barMaxY, maxPostPos); + renderer.renderStandardBlock(blockFence, x, y, z); + rendered = true; + } + if (connectAnyZ) { + renderer.setRenderBounds(minPostPos, barMinY, minZ, maxPostPos, barMaxY, maxZ); + renderer.renderStandardBlock(blockFence, x, y, z); + rendered = true; + } + } - if (renderBottom && fenceType.size == 1) { - barMinY -= 6.0f * i; - barMaxY -= 6.0f * i; - barMaxY += i; - if (connectAnyX) { - renderer.setRenderBounds(minX, barMinY, minPostPos, maxX, barMaxY, maxPostPos); - renderer.renderStandardBlock(blockFence, x, y, z); - rendered = true; - } - if (connectAnyZ) { - renderer.setRenderBounds(minPostPos, barMinY, minZ, maxPostPos, barMaxY, maxZ); - renderer.renderStandardBlock(blockFence, x, y, z); - rendered = true; - } - } + if (renderBottom && fenceType.size == 1) { + barMinY -= 6.0f * i; + barMaxY -= 6.0f * i; + barMaxY += i; + if (connectAnyX) { + renderer.setRenderBounds(minX, barMinY, minPostPos, maxX, barMaxY, maxPostPos); + renderer.renderStandardBlock(blockFence, x, y, z); + rendered = true; + } + if (connectAnyZ) { + renderer.setRenderBounds(minPostPos, barMinY, minZ, maxPostPos, barMaxY, maxZ); + renderer.renderStandardBlock(blockFence, x, y, z); + rendered = true; + } + } - float totalMinY = barMinY; - FenceRenderer.layer = 0; - if (fenceType.embossed) { - minPostPos -= (float) (i - 0.25 * i); - maxPostPos += (float) (i - 0.25 * i); - float minY = totalMinY + 2.0f * i; - float maxY = totalMaxY - 2.0f * i; - if (fenceType.size == 1 && !fenceType.solid) { - minY = 6.0f * i; - maxY = 10.0f * i; - } else if (fenceType.size == 0 && fenceType.solid) { - minY -= 4.0f * i; - maxY -= 4.0f * i; - } else if (fenceType.size == 2 && fenceType.solid) { - minY += 4.0f * i; - maxY += 4.0f * i; - } + float totalMinY = barMinY; + FenceRenderer.layer = 0; + if (fenceType.embossed) { + minPostPos -= (float) (i - 0.25 * i); + maxPostPos += (float) (i - 0.25 * i); + float minY = totalMinY + 2.0f * i; + float maxY = totalMaxY - 2.0f * i; + if (fenceType.size == 1 && !fenceType.solid) { + minY = 6.0f * i; + maxY = 10.0f * i; + } else if (fenceType.size == 0 && fenceType.solid) { + minY -= 4.0f * i; + maxY -= 4.0f * i; + } else if (fenceType.size == 2 && fenceType.solid) { + minY += 4.0f * i; + maxY += 4.0f * i; + } - if (connectAnyX) { - renderer.setRenderBounds(minX, minY, minPostPos, maxX, maxY, maxPostPos); - renderer.renderStandardBlock(block, x, y, z); - } + if (connectAnyX) { + renderer.setRenderBounds(minX, minY, minPostPos, maxX, maxY, maxPostPos); + renderer.renderStandardBlock(block, x, y, z); + } - if (connectAnyZ) { - renderer.setRenderBounds(minPostPos, minY, minZ, maxPostPos, maxY, maxZ); - renderer.renderStandardBlock(block, x, y, z); - } - } - blockFence.setBlockBoundsBasedOnState(renderer.blockAccess, x, y, z); - return rendered; - } + if (connectAnyZ) { + renderer.setRenderBounds(minPostPos, minY, minZ, maxPostPos, maxY, maxZ); + renderer.renderStandardBlock(block, x, y, z); + } + } + blockFence.setBlockBoundsBasedOnState(renderer.blockAccess, x, y, z); + return rendered; + } - @Override - public boolean shouldRender3DInInventory(int i) { - return true; - } + @Override + public boolean shouldRender3DInInventory(int i) { + return true; + } - @Override - public int getRenderId() { - return ExtraTrees.fenceID; - } + @Override + public int getRenderId() { + return ExtraTrees.fenceID; + } } diff --git a/src/main/java/binnie/extratrees/block/decor/FenceType.java b/src/main/java/binnie/extratrees/block/decor/FenceType.java index 3ec25ea1..91100c68 100644 --- a/src/main/java/binnie/extratrees/block/decor/FenceType.java +++ b/src/main/java/binnie/extratrees/block/decor/FenceType.java @@ -5,56 +5,54 @@ import java.util.Collection; import java.util.List; public class FenceType { - public int size; - public boolean solid; - public boolean embossed; + public int size; + public boolean solid; + public boolean embossed; - public FenceType(int size, boolean solid, boolean embedded) { - this.size = size; - this.solid = solid; - embossed = embedded; - } + public FenceType(int size, boolean solid, boolean embedded) { + this.size = size; + this.solid = solid; + embossed = embedded; + } - public FenceType(int meta) { - size = (meta & 0x3); - solid = ((meta >> 2 & 0x1) > 0); - embossed = ((meta >> 3 & 0x1) > 0); - } + public FenceType(int meta) { + size = (meta & 0x3); + solid = ((meta >> 2 & 0x1) > 0); + embossed = ((meta >> 3 & 0x1) > 0); + } - public static Collection values() { - List list = new ArrayList<>(); - for (int size = 0; size < 3; ++size) { - for (boolean solid : new boolean[]{false, true}) { - for (boolean embedded : new boolean[]{false, true}) { - list.add(new FenceType(size, solid, embedded)); - } - } - } - return list; - } + public static Collection values() { + List list = new ArrayList<>(); + for (int size = 0; size < 3; ++size) { + for (boolean solid : new boolean[] {false, true}) { + for (boolean embedded : new boolean[] {false, true}) { + list.add(new FenceType(size, solid, embedded)); + } + } + } + return list; + } - public String getPrefix() { - return ((size == 0) ? "" : ((size == 1) ? "Full " : "Low ")) - + (solid ? "Solid " : "") - + (embossed ? "Embedded " : ""); - } + public String getPrefix() { + return ((size == 0) ? "" : ((size == 1) ? "Full " : "Low ")) + + (solid ? "Solid " : "") + + (embossed ? "Embedded " : ""); + } - public int ordinal() { - return size + ((solid ? 1 : 0) << 2) + ((embossed ? 1 : 0) << 3); - } + public int ordinal() { + return size + ((solid ? 1 : 0) << 2) + ((embossed ? 1 : 0) << 3); + } - public boolean isPlain() { - return size == 0 && !embossed && !solid; - } + public boolean isPlain() { + return size == 0 && !embossed && !solid; + } - @Override - public boolean equals(Object obj) { - if (obj instanceof FenceType) { - FenceType o = (FenceType) obj; - return o.size == size - && o.embossed == embossed - && o.solid == solid; - } - return super.equals(obj); - } + @Override + public boolean equals(Object obj) { + if (obj instanceof FenceType) { + FenceType o = (FenceType) obj; + return o.size == size && o.embossed == embossed && o.solid == solid; + } + return super.equals(obj); + } } diff --git a/src/main/java/binnie/extratrees/block/decor/HedgeRenderer.java b/src/main/java/binnie/extratrees/block/decor/HedgeRenderer.java index 9c818233..f546bc8c 100644 --- a/src/main/java/binnie/extratrees/block/decor/HedgeRenderer.java +++ b/src/main/java/binnie/extratrees/block/decor/HedgeRenderer.java @@ -11,111 +11,112 @@ import net.minecraft.world.IBlockAccess; import org.lwjgl.opengl.GL11; public class HedgeRenderer implements ISimpleBlockRenderingHandler { - @Override - public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { - int color = BlockHedge.getColor(metadata); - int r = color >> 16 & 0xFF; - int g = color >> 8 & 0xFF; - int b = color & 0xFF; - GL11.glColor3f(r / 255.0f, g / 255.0f, b / 255.0f); - renderer.setRenderBounds(0.25, 0.0, 0.25, 0.75, 1.0, 0.75); - Tessellator tess = Tessellator.instance; - GL11.glTranslatef(-0.5f, -0.5f, -0.5f); - tess.startDrawingQuads(); - tess.setNormal(0.0f, -1.0f, 0.0f); - renderer.renderFaceYNeg(block, 0.0, 0.0, 0.0, block.getIcon(0, metadata)); - tess.draw(); - tess.startDrawingQuads(); - tess.setNormal(0.0f, 1.0f, 0.0f); - renderer.renderFaceYPos(block, 0.0, 0.0, 0.0, block.getIcon(1, metadata)); - tess.draw(); - tess.startDrawingQuads(); - tess.setNormal(0.0f, 0.0f, -1.0f); - renderer.renderFaceXPos(block, 0.0, 0.0, 0.0, block.getIcon(2, metadata)); - tess.draw(); - tess.startDrawingQuads(); - tess.setNormal(0.0f, 0.0f, 1.0f); - renderer.renderFaceXNeg(block, 0.0, 0.0, 0.0, block.getIcon(3, metadata)); - tess.draw(); - tess.startDrawingQuads(); - tess.setNormal(-1.0f, 0.0f, 0.0f); - renderer.renderFaceZNeg(block, 0.0, 0.0, 0.0, block.getIcon(4, metadata)); - tess.draw(); - tess.startDrawingQuads(); - tess.setNormal(1.0f, 0.0f, 0.0f); - renderer.renderFaceZPos(block, 0.0, 0.0, 0.0, block.getIcon(5, metadata)); - tess.draw(); - GL11.glTranslatef(0.5f, 0.5f, 0.5f); - } + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + int color = BlockHedge.getColor(metadata); + int r = color >> 16 & 0xFF; + int g = color >> 8 & 0xFF; + int b = color & 0xFF; + GL11.glColor3f(r / 255.0f, g / 255.0f, b / 255.0f); + renderer.setRenderBounds(0.25, 0.0, 0.25, 0.75, 1.0, 0.75); + Tessellator tess = Tessellator.instance; + GL11.glTranslatef(-0.5f, -0.5f, -0.5f); + tess.startDrawingQuads(); + tess.setNormal(0.0f, -1.0f, 0.0f); + renderer.renderFaceYNeg(block, 0.0, 0.0, 0.0, block.getIcon(0, metadata)); + tess.draw(); + tess.startDrawingQuads(); + tess.setNormal(0.0f, 1.0f, 0.0f); + renderer.renderFaceYPos(block, 0.0, 0.0, 0.0, block.getIcon(1, metadata)); + tess.draw(); + tess.startDrawingQuads(); + tess.setNormal(0.0f, 0.0f, -1.0f); + renderer.renderFaceXPos(block, 0.0, 0.0, 0.0, block.getIcon(2, metadata)); + tess.draw(); + tess.startDrawingQuads(); + tess.setNormal(0.0f, 0.0f, 1.0f); + renderer.renderFaceXNeg(block, 0.0, 0.0, 0.0, block.getIcon(3, metadata)); + tess.draw(); + tess.startDrawingQuads(); + tess.setNormal(-1.0f, 0.0f, 0.0f); + renderer.renderFaceZNeg(block, 0.0, 0.0, 0.0, block.getIcon(4, metadata)); + tess.draw(); + tess.startDrawingQuads(); + tess.setNormal(1.0f, 0.0f, 0.0f); + renderer.renderFaceZPos(block, 0.0, 0.0, 0.0, block.getIcon(5, metadata)); + tess.draw(); + GL11.glTranslatef(0.5f, 0.5f, 0.5f); + } - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - IIcon icon = block.getIcon(0, world.getBlockMetadata(x, y, z)); - BlockHedge hedge = ExtraTrees.blockHedge; - boolean connectNegX = hedge.canConnectFenceTo(world, x - 1, y, z); - boolean connectPosX = hedge.canConnectFenceTo(world, x + 1, y, z); - boolean connectNegZ = hedge.canConnectFenceTo(world, x, y, z - 1); - boolean connectPosZ = hedge.canConnectFenceTo(world, x, y, z + 1); - GL11.glPushMatrix(); - renderer.setRenderBounds(0.25, 0.0, 0.25, 0.75, 1.0, 0.75); - renderer.renderStandardBlock(block, x, y, z); - renderer.renderFaceYPos(block, x, y, z, icon); - renderer.renderFaceYNeg(block, x, y, z, icon); - if (!connectNegX) { - renderer.renderFaceXNeg(block, x, y, z, icon); - } - if (!connectPosX) { - renderer.renderFaceXPos(block, x, y, z, icon); - } - if (!connectNegZ) { - renderer.renderFaceZNeg(block, x, y, z, icon); - } - if (!connectPosZ) { - renderer.renderFaceZPos(block, x, y, z, icon); - } - if (connectNegX) { - renderer.setRenderBounds(0.0, 0.0, 0.25, 0.25, 1.0, 0.75); - renderer.renderFaceYPos(block, x, y, z, icon); - renderer.renderFaceYNeg(block, x, y, z, icon); - renderer.renderFaceXNeg(block, x, y, z, icon); - renderer.renderFaceZNeg(block, x, y, z, icon); - renderer.renderFaceZPos(block, x, y, z, icon); - } - if (connectPosX) { - renderer.setRenderBounds(0.75, 0.0, 0.25, 1.0, 1.0, 0.75); - renderer.renderFaceYPos(block, x, y, z, icon); - renderer.renderFaceYNeg(block, x, y, z, icon); - renderer.renderFaceXPos(block, x, y, z, icon); - renderer.renderFaceZNeg(block, x, y, z, icon); - renderer.renderFaceZPos(block, x, y, z, icon); - } - if (connectPosZ) { - renderer.setRenderBounds(0.25, 0.0, 0.75, 0.75, 1.0, 1.0); - renderer.renderFaceYPos(block, x, y, z, icon); - renderer.renderFaceYNeg(block, x, y, z, icon); - renderer.renderFaceZPos(block, x, y, z, icon); - renderer.renderFaceXNeg(block, x, y, z, icon); - renderer.renderFaceXPos(block, x, y, z, icon); - } - if (connectNegZ) { - renderer.setRenderBounds(0.25, 0.0, 0.0, 0.75, 1.0, 0.25); - renderer.renderFaceYPos(block, x, y, z, icon); - renderer.renderFaceYNeg(block, x, y, z, icon); - renderer.renderFaceZNeg(block, x, y, z, icon); - renderer.renderFaceXNeg(block, x, y, z, icon); - renderer.renderFaceXPos(block, x, y, z, icon); - } - GL11.glPopMatrix(); - return false; - } + @Override + public boolean renderWorldBlock( + IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + IIcon icon = block.getIcon(0, world.getBlockMetadata(x, y, z)); + BlockHedge hedge = ExtraTrees.blockHedge; + boolean connectNegX = hedge.canConnectFenceTo(world, x - 1, y, z); + boolean connectPosX = hedge.canConnectFenceTo(world, x + 1, y, z); + boolean connectNegZ = hedge.canConnectFenceTo(world, x, y, z - 1); + boolean connectPosZ = hedge.canConnectFenceTo(world, x, y, z + 1); + GL11.glPushMatrix(); + renderer.setRenderBounds(0.25, 0.0, 0.25, 0.75, 1.0, 0.75); + renderer.renderStandardBlock(block, x, y, z); + renderer.renderFaceYPos(block, x, y, z, icon); + renderer.renderFaceYNeg(block, x, y, z, icon); + if (!connectNegX) { + renderer.renderFaceXNeg(block, x, y, z, icon); + } + if (!connectPosX) { + renderer.renderFaceXPos(block, x, y, z, icon); + } + if (!connectNegZ) { + renderer.renderFaceZNeg(block, x, y, z, icon); + } + if (!connectPosZ) { + renderer.renderFaceZPos(block, x, y, z, icon); + } + if (connectNegX) { + renderer.setRenderBounds(0.0, 0.0, 0.25, 0.25, 1.0, 0.75); + renderer.renderFaceYPos(block, x, y, z, icon); + renderer.renderFaceYNeg(block, x, y, z, icon); + renderer.renderFaceXNeg(block, x, y, z, icon); + renderer.renderFaceZNeg(block, x, y, z, icon); + renderer.renderFaceZPos(block, x, y, z, icon); + } + if (connectPosX) { + renderer.setRenderBounds(0.75, 0.0, 0.25, 1.0, 1.0, 0.75); + renderer.renderFaceYPos(block, x, y, z, icon); + renderer.renderFaceYNeg(block, x, y, z, icon); + renderer.renderFaceXPos(block, x, y, z, icon); + renderer.renderFaceZNeg(block, x, y, z, icon); + renderer.renderFaceZPos(block, x, y, z, icon); + } + if (connectPosZ) { + renderer.setRenderBounds(0.25, 0.0, 0.75, 0.75, 1.0, 1.0); + renderer.renderFaceYPos(block, x, y, z, icon); + renderer.renderFaceYNeg(block, x, y, z, icon); + renderer.renderFaceZPos(block, x, y, z, icon); + renderer.renderFaceXNeg(block, x, y, z, icon); + renderer.renderFaceXPos(block, x, y, z, icon); + } + if (connectNegZ) { + renderer.setRenderBounds(0.25, 0.0, 0.0, 0.75, 1.0, 0.25); + renderer.renderFaceYPos(block, x, y, z, icon); + renderer.renderFaceYNeg(block, x, y, z, icon); + renderer.renderFaceZNeg(block, x, y, z, icon); + renderer.renderFaceXNeg(block, x, y, z, icon); + renderer.renderFaceXPos(block, x, y, z, icon); + } + GL11.glPopMatrix(); + return false; + } - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } - @Override - public int getRenderId() { - return ModuleBlocks.hedgeRenderID; - } + @Override + public int getRenderId() { + return ModuleBlocks.hedgeRenderID; + } } diff --git a/src/main/java/binnie/extratrees/block/decor/MultiFenceRecipeEmbedded.java b/src/main/java/binnie/extratrees/block/decor/MultiFenceRecipeEmbedded.java index 7a193cd1..42da230a 100644 --- a/src/main/java/binnie/extratrees/block/decor/MultiFenceRecipeEmbedded.java +++ b/src/main/java/binnie/extratrees/block/decor/MultiFenceRecipeEmbedded.java @@ -9,53 +9,52 @@ import net.minecraft.item.crafting.IRecipe; import net.minecraft.world.World; public class MultiFenceRecipeEmbedded implements IRecipe { - protected ItemStack cached; + protected ItemStack cached; - @Override - public boolean matches(InventoryCrafting inv, World world) { - FenceType type; - for (int row = 0; row < 3; ++row) { - ItemStack a = inv.getStackInSlot(row * 3); - ItemStack b = inv.getStackInSlot(row * 3 + 1); - ItemStack c = inv.getStackInSlot(row * 3 + 2); - if (a == null || b == null || c == null) { - continue; - } + @Override + public boolean matches(InventoryCrafting inv, World world) { + FenceType type; + for (int row = 0; row < 3; ++row) { + ItemStack a = inv.getStackInSlot(row * 3); + ItemStack b = inv.getStackInSlot(row * 3 + 1); + ItemStack c = inv.getStackInSlot(row * 3 + 2); + if (a == null || b == null || c == null) { + continue; + } - type = WoodManager.getFenceType(a); - FenceType type2 = WoodManager.getFenceType(c); - if (type == null || type2 == null || !type.equals(type2)) { - continue; - } + type = WoodManager.getFenceType(a); + FenceType type2 = WoodManager.getFenceType(c); + if (type == null || type2 == null || !type.equals(type2)) { + continue; + } - IPlankType pType = WoodManager.get(b); - if (WoodManager.getFenceDescription(a).getPlankType() != pType) { - continue; - } + IPlankType pType = WoodManager.get(b); + if (WoodManager.getFenceDescription(a).getPlankType() != pType) { + continue; + } - cached = WoodManager.getFence( - WoodManager.getFenceDescription(a).getPlankType(), - WoodManager.getFenceDescription(a).getSecondaryPlankType(), - new FenceType(type.size, type.solid, true), - 2 - ); - return true; - } - return false; - } + cached = WoodManager.getFence( + WoodManager.getFenceDescription(a).getPlankType(), + WoodManager.getFenceDescription(a).getSecondaryPlankType(), + new FenceType(type.size, type.solid, true), + 2); + return true; + } + return false; + } - @Override - public ItemStack getCraftingResult(InventoryCrafting inv) { - return getRecipeOutput(); - } + @Override + public ItemStack getCraftingResult(InventoryCrafting inv) { + return getRecipeOutput(); + } - @Override - public int getRecipeSize() { - return 3; - } + @Override + public int getRecipeSize() { + return 3; + } - @Override - public ItemStack getRecipeOutput() { - return (cached == null) ? new ItemStack(Blocks.fence) : cached; - } + @Override + public ItemStack getRecipeOutput() { + return (cached == null) ? new ItemStack(Blocks.fence) : cached; + } } diff --git a/src/main/java/binnie/extratrees/block/decor/MultiFenceRecipeSize.java b/src/main/java/binnie/extratrees/block/decor/MultiFenceRecipeSize.java index 34e557ce..413cf9b5 100644 --- a/src/main/java/binnie/extratrees/block/decor/MultiFenceRecipeSize.java +++ b/src/main/java/binnie/extratrees/block/decor/MultiFenceRecipeSize.java @@ -2,77 +2,76 @@ package binnie.extratrees.block.decor; import binnie.extratrees.block.IPlankType; import binnie.extratrees.block.WoodManager; +import java.util.ArrayList; +import java.util.List; import net.minecraft.init.Blocks; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.world.World; -import java.util.ArrayList; -import java.util.List; - public class MultiFenceRecipeSize implements IRecipe { - protected ItemStack cached; + protected ItemStack cached; - @Override - public boolean matches(InventoryCrafting inv, World world) { - StringBuilder pattern = new StringBuilder(); - List types = new ArrayList<>(); - for (int i = 0; i < inv.getSizeInventory(); ++i) { - ItemStack stack = inv.getStackInSlot(i); - IPlankType type = (stack == null) ? null : WoodManager.get(stack); - if (stack != null && type == null) { - return false; - } + @Override + public boolean matches(InventoryCrafting inv, World world) { + StringBuilder pattern = new StringBuilder(); + List types = new ArrayList<>(); + for (int i = 0; i < inv.getSizeInventory(); ++i) { + ItemStack stack = inv.getStackInSlot(i); + IPlankType type = (stack == null) ? null : WoodManager.get(stack); + if (stack != null && type == null) { + return false; + } - if (stack == null) { - pattern.append(" "); - } else { - if (!types.contains(type)) { - types.add(type); - if (types.size() > 2) { - return false; - } - } - pattern.append(types.indexOf(type)); - } - } + if (stack == null) { + pattern.append(" "); + } else { + if (!types.contains(type)) { + types.add(type); + if (types.size() > 2) { + return false; + } + } + pattern.append(types.indexOf(type)); + } + } - if (types.isEmpty()) { - return false; - } + if (types.isEmpty()) { + return false; + } - ItemStack fence = null; - if (pattern.toString().contains("0100 0 ")) { - fence = WoodManager.getFence(types.get(0), types.get(1), new FenceType(0, false, false), 4); - } else if (pattern.toString().contains("0000 0 ")) { - fence = WoodManager.getFence(types.get(0), types.get(0), new FenceType(0, false, false), 4); - } else if (pattern.toString().contains("0100 0 1 ")) { - fence = WoodManager.getFence(types.get(0), types.get(1), new FenceType(1, false, false), 4); - } else if (pattern.toString().contains("0000 0 0 ")) { - fence = WoodManager.getFence(types.get(0), types.get(0), new FenceType(1, false, false), 4); - } else if (pattern.toString().contains(" 0 1 1101")) { - fence = WoodManager.getFence(types.get(1), types.get(0), new FenceType(2, false, false), 4); - } else if (pattern.toString().contains(" 0 0 0000")) { - fence = WoodManager.getFence(types.get(0), types.get(0), new FenceType(2, false, false), 4); - } + ItemStack fence = null; + if (pattern.toString().contains("0100 0 ")) { + fence = WoodManager.getFence(types.get(0), types.get(1), new FenceType(0, false, false), 4); + } else if (pattern.toString().contains("0000 0 ")) { + fence = WoodManager.getFence(types.get(0), types.get(0), new FenceType(0, false, false), 4); + } else if (pattern.toString().contains("0100 0 1 ")) { + fence = WoodManager.getFence(types.get(0), types.get(1), new FenceType(1, false, false), 4); + } else if (pattern.toString().contains("0000 0 0 ")) { + fence = WoodManager.getFence(types.get(0), types.get(0), new FenceType(1, false, false), 4); + } else if (pattern.toString().contains(" 0 1 1101")) { + fence = WoodManager.getFence(types.get(1), types.get(0), new FenceType(2, false, false), 4); + } else if (pattern.toString().contains(" 0 0 0000")) { + fence = WoodManager.getFence(types.get(0), types.get(0), new FenceType(2, false, false), 4); + } - cached = fence; - return fence != null; - } + cached = fence; + return fence != null; + } - @Override - public ItemStack getCraftingResult(InventoryCrafting inv) { - return getRecipeOutput(); - } + @Override + public ItemStack getCraftingResult(InventoryCrafting inv) { + return getRecipeOutput(); + } - @Override - public int getRecipeSize() { - return 3; - } + @Override + public int getRecipeSize() { + return 3; + } - @Override - public ItemStack getRecipeOutput() { - return (cached == null) ? new ItemStack(Blocks.fence) : cached; - } + @Override + public ItemStack getRecipeOutput() { + return (cached == null) ? new ItemStack(Blocks.fence) : cached; + } } diff --git a/src/main/java/binnie/extratrees/block/decor/MultiFenceRecipeSolid.java b/src/main/java/binnie/extratrees/block/decor/MultiFenceRecipeSolid.java index 81c4ebe8..481536fd 100644 --- a/src/main/java/binnie/extratrees/block/decor/MultiFenceRecipeSolid.java +++ b/src/main/java/binnie/extratrees/block/decor/MultiFenceRecipeSolid.java @@ -8,49 +8,48 @@ import net.minecraft.item.crafting.IRecipe; import net.minecraft.world.World; public class MultiFenceRecipeSolid implements IRecipe { - ItemStack cached; + ItemStack cached; - @Override - public boolean matches(InventoryCrafting inv, World world) { - FenceType type; - for (int row = 0; row < 3; ++row) { - ItemStack a = inv.getStackInSlot(row * 3); - ItemStack b = inv.getStackInSlot(row * 3 + 1); - ItemStack c = inv.getStackInSlot(row * 3 + 2); - if (a == null || b == null || c == null) { - continue; - } + @Override + public boolean matches(InventoryCrafting inv, World world) { + FenceType type; + for (int row = 0; row < 3; ++row) { + ItemStack a = inv.getStackInSlot(row * 3); + ItemStack b = inv.getStackInSlot(row * 3 + 1); + ItemStack c = inv.getStackInSlot(row * 3 + 2); + if (a == null || b == null || c == null) { + continue; + } - type = WoodManager.getFenceType(a); - FenceType type2 = WoodManager.getFenceType(b); - FenceType type3 = WoodManager.getFenceType(c); - if (type == null || type2 == null || type3 == null || !type.equals(type2) || !type.equals(type3)) { - continue; - } + type = WoodManager.getFenceType(a); + FenceType type2 = WoodManager.getFenceType(b); + FenceType type3 = WoodManager.getFenceType(c); + if (type == null || type2 == null || type3 == null || !type.equals(type2) || !type.equals(type3)) { + continue; + } - cached = WoodManager.getFence( - WoodManager.getFenceDescription(a).getPlankType(), - WoodManager.getFenceDescription(a).getSecondaryPlankType(), - new FenceType(type.size, true, type.solid), - 2 - ); - return true; - } - return false; - } + cached = WoodManager.getFence( + WoodManager.getFenceDescription(a).getPlankType(), + WoodManager.getFenceDescription(a).getSecondaryPlankType(), + new FenceType(type.size, true, type.solid), + 2); + return true; + } + return false; + } - @Override - public ItemStack getCraftingResult(InventoryCrafting inv) { - return getRecipeOutput(); - } + @Override + public ItemStack getCraftingResult(InventoryCrafting inv) { + return getRecipeOutput(); + } - @Override - public int getRecipeSize() { - return 3; - } + @Override + public int getRecipeSize() { + return 3; + } - @Override - public ItemStack getRecipeOutput() { - return (cached == null) ? new ItemStack(Blocks.fence) : cached; - } + @Override + public ItemStack getRecipeOutput() { + return (cached == null) ? new ItemStack(Blocks.fence) : cached; + } } diff --git a/src/main/java/binnie/extratrees/block/decor/NBTShapedRecipe.java b/src/main/java/binnie/extratrees/block/decor/NBTShapedRecipe.java index c4e1c4a9..16a54d52 100644 --- a/src/main/java/binnie/extratrees/block/decor/NBTShapedRecipe.java +++ b/src/main/java/binnie/extratrees/block/decor/NBTShapedRecipe.java @@ -1,5 +1,6 @@ package binnie.extratrees.block.decor; +import java.util.HashMap; import net.minecraft.block.Block; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.Item; @@ -8,142 +9,141 @@ import net.minecraft.item.crafting.IRecipe; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import java.util.HashMap; - public class NBTShapedRecipe implements IRecipe { - public int recipeWidth; - public int recipeHeight; - public ItemStack[] recipeItems; - private ItemStack recipeOutput; - private boolean field_92101_f; + public int recipeWidth; + public int recipeHeight; + public ItemStack[] recipeItems; + private ItemStack recipeOutput; + private boolean field_92101_f; + public NBTShapedRecipe(ItemStack stack, Object... p_92103_2_) { + String s = ""; + int i = 0; + int j = 0; + int k = 0; - public NBTShapedRecipe(ItemStack stack, Object... p_92103_2_) { - String s = ""; - int i = 0; - int j = 0; - int k = 0; + if (p_92103_2_[i] instanceof String[]) { + String[] astring = (String[]) p_92103_2_[i++]; + for (String s2 : astring) { + k++; + j = s2.length(); + s += s2; + } + } else { + while (p_92103_2_[i] instanceof String) { + String s3 = (String) p_92103_2_[i++]; + ++k; + j = s3.length(); + s += s3; + } + } - if (p_92103_2_[i] instanceof String[]) { - String[] astring = (String[]) p_92103_2_[i++]; - for (String s2 : astring) { - k++; - j = s2.length(); - s += s2; - } - } else { - while (p_92103_2_[i] instanceof String) { - String s3 = (String) p_92103_2_[i++]; - ++k; - j = s3.length(); - s += s3; - } - } + HashMap hashmap = new HashMap(); + while (i < p_92103_2_.length) { + Character character = (Character) p_92103_2_[i]; + ItemStack itemstack1 = null; + if (p_92103_2_[i + 1] instanceof Item) { + itemstack1 = new ItemStack((Item) p_92103_2_[i + 1]); + } else if (p_92103_2_[i + 1] instanceof Block) { + itemstack1 = new ItemStack((Block) p_92103_2_[i + 1], 1, 32767); + } else if (p_92103_2_[i + 1] instanceof ItemStack) { + itemstack1 = (ItemStack) p_92103_2_[i + 1]; + } - HashMap hashmap = new HashMap(); - while (i < p_92103_2_.length) { - Character character = (Character) p_92103_2_[i]; - ItemStack itemstack1 = null; - if (p_92103_2_[i + 1] instanceof Item) { - itemstack1 = new ItemStack((Item) p_92103_2_[i + 1]); - } else if (p_92103_2_[i + 1] instanceof Block) { - itemstack1 = new ItemStack((Block) p_92103_2_[i + 1], 1, 32767); - } else if (p_92103_2_[i + 1] instanceof ItemStack) { - itemstack1 = (ItemStack) p_92103_2_[i + 1]; - } + hashmap.put(character, itemstack1); + i += 2; + } - hashmap.put(character, itemstack1); - i += 2; - } + ItemStack[] aitemstack = new ItemStack[j * k]; + for (int i2 = 0; i2 < j * k; ++i2) { + char c0 = s.charAt(i2); + if (hashmap.containsKey(c0)) { + aitemstack[i2] = ((ItemStack) hashmap.get(c0)).copy(); + } else { + aitemstack[i2] = null; + } + } - ItemStack[] aitemstack = new ItemStack[j * k]; - for (int i2 = 0; i2 < j * k; ++i2) { - char c0 = s.charAt(i2); - if (hashmap.containsKey(c0)) { - aitemstack[i2] = ((ItemStack) hashmap.get(c0)).copy(); - } else { - aitemstack[i2] = null; - } - } + recipeWidth = j; + recipeHeight = k; + recipeItems = aitemstack; + recipeOutput = stack; + NBTShapedRecipes.addRecipe(this); + } - recipeWidth = j; - recipeHeight = k; - recipeItems = aitemstack; - recipeOutput = stack; - NBTShapedRecipes.addRecipe(this); - } + @Override + public ItemStack getRecipeOutput() { + return recipeOutput; + } - @Override - public ItemStack getRecipeOutput() { - return recipeOutput; - } + @Override + public boolean matches(InventoryCrafting p_77569_1_, World p_77569_2_) { + for (int i = 0; i <= 3 - recipeWidth; ++i) { + for (int j = 0; j <= 3 - recipeHeight; ++j) { + if (checkMatch(p_77569_1_, i, j, true)) { + return true; + } + if (checkMatch(p_77569_1_, i, j, false)) { + return true; + } + } + } + return false; + } - @Override - public boolean matches(InventoryCrafting p_77569_1_, World p_77569_2_) { - for (int i = 0; i <= 3 - recipeWidth; ++i) { - for (int j = 0; j <= 3 - recipeHeight; ++j) { - if (checkMatch(p_77569_1_, i, j, true)) { - return true; - } - if (checkMatch(p_77569_1_, i, j, false)) { - return true; - } - } - } - return false; - } + private boolean checkMatch(InventoryCrafting crafting, int p_77573_2_, int p_77573_3_, boolean p_77573_4_) { + for (int k = 0; k < 3; ++k) { + for (int l = 0; l < 3; ++l) { + int i1 = k - p_77573_2_; + int j1 = l - p_77573_3_; + ItemStack itemstack = null; + if (i1 >= 0 && j1 >= 0 && i1 < recipeWidth && j1 < recipeHeight) { + if (p_77573_4_) { + itemstack = recipeItems[recipeWidth - i1 - 1 + j1 * recipeWidth]; + } else { + itemstack = recipeItems[i1 + j1 * recipeWidth]; + } + } - private boolean checkMatch(InventoryCrafting crafting, int p_77573_2_, int p_77573_3_, boolean p_77573_4_) { - for (int k = 0; k < 3; ++k) { - for (int l = 0; l < 3; ++l) { - int i1 = k - p_77573_2_; - int j1 = l - p_77573_3_; - ItemStack itemstack = null; - if (i1 >= 0 && j1 >= 0 && i1 < recipeWidth && j1 < recipeHeight) { - if (p_77573_4_) { - itemstack = recipeItems[recipeWidth - i1 - 1 + j1 * recipeWidth]; - } else { - itemstack = recipeItems[i1 + j1 * recipeWidth]; - } - } + ItemStack itemstack2 = crafting.getStackInRowAndColumn(k, l); + if (itemstack2 != null || itemstack != null) { + if (itemstack2 == null || itemstack == null) { + return false; + } + if (itemstack.getItem() != itemstack2.getItem()) { + return false; + } + if (itemstack.getItemDamage() != 32767 && itemstack.getItemDamage() != itemstack2.getItemDamage()) { + return false; + } + if (itemstack.hasTagCompound() + && itemstack2.hasTagCompound() + && !ItemStack.areItemStackTagsEqual(itemstack, itemstack2)) { + return false; + } + } + } + } + return true; + } - ItemStack itemstack2 = crafting.getStackInRowAndColumn(k, l); - if (itemstack2 != null || itemstack != null) { - if (itemstack2 == null || itemstack == null) { - return false; - } - if (itemstack.getItem() != itemstack2.getItem()) { - return false; - } - if (itemstack.getItemDamage() != 32767 && itemstack.getItemDamage() != itemstack2.getItemDamage()) { - return false; - } - if (itemstack.hasTagCompound() && itemstack2.hasTagCompound() && !ItemStack.areItemStackTagsEqual(itemstack, itemstack2)) { - return false; - } - } - } - } - return true; - } + @Override + public ItemStack getCraftingResult(InventoryCrafting crafting) { + ItemStack itemstack = getRecipeOutput().copy(); + // todo unused code? + if (field_92101_f) { + for (int i = 0; i < crafting.getSizeInventory(); ++i) { + ItemStack itemstack2 = crafting.getStackInSlot(i); + if (itemstack2 != null && itemstack2.hasTagCompound()) { + itemstack.setTagCompound((NBTTagCompound) itemstack2.stackTagCompound.copy()); + } + } + } + return itemstack; + } - @Override - public ItemStack getCraftingResult(InventoryCrafting crafting) { - ItemStack itemstack = getRecipeOutput().copy(); - // todo unused code? - if (field_92101_f) { - for (int i = 0; i < crafting.getSizeInventory(); ++i) { - ItemStack itemstack2 = crafting.getStackInSlot(i); - if (itemstack2 != null && itemstack2.hasTagCompound()) { - itemstack.setTagCompound((NBTTagCompound) itemstack2.stackTagCompound.copy()); - } - } - } - return itemstack; - } - - @Override - public int getRecipeSize() { - return recipeWidth * recipeHeight; - } + @Override + public int getRecipeSize() { + return recipeWidth * recipeHeight; + } } diff --git a/src/main/java/binnie/extratrees/block/decor/NBTShapedRecipes.java b/src/main/java/binnie/extratrees/block/decor/NBTShapedRecipes.java index 6aabbe45..64bcc6ff 100644 --- a/src/main/java/binnie/extratrees/block/decor/NBTShapedRecipes.java +++ b/src/main/java/binnie/extratrees/block/decor/NBTShapedRecipes.java @@ -1,47 +1,46 @@ package binnie.extratrees.block.decor; +import java.util.ArrayList; +import java.util.List; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.world.World; -import java.util.ArrayList; -import java.util.List; - public class NBTShapedRecipes implements IRecipe { - static List recipes = new ArrayList<>(); + static List recipes = new ArrayList<>(); - public static void addRecipe(NBTShapedRecipe nbtShapedRecipe) { - NBTShapedRecipes.recipes.add(nbtShapedRecipe); - } + public static void addRecipe(NBTShapedRecipe nbtShapedRecipe) { + NBTShapedRecipes.recipes.add(nbtShapedRecipe); + } - @Override - public boolean matches(InventoryCrafting inventory, World world) { - for (NBTShapedRecipe recipe : NBTShapedRecipes.recipes) { - if (recipe.matches(inventory, world)) { - return true; - } - } - return false; - } + @Override + public boolean matches(InventoryCrafting inventory, World world) { + for (NBTShapedRecipe recipe : NBTShapedRecipes.recipes) { + if (recipe.matches(inventory, world)) { + return true; + } + } + return false; + } - @Override - public ItemStack getCraftingResult(InventoryCrafting inventory) { - for (NBTShapedRecipe recipe : NBTShapedRecipes.recipes) { - if (recipe.matches(inventory, null)) { - return recipe.getCraftingResult(inventory); - } - } - return null; - } + @Override + public ItemStack getCraftingResult(InventoryCrafting inventory) { + for (NBTShapedRecipe recipe : NBTShapedRecipes.recipes) { + if (recipe.matches(inventory, null)) { + return recipe.getCraftingResult(inventory); + } + } + return null; + } - @Override - public int getRecipeSize() { - return 9; - } + @Override + public int getRecipeSize() { + return 9; + } - @Override - public ItemStack getRecipeOutput() { - return null; - } + @Override + public ItemStack getRecipeOutput() { + return null; + } } diff --git a/src/main/java/binnie/extratrees/carpentry/BlockCarpentry.java b/src/main/java/binnie/extratrees/carpentry/BlockCarpentry.java index 69fa6c24..3d53ef6f 100644 --- a/src/main/java/binnie/extratrees/carpentry/BlockCarpentry.java +++ b/src/main/java/binnie/extratrees/carpentry/BlockCarpentry.java @@ -9,23 +9,24 @@ import net.minecraft.block.material.Material; import net.minecraft.item.ItemStack; public class BlockCarpentry extends BlockDesign { - public BlockCarpentry() { - super(DesignSystem.Wood, Material.wood); - setCreativeTab(Tabs.tabArboriculture); - setBlockName("carpentry"); - setResistance(5.0f); - setHardness(2.0f); - setStepSound(Block.soundTypeWood); - } + public BlockCarpentry() { + super(DesignSystem.Wood, Material.wood); + setCreativeTab(Tabs.tabArboriculture); + setBlockName("carpentry"); + setResistance(5.0f); + setHardness(2.0f); + setStepSound(Block.soundTypeWood); + } - @Override - public ItemStack getCreativeStack(IDesign design) { - return ModuleCarpentry.getItemStack(this, PlankType.ExtraTreePlanks.Apple, PlankType.VanillaPlanks.BIRCH, design); - } - - @Override - public String getBlockName(DesignBlock design) { - return I18N.localise("extratrees.block.woodentile.name", design.getDesign().getName()); - } + @Override + public ItemStack getCreativeStack(IDesign design) { + return ModuleCarpentry.getItemStack( + this, PlankType.ExtraTreePlanks.Apple, PlankType.VanillaPlanks.BIRCH, design); + } + @Override + public String getBlockName(DesignBlock design) { + return I18N.localise( + "extratrees.block.woodentile.name", design.getDesign().getName()); + } } diff --git a/src/main/java/binnie/extratrees/carpentry/BlockCarpentryPanel.java b/src/main/java/binnie/extratrees/carpentry/BlockCarpentryPanel.java index e948dfc1..02607d21 100644 --- a/src/main/java/binnie/extratrees/carpentry/BlockCarpentryPanel.java +++ b/src/main/java/binnie/extratrees/carpentry/BlockCarpentryPanel.java @@ -5,6 +5,7 @@ import binnie.core.block.TileEntityMetadata; import binnie.core.util.I18N; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @@ -14,140 +15,141 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.List; - public class BlockCarpentryPanel extends BlockCarpentry { - public BlockCarpentryPanel() { - useNeighborBrightness = true; - setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 0.0625f, 1.0f); - setLightOpacity(0); - } + public BlockCarpentryPanel() { + useNeighborBrightness = true; + setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 0.0625f, 1.0f); + setLightOpacity(0); + } - public static boolean isValidPanelPlacement(World world, int x, int y, int z, ForgeDirection facing) { - if (facing == ForgeDirection.UNKNOWN) { - return false; - } + public static boolean isValidPanelPlacement(World world, int x, int y, int z, ForgeDirection facing) { + if (facing == ForgeDirection.UNKNOWN) { + return false; + } - int bx = x - facing.offsetX; - int by = y - facing.offsetY; - int bz = z - facing.offsetZ; - Block block = world.getBlock(bx, by, bz); - return block != null && block.isSideSolid(world, bx, by, bz, facing); - } + int bx = x - facing.offsetX; + int by = y - facing.offsetY; + int bz = z - facing.offsetZ; + Block block = world.getBlock(bx, by, bz); + return block != null && block.isSideSolid(world, bx, by, bz, facing); + } - @Override - public void getSubBlocks(Item item, CreativeTabs tab, List list) { - // ignored - } + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + // ignored + } - @Override - public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) { - setBlockBoundsBasedOnState(world, x, y, z); - return super.getCollisionBoundingBoxFromPool(world, x, y, z); - } + @Override + public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z) { + setBlockBoundsBasedOnState(world, x, y, z); + return super.getCollisionBoundingBoxFromPool(world, x, y, z); + } - @Override - public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { - DesignBlock block = getCarpentryBlock(world, x, y, z); - switch (block.getFacing()) { - case DOWN: - setBlockBounds(0.0f, 0.9375f, 0.0f, 1.0f, 1.0f, 1.0f); - break; + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + DesignBlock block = getCarpentryBlock(world, x, y, z); + switch (block.getFacing()) { + case DOWN: + setBlockBounds(0.0f, 0.9375f, 0.0f, 1.0f, 1.0f, 1.0f); + break; - case EAST: - setBlockBounds(0.0f, 0.0f, 0.0f, 0.0625f, 1.0f, 1.0f); - break; + case EAST: + setBlockBounds(0.0f, 0.0f, 0.0f, 0.0625f, 1.0f, 1.0f); + break; - case NORTH: - setBlockBounds(0.0f, 0.0f, 0.9375f, 1.0f, 1.0f, 1.0f); - break; + case NORTH: + setBlockBounds(0.0f, 0.0f, 0.9375f, 1.0f, 1.0f, 1.0f); + break; - case SOUTH: - setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0625f); - break; + case SOUTH: + setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0625f); + break; - case UP: - setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 0.0625f, 1.0f); - break; + case UP: + setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 0.0625f, 1.0f); + break; - case WEST: - setBlockBounds(0.9375f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f); - break; - } - } + case WEST: + setBlockBounds(0.9375f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f); + break; + } + } - @Override - public void setBlockBoundsForItemRender() { - setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 0.0625f, 1.0f); - } + @Override + public void setBlockBoundsForItemRender() { + setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 0.0625f, 1.0f); + } - @Override - public String getBlockName(ItemStack stack) { - DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), TileEntityMetadata.getItemDamage(stack)); - return I18N.localise("extratrees.block.woodenpanel.name", block.getDesign().getName()); - } + @Override + public String getBlockName(ItemStack stack) { + DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), TileEntityMetadata.getItemDamage(stack)); + return I18N.localise( + "extratrees.block.woodenpanel.name", block.getDesign().getName()); + } - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - setBlockBoundsBasedOnState(par1World, par2, par3, par4); - return AxisAlignedBB.getBoundingBox(par2 + minX, par3 + minY, par4 + minZ, par2 + maxX, par3 + maxY, par4 + maxZ); - } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + setBlockBoundsBasedOnState(par1World, par2, par3, par4); + return AxisAlignedBB.getBoundingBox( + par2 + minX, par3 + minY, par4 + minZ, par2 + maxX, par3 + maxY, par4 + maxZ); + } - @Override - public boolean isOpaqueCube() { - return false; - } + @Override + public boolean isOpaqueCube() { + return false; + } - @Override - public boolean renderAsNormalBlock() { - return false; - } + @Override + public boolean renderAsNormalBlock() { + return false; + } - @Override - @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { - return super.shouldSideBeRendered(world, x, y, z, side); - } + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { + return super.shouldSideBeRendered(world, x, y, z, side); + } - @Override - public DesignBlock getCarpentryBlock(IBlockAccess world, int x, int y, int z) { - return ModuleCarpentry.getCarpentryPanel(getDesignSystem(), TileEntityMetadata.getTileMetadata(world, x, y, z)); - } + @Override + public DesignBlock getCarpentryBlock(IBlockAccess world, int x, int y, int z) { + return ModuleCarpentry.getCarpentryPanel(getDesignSystem(), TileEntityMetadata.getTileMetadata(world, x, y, z)); + } - @Override - public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection clickedBlock) { - DesignBlock block = ModuleCarpentry.getCarpentryPanel(getDesignSystem(), TileEntityMetadata.getItemDamage(itemStack)); - ForgeDirection facing = clickedBlock; - boolean valid = true; - if (!isValidPanelPlacement(world, x, y, z, facing)) { - valid = false; - for (ForgeDirection direction : ForgeDirection.values()) { - if (isValidPanelPlacement(world, x, y, z, direction)) { - facing = direction; - valid = true; - break; - } - } - } + @Override + public int getPlacedMeta(ItemStack itemStack, World world, int x, int y, int z, ForgeDirection clickedBlock) { + DesignBlock block = + ModuleCarpentry.getCarpentryPanel(getDesignSystem(), TileEntityMetadata.getItemDamage(itemStack)); + ForgeDirection facing = clickedBlock; + boolean valid = true; + if (!isValidPanelPlacement(world, x, y, z, facing)) { + valid = false; + for (ForgeDirection direction : ForgeDirection.values()) { + if (isValidPanelPlacement(world, x, y, z, direction)) { + facing = direction; + valid = true; + break; + } + } + } - if (!valid) { - return -1; - } - block.setFacing(facing); - return block.getBlockMetadata(getDesignSystem()); - } + if (!valid) { + return -1; + } + block.setFacing(facing); + return block.getBlockMetadata(getDesignSystem()); + } - @Override - public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { - super.onNeighborBlockChange(world, x, y, z, block); - DesignBlock carpentryBlock = getCarpentryBlock(world, x, y, z); - if (isValidPanelPlacement(world, x, y, z, carpentryBlock.getFacing())) { - return; - } + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + super.onNeighborBlockChange(world, x, y, z, block); + DesignBlock carpentryBlock = getCarpentryBlock(world, x, y, z); + if (isValidPanelPlacement(world, x, y, z, carpentryBlock.getFacing())) { + return; + } - for (ItemStack stack : BlockMetadata.getBlockDropped(this, world, x, y, z, 0)) { - dropBlockAsItem(world, x, y, z, stack); - } - world.setBlockToAir(x, y, z); - } + for (ItemStack stack : BlockMetadata.getBlockDropped(this, world, x, y, z, 0)) { + dropBlockAsItem(world, x, y, z, stack); + } + world.setBlockToAir(x, y, z); + } } diff --git a/src/main/java/binnie/extratrees/carpentry/BlockDesign.java b/src/main/java/binnie/extratrees/carpentry/BlockDesign.java index b187134f..dd754532 100644 --- a/src/main/java/binnie/extratrees/carpentry/BlockDesign.java +++ b/src/main/java/binnie/extratrees/carpentry/BlockDesign.java @@ -13,6 +13,7 @@ import binnie.extratrees.api.IToolHammer; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -25,145 +26,142 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import java.util.List; - public abstract class BlockDesign extends BlockMetadata implements IMultipassBlock { - public static ForgeDirection[] RENDER_DIRECTIONS = new ForgeDirection[]{ - ForgeDirection.DOWN, - ForgeDirection.UP, - ForgeDirection.EAST, - ForgeDirection.WEST, - ForgeDirection.NORTH, - ForgeDirection.SOUTH - }; + public static ForgeDirection[] RENDER_DIRECTIONS = new ForgeDirection[] { + ForgeDirection.DOWN, + ForgeDirection.UP, + ForgeDirection.EAST, + ForgeDirection.WEST, + ForgeDirection.NORTH, + ForgeDirection.SOUTH + }; - protected IDesignSystem designSystem; + protected IDesignSystem designSystem; - public BlockDesign(IDesignSystem system, Material material) { - super(material); - designSystem = system; - } + public BlockDesign(IDesignSystem system, Material material) { + super(material); + designSystem = system; + } - public static int getMetadata(int plank1, int plank2, int design) { - return plank1 + (plank2 << 9) + (design << 18); - } + public static int getMetadata(int plank1, int plank2, int design) { + return plank1 + (plank2 << 9) + (design << 18); + } - @SubscribeEvent - public void onClick(PlayerInteractEvent event) { - if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) { - return; - } + @SubscribeEvent + public void onClick(PlayerInteractEvent event) { + if (event.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) { + return; + } - World world = event.entityPlayer.worldObj; - EntityPlayer player = event.entityPlayer; - int x = event.x; - int y = event.y; - int z = event.z; - if (!(world.getBlock(x, y, z) instanceof BlockDesign)) { - return; - } + World world = event.entityPlayer.worldObj; + EntityPlayer player = event.entityPlayer; + int x = event.x; + int y = event.y; + int z = event.z; + if (!(world.getBlock(x, y, z) instanceof BlockDesign)) { + return; + } - BlockDesign blockC = (BlockDesign) world.getBlock(x, y, z); - ItemStack item = player.getHeldItem(); - if (item == null - || !(item.getItem() instanceof IToolHammer) - || !((IToolHammer) item.getItem()).isActive(item)) { - return; - } + BlockDesign blockC = (BlockDesign) world.getBlock(x, y, z); + ItemStack item = player.getHeldItem(); + if (item == null + || !(item.getItem() instanceof IToolHammer) + || !((IToolHammer) item.getItem()).isActive(item)) { + return; + } - DesignBlock block = blockC.getCarpentryBlock(world, x, y, z); - TileEntityMetadata tile = (TileEntityMetadata) world.getTileEntity(x, y, z); - block.rotate(event.face, item, player, world, x, y, z); - int meta = block.getBlockMetadata(blockC.getDesignSystem()); - tile.setTileMetadata(meta, true); - } + DesignBlock block = blockC.getCarpentryBlock(world, x, y, z); + TileEntityMetadata tile = (TileEntityMetadata) world.getTileEntity(x, y, z); + block.rotate(event.face, item, player, world, x, y, z); + int meta = block.getBlockMetadata(blockC.getDesignSystem()); + tile.setTileMetadata(meta, true); + } - public abstract ItemStack getCreativeStack(IDesign design); + public abstract ItemStack getCreativeStack(IDesign design); - @Override - public void getSubBlocks(Item item, CreativeTabs tab, List list) { - for (IDesign design : CarpentryManager.carpentryInterface.getSortedDesigns()) { - list.add(getCreativeStack(design)); - } - } + @Override + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (IDesign design : CarpentryManager.carpentryInterface.getSortedDesigns()) { + list.add(getCreativeStack(design)); + } + } - public IDesignSystem getDesignSystem() { - return designSystem; - } + public IDesignSystem getDesignSystem() { + return designSystem; + } - @Override - public int getRenderType() { - return BinnieCore.multipassRenderID; - } + @Override + public int getRenderType() { + return BinnieCore.multipassRenderID; + } - @Override - public String getBlockName(ItemStack stack) { - DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), TileEntityMetadata.getItemDamage(stack)); - return getBlockName(block); - } + @Override + public String getBlockName(ItemStack stack) { + DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), TileEntityMetadata.getItemDamage(stack)); + return getBlockName(block); + } - public abstract String getBlockName(DesignBlock design); - - public DesignBlock getCarpentryBlock(IBlockAccess world, int x, int y, int z) { - return ModuleCarpentry.getDesignBlock(getDesignSystem(), TileEntityMetadata.getTileMetadata(world, x, y, z)); - } + public abstract String getBlockName(DesignBlock design); - @Override - @SideOnly(Side.CLIENT) - public int colorMultiplier(IBlockAccess world, int x, int y, int z) { - DesignBlock block = getCarpentryBlock(world, x, y, z); - return (MultipassBlockRenderer.getLayer() > 0) ? block.getSecondaryColour() : block.getPrimaryColour(); - } + public DesignBlock getCarpentryBlock(IBlockAccess world, int x, int y, int z) { + return ModuleCarpentry.getDesignBlock(getDesignSystem(), TileEntityMetadata.getTileMetadata(world, x, y, z)); + } - @Override - public int colorMultiplier(int meta) { - DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), meta); - return (MultipassBlockRenderer.getLayer() > 0) ? block.getSecondaryColour() : block.getPrimaryColour(); - } + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + DesignBlock block = getCarpentryBlock(world, x, y, z); + return (MultipassBlockRenderer.getLayer() > 0) ? block.getSecondaryColour() : block.getPrimaryColour(); + } - @Override - public IIcon getIcon(int side, int damage) { - DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), damage); - if (MultipassBlockRenderer.getLayer() > 0) { - return block.getSecondaryIcon(getDesignSystem(), BlockDesign.RENDER_DIRECTIONS[side]); - } - return block.getPrimaryIcon(getDesignSystem(), BlockDesign.RENDER_DIRECTIONS[side]); - } + @Override + public int colorMultiplier(int meta) { + DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), meta); + return (MultipassBlockRenderer.getLayer() > 0) ? block.getSecondaryColour() : block.getPrimaryColour(); + } - @Override - public void addBlockTooltip(ItemStack stack, List tooltip) { - DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), TileEntityMetadata.getItemDamage(stack)); - if (block.getPrimaryMaterial() != block.getSecondaryMaterial()) { - tooltip.add(I18N.localise( - "extratrees.block.tooltip.twoMaterials", - block.getPrimaryMaterial().getName(), - block.getSecondaryMaterial().getName() - )); - } else { - tooltip.add(block.getPrimaryMaterial().getName()); - } - } + @Override + public IIcon getIcon(int side, int damage) { + DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), damage); + if (MultipassBlockRenderer.getLayer() > 0) { + return block.getSecondaryIcon(getDesignSystem(), BlockDesign.RENDER_DIRECTIONS[side]); + } + return block.getPrimaryIcon(getDesignSystem(), BlockDesign.RENDER_DIRECTIONS[side]); + } - public ItemStack getItemStack(int plank1, int plank2, int design) { - return TileEntityMetadata.getItemStack(this, getMetadata(plank1, plank2, design)); - } + @Override + public void addBlockTooltip(ItemStack stack, List tooltip) { + DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), TileEntityMetadata.getItemDamage(stack)); + if (block.getPrimaryMaterial() != block.getSecondaryMaterial()) { + tooltip.add(I18N.localise( + "extratrees.block.tooltip.twoMaterials", + block.getPrimaryMaterial().getName(), + block.getSecondaryMaterial().getName())); + } else { + tooltip.add(block.getPrimaryMaterial().getName()); + } + } - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - for (IDesignSystem system : DesignerManager.instance.getDesignSystems()) { - system.registerIcons(register); - } - } + public ItemStack getItemStack(int plank1, int plank2, int design) { + return TileEntityMetadata.getItemStack(this, getMetadata(plank1, plank2, design)); + } - @Override - public int getDroppedMeta(int blockMeta, int tileMeta) { - DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), tileMeta); - return block.getItemMetadata(getDesignSystem()); - } + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + for (IDesignSystem system : DesignerManager.instance.getDesignSystems()) { + system.registerIcons(register); + } + } - @Override - public int getNumberOfPasses() { - return 2; - } + @Override + public int getDroppedMeta(int blockMeta, int tileMeta) { + DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), tileMeta); + return block.getItemMetadata(getDesignSystem()); + } + + @Override + public int getNumberOfPasses() { + return 2; + } } diff --git a/src/main/java/binnie/extratrees/carpentry/BlockStainedDesign.java b/src/main/java/binnie/extratrees/carpentry/BlockStainedDesign.java index 3e30f3a4..3601f020 100644 --- a/src/main/java/binnie/extratrees/carpentry/BlockStainedDesign.java +++ b/src/main/java/binnie/extratrees/carpentry/BlockStainedDesign.java @@ -7,73 +7,71 @@ import binnie.extratrees.api.IDesign; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import java.util.List; +import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.item.ItemStack; import net.minecraft.world.IBlockAccess; -import java.util.List; -import java.util.Random; - public class BlockStainedDesign extends BlockDesign { - public BlockStainedDesign() { - super(DesignSystem.Glass, Material.glass); - setCreativeTab(Tabs.tabArboriculture); - setBlockName("stainedGlass"); - } + public BlockStainedDesign() { + super(DesignSystem.Glass, Material.glass); + setCreativeTab(Tabs.tabArboriculture); + setBlockName("stainedGlass"); + } - @Override - public int quantityDropped(Random p_149745_1_) { - return 0; - } + @Override + public int quantityDropped(Random p_149745_1_) { + return 0; + } - @Override - public boolean isOpaqueCube() { - return false; - } + @Override + public boolean isOpaqueCube() { + return false; + } - @Override - public boolean renderAsNormalBlock() { - return false; - } + @Override + public boolean renderAsNormalBlock() { + return false; + } - @Override - @SideOnly(Side.CLIENT) - public int getRenderBlockPass() { - return 1; - } + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 1; + } - @Override - @SideOnly(Side.CLIENT) - 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 block = world.getBlock(x, y, z); - return block != this - && block != Botany.stained - && super.shouldSideBeRendered(world, x, y, z, side); - } + @Override + @SideOnly(Side.CLIENT) + 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 block = world.getBlock(x, y, z); + return block != this && block != Botany.stained && super.shouldSideBeRendered(world, x, y, z, side); + } - @Override - public ItemStack getCreativeStack(IDesign design) { - return ModuleCarpentry.getItemStack(this, GlassType.get(0), GlassType.get(1), design); - } + @Override + public ItemStack getCreativeStack(IDesign design) { + return ModuleCarpentry.getItemStack(this, GlassType.get(0), GlassType.get(1), design); + } - @Override - public String getBlockName(DesignBlock design) { - return I18N.localise("extratrees.block.stainedglass.name", design.getDesign().getName()); - } + @Override + public String getBlockName(DesignBlock design) { + return I18N.localise( + "extratrees.block.stainedglass.name", design.getDesign().getName()); + } - @Override - public void addBlockTooltip(ItemStack stack, List tooltip) { - DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), TileEntityMetadata.getItemDamage(stack)); - if (block.getPrimaryMaterial() != block.getSecondaryMaterial()) { - tooltip.add(I18N.localise( - "extratrees.block.tooltip.twoColors", - block.getPrimaryMaterial().getName(), - block.getSecondaryMaterial().getName() - )); - } else { - tooltip.add(block.getPrimaryMaterial().getName()); - } - } + @Override + public void addBlockTooltip(ItemStack stack, List tooltip) { + DesignBlock block = ModuleCarpentry.getDesignBlock(getDesignSystem(), TileEntityMetadata.getItemDamage(stack)); + if (block.getPrimaryMaterial() != block.getSecondaryMaterial()) { + tooltip.add(I18N.localise( + "extratrees.block.tooltip.twoColors", + block.getPrimaryMaterial().getName(), + block.getSecondaryMaterial().getName())); + } else { + tooltip.add(block.getPrimaryMaterial().getName()); + } + } } diff --git a/src/main/java/binnie/extratrees/carpentry/CarpentryInterface.java b/src/main/java/binnie/extratrees/carpentry/CarpentryInterface.java index 9e83ae49..b01ad786 100644 --- a/src/main/java/binnie/extratrees/carpentry/CarpentryInterface.java +++ b/src/main/java/binnie/extratrees/carpentry/CarpentryInterface.java @@ -6,114 +6,111 @@ import binnie.extratrees.api.IDesignCategory; import binnie.extratrees.api.IDesignMaterial; import binnie.extratrees.api.ILayout; import binnie.extratrees.api.IPattern; -import net.minecraft.item.ItemStack; - import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import net.minecraft.item.ItemStack; public class CarpentryInterface implements ICarpentryInterface { - protected static Map woodMap = new LinkedHashMap<>(); - protected static Map designMap = new LinkedHashMap<>(); - protected static Map designCategories = new HashMap<>(); + protected static Map woodMap = new LinkedHashMap<>(); + protected static Map designMap = new LinkedHashMap<>(); + protected static Map designCategories = new HashMap<>(); - @Override - public boolean registerCarpentryWood(int index, IDesignMaterial wood) { - return wood != null - && CarpentryInterface.woodMap.put(index, wood) == null; - } + @Override + public boolean registerCarpentryWood(int index, IDesignMaterial wood) { + return wood != null && CarpentryInterface.woodMap.put(index, wood) == null; + } - @Override - public int getCarpentryWoodIndex(IDesignMaterial wood) { - for (Integer integer : CarpentryInterface.woodMap.keySet()) { - if (CarpentryInterface.woodMap.get(integer).equals(wood)) { - return integer; - } - } - return -1; - } + @Override + public int getCarpentryWoodIndex(IDesignMaterial wood) { + for (Integer integer : CarpentryInterface.woodMap.keySet()) { + if (CarpentryInterface.woodMap.get(integer).equals(wood)) { + return integer; + } + } + return -1; + } - @Override - public IDesignMaterial getWoodMaterial(int index) { - return CarpentryInterface.woodMap.get(index); - } + @Override + public IDesignMaterial getWoodMaterial(int index) { + return CarpentryInterface.woodMap.get(index); + } - @Override - public boolean registerDesign(int index, IDesign wood) { - return wood != null - && CarpentryInterface.designMap.put(index, wood) == null; - } + @Override + public boolean registerDesign(int index, IDesign wood) { + return wood != null && CarpentryInterface.designMap.put(index, wood) == null; + } - @Override - public int getDesignIndex(IDesign wood) { - for (Integer integer : CarpentryInterface.designMap.keySet()) { - if (CarpentryInterface.designMap.get(integer).equals(wood)) { - return integer; - } - } - return -1; - } + @Override + public int getDesignIndex(IDesign wood) { + for (Integer integer : CarpentryInterface.designMap.keySet()) { + if (CarpentryInterface.designMap.get(integer).equals(wood)) { + return integer; + } + } + return -1; + } - @Override - public IDesign getDesign(int index) { - return CarpentryInterface.designMap.get(index); - } + @Override + public IDesign getDesign(int index) { + return CarpentryInterface.designMap.get(index); + } - @Override - public ILayout getLayout(IPattern pattern, boolean inverted) { - return Layout.get(pattern, inverted); - } + @Override + public ILayout getLayout(IPattern pattern, boolean inverted) { + return Layout.get(pattern, inverted); + } - @Override - public boolean registerDesignCategory(IDesignCategory category) { - return category != null - && category.getId() != null - && CarpentryInterface.designCategories.put(category.getId(), category) == null; - } + @Override + public boolean registerDesignCategory(IDesignCategory category) { + return category != null + && category.getId() != null + && CarpentryInterface.designCategories.put(category.getId(), category) == null; + } - @Override - public IDesignCategory getDesignCategory(String id) { - return CarpentryInterface.designCategories.get(id); - } + @Override + public IDesignCategory getDesignCategory(String id) { + return CarpentryInterface.designCategories.get(id); + } - @Override - public Collection getAllDesignCategories() { - List categories = new ArrayList<>(); - for (IDesignCategory category : CarpentryInterface.designCategories.values()) { - if (category.getDesigns().size() > 0) { - categories.add(category); - } - } - return categories; - } + @Override + public Collection getAllDesignCategories() { + List categories = new ArrayList<>(); + for (IDesignCategory category : CarpentryInterface.designCategories.values()) { + if (category.getDesigns().size() > 0) { + categories.add(category); + } + } + return categories; + } - @Override - public List getSortedDesigns() { - List designs = new ArrayList<>(); - for (IDesignCategory category : getAllDesignCategories()) { - designs.addAll(category.getDesigns()); - } - return designs; - } + @Override + public List getSortedDesigns() { + List designs = new ArrayList<>(); + for (IDesignCategory category : getAllDesignCategories()) { + designs.addAll(category.getDesigns()); + } + return designs; + } - @Override - public IDesignMaterial getWoodMaterial(ItemStack stack) { - if (stack == null) { - return null; - } + @Override + public IDesignMaterial getWoodMaterial(ItemStack stack) { + if (stack == null) { + return null; + } - for (Map.Entry entry : CarpentryInterface.woodMap.entrySet()) { - ItemStack key = entry.getValue().getStack(); - if (key == null) { - continue; - } - if (key.isItemEqual(stack)) { - return entry.getValue(); - } - } - return null; - } + for (Map.Entry entry : CarpentryInterface.woodMap.entrySet()) { + ItemStack key = entry.getValue().getStack(); + if (key == null) { + continue; + } + if (key.isItemEqual(stack)) { + return entry.getValue(); + } + } + return null; + } } diff --git a/src/main/java/binnie/extratrees/carpentry/DesignBlock.java b/src/main/java/binnie/extratrees/carpentry/DesignBlock.java index 1bbf1d5d..ab4cdfb4 100644 --- a/src/main/java/binnie/extratrees/carpentry/DesignBlock.java +++ b/src/main/java/binnie/extratrees/carpentry/DesignBlock.java @@ -13,376 +13,386 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class DesignBlock { - protected IDesign design; - protected IDesignMaterial primaryMaterial; - protected IDesignMaterial secondaryMaterial; - protected int rotation; - protected ForgeDirection facing; - protected boolean panel; + protected IDesign design; + protected IDesignMaterial primaryMaterial; + protected IDesignMaterial secondaryMaterial; + protected int rotation; + protected ForgeDirection facing; + protected boolean panel; - DesignBlock(IDesignSystem system, IDesignMaterial primaryWood, IDesignMaterial secondaryWood, IDesign design, int rotation, ForgeDirection dir) { - this.rotation = 0; - this.design = design; - this.rotation = rotation; - facing = ForgeDirection.UP; - panel = false; - primaryMaterial = primaryWood; - secondaryMaterial = secondaryWood; - facing = dir; + DesignBlock( + IDesignSystem system, + IDesignMaterial primaryWood, + IDesignMaterial secondaryWood, + IDesign design, + int rotation, + ForgeDirection dir) { + this.rotation = 0; + this.design = design; + this.rotation = rotation; + facing = ForgeDirection.UP; + panel = false; + primaryMaterial = primaryWood; + secondaryMaterial = secondaryWood; + facing = dir; - if (design == null) { - this.design = EnumDesign.Blank; - } - if (primaryWood == null) { - primaryMaterial = system.getDefaultMaterial(); - } - if (secondaryWood == null) { - secondaryMaterial = system.getDefaultMaterial(); - } - if (rotation > 3 || rotation < 0) { - this.rotation = 0; - } - if (facing == null || facing == ForgeDirection.UNKNOWN) { - facing = ForgeDirection.UP; - } - } + if (design == null) { + this.design = EnumDesign.Blank; + } + if (primaryWood == null) { + primaryMaterial = system.getDefaultMaterial(); + } + if (secondaryWood == null) { + secondaryMaterial = system.getDefaultMaterial(); + } + if (rotation > 3 || rotation < 0) { + this.rotation = 0; + } + if (facing == null || facing == ForgeDirection.UNKNOWN) { + facing = ForgeDirection.UP; + } + } - @Override - public String toString() { - return super.toString() + " { design:" + design + " }, { primary:" + primaryMaterial + " }, { secondary:" + secondaryMaterial + " }, { rotation:" + rotation + " }, { facing:" + facing + " }"; - } + @Override + public String toString() { + return super.toString() + " { design:" + design + " }, { primary:" + primaryMaterial + " }, { secondary:" + + secondaryMaterial + " }, { rotation:" + rotation + " }, { facing:" + facing + " }"; + } - public IDesign getDesign() { - return design; - } + public IDesign getDesign() { + return design; + } - public IDesignMaterial getPrimaryMaterial() { - return primaryMaterial; - } + public IDesignMaterial getPrimaryMaterial() { + return primaryMaterial; + } - public IDesignMaterial getSecondaryMaterial() { - return secondaryMaterial; - } + public IDesignMaterial getSecondaryMaterial() { + return secondaryMaterial; + } - public int getPrimaryColour() { - return getPrimaryMaterial().getColor(); - } + public int getPrimaryColour() { + return getPrimaryMaterial().getColor(); + } - public int getSecondaryColour() { - return getSecondaryMaterial().getColor(); - } + public int getSecondaryColour() { + return getSecondaryMaterial().getColor(); + } - public ILayout getLayout(ForgeDirection dir) { - ForgeDirection adjustedDir; - dir = (adjustedDir = dir.getRotation(ForgeDirection.DOWN)); - switch (getFacing()) { - case DOWN: - adjustedDir = adjustedDir.getRotation(ForgeDirection.EAST); - adjustedDir = adjustedDir.getRotation(ForgeDirection.EAST); - break; + public ILayout getLayout(ForgeDirection dir) { + ForgeDirection adjustedDir; + dir = (adjustedDir = dir.getRotation(ForgeDirection.DOWN)); + switch (getFacing()) { + case DOWN: + adjustedDir = adjustedDir.getRotation(ForgeDirection.EAST); + adjustedDir = adjustedDir.getRotation(ForgeDirection.EAST); + break; - case EAST: - adjustedDir = adjustedDir.getRotation(ForgeDirection.EAST); - adjustedDir = adjustedDir.getRotation(ForgeDirection.NORTH); - break; + case EAST: + adjustedDir = adjustedDir.getRotation(ForgeDirection.EAST); + adjustedDir = adjustedDir.getRotation(ForgeDirection.NORTH); + break; - case NORTH: - adjustedDir = adjustedDir.getRotation(ForgeDirection.EAST); - adjustedDir = adjustedDir.getRotation(ForgeDirection.SOUTH); - adjustedDir = adjustedDir.getRotation(ForgeDirection.SOUTH); - break; + case NORTH: + adjustedDir = adjustedDir.getRotation(ForgeDirection.EAST); + adjustedDir = adjustedDir.getRotation(ForgeDirection.SOUTH); + adjustedDir = adjustedDir.getRotation(ForgeDirection.SOUTH); + break; - case SOUTH: - adjustedDir = adjustedDir.getRotation(ForgeDirection.EAST); - break; + case SOUTH: + adjustedDir = adjustedDir.getRotation(ForgeDirection.EAST); + break; - case WEST: - adjustedDir = adjustedDir.getRotation(ForgeDirection.EAST); - adjustedDir = adjustedDir.getRotation(ForgeDirection.SOUTH); - break; - } + case WEST: + adjustedDir = adjustedDir.getRotation(ForgeDirection.EAST); + adjustedDir = adjustedDir.getRotation(ForgeDirection.SOUTH); + break; + } - for (int i = 0; i < rotation; ++i) { - adjustedDir = adjustedDir.getRotation(ForgeDirection.DOWN); - } + for (int i = 0; i < rotation; ++i) { + adjustedDir = adjustedDir.getRotation(ForgeDirection.DOWN); + } - ILayout layout; - switch (adjustedDir) { - case EAST: - layout = getDesign().getEastPattern(); - break; + ILayout layout; + switch (adjustedDir) { + case EAST: + layout = getDesign().getEastPattern(); + break; - case NORTH: - layout = getDesign().getNorthPattern(); - break; + case NORTH: + layout = getDesign().getNorthPattern(); + break; - case SOUTH: - layout = getDesign().getSouthPattern(); - break; + case SOUTH: + layout = getDesign().getSouthPattern(); + break; - case WEST: - layout = getDesign().getWestPattern(); - break; + case WEST: + layout = getDesign().getWestPattern(); + break; - case DOWN: - layout = getDesign().getBottomPattern(); - break; + case DOWN: + layout = getDesign().getBottomPattern(); + break; - default: - layout = getDesign().getTopPattern(); - } + default: + layout = getDesign().getTopPattern(); + } - // TODO remove label - Label_1107: - { - switch (getFacing()) { - case UP: - if (dir == ForgeDirection.DOWN || dir == ForgeDirection.UP) { - for (int j = 0; j < rotation; ++j) { - layout = layout.rotateRight(); - } - break; - } - break; + // TODO remove label + Label_1107: + { + switch (getFacing()) { + case UP: + if (dir == ForgeDirection.DOWN || dir == ForgeDirection.UP) { + for (int j = 0; j < rotation; ++j) { + layout = layout.rotateRight(); + } + break; + } + break; - case DOWN: - switch (dir) { - case UP: - case DOWN: { - layout = layout.flipVertical(); - break; - } - case EAST: - case NORTH: - case SOUTH: - case WEST: { - layout = layout.rotateRight().rotateRight(); - break; - } - } - if (dir == ForgeDirection.DOWN || dir == ForgeDirection.UP) { - for (int j = 0; j < rotation; ++j) { - layout = layout.rotateLeft(); - } - break; - } - break; + case DOWN: + switch (dir) { + case UP: + case DOWN: { + layout = layout.flipVertical(); + break; + } + case EAST: + case NORTH: + case SOUTH: + case WEST: { + layout = layout.rotateRight().rotateRight(); + break; + } + } + if (dir == ForgeDirection.DOWN || dir == ForgeDirection.UP) { + for (int j = 0; j < rotation; ++j) { + layout = layout.rotateLeft(); + } + break; + } + break; - case EAST: - switch (dir) { - case SOUTH: - case UP: { - layout = layout.rotateRight(); - break; - } - case NORTH: { - layout = layout.rotateLeft(); - break; - } - case DOWN: { - layout = layout.rotateLeft().flipHorizontal(); - break; - } - case WEST: { - layout = layout.flipHorizontal(); - break; - } - } - if (dir == ForgeDirection.EAST) { - for (int j = 0; j < rotation; ++j) { - layout = layout.rotateRight(); - } - } - if (dir == ForgeDirection.WEST) { - for (int j = 0; j < rotation; ++j) { - layout = layout.rotateLeft(); - } - break; - } - break; + case EAST: + switch (dir) { + case SOUTH: + case UP: { + layout = layout.rotateRight(); + break; + } + case NORTH: { + layout = layout.rotateLeft(); + break; + } + case DOWN: { + layout = layout.rotateLeft().flipHorizontal(); + break; + } + case WEST: { + layout = layout.flipHorizontal(); + break; + } + } + if (dir == ForgeDirection.EAST) { + for (int j = 0; j < rotation; ++j) { + layout = layout.rotateRight(); + } + } + if (dir == ForgeDirection.WEST) { + for (int j = 0; j < rotation; ++j) { + layout = layout.rotateLeft(); + } + break; + } + break; - case WEST: - switch (dir) { - case NORTH: - layout = layout.rotateRight(); - break; + case WEST: + switch (dir) { + case NORTH: + layout = layout.rotateRight(); + break; - case SOUTH: - case UP: - layout = layout.rotateLeft(); - break; + case SOUTH: + case UP: + layout = layout.rotateLeft(); + break; - case DOWN: - layout = layout.rotateLeft().flipVertical(); - break; + case DOWN: + layout = layout.rotateLeft().flipVertical(); + break; - case EAST: - layout = layout.flipHorizontal(); - for (int j = 0; j < rotation; ++j) { - layout = layout.rotateLeft(); - } - break; + case EAST: + layout = layout.flipHorizontal(); + for (int j = 0; j < rotation; ++j) { + layout = layout.rotateLeft(); + } + break; - case WEST: - for (int j = 0; j < rotation; ++j) { - layout = layout.rotateRight(); - } - break; - } - break; + case WEST: + for (int j = 0; j < rotation; ++j) { + layout = layout.rotateRight(); + } + break; + } + break; - case NORTH: - switch (dir) { - case WEST: - layout = layout.rotateLeft(); - break Label_1107; + case NORTH: + switch (dir) { + case WEST: + layout = layout.rotateLeft(); + break Label_1107; - case EAST: - layout = layout.rotateRight(); - break Label_1107; + case EAST: + layout = layout.rotateRight(); + break Label_1107; - case DOWN: - layout = layout.flipHorizontal(); - break Label_1107; + case DOWN: + layout = layout.flipHorizontal(); + break Label_1107; - case SOUTH: - layout = layout.flipHorizontal(); - for (int j = 0; j < rotation; ++j) { - layout = layout.rotateLeft(); - } - break Label_1107; + case SOUTH: + layout = layout.flipHorizontal(); + for (int j = 0; j < rotation; ++j) { + layout = layout.rotateLeft(); + } + break Label_1107; - case NORTH: - for (int j = 0; j < rotation; ++j) { - layout = layout.rotateRight(); - } - break Label_1107; + case NORTH: + for (int j = 0; j < rotation; ++j) { + layout = layout.rotateRight(); + } + break Label_1107; - default: - break Label_1107; - } + default: + break Label_1107; + } - case SOUTH: - switch (dir) { - case EAST: - layout = layout.rotateLeft(); - break Label_1107; + case SOUTH: + switch (dir) { + case EAST: + layout = layout.rotateLeft(); + break Label_1107; - case WEST: - layout = layout.rotateRight(); - break Label_1107; + case WEST: + layout = layout.rotateRight(); + break Label_1107; - case UP: - layout = layout.rotateRight().rotateRight(); - break Label_1107; + case UP: + layout = layout.rotateRight().rotateRight(); + break Label_1107; - case DOWN: - layout = layout.flipVertical(); - break Label_1107; + case DOWN: + layout = layout.flipVertical(); + break Label_1107; - case NORTH: - layout = layout.flipHorizontal(); - for (int j = 0; j < rotation; ++j) { - layout = layout.rotateLeft(); - } - break Label_1107; + case NORTH: + layout = layout.flipHorizontal(); + for (int j = 0; j < rotation; ++j) { + layout = layout.rotateLeft(); + } + break Label_1107; - case SOUTH: - for (int j = 0; j < rotation; ++j) { - layout = layout.rotateRight(); - } - break Label_1107; + case SOUTH: + for (int j = 0; j < rotation; ++j) { + layout = layout.rotateRight(); + } + break Label_1107; - default: - break Label_1107; - } - } - } - return layout; - } + default: + break Label_1107; + } + } + } + return layout; + } - public IIcon getPrimaryIcon(IDesignSystem system, ForgeDirection dir) { - ILayout layout = getLayout(dir); - return (layout == null) ? null : layout.getPrimaryIcon(system); - } + public IIcon getPrimaryIcon(IDesignSystem system, ForgeDirection dir) { + ILayout layout = getLayout(dir); + return (layout == null) ? null : layout.getPrimaryIcon(system); + } - public IIcon getSecondaryIcon(IDesignSystem system, ForgeDirection dir) { - ILayout layout = getLayout(dir); - return (layout == null) ? null : layout.getSecondaryIcon(system); - } + public IIcon getSecondaryIcon(IDesignSystem system, ForgeDirection dir) { + ILayout layout = getLayout(dir); + return (layout == null) ? null : layout.getSecondaryIcon(system); + } - public IIcon getIcon(IDesignSystem system, boolean secondary, ForgeDirection dir) { - return secondary - ? getSecondaryIcon(system, dir) - : getPrimaryIcon(system, dir); - } + public IIcon getIcon(IDesignSystem system, boolean secondary, ForgeDirection dir) { + return secondary ? getSecondaryIcon(system, dir) : getPrimaryIcon(system, dir); + } - public ForgeDirection getFacing() { - return facing; - } + public ForgeDirection getFacing() { + return facing; + } - public void setFacing(ForgeDirection facing) { - this.facing = facing; - } + public void setFacing(ForgeDirection facing) { + this.facing = facing; + } - public int getRotation() { - return rotation; - } + public int getRotation() { + return rotation; + } - public void rotate(int face, ItemStack hammer, EntityPlayer player, World world, int x, int y, int z) { - ForgeDirection dir = ForgeDirection.getOrientation(face); - IToolHammer hammerI = (IToolHammer) hammer.getItem(); - if (player.isSneaking()) { - if (panel) { - ForgeDirection newFacing = getFacing(); - do { - newFacing = ForgeDirection.getOrientation(newFacing.ordinal() + 1); - if (newFacing == ForgeDirection.UNKNOWN) { - newFacing = ForgeDirection.DOWN; - } - } while (newFacing != getFacing() && !BlockCarpentryPanel.isValidPanelPlacement(world, x, y, z, newFacing)); + public void rotate(int face, ItemStack hammer, EntityPlayer player, World world, int x, int y, int z) { + ForgeDirection dir = ForgeDirection.getOrientation(face); + IToolHammer hammerI = (IToolHammer) hammer.getItem(); + if (player.isSneaking()) { + if (panel) { + ForgeDirection newFacing = getFacing(); + do { + newFacing = ForgeDirection.getOrientation(newFacing.ordinal() + 1); + if (newFacing == ForgeDirection.UNKNOWN) { + newFacing = ForgeDirection.DOWN; + } + } while (newFacing != getFacing() + && !BlockCarpentryPanel.isValidPanelPlacement(world, x, y, z, newFacing)); - if (newFacing != getFacing()) { - hammerI.onHammerUsed(hammer, player); - } - setFacing(newFacing); - } else { - if (dir != getFacing()) { - hammerI.onHammerUsed(hammer, player); - } - setFacing(dir); - } - } else { - rotation++; - hammerI.onHammerUsed(hammer, player); - } + if (newFacing != getFacing()) { + hammerI.onHammerUsed(hammer, player); + } + setFacing(newFacing); + } else { + if (dir != getFacing()) { + hammerI.onHammerUsed(hammer, player); + } + setFacing(dir); + } + } else { + rotation++; + hammerI.onHammerUsed(hammer, player); + } - if (rotation > 3) { - rotation = 0; - } else if (rotation < 0) { - rotation = 3; - } - } + if (rotation > 3) { + rotation = 0; + } else if (rotation < 0) { + rotation = 3; + } + } - public int getBlockMetadata(IDesignSystem system) { - return ModuleCarpentry.getBlockMetadata(system, this); - } + public int getBlockMetadata(IDesignSystem system) { + return ModuleCarpentry.getBlockMetadata(system, this); + } - public int getItemMetadata(IDesignSystem system) { - return ModuleCarpentry.getItemMetadata(system, this); - } + public int getItemMetadata(IDesignSystem system) { + return ModuleCarpentry.getItemMetadata(system, this); + } - public void setPanel() { - panel = true; - } + public void setPanel() { + panel = true; + } - public String getString() { - String type; - if (getPrimaryMaterial() != getSecondaryMaterial()) { - type = I18N.localise("extratrees.block.tooltip.twoMaterials", getPrimaryMaterial().getName(), getSecondaryMaterial().getName()); - } else { - type = getPrimaryMaterial().getName(); - } - return super.toString() + " " + "{" + type + " " + getDesign().getName() + " " + (panel ? "Panel" : "Tile") + ", Facing:" + getFacing().toString() + ", Rotation:" + getRotation() + "}"; - } + public String getString() { + String type; + if (getPrimaryMaterial() != getSecondaryMaterial()) { + type = I18N.localise( + "extratrees.block.tooltip.twoMaterials", + getPrimaryMaterial().getName(), + getSecondaryMaterial().getName()); + } else { + type = getPrimaryMaterial().getName(); + } + return super.toString() + " " + "{" + type + " " + getDesign().getName() + " " + (panel ? "Panel" : "Tile") + + ", Facing:" + getFacing().toString() + ", Rotation:" + getRotation() + "}"; + } } diff --git a/src/main/java/binnie/extratrees/carpentry/DesignSystem.java b/src/main/java/binnie/extratrees/carpentry/DesignSystem.java index ddc092d5..b86a51e0 100644 --- a/src/main/java/binnie/extratrees/carpentry/DesignSystem.java +++ b/src/main/java/binnie/extratrees/carpentry/DesignSystem.java @@ -9,134 +9,143 @@ import binnie.extratrees.api.IDesignSystem; import binnie.extratrees.api.IPattern; import binnie.extratrees.block.PlankType; import binnie.extratrees.item.ExtraTreeItems; +import java.util.HashMap; +import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import java.util.HashMap; -import java.util.Map; - public enum DesignSystem implements IDesignSystem { - Wood, - Glass; + Wood, + Glass; - protected Map primary; - protected Map secondary; + protected Map primary; + protected Map secondary; - DesignSystem() { - primary = new HashMap<>(); - secondary = new HashMap<>(); - DesignerManager.instance.registerDesignSystem(this); - } + DesignSystem() { + primary = new HashMap<>(); + secondary = new HashMap<>(); + DesignerManager.instance.registerDesignSystem(this); + } - @Override - public IDesignMaterial getDefaultMaterial() { - switch (this) { - case Glass: - return GlassType.get(0); + @Override + public IDesignMaterial getDefaultMaterial() { + switch (this) { + case Glass: + return GlassType.get(0); - case Wood: - return PlankType.ExtraTreePlanks.Fir; - } - return null; - } + case Wood: + return PlankType.ExtraTreePlanks.Fir; + } + return null; + } - @Override - public IDesignMaterial getDefaultMaterial2() { - switch (this) { - case Glass: - return GlassType.get(1); + @Override + public IDesignMaterial getDefaultMaterial2() { + switch (this) { + case Glass: + return GlassType.get(1); - case Wood: - return PlankType.ExtraTreePlanks.Whitebeam; - } - return null; - } + case Wood: + return PlankType.ExtraTreePlanks.Whitebeam; + } + return null; + } - @Override - public IDesignMaterial getMaterial(int id) { - switch (this) { - case Glass: - return GlassType.get(id); + @Override + public IDesignMaterial getMaterial(int id) { + switch (this) { + case Glass: + return GlassType.get(id); - case Wood: - return CarpentryManager.carpentryInterface.getWoodMaterial(id); - } - return null; - } + case Wood: + return CarpentryManager.carpentryInterface.getWoodMaterial(id); + } + return null; + } - @Override - public int getMaterialIndex(IDesignMaterial id) { - switch (this) { - case Glass: - return GlassType.getIndex(id); + @Override + public int getMaterialIndex(IDesignMaterial id) { + switch (this) { + case Glass: + return GlassType.getIndex(id); - case Wood: - return CarpentryManager.carpentryInterface.getCarpentryWoodIndex(id); - } - return 0; - } + case Wood: + return CarpentryManager.carpentryInterface.getCarpentryWoodIndex(id); + } + return 0; + } - public String getTexturePath() { - switch (this) { - case Glass: - return "glass"; + public String getTexturePath() { + switch (this) { + case Glass: + return "glass"; - case Wood: - return "patterns"; - } - return ""; - } + case Wood: + return "patterns"; + } + return ""; + } - @Override - public IDesignMaterial getMaterial(ItemStack stack) { - switch (this) { - case Glass: - return GlassType.get(stack); + @Override + public IDesignMaterial getMaterial(ItemStack stack) { + switch (this) { + case Glass: + return GlassType.get(stack); - case Wood: - return CarpentryManager.carpentryInterface.getWoodMaterial(stack); - } - return null; - } + case Wood: + return CarpentryManager.carpentryInterface.getWoodMaterial(stack); + } + return null; + } - @Override - public ItemStack getAdhesive() { - switch (this) { - case Glass: - return ExtraTreeItems.GlassFitting.get(1); + @Override + public ItemStack getAdhesive() { + switch (this) { + case Glass: + return ExtraTreeItems.GlassFitting.get(1); - case Wood: - return ExtraTreeItems.WoodWax.get(1); - } - return null; - } + case Wood: + return ExtraTreeItems.WoodWax.get(1); + } + return null; + } - @Override - public IIcon getPrimaryIcon(IPattern pattern) { - if (pattern instanceof EnumPattern) { - return primary.get(((EnumPattern) pattern).ordinal()); - } - return null; - } + @Override + public IIcon getPrimaryIcon(IPattern pattern) { + if (pattern instanceof EnumPattern) { + return primary.get(((EnumPattern) pattern).ordinal()); + } + return null; + } - @Override - public IIcon getSecondaryIcon(IPattern pattern) { - if (pattern instanceof EnumPattern) { - return secondary.get(((EnumPattern) pattern).ordinal()); - } - return null; - } + @Override + public IIcon getSecondaryIcon(IPattern pattern) { + if (pattern instanceof EnumPattern) { + return secondary.get(((EnumPattern) pattern).ordinal()); + } + return null; + } - @Override - 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")); - } - } + @Override + 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")); + } + } - public AbstractMod getMod() { - return ExtraTrees.instance; - } + public AbstractMod getMod() { + return ExtraTrees.instance; + } } diff --git a/src/main/java/binnie/extratrees/carpentry/DesignerManager.java b/src/main/java/binnie/extratrees/carpentry/DesignerManager.java index 365e3e94..ca792d4c 100644 --- a/src/main/java/binnie/extratrees/carpentry/DesignerManager.java +++ b/src/main/java/binnie/extratrees/carpentry/DesignerManager.java @@ -1,25 +1,24 @@ package binnie.extratrees.carpentry; import binnie.extratrees.api.IDesignSystem; - import java.util.ArrayList; import java.util.Collection; import java.util.List; public class DesignerManager { - public static DesignerManager instance = new DesignerManager(); + public static DesignerManager instance = new DesignerManager(); - List systems; + List systems; - public DesignerManager() { - systems = new ArrayList<>(); - } + public DesignerManager() { + systems = new ArrayList<>(); + } - public void registerDesignSystem(IDesignSystem system) { - systems.add(system); - } + public void registerDesignSystem(IDesignSystem system) { + systems.add(system); + } - public Collection getDesignSystems() { - return systems; - } + public Collection getDesignSystems() { + return systems; + } } diff --git a/src/main/java/binnie/extratrees/carpentry/EnumDesign.java b/src/main/java/binnie/extratrees/carpentry/EnumDesign.java index f47b2d18..cbe7c098 100644 --- a/src/main/java/binnie/extratrees/carpentry/EnumDesign.java +++ b/src/main/java/binnie/extratrees/carpentry/EnumDesign.java @@ -5,471 +5,504 @@ import binnie.extratrees.api.IDesign; import binnie.extratrees.api.ILayout; public enum EnumDesign implements IDesign { - Blank("blank"), - Octagon("octagon"), - Diamond("diamond"), - Ringed("ringed"), - Squared("squared"), - Multiply("multiply"), - Halved("halved"), - Striped("striped"), - ThinStriped("thinStriped"), - Chequered("fullChequered"), - Tiled("fullTiled"), - ChequeredB("chequered"), - TiledB("tiled"), - VeryThinCorner("veryThinCornered"), - ThinCorner("thinCornered"), - Corner("cornered"), - ThickCorner("thickCornered"), - Edged("edged"), - ThinEdged("thinEdged"), - ThinBarred("thinBarred"), - Barred("barred"), - ThickBarred("thickBarred"), - Diagonal("diagonal"), - ThickDiagonal("thickDiagonal"), - ThinSaltire("thinSaltire"), - Saltire("saltire"), - ThickSaltire("thickSaltire"), - ThinCrossed("thinCrossed"), - Crossed("crossed"), - ThickCrossed("thickCrossed"), - ThinTSection("thinTSection"), - TSection("tSection"), - ThickTSection("thickTSection"), - ThinBarredCorner("thinBarredCorner"), - BarredCorner("barredCorner"), - ThickBarredCorner("thickBarredCorner"), - ThinStripedCorner("thinStripedCorner"), - StripedCorner("stripedCorner"), - Emblem1("emblem1"), - Emblem2("emblem2"), - Emblem3("emblem3"), - Emblem4("emblem4"), - Emblem5("emblem5"), - LetterA("letterA"), - LetterB("letterB"), - LetterC("letterC"), - LetterD("letterD"), - LetterE("letterE"), - LetterF("letterF"), - LetterG("letterG"), - LetterH("letterH"), - LetterI("letterI"), - LetterJ("letterJ"), - LetterK("letterK"), - LetterL("letterL"), - LetterM("letterM"), - LetterN("letterN"), - LetterO("letterO"), - LetterP("letterP"), - LetterQ("letterQ"), - LetterR("letterR"), - LetterS("letterS"), - LetterT("letterT"), - LetterU("letterU"), - LetterV("letterV"), - LetterW("letterW"), - LetterX("letterX"), - LetterY("letterY"), - LetterZ("letterZ"), - ThinCurvedCrossed("thinCurvedCrossed"), - ThinCurvedBarredCorner("thinCurvedBarredCorner"), - CurvedBarredCorner("curvedBarredCorner"), - ThinCurvedCorner("thinCurvedCorner"), - CurvedCorner("curvedCorner"), - ThinCurvedTSection("thinCurvedTSection"), - CurvedTSection("curvedTSection"), - BarredEnd("barredEnd"), - DiagonalCorner("diagonalCorner"), - DiagonalTSection("diagonalTSection"), - DiagonalCurvedCorner("diagonalCurvedCorner"), - DiagonalCurvedTSection("diagonalCurvedTSection"), - OrnateBarred("ornateBarred"), - SplitBarred("splitBarred"), - SplitBarredCorner("splitBarredCorner"), - SplitBarredTSection("splitBarredTSection"), - SplitCrossed("splitCrossed"), - SplitBarredEnd("splitBarredEnd"), - OrnateThinBarred("ornateThinBarred"), - Circle("circle"), - Plus("plus"), - Creeper("creeper"), - OrnateStripedCorner("ornateStripedCorner"), - Test("testingBlock"), - DiagonalHalved("diagonalHalved"), - Diagonal1Edged("corneredDiagonal"), - Diagonal2Edged("oppositeCorneredDiagonal"), - ThickDiagonal1Edged("thickCorneredDiagonal"), - ThinBarredEnd("thinBarredEnd"), - ThickBarredEnd("thickBarredEnd"), - OverlappedBarred("overlappedBarred"), - OverlappedSplitBarred("overlappedSplitBarred"); + Blank("blank"), + Octagon("octagon"), + Diamond("diamond"), + Ringed("ringed"), + Squared("squared"), + Multiply("multiply"), + Halved("halved"), + Striped("striped"), + ThinStriped("thinStriped"), + Chequered("fullChequered"), + Tiled("fullTiled"), + ChequeredB("chequered"), + TiledB("tiled"), + VeryThinCorner("veryThinCornered"), + ThinCorner("thinCornered"), + Corner("cornered"), + ThickCorner("thickCornered"), + Edged("edged"), + ThinEdged("thinEdged"), + ThinBarred("thinBarred"), + Barred("barred"), + ThickBarred("thickBarred"), + Diagonal("diagonal"), + ThickDiagonal("thickDiagonal"), + ThinSaltire("thinSaltire"), + Saltire("saltire"), + ThickSaltire("thickSaltire"), + ThinCrossed("thinCrossed"), + Crossed("crossed"), + ThickCrossed("thickCrossed"), + ThinTSection("thinTSection"), + TSection("tSection"), + ThickTSection("thickTSection"), + ThinBarredCorner("thinBarredCorner"), + BarredCorner("barredCorner"), + ThickBarredCorner("thickBarredCorner"), + ThinStripedCorner("thinStripedCorner"), + StripedCorner("stripedCorner"), + Emblem1("emblem1"), + Emblem2("emblem2"), + Emblem3("emblem3"), + Emblem4("emblem4"), + Emblem5("emblem5"), + LetterA("letterA"), + LetterB("letterB"), + LetterC("letterC"), + LetterD("letterD"), + LetterE("letterE"), + LetterF("letterF"), + LetterG("letterG"), + LetterH("letterH"), + LetterI("letterI"), + LetterJ("letterJ"), + LetterK("letterK"), + LetterL("letterL"), + LetterM("letterM"), + LetterN("letterN"), + LetterO("letterO"), + LetterP("letterP"), + LetterQ("letterQ"), + LetterR("letterR"), + LetterS("letterS"), + LetterT("letterT"), + LetterU("letterU"), + LetterV("letterV"), + LetterW("letterW"), + LetterX("letterX"), + LetterY("letterY"), + LetterZ("letterZ"), + ThinCurvedCrossed("thinCurvedCrossed"), + ThinCurvedBarredCorner("thinCurvedBarredCorner"), + CurvedBarredCorner("curvedBarredCorner"), + ThinCurvedCorner("thinCurvedCorner"), + CurvedCorner("curvedCorner"), + ThinCurvedTSection("thinCurvedTSection"), + CurvedTSection("curvedTSection"), + BarredEnd("barredEnd"), + DiagonalCorner("diagonalCorner"), + DiagonalTSection("diagonalTSection"), + DiagonalCurvedCorner("diagonalCurvedCorner"), + DiagonalCurvedTSection("diagonalCurvedTSection"), + OrnateBarred("ornateBarred"), + SplitBarred("splitBarred"), + SplitBarredCorner("splitBarredCorner"), + SplitBarredTSection("splitBarredTSection"), + SplitCrossed("splitCrossed"), + SplitBarredEnd("splitBarredEnd"), + OrnateThinBarred("ornateThinBarred"), + Circle("circle"), + Plus("plus"), + Creeper("creeper"), + OrnateStripedCorner("ornateStripedCorner"), + Test("testingBlock"), + DiagonalHalved("diagonalHalved"), + Diagonal1Edged("corneredDiagonal"), + Diagonal2Edged("oppositeCorneredDiagonal"), + ThickDiagonal1Edged("thickCorneredDiagonal"), + ThinBarredEnd("thinBarredEnd"), + ThickBarredEnd("thickBarredEnd"), + OverlappedBarred("overlappedBarred"), + OverlappedSplitBarred("overlappedSplitBarred"); - static { - EnumDesignCategory.Design.addDesign(EnumDesign.Blank); - EnumDesignCategory.Design.addDesign(EnumDesign.Octagon); - EnumDesignCategory.Design.addDesign(EnumDesign.Diamond); - EnumDesignCategory.Design.addDesign(EnumDesign.Ringed); - EnumDesignCategory.Design.addDesign(EnumDesign.Squared); - EnumDesignCategory.Design.addDesign(EnumDesign.Multiply); - EnumDesignCategory.Design.addDesign(EnumDesign.Plus); - EnumDesignCategory.Design.addDesign(EnumDesign.Circle); - EnumDesignCategory.Design.addDesign(EnumDesign.Emblem1); - EnumDesignCategory.Design.addDesign(EnumDesign.Emblem2); - EnumDesignCategory.Design.addDesign(EnumDesign.Emblem3); - EnumDesignCategory.Design.addDesign(EnumDesign.Emblem4); - EnumDesignCategory.Design.addDesign(EnumDesign.Emblem5); - EnumDesignCategory.Design.addDesign(EnumDesign.Creeper); - EnumDesignCategory.Stripes.addDesign(EnumDesign.Chequered); - EnumDesignCategory.Stripes.addDesign(EnumDesign.ChequeredB); - EnumDesignCategory.Stripes.addDesign(EnumDesign.Tiled); - EnumDesignCategory.Stripes.addDesign(EnumDesign.TiledB); - EnumDesignCategory.Stripes.addDesign(EnumDesign.Striped); - EnumDesignCategory.Stripes.addDesign(EnumDesign.ThinStriped); - EnumDesignCategory.Stripes.addDesign(EnumDesign.ThinStripedCorner); - EnumDesignCategory.Stripes.addDesign(EnumDesign.StripedCorner); - EnumDesignCategory.Stripes.addDesign(EnumDesign.OrnateStripedCorner); - EnumDesignCategory.Edges.addDesign(EnumDesign.Halved); - EnumDesignCategory.Edges.addDesign(EnumDesign.Corner); - EnumDesignCategory.Edges.addDesign(EnumDesign.ThickCorner); - EnumDesignCategory.Edges.addDesign(EnumDesign.Edged); - EnumDesignCategory.Edges.addDesign(EnumDesign.ThinCorner); - EnumDesignCategory.Edges.addDesign(EnumDesign.ThinEdged); - EnumDesignCategory.Edges.addDesign(EnumDesign.VeryThinCorner); - EnumDesignCategory.Edges.addDesign(EnumDesign.ThinCurvedCorner); - EnumDesignCategory.Edges.addDesign(EnumDesign.CurvedCorner); - EnumDesignCategory.Barred.addDesign(EnumDesign.ThinBarred); - EnumDesignCategory.Barred.addDesign(EnumDesign.ThinBarredCorner); - EnumDesignCategory.Barred.addDesign(EnumDesign.ThinTSection); - EnumDesignCategory.Barred.addDesign(EnumDesign.ThinCrossed); - EnumDesignCategory.Barred.addDesign(EnumDesign.ThinBarredEnd); - EnumDesignCategory.Barred.addDesign(EnumDesign.OrnateThinBarred); - EnumDesignCategory.Barred.addDesign(EnumDesign.Barred); - EnumDesignCategory.Barred.addDesign(EnumDesign.BarredCorner); - EnumDesignCategory.Barred.addDesign(EnumDesign.TSection); - EnumDesignCategory.Barred.addDesign(EnumDesign.Crossed); - EnumDesignCategory.Barred.addDesign(EnumDesign.BarredEnd); - EnumDesignCategory.Barred.addDesign(EnumDesign.OverlappedBarred); - EnumDesignCategory.Barred.addDesign(EnumDesign.OrnateBarred); - EnumDesignCategory.Barred.addDesign(EnumDesign.ThickBarred); - EnumDesignCategory.Barred.addDesign(EnumDesign.ThickBarredCorner); - EnumDesignCategory.Barred.addDesign(EnumDesign.ThickTSection); - EnumDesignCategory.Barred.addDesign(EnumDesign.ThickCrossed); - EnumDesignCategory.Barred.addDesign(EnumDesign.ThickBarredEnd); - EnumDesignCategory.Barred.addDesign(EnumDesign.ThinCurvedBarredCorner); - EnumDesignCategory.Barred.addDesign(EnumDesign.CurvedBarredCorner); - EnumDesignCategory.Barred.addDesign(EnumDesign.ThinCurvedTSection); - EnumDesignCategory.Barred.addDesign(EnumDesign.CurvedTSection); - EnumDesignCategory.Barred.addDesign(EnumDesign.ThinCurvedCrossed); - EnumDesignCategory.Barred.addDesign(EnumDesign.SplitBarred); - EnumDesignCategory.Barred.addDesign(EnumDesign.SplitBarredCorner); - EnumDesignCategory.Barred.addDesign(EnumDesign.SplitBarredTSection); - EnumDesignCategory.Barred.addDesign(EnumDesign.SplitCrossed); - EnumDesignCategory.Barred.addDesign(EnumDesign.SplitBarredEnd); - EnumDesignCategory.Barred.addDesign(EnumDesign.OverlappedSplitBarred); - EnumDesignCategory.Diagonal.addDesign(EnumDesign.ThinSaltire); - EnumDesignCategory.Diagonal.addDesign(EnumDesign.Diagonal); - EnumDesignCategory.Diagonal.addDesign(EnumDesign.DiagonalCorner); - EnumDesignCategory.Diagonal.addDesign(EnumDesign.DiagonalTSection); - EnumDesignCategory.Diagonal.addDesign(EnumDesign.DiagonalCurvedCorner); - EnumDesignCategory.Diagonal.addDesign(EnumDesign.DiagonalCurvedTSection); - EnumDesignCategory.Diagonal.addDesign(EnumDesign.Saltire); - EnumDesignCategory.Diagonal.addDesign(EnumDesign.ThickDiagonal); - EnumDesignCategory.Diagonal.addDesign(EnumDesign.ThickSaltire); - EnumDesignCategory.Diagonal.addDesign(EnumDesign.DiagonalHalved); - EnumDesignCategory.Diagonal.addDesign(EnumDesign.Diagonal1Edged); - EnumDesignCategory.Diagonal.addDesign(EnumDesign.Diagonal2Edged); - EnumDesignCategory.Diagonal.addDesign(EnumDesign.ThickDiagonal1Edged); - EnumDesign.Octagon.setAllPatterns(EnumPattern.Octagon.layout()); - EnumDesign.Diamond.setAllPatterns(EnumPattern.Diamond.layout()); - EnumDesign.Ringed.setAllPatterns(EnumPattern.Ringed.layout()); - EnumDesign.Squared.setAllPatterns(EnumPattern.Squared.layout()); - EnumDesign.Multiply.setAllPatterns(EnumPattern.Multiply.layout()); - EnumDesign.ThinStriped.setupStriped(EnumPattern.ThinStriped.layout()); - EnumDesign.Striped.setupStriped(EnumPattern.Striped.layout()); - EnumDesign.Halved.setupStriped(EnumPattern.Halved.layout()); - EnumDesign.Chequered.setChequered(EnumPattern.Chequered.layout()); - EnumDesign.Tiled.setChequered(EnumPattern.Tiled.layout()); - EnumDesign.ChequeredB.setStripedChequered(EnumPattern.Chequered.layout(), EnumPattern.Halved.layout()); - EnumDesign.TiledB.setStripedChequered(EnumPattern.Tiled.layout(), EnumPattern.Striped.layout()); - EnumDesign.VeryThinCorner.setCornered(EnumPattern.VeryThinCorner.layout(), EnumPattern.ThinEdged.layout()); - EnumDesign.ThinCorner.setCornered(EnumPattern.ThinCorner.layout(), EnumPattern.Edged.layout()); - EnumDesign.Corner.setCornered(EnumPattern.Corner.layout(), EnumPattern.Halved.layout()); - EnumDesign.ThickCorner.setCornered(EnumPattern.ThickCorner.layout(), EnumPattern.Edged.layout(true).flipHorizontal()); - EnumDesign.ThinCurvedCorner.setCornered(EnumPattern.ThinCurvedCorner.layout(), EnumPattern.Edged.layout()); - EnumDesign.CurvedCorner.setCornered(EnumPattern.CurvedCorner.layout(), EnumPattern.Halved.layout()); - EnumDesign.Edged.setEdged(EnumPattern.Edged.layout()); - EnumDesign.ThinEdged.setEdged(EnumPattern.ThinEdged.layout()); - EnumDesign.ThinBarred.setBarred(EnumPattern.ThinBarred.layout()); - EnumDesign.Barred.setBarred(EnumPattern.Barred.layout()); - EnumDesign.ThickBarred.setBarred(EnumPattern.ThickBarred.layout()); - EnumDesign.Diagonal.setDiagonal(EnumPattern.Diagonal.layout(), EnumPattern.Edged.layout()); - EnumDesign.ThickDiagonal.setDiagonal(EnumPattern.ThickDiagonal.layout(), EnumPattern.Halved.layout()); - EnumDesign.ThinSaltire.setSaltire(EnumPattern.ThinSaltire.layout(), EnumPattern.ThickBarred.layout()); - EnumDesign.Saltire.setSaltire(EnumPattern.Saltire.layout(), EnumPattern.Barred.layout()); - EnumDesign.ThickSaltire.setSaltire(EnumPattern.ThickSaltire.layout(), EnumPattern.ThinBarred.layout()); - EnumDesign.ThinCrossed.setCross(EnumPattern.ThinCrossed.layout(), EnumPattern.ThinBarred.layout()); - EnumDesign.Crossed.setCross(EnumPattern.Crossed.layout(), EnumPattern.Barred.layout()); - EnumDesign.ThickCrossed.setCross(EnumPattern.ThickCrossed.layout(), EnumPattern.ThickBarred.layout()); - EnumDesign.ThinCurvedCrossed.setCross(EnumPattern.ThinCurvedCrossed.layout(), EnumPattern.ThinBarred.layout()); - EnumDesign.ThinTSection.setTSection(EnumPattern.ThinTSection.layout(), EnumPattern.ThinBarred.layout()); - EnumDesign.TSection.setTSection(EnumPattern.TSection.layout(), EnumPattern.Barred.layout()); - EnumDesign.ThickTSection.setTSection(EnumPattern.ThickTSection.layout(), EnumPattern.ThickBarred.layout()); - EnumDesign.ThinCurvedTSection.setTSection(EnumPattern.ThinCurvedTSection.layout(), EnumPattern.ThinBarred.layout()); - EnumDesign.CurvedTSection.setTSection(EnumPattern.CurvedTSection.layout(), EnumPattern.Barred.layout()); - EnumDesign.ThinBarredCorner.setBarredCorner(EnumPattern.ThinBarredCorner.layout(), EnumPattern.ThinBarred.layout()); - EnumDesign.BarredCorner.setBarredCorner(EnumPattern.BarredCorner.layout(), EnumPattern.Barred.layout()); - EnumDesign.ThickBarredCorner.setBarredCorner(EnumPattern.ThickBarredCorner.layout(), EnumPattern.ThickBarred.layout()); - EnumDesign.ThinCurvedBarredCorner.setBarredCorner(EnumPattern.ThinCurvedBarredCorner.layout(), EnumPattern.ThinBarred.layout()); - EnumDesign.CurvedBarredCorner.setBarredCorner(EnumPattern.BarredCurvedCorner.layout(), EnumPattern.Barred.layout()); - EnumDesign.ThinStripedCorner.setStripedCorner(EnumPattern.ThinStripedCorner.layout(), EnumPattern.ThinStriped.layout()); - EnumDesign.StripedCorner.setStripedCorner(EnumPattern.StripedCorner.layout(), EnumPattern.Striped.layout()); - EnumDesign.OrnateStripedCorner.setStripedCorner(EnumPattern.OrnateStripedCorner.layout(), EnumPattern.ThinStriped.layout()); - EnumDesign.Emblem1.setAllPatterns(EnumPattern.Emblem1.layout()); - EnumDesign.Emblem2.setAllPatterns(EnumPattern.Emblem2.layout()); - EnumDesign.Emblem3.setAllPatterns(EnumPattern.Emblem3.layout()); - EnumDesign.Emblem4.setAllPatterns(EnumPattern.Emblem4.layout()); - EnumDesign.Emblem5.setAllPatterns(EnumPattern.Emblem5.layout()); - EnumDesign.LetterA.setLetterPattern(EnumPattern.LetterA.layout()); - EnumDesign.LetterB.setLetterPattern(EnumPattern.LetterB.layout()); - EnumDesign.LetterF.setLetterPattern(EnumPattern.LetterF.layout()); - EnumDesign.LetterS.setLetterPattern(EnumPattern.LetterS.layout()); - EnumDesign.LetterT.setLetterPattern(EnumPattern.LetterT.layout()); - EnumDesign.BarredEnd.setBarredEndPattern(EnumPattern.BarredEnd.layout(), EnumPattern.Barred.layout()); - EnumDesign.DiagonalCorner.setDiagonalCorner(EnumPattern.DiagonalCorner.layout(), EnumPattern.Barred.layout(), EnumPattern.Edged.layout()); - EnumDesign.DiagonalTSection.setDiagonalTSection(EnumPattern.DiagonalTSection.layout(), EnumPattern.Barred.layout(), EnumPattern.Edged.layout()); - EnumDesign.DiagonalCurvedCorner.setDiagonalCorner(EnumPattern.DiagonalCurvedCorner.layout(), EnumPattern.Barred.layout(), EnumPattern.Edged.layout()); - EnumDesign.DiagonalCurvedTSection.setDiagonalTSection(EnumPattern.DiagonalCurvedTSection.layout(), EnumPattern.Barred.layout(), EnumPattern.Edged.layout()); - EnumDesign.OrnateBarred.setBarred(EnumPattern.OrnateBarred.layout()); - EnumDesign.OrnateThinBarred.setBarred(EnumPattern.OrnateThinBarred.layout()); - EnumDesign.SplitBarred.setBarred(EnumPattern.SplitBarred.layout()); - EnumDesign.SplitBarredCorner.setBarredCorner(EnumPattern.SplitBarredCorner.layout(), EnumPattern.SplitBarred.layout()); - EnumDesign.SplitBarredTSection.setTSection(EnumPattern.SplitBarredTSection.layout(), EnumPattern.SplitBarred.layout()); - EnumDesign.SplitCrossed.setCross(EnumPattern.SplitCrossed.layout(), EnumPattern.SplitBarred.layout()); - EnumDesign.SplitBarredEnd.setBarredEndPattern(EnumPattern.SplitBarredEnd.layout(), EnumPattern.SplitBarred.layout()); - EnumDesign.Circle.setAllPatterns(EnumPattern.Circle.layout()); - EnumDesign.Plus.setAllPatterns(EnumPattern.Plus.layout()); - EnumDesign.Creeper.setAllPatterns(EnumPattern.Blank.layout(true)); - EnumDesign.Creeper.setTopPattern(EnumPattern.Creeper.layout()); - EnumDesign.DiagonalHalved.setTopPattern(EnumPattern.DiagonalHalved.layout()); - EnumDesign.DiagonalHalved.setEdgePatterns(EnumPattern.Blank.layout(), EnumPattern.Blank.layout(true), EnumPattern.Blank.layout(true), EnumPattern.Blank.layout()); - EnumDesign.Diagonal1Edged.setTopPattern(EnumPattern.Diagonal1Edged.layout()); - EnumDesign.Diagonal1Edged.setEdgePatterns(EnumPattern.Edged.layout().flipHorizontal(), EnumPattern.Blank.layout(true), EnumPattern.Blank.layout(true), EnumPattern.Edged.layout()); - EnumDesign.Diagonal2Edged.setTopPattern(EnumPattern.Diagonal2Edged.layout()); - EnumDesign.Diagonal2Edged.setEdgePatterns(EnumPattern.Edged.layout(), EnumPattern.Edged.layout().flipHorizontal(), EnumPattern.Edged.layout(), EnumPattern.Edged.layout().flipHorizontal()); - EnumDesign.ThickDiagonal1Edged.setTopPattern(EnumPattern.ThickDiagonal1Edged.layout()); - EnumDesign.ThickDiagonal1Edged.setEdgePatterns(EnumPattern.Halved.layout().flipHorizontal(), EnumPattern.Blank.layout(true), EnumPattern.Blank.layout(true), EnumPattern.Halved.layout()); - EnumDesign.ThickBarredEnd.setBarredEndPattern(EnumPattern.ThickBarredEnd.layout(), EnumPattern.ThickBarred.layout()); - EnumDesign.ThinBarredEnd.setBarredEndPattern(EnumPattern.ThinBarredEnd.layout(), EnumPattern.ThinBarred.layout()); - EnumDesign.OverlappedSplitBarred.setAllPatterns(EnumPattern.SplitBarred.layout()); - EnumDesign.OverlappedSplitBarred.setTopPattern(EnumPattern.OverlappedSplitBarred.layout()); - EnumDesign.OverlappedBarred.setAllPatterns(EnumPattern.Barred.layout()); - EnumDesign.OverlappedBarred.setTopPattern(EnumPattern.OverlappedBarred.layout()); - } + static { + EnumDesignCategory.Design.addDesign(EnumDesign.Blank); + EnumDesignCategory.Design.addDesign(EnumDesign.Octagon); + EnumDesignCategory.Design.addDesign(EnumDesign.Diamond); + EnumDesignCategory.Design.addDesign(EnumDesign.Ringed); + EnumDesignCategory.Design.addDesign(EnumDesign.Squared); + EnumDesignCategory.Design.addDesign(EnumDesign.Multiply); + EnumDesignCategory.Design.addDesign(EnumDesign.Plus); + EnumDesignCategory.Design.addDesign(EnumDesign.Circle); + EnumDesignCategory.Design.addDesign(EnumDesign.Emblem1); + EnumDesignCategory.Design.addDesign(EnumDesign.Emblem2); + EnumDesignCategory.Design.addDesign(EnumDesign.Emblem3); + EnumDesignCategory.Design.addDesign(EnumDesign.Emblem4); + EnumDesignCategory.Design.addDesign(EnumDesign.Emblem5); + EnumDesignCategory.Design.addDesign(EnumDesign.Creeper); + EnumDesignCategory.Stripes.addDesign(EnumDesign.Chequered); + EnumDesignCategory.Stripes.addDesign(EnumDesign.ChequeredB); + EnumDesignCategory.Stripes.addDesign(EnumDesign.Tiled); + EnumDesignCategory.Stripes.addDesign(EnumDesign.TiledB); + EnumDesignCategory.Stripes.addDesign(EnumDesign.Striped); + EnumDesignCategory.Stripes.addDesign(EnumDesign.ThinStriped); + EnumDesignCategory.Stripes.addDesign(EnumDesign.ThinStripedCorner); + EnumDesignCategory.Stripes.addDesign(EnumDesign.StripedCorner); + EnumDesignCategory.Stripes.addDesign(EnumDesign.OrnateStripedCorner); + EnumDesignCategory.Edges.addDesign(EnumDesign.Halved); + EnumDesignCategory.Edges.addDesign(EnumDesign.Corner); + EnumDesignCategory.Edges.addDesign(EnumDesign.ThickCorner); + EnumDesignCategory.Edges.addDesign(EnumDesign.Edged); + EnumDesignCategory.Edges.addDesign(EnumDesign.ThinCorner); + EnumDesignCategory.Edges.addDesign(EnumDesign.ThinEdged); + EnumDesignCategory.Edges.addDesign(EnumDesign.VeryThinCorner); + EnumDesignCategory.Edges.addDesign(EnumDesign.ThinCurvedCorner); + EnumDesignCategory.Edges.addDesign(EnumDesign.CurvedCorner); + EnumDesignCategory.Barred.addDesign(EnumDesign.ThinBarred); + EnumDesignCategory.Barred.addDesign(EnumDesign.ThinBarredCorner); + EnumDesignCategory.Barred.addDesign(EnumDesign.ThinTSection); + EnumDesignCategory.Barred.addDesign(EnumDesign.ThinCrossed); + EnumDesignCategory.Barred.addDesign(EnumDesign.ThinBarredEnd); + EnumDesignCategory.Barred.addDesign(EnumDesign.OrnateThinBarred); + EnumDesignCategory.Barred.addDesign(EnumDesign.Barred); + EnumDesignCategory.Barred.addDesign(EnumDesign.BarredCorner); + EnumDesignCategory.Barred.addDesign(EnumDesign.TSection); + EnumDesignCategory.Barred.addDesign(EnumDesign.Crossed); + EnumDesignCategory.Barred.addDesign(EnumDesign.BarredEnd); + EnumDesignCategory.Barred.addDesign(EnumDesign.OverlappedBarred); + EnumDesignCategory.Barred.addDesign(EnumDesign.OrnateBarred); + EnumDesignCategory.Barred.addDesign(EnumDesign.ThickBarred); + EnumDesignCategory.Barred.addDesign(EnumDesign.ThickBarredCorner); + EnumDesignCategory.Barred.addDesign(EnumDesign.ThickTSection); + EnumDesignCategory.Barred.addDesign(EnumDesign.ThickCrossed); + EnumDesignCategory.Barred.addDesign(EnumDesign.ThickBarredEnd); + EnumDesignCategory.Barred.addDesign(EnumDesign.ThinCurvedBarredCorner); + EnumDesignCategory.Barred.addDesign(EnumDesign.CurvedBarredCorner); + EnumDesignCategory.Barred.addDesign(EnumDesign.ThinCurvedTSection); + EnumDesignCategory.Barred.addDesign(EnumDesign.CurvedTSection); + EnumDesignCategory.Barred.addDesign(EnumDesign.ThinCurvedCrossed); + EnumDesignCategory.Barred.addDesign(EnumDesign.SplitBarred); + EnumDesignCategory.Barred.addDesign(EnumDesign.SplitBarredCorner); + EnumDesignCategory.Barred.addDesign(EnumDesign.SplitBarredTSection); + EnumDesignCategory.Barred.addDesign(EnumDesign.SplitCrossed); + EnumDesignCategory.Barred.addDesign(EnumDesign.SplitBarredEnd); + EnumDesignCategory.Barred.addDesign(EnumDesign.OverlappedSplitBarred); + EnumDesignCategory.Diagonal.addDesign(EnumDesign.ThinSaltire); + EnumDesignCategory.Diagonal.addDesign(EnumDesign.Diagonal); + EnumDesignCategory.Diagonal.addDesign(EnumDesign.DiagonalCorner); + EnumDesignCategory.Diagonal.addDesign(EnumDesign.DiagonalTSection); + EnumDesignCategory.Diagonal.addDesign(EnumDesign.DiagonalCurvedCorner); + EnumDesignCategory.Diagonal.addDesign(EnumDesign.DiagonalCurvedTSection); + EnumDesignCategory.Diagonal.addDesign(EnumDesign.Saltire); + EnumDesignCategory.Diagonal.addDesign(EnumDesign.ThickDiagonal); + EnumDesignCategory.Diagonal.addDesign(EnumDesign.ThickSaltire); + EnumDesignCategory.Diagonal.addDesign(EnumDesign.DiagonalHalved); + EnumDesignCategory.Diagonal.addDesign(EnumDesign.Diagonal1Edged); + EnumDesignCategory.Diagonal.addDesign(EnumDesign.Diagonal2Edged); + EnumDesignCategory.Diagonal.addDesign(EnumDesign.ThickDiagonal1Edged); + EnumDesign.Octagon.setAllPatterns(EnumPattern.Octagon.layout()); + EnumDesign.Diamond.setAllPatterns(EnumPattern.Diamond.layout()); + EnumDesign.Ringed.setAllPatterns(EnumPattern.Ringed.layout()); + EnumDesign.Squared.setAllPatterns(EnumPattern.Squared.layout()); + EnumDesign.Multiply.setAllPatterns(EnumPattern.Multiply.layout()); + EnumDesign.ThinStriped.setupStriped(EnumPattern.ThinStriped.layout()); + EnumDesign.Striped.setupStriped(EnumPattern.Striped.layout()); + EnumDesign.Halved.setupStriped(EnumPattern.Halved.layout()); + EnumDesign.Chequered.setChequered(EnumPattern.Chequered.layout()); + EnumDesign.Tiled.setChequered(EnumPattern.Tiled.layout()); + EnumDesign.ChequeredB.setStripedChequered(EnumPattern.Chequered.layout(), EnumPattern.Halved.layout()); + EnumDesign.TiledB.setStripedChequered(EnumPattern.Tiled.layout(), EnumPattern.Striped.layout()); + EnumDesign.VeryThinCorner.setCornered(EnumPattern.VeryThinCorner.layout(), EnumPattern.ThinEdged.layout()); + EnumDesign.ThinCorner.setCornered(EnumPattern.ThinCorner.layout(), EnumPattern.Edged.layout()); + EnumDesign.Corner.setCornered(EnumPattern.Corner.layout(), EnumPattern.Halved.layout()); + EnumDesign.ThickCorner.setCornered( + EnumPattern.ThickCorner.layout(), EnumPattern.Edged.layout(true).flipHorizontal()); + EnumDesign.ThinCurvedCorner.setCornered(EnumPattern.ThinCurvedCorner.layout(), EnumPattern.Edged.layout()); + EnumDesign.CurvedCorner.setCornered(EnumPattern.CurvedCorner.layout(), EnumPattern.Halved.layout()); + EnumDesign.Edged.setEdged(EnumPattern.Edged.layout()); + EnumDesign.ThinEdged.setEdged(EnumPattern.ThinEdged.layout()); + EnumDesign.ThinBarred.setBarred(EnumPattern.ThinBarred.layout()); + EnumDesign.Barred.setBarred(EnumPattern.Barred.layout()); + EnumDesign.ThickBarred.setBarred(EnumPattern.ThickBarred.layout()); + EnumDesign.Diagonal.setDiagonal(EnumPattern.Diagonal.layout(), EnumPattern.Edged.layout()); + EnumDesign.ThickDiagonal.setDiagonal(EnumPattern.ThickDiagonal.layout(), EnumPattern.Halved.layout()); + EnumDesign.ThinSaltire.setSaltire(EnumPattern.ThinSaltire.layout(), EnumPattern.ThickBarred.layout()); + EnumDesign.Saltire.setSaltire(EnumPattern.Saltire.layout(), EnumPattern.Barred.layout()); + EnumDesign.ThickSaltire.setSaltire(EnumPattern.ThickSaltire.layout(), EnumPattern.ThinBarred.layout()); + EnumDesign.ThinCrossed.setCross(EnumPattern.ThinCrossed.layout(), EnumPattern.ThinBarred.layout()); + EnumDesign.Crossed.setCross(EnumPattern.Crossed.layout(), EnumPattern.Barred.layout()); + EnumDesign.ThickCrossed.setCross(EnumPattern.ThickCrossed.layout(), EnumPattern.ThickBarred.layout()); + EnumDesign.ThinCurvedCrossed.setCross(EnumPattern.ThinCurvedCrossed.layout(), EnumPattern.ThinBarred.layout()); + EnumDesign.ThinTSection.setTSection(EnumPattern.ThinTSection.layout(), EnumPattern.ThinBarred.layout()); + EnumDesign.TSection.setTSection(EnumPattern.TSection.layout(), EnumPattern.Barred.layout()); + EnumDesign.ThickTSection.setTSection(EnumPattern.ThickTSection.layout(), EnumPattern.ThickBarred.layout()); + EnumDesign.ThinCurvedTSection.setTSection( + EnumPattern.ThinCurvedTSection.layout(), EnumPattern.ThinBarred.layout()); + EnumDesign.CurvedTSection.setTSection(EnumPattern.CurvedTSection.layout(), EnumPattern.Barred.layout()); + EnumDesign.ThinBarredCorner.setBarredCorner( + EnumPattern.ThinBarredCorner.layout(), EnumPattern.ThinBarred.layout()); + EnumDesign.BarredCorner.setBarredCorner(EnumPattern.BarredCorner.layout(), EnumPattern.Barred.layout()); + EnumDesign.ThickBarredCorner.setBarredCorner( + EnumPattern.ThickBarredCorner.layout(), EnumPattern.ThickBarred.layout()); + EnumDesign.ThinCurvedBarredCorner.setBarredCorner( + EnumPattern.ThinCurvedBarredCorner.layout(), EnumPattern.ThinBarred.layout()); + EnumDesign.CurvedBarredCorner.setBarredCorner( + EnumPattern.BarredCurvedCorner.layout(), EnumPattern.Barred.layout()); + EnumDesign.ThinStripedCorner.setStripedCorner( + EnumPattern.ThinStripedCorner.layout(), EnumPattern.ThinStriped.layout()); + EnumDesign.StripedCorner.setStripedCorner(EnumPattern.StripedCorner.layout(), EnumPattern.Striped.layout()); + EnumDesign.OrnateStripedCorner.setStripedCorner( + EnumPattern.OrnateStripedCorner.layout(), EnumPattern.ThinStriped.layout()); + EnumDesign.Emblem1.setAllPatterns(EnumPattern.Emblem1.layout()); + EnumDesign.Emblem2.setAllPatterns(EnumPattern.Emblem2.layout()); + EnumDesign.Emblem3.setAllPatterns(EnumPattern.Emblem3.layout()); + EnumDesign.Emblem4.setAllPatterns(EnumPattern.Emblem4.layout()); + EnumDesign.Emblem5.setAllPatterns(EnumPattern.Emblem5.layout()); + EnumDesign.LetterA.setLetterPattern(EnumPattern.LetterA.layout()); + EnumDesign.LetterB.setLetterPattern(EnumPattern.LetterB.layout()); + EnumDesign.LetterF.setLetterPattern(EnumPattern.LetterF.layout()); + EnumDesign.LetterS.setLetterPattern(EnumPattern.LetterS.layout()); + EnumDesign.LetterT.setLetterPattern(EnumPattern.LetterT.layout()); + EnumDesign.BarredEnd.setBarredEndPattern(EnumPattern.BarredEnd.layout(), EnumPattern.Barred.layout()); + EnumDesign.DiagonalCorner.setDiagonalCorner( + EnumPattern.DiagonalCorner.layout(), EnumPattern.Barred.layout(), EnumPattern.Edged.layout()); + EnumDesign.DiagonalTSection.setDiagonalTSection( + EnumPattern.DiagonalTSection.layout(), EnumPattern.Barred.layout(), EnumPattern.Edged.layout()); + EnumDesign.DiagonalCurvedCorner.setDiagonalCorner( + EnumPattern.DiagonalCurvedCorner.layout(), EnumPattern.Barred.layout(), EnumPattern.Edged.layout()); + EnumDesign.DiagonalCurvedTSection.setDiagonalTSection( + EnumPattern.DiagonalCurvedTSection.layout(), EnumPattern.Barred.layout(), EnumPattern.Edged.layout()); + EnumDesign.OrnateBarred.setBarred(EnumPattern.OrnateBarred.layout()); + EnumDesign.OrnateThinBarred.setBarred(EnumPattern.OrnateThinBarred.layout()); + EnumDesign.SplitBarred.setBarred(EnumPattern.SplitBarred.layout()); + EnumDesign.SplitBarredCorner.setBarredCorner( + EnumPattern.SplitBarredCorner.layout(), EnumPattern.SplitBarred.layout()); + EnumDesign.SplitBarredTSection.setTSection( + EnumPattern.SplitBarredTSection.layout(), EnumPattern.SplitBarred.layout()); + EnumDesign.SplitCrossed.setCross(EnumPattern.SplitCrossed.layout(), EnumPattern.SplitBarred.layout()); + EnumDesign.SplitBarredEnd.setBarredEndPattern( + EnumPattern.SplitBarredEnd.layout(), EnumPattern.SplitBarred.layout()); + EnumDesign.Circle.setAllPatterns(EnumPattern.Circle.layout()); + EnumDesign.Plus.setAllPatterns(EnumPattern.Plus.layout()); + EnumDesign.Creeper.setAllPatterns(EnumPattern.Blank.layout(true)); + EnumDesign.Creeper.setTopPattern(EnumPattern.Creeper.layout()); + EnumDesign.DiagonalHalved.setTopPattern(EnumPattern.DiagonalHalved.layout()); + EnumDesign.DiagonalHalved.setEdgePatterns( + EnumPattern.Blank.layout(), + EnumPattern.Blank.layout(true), + EnumPattern.Blank.layout(true), + EnumPattern.Blank.layout()); + EnumDesign.Diagonal1Edged.setTopPattern(EnumPattern.Diagonal1Edged.layout()); + EnumDesign.Diagonal1Edged.setEdgePatterns( + EnumPattern.Edged.layout().flipHorizontal(), + EnumPattern.Blank.layout(true), + EnumPattern.Blank.layout(true), + EnumPattern.Edged.layout()); + EnumDesign.Diagonal2Edged.setTopPattern(EnumPattern.Diagonal2Edged.layout()); + EnumDesign.Diagonal2Edged.setEdgePatterns( + EnumPattern.Edged.layout(), + EnumPattern.Edged.layout().flipHorizontal(), + EnumPattern.Edged.layout(), + EnumPattern.Edged.layout().flipHorizontal()); + EnumDesign.ThickDiagonal1Edged.setTopPattern(EnumPattern.ThickDiagonal1Edged.layout()); + EnumDesign.ThickDiagonal1Edged.setEdgePatterns( + EnumPattern.Halved.layout().flipHorizontal(), + EnumPattern.Blank.layout(true), + EnumPattern.Blank.layout(true), + EnumPattern.Halved.layout()); + EnumDesign.ThickBarredEnd.setBarredEndPattern( + EnumPattern.ThickBarredEnd.layout(), EnumPattern.ThickBarred.layout()); + EnumDesign.ThinBarredEnd.setBarredEndPattern( + EnumPattern.ThinBarredEnd.layout(), EnumPattern.ThinBarred.layout()); + EnumDesign.OverlappedSplitBarred.setAllPatterns(EnumPattern.SplitBarred.layout()); + EnumDesign.OverlappedSplitBarred.setTopPattern(EnumPattern.OverlappedSplitBarred.layout()); + EnumDesign.OverlappedBarred.setAllPatterns(EnumPattern.Barred.layout()); + EnumDesign.OverlappedBarred.setTopPattern(EnumPattern.OverlappedBarred.layout()); + } - protected String name; - protected ILayout topPattern; - protected ILayout bottomPattern; - protected ILayout northPattern; - protected ILayout southPattern; - protected ILayout eastPattern; - protected ILayout westPattern; + protected String name; + protected ILayout topPattern; + protected ILayout bottomPattern; + protected ILayout northPattern; + protected ILayout southPattern; + protected ILayout eastPattern; + protected ILayout westPattern; - EnumDesign(String name) { - this.name = name; - topPattern = Layout.get(EnumPattern.Blank, false); - bottomPattern = Layout.get(EnumPattern.Blank, false); - northPattern = Layout.get(EnumPattern.Blank, false); - eastPattern = Layout.get(EnumPattern.Blank, false); - southPattern = Layout.get(EnumPattern.Blank, false); - westPattern = Layout.get(EnumPattern.Blank, false); - } + EnumDesign(String name) { + this.name = name; + topPattern = Layout.get(EnumPattern.Blank, false); + bottomPattern = Layout.get(EnumPattern.Blank, false); + northPattern = Layout.get(EnumPattern.Blank, false); + eastPattern = Layout.get(EnumPattern.Blank, false); + southPattern = Layout.get(EnumPattern.Blank, false); + westPattern = Layout.get(EnumPattern.Blank, false); + } - void setEdgePatterns(ILayout north, ILayout east, ILayout south, ILayout west) { - setNorthPattern(north); - setEastPattern(east); - setSouthPattern(south); - setWestPattern(west); - } + void setEdgePatterns(ILayout north, ILayout east, ILayout south, ILayout west) { + setNorthPattern(north); + setEastPattern(east); + setSouthPattern(south); + setWestPattern(west); + } - void setEdgePatterns(ILayout face) { - setEdgePatterns(face, face, face, face); - } + void setEdgePatterns(ILayout face) { + setEdgePatterns(face, face, face, face); + } - void setupStriped(ILayout vert) { - setTopPattern(vert); - setEdgePatterns(vert.invert(), EnumPattern.Blank.layout(true), vert, EnumPattern.Blank.layout()); - } + void setupStriped(ILayout vert) { + setTopPattern(vert); + setEdgePatterns(vert.invert(), EnumPattern.Blank.layout(true), vert, EnumPattern.Blank.layout()); + } - void setChequered(ILayout cheq) { - setAllPatterns(cheq); - setNorthPattern(cheq.invert()); - setSouthPattern(cheq.invert()); - setBottomPattern(cheq.invert()); - } + void setChequered(ILayout cheq) { + setAllPatterns(cheq); + setNorthPattern(cheq.invert()); + setSouthPattern(cheq.invert()); + setBottomPattern(cheq.invert()); + } - void setStripedChequered(ILayout cheq, ILayout stripe) { - setAllPatterns(cheq); - setNorthPattern(stripe.invert()); - setSouthPattern(stripe.invert()); - setEastPattern(stripe); - setWestPattern(stripe); - } + void setStripedChequered(ILayout cheq, ILayout stripe) { + setAllPatterns(cheq); + setNorthPattern(stripe.invert()); + setSouthPattern(stripe.invert()); + setEastPattern(stripe); + setWestPattern(stripe); + } - void setCornered(ILayout corner, ILayout edge) { - setTopPattern(corner); - setNorthPattern(EnumPattern.Blank.layout()); - setEastPattern(edge.flipHorizontal()); - setSouthPattern(edge); - setWestPattern(EnumPattern.Blank.layout()); - } + void setCornered(ILayout corner, ILayout edge) { + setTopPattern(corner); + setNorthPattern(EnumPattern.Blank.layout()); + setEastPattern(edge.flipHorizontal()); + setSouthPattern(edge); + setWestPattern(EnumPattern.Blank.layout()); + } - void setEdged(ILayout edge) { - setAllPatterns(edge); - setWestPattern(EnumPattern.Blank.layout()); - setEastPattern(EnumPattern.Blank.layout(true)); - northPattern = northPattern.flipHorizontal(); - } + void setEdged(ILayout edge) { + setAllPatterns(edge); + setWestPattern(EnumPattern.Blank.layout()); + setEastPattern(EnumPattern.Blank.layout(true)); + northPattern = northPattern.flipHorizontal(); + } - void setBarred(ILayout bar) { - setAllPatterns(bar); - setEastPattern(EnumPattern.Blank.layout(true)); - setWestPattern(EnumPattern.Blank.layout(true)); - } + void setBarred(ILayout bar) { + setAllPatterns(bar); + setEastPattern(EnumPattern.Blank.layout(true)); + setWestPattern(EnumPattern.Blank.layout(true)); + } - void setDiagonal(ILayout diagonal, ILayout edged) { - setAllPatterns(edged); - setTopPattern(diagonal); - northPattern = northPattern.flipHorizontal(); - southPattern = southPattern.flipHorizontal(); - } + void setDiagonal(ILayout diagonal, ILayout edged) { + setAllPatterns(edged); + setTopPattern(diagonal); + northPattern = northPattern.flipHorizontal(); + southPattern = southPattern.flipHorizontal(); + } - void setSaltire(ILayout saltire, ILayout bar) { - setTopPattern(saltire); - setEdgePatterns(bar.invert()); - } + void setSaltire(ILayout saltire, ILayout bar) { + setTopPattern(saltire); + setEdgePatterns(bar.invert()); + } - void setCross(ILayout saltire, ILayout bar) { - setTopPattern(saltire); - setEdgePatterns(bar); - } + void setCross(ILayout saltire, ILayout bar) { + setTopPattern(saltire); + setEdgePatterns(bar); + } - void setTSection(ILayout tsection, ILayout bar) { - setTopPattern(tsection); - setEdgePatterns(bar); - setWestPattern(EnumPattern.Blank.layout(true)); - } + void setTSection(ILayout tsection, ILayout bar) { + setTopPattern(tsection); + setEdgePatterns(bar); + setWestPattern(EnumPattern.Blank.layout(true)); + } - void setBarredCorner(ILayout corner, ILayout bar) { - setTSection(corner, bar); - setNorthPattern(EnumPattern.Blank.layout(true)); - } + void setBarredCorner(ILayout corner, ILayout bar) { + setTSection(corner, bar); + setNorthPattern(EnumPattern.Blank.layout(true)); + } - void setStripedCorner(ILayout corner, ILayout striped) { - setCornered(corner, striped); - } + void setStripedCorner(ILayout corner, ILayout striped) { + setCornered(corner, striped); + } - void setLetterPattern(ILayout letter) { - setAllPatterns(EnumPattern.Blank.layout(true)); - setTopPattern(letter); - setBottomPattern(EnumPattern.Blank.layout(true)); - } + void setLetterPattern(ILayout letter) { + setAllPatterns(EnumPattern.Blank.layout(true)); + setTopPattern(letter); + setBottomPattern(EnumPattern.Blank.layout(true)); + } - void setBarredEndPattern(ILayout end, ILayout bar) { - setAllPatterns(EnumPattern.Blank.layout(true)); - setTopPattern(end); - setWestPattern(bar); - } + void setBarredEndPattern(ILayout end, ILayout bar) { + setAllPatterns(EnumPattern.Blank.layout(true)); + setTopPattern(end); + setWestPattern(bar); + } - void setDiagonalCorner(ILayout diagonal, ILayout bar, ILayout edged) { - setAllPatterns(EnumPattern.Blank.layout(true)); - setTopPattern(diagonal); - setWestPattern(bar.invert()); - setNorthPattern(edged.flipHorizontal()); - setSouthPattern(edged); - } + void setDiagonalCorner(ILayout diagonal, ILayout bar, ILayout edged) { + setAllPatterns(EnumPattern.Blank.layout(true)); + setTopPattern(diagonal); + setWestPattern(bar.invert()); + setNorthPattern(edged.flipHorizontal()); + setSouthPattern(edged); + } - void setDiagonalTSection(ILayout diagonal, ILayout bar, ILayout edged) { - setAllPatterns(EnumPattern.Blank.layout(true)); - setTopPattern(diagonal); - setWestPattern(bar.invert()); - setNorthPattern(bar.invert()); - setEastPattern(edged.flipHorizontal()); - setSouthPattern(edged); - } + void setDiagonalTSection(ILayout diagonal, ILayout bar, ILayout edged) { + setAllPatterns(EnumPattern.Blank.layout(true)); + setTopPattern(diagonal); + setWestPattern(bar.invert()); + setNorthPattern(bar.invert()); + setEastPattern(edged.flipHorizontal()); + setSouthPattern(edged); + } - private void setAllPatterns(ILayout layout) { - setTopPattern(layout); - setBottomPattern(layout); - setNorthPattern(layout); - setEastPattern(layout); - setSouthPattern(layout); - setWestPattern(layout); - } + private void setAllPatterns(ILayout layout) { + setTopPattern(layout); + setBottomPattern(layout); + setNorthPattern(layout); + setEastPattern(layout); + setSouthPattern(layout); + setWestPattern(layout); + } - @Override - public String getName() { - return I18N.localise("botany.design." + name); - } + @Override + public String getName() { + return I18N.localise("botany.design." + name); + } - public void setName(String name) { - this.name = name; - } + public void setName(String name) { + this.name = name; + } - @Override - public ILayout getTopPattern() { - return topPattern; - } + @Override + public ILayout getTopPattern() { + return topPattern; + } - public void setTopPattern(ILayout layout) { - topPattern = layout; - setBottomPattern(layout); - } + public void setTopPattern(ILayout layout) { + topPattern = layout; + setBottomPattern(layout); + } - @Override - public ILayout getBottomPattern() { - return bottomPattern; - } + @Override + public ILayout getBottomPattern() { + return bottomPattern; + } - public void setBottomPattern(ILayout layout) { - bottomPattern = layout; - } + public void setBottomPattern(ILayout layout) { + bottomPattern = layout; + } - @Override - public ILayout getNorthPattern() { - return northPattern; - } + @Override + public ILayout getNorthPattern() { + return northPattern; + } - public void setNorthPattern(ILayout layout) { - northPattern = layout; - } + public void setNorthPattern(ILayout layout) { + northPattern = layout; + } - @Override - public ILayout getSouthPattern() { - return southPattern; - } + @Override + public ILayout getSouthPattern() { + return southPattern; + } - public void setSouthPattern(ILayout layout) { - southPattern = layout; - } + public void setSouthPattern(ILayout layout) { + southPattern = layout; + } - @Override - public ILayout getEastPattern() { - return eastPattern; - } + @Override + public ILayout getEastPattern() { + return eastPattern; + } - public void setEastPattern(ILayout layout) { - eastPattern = layout; - } + public void setEastPattern(ILayout layout) { + eastPattern = layout; + } - @Override - public ILayout getWestPattern() { - return westPattern; - } + @Override + public ILayout getWestPattern() { + return westPattern; + } - public void setWestPattern(ILayout layout) { - westPattern = layout; - } + public void setWestPattern(ILayout layout) { + westPattern = layout; + } } diff --git a/src/main/java/binnie/extratrees/carpentry/EnumDesignCategory.java b/src/main/java/binnie/extratrees/carpentry/EnumDesignCategory.java index b4e9a98f..b3740568 100644 --- a/src/main/java/binnie/extratrees/carpentry/EnumDesignCategory.java +++ b/src/main/java/binnie/extratrees/carpentry/EnumDesignCategory.java @@ -4,44 +4,43 @@ import binnie.core.util.I18N; import binnie.extratrees.api.CarpentryManager; import binnie.extratrees.api.IDesign; import binnie.extratrees.api.IDesignCategory; - import java.util.ArrayList; import java.util.List; public enum EnumDesignCategory implements IDesignCategory { - Design("designsEmblems"), - Stripes("squaresStripes"), - Edges("edges"), - Barred("bars"), - Letters("letters"), - Diagonal("diagonals"); + Design("designsEmblems"), + Stripes("squaresStripes"), + Edges("edges"), + Barred("bars"), + Letters("letters"), + Diagonal("diagonals"); - protected String name; - protected List designs; + protected String name; + protected List designs; - EnumDesignCategory(String name) { - this.name = name; - designs = new ArrayList<>(); - CarpentryManager.carpentryInterface.registerDesignCategory(this); - } + EnumDesignCategory(String name) { + this.name = name; + designs = new ArrayList<>(); + CarpentryManager.carpentryInterface.registerDesignCategory(this); + } - @Override - public String getName() { - return I18N.localise("botany.design.category." + name); - } + @Override + public String getName() { + return I18N.localise("botany.design.category." + name); + } - @Override - public List getDesigns() { - return designs; - } + @Override + public List getDesigns() { + return designs; + } - @Override - public void addDesign(IDesign design) { - designs.add(design); - } + @Override + public void addDesign(IDesign design) { + designs.add(design); + } - @Override - public String getId() { - return toString().toLowerCase(); - } + @Override + public String getId() { + return toString().toLowerCase(); + } } diff --git a/src/main/java/binnie/extratrees/carpentry/EnumPattern.java b/src/main/java/binnie/extratrees/carpentry/EnumPattern.java index ad14bbc1..135e3da6 100644 --- a/src/main/java/binnie/extratrees/carpentry/EnumPattern.java +++ b/src/main/java/binnie/extratrees/carpentry/EnumPattern.java @@ -7,396 +7,503 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; public enum EnumPattern implements IPattern { - Blank, - Octagon, - Diamond, - Ringed, - Squared, - Multiply, - Circle, - Plus, - Creeper, - Creeper2, - Creeper3, - Creeper4, - Halved, - Halved2, - Striped, - Striped2, - ThinStriped, - ThinStriped2, - Chequered, - Tiled, - VeryThinCorner, - VeryThinCorner2, - VeryThinCorner3, - VeryThinCorner4, - ThinCorner, - ThinCorner2, - ThinCorner3, - ThinCorner4, - Corner, - Corner2, - Corner3, - Corner4, - ThickCorner, - ThickCorner2, - ThickCorner3, - ThickCorner4, - ThinCurvedCorner, - ThinCurvedCorner2, - ThinCurvedCorner3, - ThinCurvedCorner4, - CurvedCorner, - CurvedCorner2, - CurvedCorner3, - CurvedCorner4, - Edged, - Edged2, - Edged3, - Edged4, - ThinEdged, - ThinEdged2, - ThinEdged3, - ThinEdged4, - ThinBarred, - ThinBarred2, - Barred, - Barred2, - ThickBarred, - ThickBarred2, - BarredEnd, - BarredEnd2, - BarredEnd3, - BarredEnd4, - OrnateBarred, - OrnateBarred2, - OrnateThinBarred, - OrnateThinBarred2, - SplitBarred, - SplitBarred2, - SplitBarredCorner, - SplitBarredCorner2, - SplitBarredCorner3, - SplitBarredCorner4, - SplitBarredTSection, - SplitBarredTSection2, - SplitBarredTSection3, - SplitBarredTSection4, - SplitCrossed, - SplitBarredEnd, - SplitBarredEnd2, - SplitBarredEnd3, - SplitBarredEnd4, - Diagonal, - Diagonal2, - ThickDiagonal, - ThickDiagonal2, - DiagonalCorner, - DiagonalCorner2, - DiagonalCorner3, - DiagonalCorner4, - DiagonalTSection, - DiagonalTSection2, - DiagonalTSection3, - DiagonalTSection4, - DiagonalCurvedCorner, - DiagonalCurvedCorner2, - DiagonalCurvedCorner3, - DiagonalCurvedCorner4, - DiagonalCurvedTSection, - DiagonalCurvedTSection2, - DiagonalCurvedTSection3, - DiagonalCurvedTSection4, - DiagonalStriped, - DiagonalStriped2, - ThinDiagonalStriped, - ThinDiagonalStriped2, - ThinSaltire, - Saltire, - ThickSaltire, - ThinCrossed, - Crossed, - ThickCrossed, - ThinCurvedCrossed, - ThinTSection, - ThinTSection2, - ThinTSection3, - ThinTSection4, - TSection, - TSection2, - TSection3, - TSection4, - ThickTSection, - ThickTSection2, - ThickTSection3, - ThickTSection4, - ThinCurvedTSection, - ThinCurvedTSection2, - ThinCurvedTSection3, - ThinCurvedTSection4, - CurvedTSection, - CurvedTSection2, - CurvedTSection3, - CurvedTSection4, - ThinBarredCorner, - ThinBarredCorner2, - ThinBarredCorner3, - ThinBarredCorner4, - BarredCorner, - BarredCorner2, - BarredCorner3, - BarredCorner4, - ThickBarredCorner, - ThickBarredCorner2, - ThickBarredCorner3, - ThickBarredCorner4, - ThinCurvedBarredCorner, - ThinCurvedBarredCorner2, - ThinCurvedBarredCorner3, - ThinCurvedBarredCorner4, - BarredCurvedCorner, - BarredCurvedCorner2, - BarredCurvedCorner3, - BarredCurvedCorner4, - ThinStripedCorner, - ThinStripedCorner2, - ThinStripedCorner3, - ThinStripedCorner4, - StripedCorner, - StripedCorner2, - StripedCorner3, - StripedCorner4, - OrnateStripedCorner, - OrnateStripedCorner2, - OrnateStripedCorner3, - OrnateStripedCorner4, - Emblem1, - Emblem2, - Emblem3, - Emblem4, - Emblem5, - LetterA, - LetterA2, - LetterA3, - LetterA4, - LetterB, - LetterB2, - LetterB3, - LetterB4, - LetterF, - LetterF2, - LetterF3, - LetterF4, - LetterS, - LetterS2, - LetterS3, - LetterS4, - LetterT, - LetterT2, - LetterT3, - LetterT4, - DiagonalHalved, - DiagonalHalved2, - Diagonal1Edged, - Diagonal1Edged2, - Diagonal1Edged3, - Diagonal1Edged4, - Diagonal2Edged, - Diagonal2Edged2, - ThickDiagonal1Edged, - ThickDiagonal1Edged2, - ThickDiagonal1Edged3, - ThickDiagonal1Edged4, - ThinBarredEnd, - ThinBarredEnd2, - ThinBarredEnd3, - ThinBarredEnd4, - ThickBarredEnd, - ThickBarredEnd2, - ThickBarredEnd3, - ThickBarredEnd4, - OverlappedSplitBarred, - OverlappedSplitBarred2, - OverlappedBarred, - OverlappedBarred2; + Blank, + Octagon, + Diamond, + Ringed, + Squared, + Multiply, + Circle, + Plus, + Creeper, + Creeper2, + Creeper3, + Creeper4, + Halved, + Halved2, + Striped, + Striped2, + ThinStriped, + ThinStriped2, + Chequered, + Tiled, + VeryThinCorner, + VeryThinCorner2, + VeryThinCorner3, + VeryThinCorner4, + ThinCorner, + ThinCorner2, + ThinCorner3, + ThinCorner4, + Corner, + Corner2, + Corner3, + Corner4, + ThickCorner, + ThickCorner2, + ThickCorner3, + ThickCorner4, + ThinCurvedCorner, + ThinCurvedCorner2, + ThinCurvedCorner3, + ThinCurvedCorner4, + CurvedCorner, + CurvedCorner2, + CurvedCorner3, + CurvedCorner4, + Edged, + Edged2, + Edged3, + Edged4, + ThinEdged, + ThinEdged2, + ThinEdged3, + ThinEdged4, + ThinBarred, + ThinBarred2, + Barred, + Barred2, + ThickBarred, + ThickBarred2, + BarredEnd, + BarredEnd2, + BarredEnd3, + BarredEnd4, + OrnateBarred, + OrnateBarred2, + OrnateThinBarred, + OrnateThinBarred2, + SplitBarred, + SplitBarred2, + SplitBarredCorner, + SplitBarredCorner2, + SplitBarredCorner3, + SplitBarredCorner4, + SplitBarredTSection, + SplitBarredTSection2, + SplitBarredTSection3, + SplitBarredTSection4, + SplitCrossed, + SplitBarredEnd, + SplitBarredEnd2, + SplitBarredEnd3, + SplitBarredEnd4, + Diagonal, + Diagonal2, + ThickDiagonal, + ThickDiagonal2, + DiagonalCorner, + DiagonalCorner2, + DiagonalCorner3, + DiagonalCorner4, + DiagonalTSection, + DiagonalTSection2, + DiagonalTSection3, + DiagonalTSection4, + DiagonalCurvedCorner, + DiagonalCurvedCorner2, + DiagonalCurvedCorner3, + DiagonalCurvedCorner4, + DiagonalCurvedTSection, + DiagonalCurvedTSection2, + DiagonalCurvedTSection3, + DiagonalCurvedTSection4, + DiagonalStriped, + DiagonalStriped2, + ThinDiagonalStriped, + ThinDiagonalStriped2, + ThinSaltire, + Saltire, + ThickSaltire, + ThinCrossed, + Crossed, + ThickCrossed, + ThinCurvedCrossed, + ThinTSection, + ThinTSection2, + ThinTSection3, + ThinTSection4, + TSection, + TSection2, + TSection3, + TSection4, + ThickTSection, + ThickTSection2, + ThickTSection3, + ThickTSection4, + ThinCurvedTSection, + ThinCurvedTSection2, + ThinCurvedTSection3, + ThinCurvedTSection4, + CurvedTSection, + CurvedTSection2, + CurvedTSection3, + CurvedTSection4, + ThinBarredCorner, + ThinBarredCorner2, + ThinBarredCorner3, + ThinBarredCorner4, + BarredCorner, + BarredCorner2, + BarredCorner3, + BarredCorner4, + ThickBarredCorner, + ThickBarredCorner2, + ThickBarredCorner3, + ThickBarredCorner4, + ThinCurvedBarredCorner, + ThinCurvedBarredCorner2, + ThinCurvedBarredCorner3, + ThinCurvedBarredCorner4, + BarredCurvedCorner, + BarredCurvedCorner2, + BarredCurvedCorner3, + BarredCurvedCorner4, + ThinStripedCorner, + ThinStripedCorner2, + ThinStripedCorner3, + ThinStripedCorner4, + StripedCorner, + StripedCorner2, + StripedCorner3, + StripedCorner4, + OrnateStripedCorner, + OrnateStripedCorner2, + OrnateStripedCorner3, + OrnateStripedCorner4, + Emblem1, + Emblem2, + Emblem3, + Emblem4, + Emblem5, + LetterA, + LetterA2, + LetterA3, + LetterA4, + LetterB, + LetterB2, + LetterB3, + LetterB4, + LetterF, + LetterF2, + LetterF3, + LetterF4, + LetterS, + LetterS2, + LetterS3, + LetterS4, + LetterT, + LetterT2, + LetterT3, + LetterT4, + DiagonalHalved, + DiagonalHalved2, + Diagonal1Edged, + Diagonal1Edged2, + Diagonal1Edged3, + Diagonal1Edged4, + Diagonal2Edged, + Diagonal2Edged2, + ThickDiagonal1Edged, + ThickDiagonal1Edged2, + ThickDiagonal1Edged3, + ThickDiagonal1Edged4, + ThinBarredEnd, + ThinBarredEnd2, + ThinBarredEnd3, + ThinBarredEnd4, + ThickBarredEnd, + ThickBarredEnd2, + ThickBarredEnd3, + ThickBarredEnd4, + OverlappedSplitBarred, + OverlappedSplitBarred2, + OverlappedBarred, + OverlappedBarred2; - static { - setupStripedPattern(EnumPattern.ThinStriped, EnumPattern.ThinStriped2); - setupStripedPattern(EnumPattern.Striped, EnumPattern.Striped2); - setupStripedPattern(EnumPattern.Halved, EnumPattern.Halved2); - setupChequeredPattern(EnumPattern.Chequered); - setupChequeredPattern(EnumPattern.Tiled); - setupCornerPattern(EnumPattern.VeryThinCorner, EnumPattern.VeryThinCorner2, EnumPattern.VeryThinCorner3, EnumPattern.VeryThinCorner4); - setupCornerPattern(EnumPattern.ThinCorner, EnumPattern.ThinCorner2, EnumPattern.ThinCorner3, EnumPattern.ThinCorner4); - setupCornerPattern(EnumPattern.Corner, EnumPattern.Corner2, EnumPattern.Corner3, EnumPattern.Corner4); - setupCornerPattern(EnumPattern.ThickCorner, EnumPattern.ThickCorner2, EnumPattern.ThickCorner3, EnumPattern.ThickCorner4); - setupCornerPattern(EnumPattern.ThinCurvedCorner, EnumPattern.ThinCurvedCorner2, EnumPattern.ThinCurvedCorner3, EnumPattern.ThinCurvedCorner4); - setupCornerPattern(EnumPattern.CurvedCorner, EnumPattern.CurvedCorner2, EnumPattern.CurvedCorner3, EnumPattern.CurvedCorner4); - setupBarredPattern(EnumPattern.BarredEnd, EnumPattern.BarredEnd2, EnumPattern.BarredEnd3, EnumPattern.BarredEnd4); - setupEdgedPattern(EnumPattern.ThinEdged, EnumPattern.ThinEdged2, EnumPattern.ThinEdged3, EnumPattern.ThinEdged4); - setupEdgedPattern(EnumPattern.Edged, EnumPattern.Edged2, EnumPattern.Edged3, EnumPattern.Edged4); - setupBarredPattern(EnumPattern.ThinBarred, EnumPattern.ThinBarred2); - setupBarredPattern(EnumPattern.Barred, EnumPattern.Barred2); - setupBarredPattern(EnumPattern.ThickBarred, EnumPattern.ThickBarred2); - setupDiagonalPattern(EnumPattern.Diagonal, EnumPattern.Diagonal2); - setupDiagonalPattern(EnumPattern.ThickDiagonal, EnumPattern.ThickDiagonal2); - setupTSectionPattern(EnumPattern.ThinTSection, EnumPattern.ThinTSection2, EnumPattern.ThinTSection3, EnumPattern.ThinTSection4); - setupTSectionPattern(EnumPattern.TSection, EnumPattern.TSection2, EnumPattern.TSection3, EnumPattern.TSection4); - setupTSectionPattern(EnumPattern.ThickTSection, EnumPattern.ThickTSection2, EnumPattern.ThickTSection3, EnumPattern.ThickTSection4); - setupTSectionPattern(EnumPattern.ThinCurvedTSection, EnumPattern.ThinCurvedTSection2, EnumPattern.ThinCurvedTSection3, EnumPattern.ThinCurvedTSection4); - setupTSectionPattern(EnumPattern.CurvedTSection, EnumPattern.CurvedTSection2, EnumPattern.CurvedTSection3, EnumPattern.CurvedTSection4); - setupCornerPattern(EnumPattern.ThinBarredCorner, EnumPattern.ThinBarredCorner2, EnumPattern.ThinBarredCorner3, EnumPattern.ThinBarredCorner4); - setupCornerPattern(EnumPattern.BarredCorner, EnumPattern.BarredCorner2, EnumPattern.BarredCorner3, EnumPattern.BarredCorner4); - setupCornerPattern(EnumPattern.ThickBarredCorner, EnumPattern.ThickBarredCorner2, EnumPattern.ThickBarredCorner3, EnumPattern.ThickBarredCorner4); - setupCornerPattern(EnumPattern.ThinCurvedBarredCorner, EnumPattern.ThinCurvedBarredCorner2, EnumPattern.ThinCurvedBarredCorner3, EnumPattern.ThinCurvedBarredCorner4); - setupCornerPattern(EnumPattern.BarredCurvedCorner, EnumPattern.BarredCurvedCorner2, EnumPattern.BarredCurvedCorner3, EnumPattern.BarredCurvedCorner4); - setupCornerPattern(EnumPattern.ThinStripedCorner, EnumPattern.ThinStripedCorner2, EnumPattern.ThinStripedCorner3, EnumPattern.ThinStripedCorner4); - setupCornerPattern(EnumPattern.StripedCorner, EnumPattern.StripedCorner2, EnumPattern.StripedCorner3, EnumPattern.StripedCorner4); - setupCornerPattern(EnumPattern.OrnateStripedCorner, EnumPattern.OrnateStripedCorner2, EnumPattern.OrnateStripedCorner3, EnumPattern.OrnateStripedCorner4); - setupRotation(EnumPattern.LetterA, EnumPattern.LetterA2, EnumPattern.LetterA3, EnumPattern.LetterA4); - setupRotation(EnumPattern.LetterB, EnumPattern.LetterB2, EnumPattern.LetterB3, EnumPattern.LetterB4); - setupRotation(EnumPattern.LetterF, EnumPattern.LetterF2, EnumPattern.LetterF3, EnumPattern.LetterF4); - setupRotation(EnumPattern.LetterS, EnumPattern.LetterS2, EnumPattern.LetterS3, EnumPattern.LetterS4); - setupRotation(EnumPattern.LetterT, EnumPattern.LetterT2, EnumPattern.LetterT3, EnumPattern.LetterT4); - setupEdgedPattern(EnumPattern.DiagonalCorner, EnumPattern.DiagonalCorner2, EnumPattern.DiagonalCorner3, EnumPattern.DiagonalCorner4); - setupCornerPattern(EnumPattern.DiagonalTSection, EnumPattern.DiagonalTSection2, EnumPattern.DiagonalTSection3, EnumPattern.DiagonalTSection4); - setupEdgedPattern(EnumPattern.DiagonalCurvedCorner, EnumPattern.DiagonalCurvedCorner2, EnumPattern.DiagonalCurvedCorner3, EnumPattern.DiagonalCurvedCorner4); - setupCornerPattern(EnumPattern.DiagonalCurvedTSection, EnumPattern.DiagonalCurvedTSection2, EnumPattern.DiagonalCurvedTSection3, EnumPattern.DiagonalCurvedTSection4); - setupBarredPattern(EnumPattern.OrnateBarred, EnumPattern.OrnateBarred2); - setupBarredPattern(EnumPattern.OrnateThinBarred, EnumPattern.OrnateThinBarred2); - setupBarredPattern(EnumPattern.SplitBarred, EnumPattern.SplitBarred2); - setupCornerPattern(EnumPattern.SplitBarredCorner, EnumPattern.SplitBarredCorner2, EnumPattern.SplitBarredCorner3, EnumPattern.SplitBarredCorner4); - setupTSectionPattern(EnumPattern.SplitBarredTSection, EnumPattern.SplitBarredTSection2, EnumPattern.SplitBarredTSection3, EnumPattern.SplitBarredTSection4); - setupBarredPattern(EnumPattern.SplitBarredEnd, EnumPattern.SplitBarredEnd2, EnumPattern.SplitBarredEnd3, EnumPattern.SplitBarredEnd4); - setupRotation(EnumPattern.Creeper, EnumPattern.Creeper2, EnumPattern.Creeper3, EnumPattern.Creeper4); - setupDiagonalPattern(EnumPattern.DiagonalStriped, EnumPattern.DiagonalStriped2); - setupDiagonalPattern(EnumPattern.ThinDiagonalStriped, EnumPattern.ThinDiagonalStriped2); - setupCornerPattern(EnumPattern.Diagonal1Edged, EnumPattern.Diagonal1Edged2, EnumPattern.Diagonal1Edged3, EnumPattern.Diagonal1Edged4); - setupCornerPattern(EnumPattern.ThickDiagonal1Edged, EnumPattern.ThickDiagonal1Edged2, EnumPattern.ThickDiagonal1Edged3, EnumPattern.ThickDiagonal1Edged4); - setupInvert2Rot(EnumPattern.DiagonalHalved, EnumPattern.DiagonalHalved2); - set2Rotation(EnumPattern.Diagonal2Edged, EnumPattern.Diagonal2Edged2); - setupBarredPattern(EnumPattern.ThinBarredEnd, EnumPattern.ThinBarredEnd2, EnumPattern.ThinBarredEnd3, EnumPattern.ThinBarredEnd4); - setupBarredPattern(EnumPattern.ThickBarredEnd, EnumPattern.ThickBarredEnd2, EnumPattern.ThickBarredEnd3, EnumPattern.ThickBarredEnd4); - EnumPattern.OverlappedBarred.setLeftRotation(EnumPattern.OverlappedBarred2, false); - EnumPattern.OverlappedBarred2.setLeftRotation(EnumPattern.OverlappedBarred, false); - EnumPattern.OverlappedSplitBarred.setLeftRotation(EnumPattern.OverlappedSplitBarred2, false); - EnumPattern.OverlappedSplitBarred2.setLeftRotation(EnumPattern.OverlappedSplitBarred, false); - } + static { + setupStripedPattern(EnumPattern.ThinStriped, EnumPattern.ThinStriped2); + setupStripedPattern(EnumPattern.Striped, EnumPattern.Striped2); + setupStripedPattern(EnumPattern.Halved, EnumPattern.Halved2); + setupChequeredPattern(EnumPattern.Chequered); + setupChequeredPattern(EnumPattern.Tiled); + setupCornerPattern( + EnumPattern.VeryThinCorner, + EnumPattern.VeryThinCorner2, + EnumPattern.VeryThinCorner3, + EnumPattern.VeryThinCorner4); + setupCornerPattern( + EnumPattern.ThinCorner, EnumPattern.ThinCorner2, EnumPattern.ThinCorner3, EnumPattern.ThinCorner4); + setupCornerPattern(EnumPattern.Corner, EnumPattern.Corner2, EnumPattern.Corner3, EnumPattern.Corner4); + setupCornerPattern( + EnumPattern.ThickCorner, EnumPattern.ThickCorner2, EnumPattern.ThickCorner3, EnumPattern.ThickCorner4); + setupCornerPattern( + EnumPattern.ThinCurvedCorner, + EnumPattern.ThinCurvedCorner2, + EnumPattern.ThinCurvedCorner3, + EnumPattern.ThinCurvedCorner4); + setupCornerPattern( + EnumPattern.CurvedCorner, + EnumPattern.CurvedCorner2, + EnumPattern.CurvedCorner3, + EnumPattern.CurvedCorner4); + setupBarredPattern( + EnumPattern.BarredEnd, EnumPattern.BarredEnd2, EnumPattern.BarredEnd3, EnumPattern.BarredEnd4); + setupEdgedPattern( + EnumPattern.ThinEdged, EnumPattern.ThinEdged2, EnumPattern.ThinEdged3, EnumPattern.ThinEdged4); + setupEdgedPattern(EnumPattern.Edged, EnumPattern.Edged2, EnumPattern.Edged3, EnumPattern.Edged4); + setupBarredPattern(EnumPattern.ThinBarred, EnumPattern.ThinBarred2); + setupBarredPattern(EnumPattern.Barred, EnumPattern.Barred2); + setupBarredPattern(EnumPattern.ThickBarred, EnumPattern.ThickBarred2); + setupDiagonalPattern(EnumPattern.Diagonal, EnumPattern.Diagonal2); + setupDiagonalPattern(EnumPattern.ThickDiagonal, EnumPattern.ThickDiagonal2); + setupTSectionPattern( + EnumPattern.ThinTSection, + EnumPattern.ThinTSection2, + EnumPattern.ThinTSection3, + EnumPattern.ThinTSection4); + setupTSectionPattern(EnumPattern.TSection, EnumPattern.TSection2, EnumPattern.TSection3, EnumPattern.TSection4); + setupTSectionPattern( + EnumPattern.ThickTSection, + EnumPattern.ThickTSection2, + EnumPattern.ThickTSection3, + EnumPattern.ThickTSection4); + setupTSectionPattern( + EnumPattern.ThinCurvedTSection, + EnumPattern.ThinCurvedTSection2, + EnumPattern.ThinCurvedTSection3, + EnumPattern.ThinCurvedTSection4); + setupTSectionPattern( + EnumPattern.CurvedTSection, + EnumPattern.CurvedTSection2, + EnumPattern.CurvedTSection3, + EnumPattern.CurvedTSection4); + setupCornerPattern( + EnumPattern.ThinBarredCorner, + EnumPattern.ThinBarredCorner2, + EnumPattern.ThinBarredCorner3, + EnumPattern.ThinBarredCorner4); + setupCornerPattern( + EnumPattern.BarredCorner, + EnumPattern.BarredCorner2, + EnumPattern.BarredCorner3, + EnumPattern.BarredCorner4); + setupCornerPattern( + EnumPattern.ThickBarredCorner, + EnumPattern.ThickBarredCorner2, + EnumPattern.ThickBarredCorner3, + EnumPattern.ThickBarredCorner4); + setupCornerPattern( + EnumPattern.ThinCurvedBarredCorner, + EnumPattern.ThinCurvedBarredCorner2, + EnumPattern.ThinCurvedBarredCorner3, + EnumPattern.ThinCurvedBarredCorner4); + setupCornerPattern( + EnumPattern.BarredCurvedCorner, + EnumPattern.BarredCurvedCorner2, + EnumPattern.BarredCurvedCorner3, + EnumPattern.BarredCurvedCorner4); + setupCornerPattern( + EnumPattern.ThinStripedCorner, + EnumPattern.ThinStripedCorner2, + EnumPattern.ThinStripedCorner3, + EnumPattern.ThinStripedCorner4); + setupCornerPattern( + EnumPattern.StripedCorner, + EnumPattern.StripedCorner2, + EnumPattern.StripedCorner3, + EnumPattern.StripedCorner4); + setupCornerPattern( + EnumPattern.OrnateStripedCorner, + EnumPattern.OrnateStripedCorner2, + EnumPattern.OrnateStripedCorner3, + EnumPattern.OrnateStripedCorner4); + setupRotation(EnumPattern.LetterA, EnumPattern.LetterA2, EnumPattern.LetterA3, EnumPattern.LetterA4); + setupRotation(EnumPattern.LetterB, EnumPattern.LetterB2, EnumPattern.LetterB3, EnumPattern.LetterB4); + setupRotation(EnumPattern.LetterF, EnumPattern.LetterF2, EnumPattern.LetterF3, EnumPattern.LetterF4); + setupRotation(EnumPattern.LetterS, EnumPattern.LetterS2, EnumPattern.LetterS3, EnumPattern.LetterS4); + setupRotation(EnumPattern.LetterT, EnumPattern.LetterT2, EnumPattern.LetterT3, EnumPattern.LetterT4); + setupEdgedPattern( + EnumPattern.DiagonalCorner, + EnumPattern.DiagonalCorner2, + EnumPattern.DiagonalCorner3, + EnumPattern.DiagonalCorner4); + setupCornerPattern( + EnumPattern.DiagonalTSection, + EnumPattern.DiagonalTSection2, + EnumPattern.DiagonalTSection3, + EnumPattern.DiagonalTSection4); + setupEdgedPattern( + EnumPattern.DiagonalCurvedCorner, + EnumPattern.DiagonalCurvedCorner2, + EnumPattern.DiagonalCurvedCorner3, + EnumPattern.DiagonalCurvedCorner4); + setupCornerPattern( + EnumPattern.DiagonalCurvedTSection, + EnumPattern.DiagonalCurvedTSection2, + EnumPattern.DiagonalCurvedTSection3, + EnumPattern.DiagonalCurvedTSection4); + setupBarredPattern(EnumPattern.OrnateBarred, EnumPattern.OrnateBarred2); + setupBarredPattern(EnumPattern.OrnateThinBarred, EnumPattern.OrnateThinBarred2); + setupBarredPattern(EnumPattern.SplitBarred, EnumPattern.SplitBarred2); + setupCornerPattern( + EnumPattern.SplitBarredCorner, + EnumPattern.SplitBarredCorner2, + EnumPattern.SplitBarredCorner3, + EnumPattern.SplitBarredCorner4); + setupTSectionPattern( + EnumPattern.SplitBarredTSection, + EnumPattern.SplitBarredTSection2, + EnumPattern.SplitBarredTSection3, + EnumPattern.SplitBarredTSection4); + setupBarredPattern( + EnumPattern.SplitBarredEnd, + EnumPattern.SplitBarredEnd2, + EnumPattern.SplitBarredEnd3, + EnumPattern.SplitBarredEnd4); + setupRotation(EnumPattern.Creeper, EnumPattern.Creeper2, EnumPattern.Creeper3, EnumPattern.Creeper4); + setupDiagonalPattern(EnumPattern.DiagonalStriped, EnumPattern.DiagonalStriped2); + setupDiagonalPattern(EnumPattern.ThinDiagonalStriped, EnumPattern.ThinDiagonalStriped2); + setupCornerPattern( + EnumPattern.Diagonal1Edged, + EnumPattern.Diagonal1Edged2, + EnumPattern.Diagonal1Edged3, + EnumPattern.Diagonal1Edged4); + setupCornerPattern( + EnumPattern.ThickDiagonal1Edged, + EnumPattern.ThickDiagonal1Edged2, + EnumPattern.ThickDiagonal1Edged3, + EnumPattern.ThickDiagonal1Edged4); + setupInvert2Rot(EnumPattern.DiagonalHalved, EnumPattern.DiagonalHalved2); + set2Rotation(EnumPattern.Diagonal2Edged, EnumPattern.Diagonal2Edged2); + setupBarredPattern( + EnumPattern.ThinBarredEnd, + EnumPattern.ThinBarredEnd2, + EnumPattern.ThinBarredEnd3, + EnumPattern.ThinBarredEnd4); + setupBarredPattern( + EnumPattern.ThickBarredEnd, + EnumPattern.ThickBarredEnd2, + EnumPattern.ThickBarredEnd3, + EnumPattern.ThickBarredEnd4); + EnumPattern.OverlappedBarred.setLeftRotation(EnumPattern.OverlappedBarred2, false); + EnumPattern.OverlappedBarred2.setLeftRotation(EnumPattern.OverlappedBarred, false); + EnumPattern.OverlappedSplitBarred.setLeftRotation(EnumPattern.OverlappedSplitBarred2, false); + EnumPattern.OverlappedSplitBarred2.setLeftRotation(EnumPattern.OverlappedSplitBarred, false); + } - protected ILayout leftRotation; - protected ILayout horizontalFlip; + protected ILayout leftRotation; + protected ILayout horizontalFlip; - EnumPattern() { - leftRotation = Layout.get(this, false); - horizontalFlip = Layout.get(this, false); - } + EnumPattern() { + leftRotation = Layout.get(this, false); + horizontalFlip = Layout.get(this, false); + } - static void setupStripedPattern(EnumPattern vert, EnumPattern hori) { - vert.setLeftRotation(hori, true); - hori.setLeftRotation(vert, false); - vert.setHorizontalFlip(vert, true); - } + static void setupStripedPattern(EnumPattern vert, EnumPattern hori) { + vert.setLeftRotation(hori, true); + hori.setLeftRotation(vert, false); + vert.setHorizontalFlip(vert, true); + } - static void setupChequeredPattern(EnumPattern cheq) { - cheq.setLeftRotation(cheq, true); - cheq.setHorizontalFlip(cheq, true); - } + static void setupChequeredPattern(EnumPattern cheq) { + cheq.setLeftRotation(cheq, true); + cheq.setHorizontalFlip(cheq, true); + } - static void setupCornerPattern(EnumPattern tl, EnumPattern tr, EnumPattern br, EnumPattern bl) { - tl.setLeftRotation(bl, false); - tr.setLeftRotation(tl, false); - br.setLeftRotation(tr, false); - bl.setLeftRotation(br, false); - tl.setHorizontalFlip(tr, false); - bl.setHorizontalFlip(br, false); - } + static void setupCornerPattern(EnumPattern tl, EnumPattern tr, EnumPattern br, EnumPattern bl) { + tl.setLeftRotation(bl, false); + tr.setLeftRotation(tl, false); + br.setLeftRotation(tr, false); + bl.setLeftRotation(br, false); + tl.setHorizontalFlip(tr, false); + bl.setHorizontalFlip(br, false); + } - static void setupInvert2Rot(EnumPattern a, EnumPattern b) { - a.setLeftRotation(b, true); - b.setLeftRotation(a, false); - a.setHorizontalFlip(b, false); - } + static void setupInvert2Rot(EnumPattern a, EnumPattern b) { + a.setLeftRotation(b, true); + b.setLeftRotation(a, false); + a.setHorizontalFlip(b, false); + } - static void set2Rotation(EnumPattern a, EnumPattern b) { - a.setLeftRotation(b, false); - b.setLeftRotation(a, false); - a.setHorizontalFlip(b, false); - } + static void set2Rotation(EnumPattern a, EnumPattern b) { + a.setLeftRotation(b, false); + b.setLeftRotation(a, false); + a.setHorizontalFlip(b, false); + } - static void setupBarredPattern(EnumPattern vert, EnumPattern hori) { - vert.setLeftRotation(hori, false); - hori.setLeftRotation(vert, false); - } + static void setupBarredPattern(EnumPattern vert, EnumPattern hori) { + vert.setLeftRotation(hori, false); + hori.setLeftRotation(vert, false); + } - static void setupEdgedPattern(EnumPattern l, EnumPattern t, EnumPattern r, EnumPattern b) { - l.setLeftRotation(b, false); - t.setLeftRotation(l, false); - r.setLeftRotation(t, false); - b.setLeftRotation(r, false); - l.setHorizontalFlip(r, false); - } + static void setupEdgedPattern(EnumPattern l, EnumPattern t, EnumPattern r, EnumPattern b) { + l.setLeftRotation(b, false); + t.setLeftRotation(l, false); + r.setLeftRotation(t, false); + b.setLeftRotation(r, false); + l.setHorizontalFlip(r, false); + } - static void setupDiagonalPattern(EnumPattern a, EnumPattern b) { - a.setLeftRotation(b, false); - b.setLeftRotation(a, false); - a.setHorizontalFlip(b, false); - } + static void setupDiagonalPattern(EnumPattern a, EnumPattern b) { + a.setLeftRotation(b, false); + b.setLeftRotation(a, false); + a.setHorizontalFlip(b, false); + } - static void setupBarredPattern(EnumPattern l, EnumPattern t, EnumPattern r, EnumPattern b) { - l.setLeftRotation(b, false); - t.setLeftRotation(l, false); - r.setLeftRotation(t, false); - b.setLeftRotation(r, false); - l.setHorizontalFlip(r, false); - } + static void setupBarredPattern(EnumPattern l, EnumPattern t, EnumPattern r, EnumPattern b) { + l.setLeftRotation(b, false); + t.setLeftRotation(l, false); + r.setLeftRotation(t, false); + b.setLeftRotation(r, false); + l.setHorizontalFlip(r, false); + } - static void setupTSectionPattern(EnumPattern l, EnumPattern t, EnumPattern r, EnumPattern b) { - setupEdgedPattern(l, t, r, b); - } + static void setupTSectionPattern(EnumPattern l, EnumPattern t, EnumPattern r, EnumPattern b) { + setupEdgedPattern(l, t, r, b); + } - private static void setupRotation(EnumPattern t, EnumPattern r, EnumPattern b, EnumPattern l) { - setupEdgedPattern(l, t, r, b); - } + private static void setupRotation(EnumPattern t, EnumPattern r, EnumPattern b, EnumPattern l) { + setupEdgedPattern(l, t, r, b); + } - @Override - public IIcon getPrimaryIcon(IDesignSystem system) { - return system.getPrimaryIcon(this); - } + @Override + public IIcon getPrimaryIcon(IDesignSystem system) { + return system.getPrimaryIcon(this); + } - private void setHorizontalFlip(EnumPattern pattern, boolean inverted) { - horizontalFlip = Layout.get(pattern, inverted); - pattern.horizontalFlip = Layout.get(this, inverted); - } + private void setHorizontalFlip(EnumPattern pattern, boolean inverted) { + horizontalFlip = Layout.get(pattern, inverted); + pattern.horizontalFlip = Layout.get(this, inverted); + } - @Override - public IIcon getSecondaryIcon(IDesignSystem system) { - return system.getSecondaryIcon(this); - } + @Override + public IIcon getSecondaryIcon(IDesignSystem system) { + return system.getSecondaryIcon(this); + } - @Override - public ILayout getRotation() { - return leftRotation; - } + @Override + public ILayout getRotation() { + return leftRotation; + } - @Override - public ILayout getHorizontalFlip() { - return horizontalFlip; - } + @Override + public ILayout getHorizontalFlip() { + return horizontalFlip; + } - protected void setLeftRotation(EnumPattern pattern, boolean inverted) { - leftRotation = Layout.get(pattern, inverted); - } + protected void setLeftRotation(EnumPattern pattern, boolean inverted) { + leftRotation = Layout.get(pattern, inverted); + } - @Override - public void registerIcons(IIconRegister register) { - } + @Override + public void registerIcons(IIconRegister register) {} - public ILayout layout() { - return layout(false); - } + public ILayout layout() { + return layout(false); + } - public ILayout layout(boolean invert) { - return Layout.get(this, invert); - } + public ILayout layout(boolean invert) { + return Layout.get(this, invert); + } } diff --git a/src/main/java/binnie/extratrees/carpentry/GlassType.java b/src/main/java/binnie/extratrees/carpentry/GlassType.java index 2383e16e..87f5de11 100644 --- a/src/main/java/binnie/extratrees/carpentry/GlassType.java +++ b/src/main/java/binnie/extratrees/carpentry/GlassType.java @@ -4,102 +4,102 @@ import binnie.botany.Botany; import binnie.botany.genetics.EnumFlowerColor; import binnie.core.block.TileEntityMetadata; import binnie.extratrees.api.IDesignMaterial; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; - import java.awt.Color; import java.util.LinkedHashMap; import java.util.Map; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; public class GlassType implements IDesignMaterial { - protected static Map types = new LinkedHashMap<>(); + protected static Map types = new LinkedHashMap<>(); - static { - for (StandardColor c : StandardColor.values()) { - GlassType.types.put(c.ordinal(), new GlassType(c.ordinal(), c.name, c.color)); - } - for (EnumFlowerColor c2 : EnumFlowerColor.values()) { - GlassType.types.put(128 + c2.ordinal(), new GlassType(128 + c2.ordinal(), c2.getName(), c2.getColor(false))); - } - } + static { + for (StandardColor c : StandardColor.values()) { + GlassType.types.put(c.ordinal(), new GlassType(c.ordinal(), c.name, c.color)); + } + for (EnumFlowerColor c2 : EnumFlowerColor.values()) { + GlassType.types.put( + 128 + c2.ordinal(), new GlassType(128 + c2.ordinal(), c2.getName(), c2.getColor(false))); + } + } - protected String name; - protected int color; - protected int id; + protected String name; + protected int color; + protected int id; - private GlassType(int id, String name, int color) { - this.id = id; - this.name = name; - this.color = color; - } + private GlassType(int id, String name, int color) { + this.id = id; + this.name = name; + this.color = color; + } - public static int getIndex(IDesignMaterial id) { - for (Map.Entry entry : GlassType.types.entrySet()) { - if (entry.getValue() == id) { - return entry.getKey(); - } - } - return 0; - } + public static int getIndex(IDesignMaterial id) { + for (Map.Entry entry : GlassType.types.entrySet()) { + if (entry.getValue() == id) { + return entry.getKey(); + } + } + return 0; + } - public static IDesignMaterial get(int id) { - return GlassType.types.get(id); - } + public static IDesignMaterial get(int id) { + return GlassType.types.get(id); + } - public static IDesignMaterial get(ItemStack stack) { - if (stack == null) { - return null; - } - for (Map.Entry entry : GlassType.types.entrySet()) { - if (stack.isItemEqual(entry.getValue().getStack())) { - return entry.getValue(); - } - } - return null; - } + public static IDesignMaterial get(ItemStack stack) { + if (stack == null) { + return null; + } + for (Map.Entry entry : GlassType.types.entrySet()) { + if (stack.isItemEqual(entry.getValue().getStack())) { + return entry.getValue(); + } + } + return null; + } - @Override - public ItemStack getStack() { - if (id < 128) { - return new ItemStack(Blocks.stained_glass, 1, id); - } - return TileEntityMetadata.getItemStack(Botany.stained, id - 128); - } + @Override + public ItemStack getStack() { + if (id < 128) { + return new ItemStack(Blocks.stained_glass, 1, id); + } + return TileEntityMetadata.getItemStack(Botany.stained, id - 128); + } - @Override - public String getName() { - return name; - } + @Override + public String getName() { + return name; + } - @Override - public int getColor() { - return color; - } + @Override + public int getColor() { + return color; + } - private enum StandardColor { - White("White", new Color(0xffffff)), - Orange("Orange", new Color(0xd87f33)), - Magenta("Magenta", new Color(0xb24cd8)), - LightBlue("Light Blue", new Color(0x6699d8)), - Yellow("Yellow", new Color(0xe5e533)), - Lime("Lime", new Color(0x7fcc19)), - Pink("Pink", new Color(0xf27fa5)), - Gray("Gray", new Color(0x4c4c4c)), - LightGray("Light Gray", new Color(0x999999)), - Cyan("Cyan", new Color(0x4c7f99)), - Purple("Purple", new Color(0x7f3fb2)), - Blue("Blue", new Color(0x334cb2)), - Brown("Brown", new Color(0x664c33)), - Green("Green", new Color(0x667f33)), - Red("Red", new Color(0x993333)), - Black("Black", new Color(0x191919)); + private enum StandardColor { + White("White", new Color(0xffffff)), + Orange("Orange", new Color(0xd87f33)), + Magenta("Magenta", new Color(0xb24cd8)), + LightBlue("Light Blue", new Color(0x6699d8)), + Yellow("Yellow", new Color(0xe5e533)), + Lime("Lime", new Color(0x7fcc19)), + Pink("Pink", new Color(0xf27fa5)), + Gray("Gray", new Color(0x4c4c4c)), + LightGray("Light Gray", new Color(0x999999)), + Cyan("Cyan", new Color(0x4c7f99)), + Purple("Purple", new Color(0x7f3fb2)), + Blue("Blue", new Color(0x334cb2)), + Brown("Brown", new Color(0x664c33)), + Green("Green", new Color(0x667f33)), + Red("Red", new Color(0x993333)), + Black("Black", new Color(0x191919)); - protected String name; - protected int color; + protected String name; + protected int color; - StandardColor(String name, Color color) { - this.name = name; - this.color = color.getRGB(); - } - } + StandardColor(String name, Color color) { + this.name = name; + this.color = color.getRGB(); + } + } } diff --git a/src/main/java/binnie/extratrees/carpentry/Layout.java b/src/main/java/binnie/extratrees/carpentry/Layout.java index 432ad605..6cd3271c 100644 --- a/src/main/java/binnie/extratrees/carpentry/Layout.java +++ b/src/main/java/binnie/extratrees/carpentry/Layout.java @@ -6,72 +6,72 @@ import binnie.extratrees.api.IPattern; import net.minecraft.util.IIcon; public class Layout implements ILayout { - protected IPattern pattern; - protected boolean inverted; + protected IPattern pattern; + protected boolean inverted; - private Layout(IPattern pattern, boolean inverted) { - this.pattern = pattern; - this.inverted = inverted; - } + private Layout(IPattern pattern, boolean inverted) { + this.pattern = pattern; + this.inverted = inverted; + } - private Layout(IPattern pattern) { - this(pattern, false); - } + private Layout(IPattern pattern) { + this(pattern, false); + } - public static ILayout get(IPattern pattern, boolean inverted) { - return new Layout(pattern, inverted); - } + public static ILayout get(IPattern pattern, boolean inverted) { + return new Layout(pattern, inverted); + } - public static ILayout get(IPattern pattern) { - return new Layout(pattern, false); - } + public static ILayout get(IPattern pattern) { + return new Layout(pattern, false); + } - @Override - public IPattern getPattern() { - return pattern; - } + @Override + public IPattern getPattern() { + return pattern; + } - @Override - public boolean isInverted() { - return inverted; - } + @Override + public boolean isInverted() { + return inverted; + } - ILayout newLayout(ILayout newLayout) { - return new Layout(newLayout.getPattern(), inverted ^ newLayout.isInverted()); - } + ILayout newLayout(ILayout newLayout) { + return new Layout(newLayout.getPattern(), inverted ^ newLayout.isInverted()); + } - @Override - public ILayout rotateRight() { - return rotateLeft().rotateLeft().rotateLeft(); - } + @Override + public ILayout rotateRight() { + return rotateLeft().rotateLeft().rotateLeft(); + } - @Override - public ILayout rotateLeft() { - return newLayout(pattern.getRotation()); - } + @Override + public ILayout rotateLeft() { + return newLayout(pattern.getRotation()); + } - @Override - public ILayout flipHorizontal() { - return newLayout(pattern.getHorizontalFlip()); - } + @Override + public ILayout flipHorizontal() { + return newLayout(pattern.getHorizontalFlip()); + } - @Override - public ILayout flipVertical() { - return newLayout(pattern.getHorizontalFlip().rotateLeft().rotateLeft()); - } + @Override + public ILayout flipVertical() { + return newLayout(pattern.getHorizontalFlip().rotateLeft().rotateLeft()); + } - @Override - public IIcon getPrimaryIcon(IDesignSystem system) { - return inverted ? pattern.getSecondaryIcon(system) : pattern.getPrimaryIcon(system); - } + @Override + public IIcon getPrimaryIcon(IDesignSystem system) { + return inverted ? pattern.getSecondaryIcon(system) : pattern.getPrimaryIcon(system); + } - @Override - public IIcon getSecondaryIcon(IDesignSystem system) { - return inverted ? pattern.getPrimaryIcon(system) : pattern.getSecondaryIcon(system); - } + @Override + public IIcon getSecondaryIcon(IDesignSystem system) { + return inverted ? pattern.getPrimaryIcon(system) : pattern.getSecondaryIcon(system); + } - @Override - public ILayout invert() { - return new Layout(pattern, !inverted); - } + @Override + public ILayout invert() { + return new Layout(pattern, !inverted); + } } diff --git a/src/main/java/binnie/extratrees/carpentry/ModuleCarpentry.java b/src/main/java/binnie/extratrees/carpentry/ModuleCarpentry.java index f08f5d4c..b2fe78a9 100644 --- a/src/main/java/binnie/extratrees/carpentry/ModuleCarpentry.java +++ b/src/main/java/binnie/extratrees/carpentry/ModuleCarpentry.java @@ -17,83 +17,92 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.ForgeDirection; public class ModuleCarpentry implements IInitializable { - static { - CarpentryManager.carpentryInterface = new CarpentryInterface(); - } + static { + CarpentryManager.carpentryInterface = new CarpentryInterface(); + } - public static ItemStack getItemStack(BlockDesign block, IDesignMaterial type1, IDesignMaterial type2, IDesign design) { - return getItemStack(block, block.getDesignSystem().getMaterialIndex(type1), block.getDesignSystem().getMaterialIndex(type2), CarpentryManager.carpentryInterface.getDesignIndex(design)); - } + public static ItemStack getItemStack( + BlockDesign block, IDesignMaterial type1, IDesignMaterial type2, IDesign design) { + return getItemStack( + block, + block.getDesignSystem().getMaterialIndex(type1), + block.getDesignSystem().getMaterialIndex(type2), + CarpentryManager.carpentryInterface.getDesignIndex(design)); + } - public static ItemStack getItemStack(BlockDesign block, int type1, int type2, int design) { - return TileEntityMetadata.getItemStack(block, getMetadata(type1, type2, design, 0, ForgeDirection.UP.ordinal())); - } + public static ItemStack getItemStack(BlockDesign block, int type1, int type2, int design) { + return TileEntityMetadata.getItemStack( + block, getMetadata(type1, type2, design, 0, ForgeDirection.UP.ordinal())); + } - public static ItemStack getItemStack(BlockDesign blockC, DesignBlock block) { - return getItemStack(blockC, block.getPrimaryMaterial(), block.getSecondaryMaterial(), block.getDesign()); - } + public static ItemStack getItemStack(BlockDesign blockC, DesignBlock block) { + return getItemStack(blockC, block.getPrimaryMaterial(), block.getSecondaryMaterial(), block.getDesign()); + } - public static int getMetadata(int plank1, int plank2, int design, int rotation, int facing) { - return plank1 + (plank2 << 8) + (design << 16) + (rotation << 26) + (facing << 28); - } + public static int getMetadata(int plank1, int plank2, int design, int rotation, int facing) { + return plank1 + (plank2 << 8) + (design << 16) + (rotation << 26) + (facing << 28); + } - public static DesignBlock getDesignBlock(IDesignSystem system, int meta) { - int plankID1 = meta & 0xFF; - int plankID2 = meta >> 8 & 0xFF; - int tile = meta >> 16 & 0x3FF; - int rotation = meta >> 26 & 0x3; - int axis = meta >> 28 & 0x7; - IDesignMaterial type1 = system.getMaterial(plankID1); - IDesignMaterial type2 = system.getMaterial(plankID2); - IDesign type3 = CarpentryManager.carpentryInterface.getDesign(tile); - return new DesignBlock(system, type1, type2, type3, rotation, ForgeDirection.getOrientation(axis)); - } + public static DesignBlock getDesignBlock(IDesignSystem system, int meta) { + int plankID1 = meta & 0xFF; + int plankID2 = meta >> 8 & 0xFF; + int tile = meta >> 16 & 0x3FF; + int rotation = meta >> 26 & 0x3; + int axis = meta >> 28 & 0x7; + IDesignMaterial type1 = system.getMaterial(plankID1); + IDesignMaterial type2 = system.getMaterial(plankID2); + IDesign type3 = CarpentryManager.carpentryInterface.getDesign(tile); + return new DesignBlock(system, type1, type2, type3, rotation, ForgeDirection.getOrientation(axis)); + } - public static DesignBlock getCarpentryPanel(IDesignSystem system, int meta) { - DesignBlock block = getDesignBlock(system, meta); - block.setPanel(); - return block; - } + public static DesignBlock getCarpentryPanel(IDesignSystem system, int meta) { + DesignBlock block = getDesignBlock(system, meta); + block.setPanel(); + return block; + } - public static int getBlockMetadata(IDesignSystem system, DesignBlock block) { - int plank1 = system.getMaterialIndex(block.getPrimaryMaterial()); - int plank2 = system.getMaterialIndex(block.getSecondaryMaterial()); - int design = CarpentryManager.carpentryInterface.getDesignIndex(block.getDesign()); - int rotation = block.getRotation(); - int facing = block.getFacing().ordinal(); - return getMetadata(plank1, plank2, design, rotation, facing); - } + public static int getBlockMetadata(IDesignSystem system, DesignBlock block) { + int plank1 = system.getMaterialIndex(block.getPrimaryMaterial()); + int plank2 = system.getMaterialIndex(block.getSecondaryMaterial()); + int design = CarpentryManager.carpentryInterface.getDesignIndex(block.getDesign()); + int rotation = block.getRotation(); + int facing = block.getFacing().ordinal(); + return getMetadata(plank1, plank2, design, rotation, facing); + } - public static int getItemMetadata(IDesignSystem system, DesignBlock block) { - int plank1 = system.getMaterialIndex(block.getPrimaryMaterial()); - int plank2 = system.getMaterialIndex(block.getSecondaryMaterial()); - int design = CarpentryManager.carpentryInterface.getDesignIndex(block.getDesign()); - return getMetadata(plank1, plank2, design, 0, ForgeDirection.UP.ordinal()); - } + public static int getItemMetadata(IDesignSystem system, DesignBlock block) { + int plank1 = system.getMaterialIndex(block.getPrimaryMaterial()); + int plank2 = system.getMaterialIndex(block.getSecondaryMaterial()); + int design = CarpentryManager.carpentryInterface.getDesignIndex(block.getDesign()); + return getMetadata(plank1, plank2, design, 0, ForgeDirection.UP.ordinal()); + } - @Override - public void preInit() { - ExtraTrees.blockCarpentry = new BlockCarpentry(); - ExtraTrees.blockPanel = new BlockCarpentryPanel(); - ExtraTrees.blockStained = new BlockStainedDesign(); - GameRegistry.registerBlock(ExtraTrees.blockCarpentry, ItemMetadata.class, "carpentry"); - GameRegistry.registerBlock(ExtraTrees.blockPanel, ItemMetadata.class, "panel"); - GameRegistry.registerBlock(ExtraTrees.blockStained, ItemMetadata.class, "stainedglass"); - BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(ExtraTrees.blockCarpentry), new MultipassItemRenderer()); - BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(ExtraTrees.blockStained), new MultipassItemRenderer()); - MinecraftForge.EVENT_BUS.register(ExtraTrees.blockCarpentry); - BinnieCore.proxy.registerCustomItemRenderer(Item.getItemFromBlock(ExtraTrees.blockPanel), new MultipassItemRenderer()); - } + @Override + public void preInit() { + ExtraTrees.blockCarpentry = new BlockCarpentry(); + ExtraTrees.blockPanel = new BlockCarpentryPanel(); + ExtraTrees.blockStained = new BlockStainedDesign(); + GameRegistry.registerBlock(ExtraTrees.blockCarpentry, ItemMetadata.class, "carpentry"); + GameRegistry.registerBlock(ExtraTrees.blockPanel, ItemMetadata.class, "panel"); + GameRegistry.registerBlock(ExtraTrees.blockStained, ItemMetadata.class, "stainedglass"); + BinnieCore.proxy.registerCustomItemRenderer( + Item.getItemFromBlock(ExtraTrees.blockCarpentry), new MultipassItemRenderer()); + BinnieCore.proxy.registerCustomItemRenderer( + Item.getItemFromBlock(ExtraTrees.blockStained), new MultipassItemRenderer()); + MinecraftForge.EVENT_BUS.register(ExtraTrees.blockCarpentry); + BinnieCore.proxy.registerCustomItemRenderer( + Item.getItemFromBlock(ExtraTrees.blockPanel), new MultipassItemRenderer()); + } - @Override - public void init() { - // ignored - } + @Override + public void init() { + // ignored + } - @Override - public void postInit() { - for (EnumDesign design : EnumDesign.values()) { - CarpentryManager.carpentryInterface.registerDesign(design.ordinal(), design); - } - } + @Override + public void postInit() { + for (EnumDesign design : EnumDesign.values()) { + CarpentryManager.carpentryInterface.registerDesign(design.ordinal(), design); + } + } } diff --git a/src/main/java/binnie/extratrees/config/ConfigurationMain.java b/src/main/java/binnie/extratrees/config/ConfigurationMain.java index 44c77e37..b11f39bd 100644 --- a/src/main/java/binnie/extratrees/config/ConfigurationMain.java +++ b/src/main/java/binnie/extratrees/config/ConfigurationMain.java @@ -6,10 +6,9 @@ import binnie.core.mod.config.PropBoolean; @ConfigFile(filename = "/config/forestry/extratrees/main.conf") public class ConfigurationMain { - @ConfigProperty( - key = "lemon.citrus.family", - comment = {"Uses reflection to convert the Forestry lemon tree to the Citrus family."} - ) - @PropBoolean - public static boolean alterLemon = true; + @ConfigProperty( + key = "lemon.citrus.family", + comment = {"Uses reflection to convert the Forestry lemon tree to the Citrus family."}) + @PropBoolean + public static boolean alterLemon = true; } diff --git a/src/main/java/binnie/extratrees/core/ExtraTreeTexture.java b/src/main/java/binnie/extratrees/core/ExtraTreeTexture.java index adae992e..2ac5650c 100644 --- a/src/main/java/binnie/extratrees/core/ExtraTreeTexture.java +++ b/src/main/java/binnie/extratrees/core/ExtraTreeTexture.java @@ -7,29 +7,29 @@ import binnie.core.resource.ResourceType; import binnie.extratrees.ExtraTrees; public enum ExtraTreeTexture implements IBinnieTexture { - Gui(ResourceType.GUI, "gui"), - Nursery(ResourceType.Tile, "Nursery"); + Gui(ResourceType.GUI, "gui"), + Nursery(ResourceType.Tile, "Nursery"); - public static String carpenterTexture = "extratrees/carpenter_"; - public static String panelerTexture = "extratrees/paneler_"; - public static String tileworkerTexture = "extratrees/tileworker_"; - public static String incubatorTexture = "extratrees/incubator_"; - public static String lumbermillTexture = "extratrees/sawmill_"; - public static String pressTexture = "extratrees/press_"; - public static String distilleryTexture = "extratrees/distillery_"; - public static String breweryTexture = "extratrees/brewery_"; - public static String infuserTexture = "extratrees/infuser_"; + public static String carpenterTexture = "extratrees/carpenter_"; + public static String panelerTexture = "extratrees/paneler_"; + public static String tileworkerTexture = "extratrees/tileworker_"; + public static String incubatorTexture = "extratrees/incubator_"; + public static String lumbermillTexture = "extratrees/sawmill_"; + public static String pressTexture = "extratrees/press_"; + public static String distilleryTexture = "extratrees/distillery_"; + public static String breweryTexture = "extratrees/brewery_"; + public static String infuserTexture = "extratrees/infuser_"; - protected String texture; - protected ResourceType type; + protected String texture; + protected ResourceType type; - ExtraTreeTexture(ResourceType base, String texture) { - this.texture = texture; - type = base; - } + ExtraTreeTexture(ResourceType base, String texture) { + this.texture = texture; + type = base; + } - @Override - public BinnieResource getTexture() { - return Binnie.Resource.getPNG(ExtraTrees.instance, type, texture); - } + @Override + public BinnieResource getTexture() { + return Binnie.Resource.getPNG(ExtraTrees.instance, type, texture); + } } diff --git a/src/main/java/binnie/extratrees/core/ExtraTreesGUID.java b/src/main/java/binnie/extratrees/core/ExtraTreesGUID.java index 60ad2063..0ac27784 100644 --- a/src/main/java/binnie/extratrees/core/ExtraTreesGUID.java +++ b/src/main/java/binnie/extratrees/core/ExtraTreesGUID.java @@ -14,47 +14,47 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public enum ExtraTreesGUID implements IBinnieGUID { - Database, - Woodworker, - Lumbermill, - DatabaseNEI, - Incubator, - MothDatabase, - MothDatabaseNEI, - Infuser, - SetSquare; + Database, + Woodworker, + Lumbermill, + DatabaseNEI, + Incubator, + MothDatabase, + MothDatabaseNEI, + Infuser, + SetSquare; - @Override - public Window getWindow(EntityPlayer player, World world, int x, int y, int z, Side side) { - Window window = null; - TileEntity tileEntity = world.getTileEntity(x, y, z); - IInventory object = null; - if (tileEntity instanceof IInventory) { - object = (IInventory) tileEntity; - } - switch (this) { - case Database: - case DatabaseNEI: - window = WindowArboristDatabase.create(player, side, this != ExtraTreesGUID.Database); - break; + @Override + public Window getWindow(EntityPlayer player, World world, int x, int y, int z, Side side) { + Window window = null; + TileEntity tileEntity = world.getTileEntity(x, y, z); + IInventory object = null; + if (tileEntity instanceof IInventory) { + object = (IInventory) tileEntity; + } + switch (this) { + case Database: + case DatabaseNEI: + window = WindowArboristDatabase.create(player, side, this != ExtraTreesGUID.Database); + break; - case Woodworker: - window = WindowWoodworker.create(player, object, side); - break; + case Woodworker: + window = WindowWoodworker.create(player, object, side); + break; - case Lumbermill: - window = WindowLumbermill.create(player, object, side); - break; + case Lumbermill: + window = WindowLumbermill.create(player, object, side); + break; - case MothDatabase: - case MothDatabaseNEI: - window = WindowLepidopteristDatabase.create(player, side, this != ExtraTreesGUID.MothDatabase); - break; + case MothDatabase: + case MothDatabaseNEI: + window = WindowLepidopteristDatabase.create(player, side, this != ExtraTreesGUID.MothDatabase); + break; - case SetSquare: - window = WindowSetSquare.create(player, world, x, y, z, side); - break; - } - return window; - } + case SetSquare: + window = WindowSetSquare.create(player, world, x, y, z, side); + break; + } + return window; + } } diff --git a/src/main/java/binnie/extratrees/core/ModuleCore.java b/src/main/java/binnie/extratrees/core/ModuleCore.java index b89e1fa0..08af1af2 100644 --- a/src/main/java/binnie/extratrees/core/ModuleCore.java +++ b/src/main/java/binnie/extratrees/core/ModuleCore.java @@ -10,7 +10,6 @@ import binnie.extratrees.block.PlankType; import binnie.extratrees.genetics.ExtraTreeFruitGene; import binnie.extratrees.genetics.ExtraTreeSpecies; import forestry.api.arboriculture.IAlleleTreeSpecies; - import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; @@ -19,132 +18,135 @@ import java.util.LinkedList; import java.util.Queue; public class ModuleCore implements IInitializable { - @Override - public void preInit() { - // ignored - } + @Override + public void preInit() { + // ignored + } - @Override - public void init() { - // ignored - } + @Override + public void init() { + // ignored + } - @Override - public void postInit() { - if (!BinnieCore.proxy.isDebug()) { - return; - } + @Override + public void postInit() { + if (!BinnieCore.proxy.isDebug()) { + return; + } - try { - PrintWriter outputSpecies = new PrintWriter(new FileWriter("data/species.html")); - PrintWriter outputLogs = new PrintWriter(new FileWriter("data/logs.html")); - PrintWriter outputPlanks = new PrintWriter(new FileWriter("data/planks.html")); - PrintWriter outputFruit = new PrintWriter(new FileWriter("data/fruit.html")); - PrintWriter outputDesigns = new PrintWriter(new FileWriter("data/designs.html")); - Queue speciesQueue = new LinkedList<>(); - Collections.addAll(speciesQueue, ExtraTreeSpecies.values()); + try { + PrintWriter outputSpecies = new PrintWriter(new FileWriter("data/species.html")); + PrintWriter outputLogs = new PrintWriter(new FileWriter("data/logs.html")); + PrintWriter outputPlanks = new PrintWriter(new FileWriter("data/planks.html")); + PrintWriter outputFruit = new PrintWriter(new FileWriter("data/fruit.html")); + PrintWriter outputDesigns = new PrintWriter(new FileWriter("data/designs.html")); + Queue speciesQueue = new LinkedList<>(); + Collections.addAll(speciesQueue, ExtraTreeSpecies.values()); - Queue logQueue = new LinkedList<>(); - Collections.addAll(logQueue, ILogType.ExtraTreeLog.values()); + Queue logQueue = new LinkedList<>(); + Collections.addAll(logQueue, ILogType.ExtraTreeLog.values()); - Queue plankQueue = new LinkedList<>(); - Collections.addAll(plankQueue, PlankType.ExtraTreePlanks.values()); + Queue plankQueue = new LinkedList<>(); + Collections.addAll(plankQueue, PlankType.ExtraTreePlanks.values()); - Queue fruitQueue = new LinkedList<>(); - Collections.addAll(fruitQueue, ExtraTreeFruitGene.values()); + Queue fruitQueue = new LinkedList<>(); + Collections.addAll(fruitQueue, ExtraTreeFruitGene.values()); - Queue designQueue = new LinkedList<>(); - designQueue.addAll(CarpentryManager.carpentryInterface.getSortedDesigns()); + Queue designQueue = new LinkedList<>(); + designQueue.addAll(CarpentryManager.carpentryInterface.getSortedDesigns()); - fruitQueue.remove(ExtraTreeFruitGene.Apple); - outputSpecies.println(""); - while (!speciesQueue.isEmpty()) { - outputSpecies.println(""); - for (int i = 0; i < 4; ++i) { - IAlleleTreeSpecies species = speciesQueue.poll(); - outputSpecies.println(""); - } - outputSpecies.println(""); - } + fruitQueue.remove(ExtraTreeFruitGene.Apple); + outputSpecies.println("
" + ((species == null) ? "" : species.getName()) + "
"); + while (!speciesQueue.isEmpty()) { + outputSpecies.println(""); + for (int i = 0; i < 4; ++i) { + IAlleleTreeSpecies species = speciesQueue.poll(); + outputSpecies.println(""); + } + outputSpecies.println(""); + } - outputSpecies.println("
" + ((species == null) ? "" : species.getName()) + "
"); - outputLogs.println(""); + outputSpecies.println("
"); + outputLogs.println(""); - while (!logQueue.isEmpty()) { - outputLogs.println(""); - for (int i = 0; i < 4; ++i) { - ILogType.ExtraTreeLog wood5 = (ILogType.ExtraTreeLog) logQueue.poll(); - if (wood5 == null) { - outputLogs.println(""); - } else { - String img = "\"""; - outputLogs.println(""); - } - } - outputLogs.println(""); - } + while (!logQueue.isEmpty()) { + outputLogs.println(""); + for (int i = 0; i < 4; ++i) { + ILogType.ExtraTreeLog wood5 = (ILogType.ExtraTreeLog) logQueue.poll(); + if (wood5 == null) { + outputLogs.println(""); + } else { + String img = "\"""; + outputLogs.println(""); + } + } + outputLogs.println(""); + } - outputLogs.println("
" + img + " " + wood5.getName() + "
" + img + " " + wood5.getName() + "
"); - outputPlanks.println(""); + outputLogs.println("
"); + outputPlanks.println(""); - while (!plankQueue.isEmpty()) { - outputPlanks.println(""); - for (int i = 0; i < 4; ++i) { - IDesignMaterial wood2 = plankQueue.poll(); - if (wood2 == null) { - outputPlanks.println(""); - } else { - String img = "\"""; - outputPlanks.println(""); - } - } - outputPlanks.println(""); - } + while (!plankQueue.isEmpty()) { + outputPlanks.println(""); + for (int i = 0; i < 4; ++i) { + IDesignMaterial wood2 = plankQueue.poll(); + if (wood2 == null) { + outputPlanks.println(""); + } else { + String img = "\"""; + outputPlanks.println(""); + } + } + outputPlanks.println(""); + } - outputPlanks.println("
" + img + " " + wood2.getName() + "
" + img + " " + wood2.getName() + "
"); - outputFruit.println(""); + outputPlanks.println("
"); + outputFruit.println(""); - while (!fruitQueue.isEmpty()) { - outputFruit.println(""); - for (int i = 0; i < 4; ++i) { - ExtraTreeFruitGene wood6 = fruitQueue.poll(); - if (wood6 == null) { - outputFruit.println(""); - } else { - String fruit = wood6.getNameOfFruit(); - String img2 = "\"""; - outputFruit.println(""); - } - } - outputFruit.println(""); - } + while (!fruitQueue.isEmpty()) { + outputFruit.println(""); + for (int i = 0; i < 4; ++i) { + ExtraTreeFruitGene wood6 = fruitQueue.poll(); + if (wood6 == null) { + outputFruit.println(""); + } else { + String fruit = wood6.getNameOfFruit(); + String img2 = "\"""; + outputFruit.println(""); + } + } + outputFruit.println(""); + } - outputFruit.println("
" + img2 + " " + wood6.getName() + "
" + img2 + " " + wood6.getName() + "
"); - outputDesigns.println(""); + outputFruit.println("
"); + outputDesigns.println(""); - while (!designQueue.isEmpty()) { - outputDesigns.println(""); - for (int i = 0; i < 4; ++i) { - IDesign wood4 = designQueue.poll(); - if (wood4 == null) { - outputDesigns.println(""); - } else { - String texture = wood4.getTopPattern().getPattern().toString().toLowerCase(); - String img2 = "\"""; - outputDesigns.println(""); - } - } - outputDesigns.println(""); - } + while (!designQueue.isEmpty()) { + outputDesigns.println(""); + for (int i = 0; i < 4; ++i) { + IDesign wood4 = designQueue.poll(); + if (wood4 == null) { + outputDesigns.println(""); + } else { + String texture = + wood4.getTopPattern().getPattern().toString().toLowerCase(); + String img2 = "\"""; + outputDesigns.println(""); + } + } + outputDesigns.println(""); + } - outputDesigns.println("
" + img2 + " " + wood4.getName() + "
" + img2 + " " + wood4.getName() + "
"); - outputSpecies.close(); - outputLogs.close(); - outputPlanks.close(); - outputFruit.close(); - outputDesigns.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } + outputDesigns.println(""); + outputSpecies.close(); + outputLogs.close(); + outputPlanks.close(); + outputFruit.close(); + outputDesigns.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } } diff --git a/src/main/java/binnie/extratrees/craftgui/ControlBlockIconDisplay.java b/src/main/java/binnie/extratrees/craftgui/ControlBlockIconDisplay.java index 6aa396ec..73a708d5 100644 --- a/src/main/java/binnie/extratrees/craftgui/ControlBlockIconDisplay.java +++ b/src/main/java/binnie/extratrees/craftgui/ControlBlockIconDisplay.java @@ -7,15 +7,15 @@ import binnie.core.craftgui.geometry.IPoint; import net.minecraft.util.IIcon; public class ControlBlockIconDisplay extends Control { - protected IIcon icon; + protected IIcon icon; - public ControlBlockIconDisplay(IWidget parent, float x, float y, IIcon icon) { - super(parent, x, y, 18.0f, 18.0f); - this.icon = icon; - } + public ControlBlockIconDisplay(IWidget parent, float x, float y, IIcon icon) { + super(parent, x, y, 18.0f, 18.0f); + this.icon = icon; + } - @Override - public void onRenderBackground() { - CraftGUI.render.iconBlock(IPoint.ZERO, icon); - } + @Override + public void onRenderBackground() { + CraftGUI.render.iconBlock(IPoint.ZERO, icon); + } } diff --git a/src/main/java/binnie/extratrees/craftgui/ControlFluidDisplay.java b/src/main/java/binnie/extratrees/craftgui/ControlFluidDisplay.java index 0a2b12b0..4dbf5b4a 100644 --- a/src/main/java/binnie/extratrees/craftgui/ControlFluidDisplay.java +++ b/src/main/java/binnie/extratrees/craftgui/ControlFluidDisplay.java @@ -13,76 +13,76 @@ import net.minecraftforge.fluids.FluidStack; import org.lwjgl.opengl.GL11; public class ControlFluidDisplay extends Control implements ITooltip { - public boolean hasTooltip; + public boolean hasTooltip; - protected FluidStack itemStack; + protected FluidStack itemStack; - public ControlFluidDisplay(IWidget parent, float f, float y) { - this(parent, f, y, 16.0f); - } + public ControlFluidDisplay(IWidget parent, float f, float y) { + this(parent, f, y, 16.0f); + } - public ControlFluidDisplay(IWidget parent, float f, float y, FluidStack stack, boolean tooltip) { - this(parent, f, y, 16.0f); - setItemStack(stack); - if (tooltip) { - setTooltip(); - } - } + public ControlFluidDisplay(IWidget parent, float f, float y, FluidStack stack, boolean tooltip) { + this(parent, f, y, 16.0f); + setItemStack(stack); + if (tooltip) { + setTooltip(); + } + } - public ControlFluidDisplay(IWidget parent, float x, float y, float size) { - super(parent, x, y, size, size); - itemStack = null; - hasTooltip = false; - } + public ControlFluidDisplay(IWidget parent, float x, float y, float size) { + super(parent, x, y, size, size); + itemStack = null; + hasTooltip = false; + } - public void setTooltip() { - hasTooltip = true; - addAttribute(WidgetAttribute.MOUSE_OVER); - } + public void setTooltip() { + hasTooltip = true; + addAttribute(WidgetAttribute.MOUSE_OVER); + } - @Override - public void onRenderForeground() { - if (itemStack == null) { - return; - } + @Override + public void onRenderForeground() { + if (itemStack == null) { + return; + } - IPoint relativeToWindow = getAbsolutePosition().sub(getSuperParent().getPosition()); - if (relativeToWindow.x() > Window.get(this).getSize().x() + 100.0f - || relativeToWindow.y() > Window.get(this).getSize().y() + 100.0f - || itemStack == null) { - return; - } + IPoint relativeToWindow = getAbsolutePosition().sub(getSuperParent().getPosition()); + if (relativeToWindow.x() > Window.get(this).getSize().x() + 100.0f + || relativeToWindow.y() > Window.get(this).getSize().y() + 100.0f + || itemStack == null) { + return; + } - Fluid fluid = itemStack.getFluid(); - int hex = fluid.getColor(itemStack); - int r = (hex & 0xFF0000) >> 16; - int g = (hex & 0xFF00) >> 8; - int b = hex & 0xFF; - GL11.glColor4f(r / 255.0f, g / 255.0f, b / 255.0f, 1.0f); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + Fluid fluid = itemStack.getFluid(); + int hex = fluid.getColor(itemStack); + int r = (hex & 0xFF0000) >> 16; + int g = (hex & 0xFF00) >> 8; + int b = hex & 0xFF; + GL11.glColor4f(r / 255.0f, g / 255.0f, b / 255.0f, 1.0f); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - if (getSize().x() != 16.0f) { - GL11.glPushMatrix(); - float scale = getSize().x() / 16.0f; - GL11.glScalef(scale, scale, 1.0f); - CraftGUI.render.iconBlock(IPoint.ZERO, itemStack.getFluid().getIcon(itemStack)); - GL11.glPopMatrix(); - } else { - CraftGUI.render.iconBlock(IPoint.ZERO, itemStack.getFluid().getIcon(itemStack)); - } - GL11.glDisable(GL11.GL_BLEND); - GL11.glColor4f(1, 1, 1, 1.0f); - } + if (getSize().x() != 16.0f) { + GL11.glPushMatrix(); + float scale = getSize().x() / 16.0f; + GL11.glScalef(scale, scale, 1.0f); + CraftGUI.render.iconBlock(IPoint.ZERO, itemStack.getFluid().getIcon(itemStack)); + GL11.glPopMatrix(); + } else { + CraftGUI.render.iconBlock(IPoint.ZERO, itemStack.getFluid().getIcon(itemStack)); + } + GL11.glDisable(GL11.GL_BLEND); + GL11.glColor4f(1, 1, 1, 1.0f); + } - public void setItemStack(FluidStack itemStack) { - this.itemStack = itemStack; - } + public void setItemStack(FluidStack itemStack) { + this.itemStack = itemStack; + } - @Override - public void getTooltip(Tooltip tooltip) { - if (hasTooltip && itemStack != null) { - tooltip.add(itemStack.getLocalizedName()); - } - } + @Override + public void getTooltip(Tooltip tooltip) { + if (hasTooltip && itemStack != null) { + tooltip.add(itemStack.getLocalizedName()); + } + } } diff --git a/src/main/java/binnie/extratrees/craftgui/ControlLumbermillProgress.java b/src/main/java/binnie/extratrees/craftgui/ControlLumbermillProgress.java index 11504371..0d4bfb1c 100644 --- a/src/main/java/binnie/extratrees/craftgui/ControlLumbermillProgress.java +++ b/src/main/java/binnie/extratrees/craftgui/ControlLumbermillProgress.java @@ -19,72 +19,75 @@ import net.minecraft.util.IIcon; import org.lwjgl.opengl.GL11; public class ControlLumbermillProgress extends ControlProgressBase { - protected static Texture saw = new StandardTexture(0, 0, 6, 32, ExtraTreeTexture.Gui); - protected static Texture saw2 = new StandardTexture(2, 0, 4, 32, ExtraTreeTexture.Gui); + protected static Texture saw = new StandardTexture(0, 0, 6, 32, ExtraTreeTexture.Gui); + protected static Texture saw2 = new StandardTexture(2, 0, 4, 32, ExtraTreeTexture.Gui); - protected float oldProgress; - protected float animation; + protected float oldProgress; + protected float animation; - public ControlLumbermillProgress(IWidget parent, float x, float y) { - super(parent, x, y, 66.0f, 18.0f); - oldProgress = 0.0f; - animation = 0.0f; - new Panel(this, 0.0f, 0.0f, 66.0f, 18.0f, MinecraftGUI.PanelType.Black); - } + public ControlLumbermillProgress(IWidget parent, float x, float y) { + super(parent, x, y, 66.0f, 18.0f); + oldProgress = 0.0f; + animation = 0.0f; + new Panel(this, 0.0f, 0.0f, 66.0f, 18.0f, MinecraftGUI.PanelType.Black); + } - @Override - public void onUpdateClient() { - super.onUpdateClient(); - if (oldProgress != progress) { - oldProgress = progress; - animation += 5.0f; - } - } + @Override + public void onUpdateClient() { + super.onUpdateClient(); + if (oldProgress != progress) { + oldProgress = progress; + animation += 5.0f; + } + } - @Override - public void onRenderForeground() { - GL11.glDisable(2896); - int sawX = (int) (63.0f * progress); - CraftGUI.render.texture(ControlLumbermillProgress.saw, new IPoint(sawX, -8.0f + 6.0f * (float) Math.sin(animation))); - ItemStack item = Window.get(this).getInventory().getStackInSlot(Lumbermill.SLOT_WOOD); - if (item == null) { - return; - } + @Override + public void onRenderForeground() { + GL11.glDisable(2896); + int sawX = (int) (63.0f * progress); + CraftGUI.render.texture( + ControlLumbermillProgress.saw, new IPoint(sawX, -8.0f + 6.0f * (float) Math.sin(animation))); + ItemStack item = Window.get(this).getInventory().getStackInSlot(Lumbermill.SLOT_WOOD); + if (item == null) { + return; + } - GL11.glDisable(2896); - Block block = null; - if (item.getItem() instanceof ItemBlock) { - block = ((ItemBlock) item.getItem()).field_150939_a; - } - if (block == null) { - return; - } + GL11.glDisable(2896); + Block block = null; + if (item.getItem() instanceof ItemBlock) { + block = ((ItemBlock) item.getItem()).field_150939_a; + } + if (block == null) { + return; + } - IIcon icon = block.getIcon(2, item.getItemDamage()); - for (int i = 0; i < 4; ++i) { - CraftGUI.render.iconBlock(new IPoint(1 + i * 16, 1.0f), icon); - } - ItemStack result = Lumbermill.getPlankProduct(item); - if (result == null) { - return; - } + IIcon icon = block.getIcon(2, item.getItemDamage()); + for (int i = 0; i < 4; ++i) { + CraftGUI.render.iconBlock(new IPoint(1 + i * 16, 1.0f), icon); + } + ItemStack result = Lumbermill.getPlankProduct(item); + if (result == null) { + return; + } - Block block2 = null; - if (item.getItem() instanceof ItemBlock) { - block2 = ((ItemBlock) result.getItem()).field_150939_a; - } - if (block2 == null) { - return; - } + Block block2 = null; + if (item.getItem() instanceof ItemBlock) { + block2 = ((ItemBlock) result.getItem()).field_150939_a; + } + if (block2 == null) { + return; + } - IIcon icon2 = block2.getIcon(2, result.getItemDamage()); - IPoint pos = getAbsolutePosition(); - CraftGUI.render.limitArea(new IArea(pos.add(new IPoint(0.0f, 0.0f)), new IPoint(progress * 64.0f + 2.0f, 18.0f))); - GL11.glEnable(3089); - for (int j = 0; j < 4; ++j) { - CraftGUI.render.iconBlock(new IPoint(1 + j * 16, 1.0f), icon2); - } - GL11.glDisable(3089); - CraftGUI.render.texture(ControlLumbermillProgress.saw2, new IPoint(sawX + 2, -8.0f + 6.0f * (float) Math.sin(animation))); - } + IIcon icon2 = block2.getIcon(2, result.getItemDamage()); + IPoint pos = getAbsolutePosition(); + CraftGUI.render.limitArea( + new IArea(pos.add(new IPoint(0.0f, 0.0f)), new IPoint(progress * 64.0f + 2.0f, 18.0f))); + GL11.glEnable(3089); + for (int j = 0; j < 4; ++j) { + CraftGUI.render.iconBlock(new IPoint(1 + j * 16, 1.0f), icon2); + } + GL11.glDisable(3089); + CraftGUI.render.texture( + ControlLumbermillProgress.saw2, new IPoint(sawX + 2, -8.0f + 6.0f * (float) Math.sin(animation))); + } } diff --git a/src/main/java/binnie/extratrees/craftgui/ControlRecipeSlot.java b/src/main/java/binnie/extratrees/craftgui/ControlRecipeSlot.java index e7de3e6a..4a3fe90e 100644 --- a/src/main/java/binnie/extratrees/craftgui/ControlRecipeSlot.java +++ b/src/main/java/binnie/extratrees/craftgui/ControlRecipeSlot.java @@ -12,28 +12,29 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; public class ControlRecipeSlot extends ControlSlotBase { - public ControlRecipeSlot(IWidget parent, int x, int y) { - super(parent, x, y, 50); - addSelfEventHandler(new MouseDownHandler()); - setRotating(); - } + public ControlRecipeSlot(IWidget parent, int x, int y) { + super(parent, x, y, 50); + addSelfEventHandler(new MouseDownHandler()); + setRotating(); + } - @Override - public ItemStack getItemStack() { - IComponentRecipe recipe = Machine.getInterface(IComponentRecipe.class, Window.get(this).getInventory()); - return recipe.isRecipe() ? recipe.getProduct() : null; - } + @Override + public ItemStack getItemStack() { + IComponentRecipe recipe = + Machine.getInterface(IComponentRecipe.class, Window.get(this).getInventory()); + return recipe.isRecipe() ? recipe.getProduct() : null; + } - private class MouseDownHandler extends EventMouse.Down.Handler { - @Override - public void onEvent(EventMouse.Down event) { - TileEntity tile = (TileEntity) Window.get(getWidget()).getInventory(); - if (tile == null || !(tile instanceof TileEntityMachine)) { - return; - } + private class MouseDownHandler extends EventMouse.Down.Handler { + @Override + public void onEvent(EventMouse.Down event) { + TileEntity tile = (TileEntity) Window.get(getWidget()).getInventory(); + if (tile == null || !(tile instanceof TileEntityMachine)) { + return; + } - NBTTagCompound nbt = new NBTTagCompound(); - Window.get(getWidget()).sendClientAction("recipe", nbt); - } - } + NBTTagCompound nbt = new NBTTagCompound(); + Window.get(getWidget()).sendClientAction("recipe", nbt); + } + } } diff --git a/src/main/java/binnie/extratrees/craftgui/ControlSlotFluid.java b/src/main/java/binnie/extratrees/craftgui/ControlSlotFluid.java index 77d28029..291b9482 100644 --- a/src/main/java/binnie/extratrees/craftgui/ControlSlotFluid.java +++ b/src/main/java/binnie/extratrees/craftgui/ControlSlotFluid.java @@ -13,53 +13,56 @@ import binnie.core.craftgui.resource.minecraft.CraftGUITexture; import net.minecraftforge.fluids.FluidStack; public class ControlSlotFluid extends Control implements ITooltip { - protected ControlFluidDisplay itemDisplay; - protected FluidStack fluidStack; + protected ControlFluidDisplay itemDisplay; + protected FluidStack fluidStack; - public ControlSlotFluid(IWidget parent, int x, int y, FluidStack fluid) { - this(parent, x, y, 18, fluid); - } + public ControlSlotFluid(IWidget parent, int x, int y, FluidStack fluid) { + this(parent, x, y, 18, fluid); + } - public ControlSlotFluid(IWidget parent, int x, int y, int size, FluidStack fluid) { - super(parent, x, y, size, size); - addAttribute(WidgetAttribute.MOUSE_OVER); - itemDisplay = new ControlFluidDisplay(this, 1.0f, 1.0f, size - 2); - fluidStack = fluid; - addSelfEventHandler(new EventWidget.ChangeSize.Handler() { - @Override - public void onEvent(EventWidget.ChangeSize event) { - if (itemDisplay != null) { - itemDisplay.setSize(getSize().sub(new IPoint(2.0f, 2.0f))); - } - } - }); - } + public ControlSlotFluid(IWidget parent, int x, int y, int size, FluidStack fluid) { + super(parent, x, y, size, size); + addAttribute(WidgetAttribute.MOUSE_OVER); + itemDisplay = new ControlFluidDisplay(this, 1.0f, 1.0f, size - 2); + fluidStack = fluid; + addSelfEventHandler(new EventWidget.ChangeSize.Handler() { + @Override + public void onEvent(EventWidget.ChangeSize event) { + if (itemDisplay != null) { + itemDisplay.setSize(getSize().sub(new IPoint(2.0f, 2.0f))); + } + } + }); + } - @Override - public void onRenderBackground() { - int size = (int) getSize().x(); - CraftGUI.render.texture(CraftGUITexture.Slot, getArea()); - if (getSuperParent().getMousedOverWidget() == this) { - CraftGUI.render.gradientRect(new IArea(new IPoint(1.0f, 1.0f), getArea().size().sub(new IPoint(2.0f, 2.0f))), 0x80ffffff, 0x80ffffff); - } - } + @Override + public void onRenderBackground() { + int size = (int) getSize().x(); + CraftGUI.render.texture(CraftGUITexture.Slot, getArea()); + if (getSuperParent().getMousedOverWidget() == this) { + CraftGUI.render.gradientRect( + new IArea(new IPoint(1.0f, 1.0f), getArea().size().sub(new IPoint(2.0f, 2.0f))), + 0x80ffffff, + 0x80ffffff); + } + } - @Override - public void onUpdateClient() { - super.onUpdateClient(); - itemDisplay.setItemStack(getFluidStack()); - } + @Override + public void onUpdateClient() { + super.onUpdateClient(); + itemDisplay.setItemStack(getFluidStack()); + } - @Override - public void getTooltip(Tooltip tooltip) { - FluidStack item = getFluidStack(); - if (item == null) { - return; - } - tooltip.add(item.getFluid().getLocalizedName()); - } + @Override + public void getTooltip(Tooltip tooltip) { + FluidStack item = getFluidStack(); + if (item == null) { + return; + } + tooltip.add(item.getFluid().getLocalizedName()); + } - public FluidStack getFluidStack() { - return fluidStack; - } + public FluidStack getFluidStack() { + return fluidStack; + } } diff --git a/src/main/java/binnie/extratrees/craftgui/ControlTankSlot.java b/src/main/java/binnie/extratrees/craftgui/ControlTankSlot.java index ea882222..52395ecb 100644 --- a/src/main/java/binnie/extratrees/craftgui/ControlTankSlot.java +++ b/src/main/java/binnie/extratrees/craftgui/ControlTankSlot.java @@ -7,34 +7,34 @@ import binnie.core.craftgui.minecraft.Window; import net.minecraft.nbt.NBTTagCompound; public class ControlTankSlot extends ControlSlotFluid { - protected int tankID; + protected int tankID; - public ControlTankSlot(IWidget parent, int x, int y, int i) { - super(parent, x, y, null); - tankID = 0; - tankID = i; - addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - if (event.getButton() == 0) { - NBTTagCompound nbt = new NBTTagCompound(); - nbt.setByte("id", (byte) tankID); - Window.get(getWidget()).sendClientAction("tank-click", nbt); - } - } - }); - } + public ControlTankSlot(IWidget parent, int x, int y, int i) { + super(parent, x, y, null); + tankID = 0; + tankID = i; + addSelfEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + if (event.getButton() == 0) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setByte("id", (byte) tankID); + Window.get(getWidget()).sendClientAction("tank-click", nbt); + } + } + }); + } - @Override - public void onUpdateClient() { - fluidStack = Window.get(this).getContainer().getTankInfo(tankID).liquid; - int height = (int) (16.0f * (((fluidStack == null) ? 0 : fluidStack.amount) / 1000.0f)); - itemDisplay.setCroppedZone(itemDisplay, new IArea(0.0f, 16 - height, 16.0f, 16.0f)); - super.onUpdateClient(); - } + @Override + public void onUpdateClient() { + fluidStack = Window.get(this).getContainer().getTankInfo(tankID).liquid; + int height = (int) (16.0f * (((fluidStack == null) ? 0 : fluidStack.amount) / 1000.0f)); + itemDisplay.setCroppedZone(itemDisplay, new IArea(0.0f, 16 - height, 16.0f, 16.0f)); + super.onUpdateClient(); + } - @Override - public void onRenderBackground() { - super.onRenderBackground(); - } + @Override + public void onRenderBackground() { + super.onRenderBackground(); + } } diff --git a/src/main/java/binnie/extratrees/craftgui/ControlTileSelect.java b/src/main/java/binnie/extratrees/craftgui/ControlTileSelect.java index 906a1942..268c7d9e 100644 --- a/src/main/java/binnie/extratrees/craftgui/ControlTileSelect.java +++ b/src/main/java/binnie/extratrees/craftgui/ControlTileSelect.java @@ -20,164 +20,170 @@ import binnie.extratrees.api.IDesign; import binnie.extratrees.api.IDesignCategory; import binnie.extratrees.carpentry.EnumDesign; import binnie.extratrees.machines.designer.WoodworkerRecipeComponent; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; public class ControlTileSelect extends Control implements IControlValue, IControlScrollable { - protected IDesign value; - protected float shownHeight; + protected IDesign value; + protected float shownHeight; - protected ControlTileSelect(IWidget parent, float x, float y) { - super(parent, x, y, 102.0f, 20 * (CarpentryManager.carpentryInterface.getSortedDesigns().size() / 4) + 22); - value = EnumDesign.Blank; - shownHeight = 92.0f; - refresh(""); - } + protected ControlTileSelect(IWidget parent, float x, float y) { + super( + parent, + x, + y, + 102.0f, + 20 * (CarpentryManager.carpentryInterface.getSortedDesigns().size() / 4) + 22); + value = EnumDesign.Blank; + shownHeight = 92.0f; + refresh(""); + } - @Override - public float getPercentageIndex() { - return 0.0f; - } + @Override + public float getPercentageIndex() { + return 0.0f; + } - @Override - public void setPercentageIndex(float index) { - } + @Override + public void setPercentageIndex(float index) {} - @Override - public float getPercentageShown() { - return 0.0f; - } + @Override + public float getPercentageShown() { + return 0.0f; + } - @Override - public IDesign getValue() { - return value; - } + @Override + public IDesign getValue() { + return value; + } - @Override - public void setValue(IDesign value) { - this.value = value; - } + @Override + public void setValue(IDesign value) { + this.value = value; + } - @Override - public void movePercentage(float percentage) { - // ignored - } + @Override + public void movePercentage(float percentage) { + // ignored + } - @Override - public void onUpdateClient() { - super.onUpdateClient(); - TileEntityMachine tile = (TileEntityMachine) Window.get(this).getInventory(); - if (tile == null) { - return; - } + @Override + public void onUpdateClient() { + super.onUpdateClient(); + TileEntityMachine tile = (TileEntityMachine) Window.get(this).getInventory(); + if (tile == null) { + return; + } - WoodworkerRecipeComponent recipe = tile.getMachine().getComponent(WoodworkerRecipeComponent.class); - setValue(recipe.getDesign()); - } + WoodworkerRecipeComponent recipe = tile.getMachine().getComponent(WoodworkerRecipeComponent.class); + setValue(recipe.getDesign()); + } - public void refresh(String filterText) { - deleteAllChildren(); - int cx; - int cy = 2; - Map> designs = new HashMap<>(); - for (IDesignCategory category : CarpentryManager.carpentryInterface.getAllDesignCategories()) { - designs.put(category, new ArrayList<>()); - for (IDesign tile : category.getDesigns()) { - if (filterText.isEmpty() || tile.getName().toLowerCase().contains(filterText)) { - designs.get(category).add(tile); - } - } - if (designs.get(category).isEmpty()) { - designs.remove(category); - } - } + public void refresh(String filterText) { + deleteAllChildren(); + int cx; + int cy = 2; + Map> designs = new HashMap<>(); + for (IDesignCategory category : CarpentryManager.carpentryInterface.getAllDesignCategories()) { + designs.put(category, new ArrayList<>()); + for (IDesign tile : category.getDesigns()) { + if (filterText.isEmpty() || tile.getName().toLowerCase().contains(filterText)) { + designs.get(category).add(tile); + } + } + if (designs.get(category).isEmpty()) { + designs.remove(category); + } + } - for (IDesignCategory category : designs.keySet()) { - cx = 2; - new ControlText(this, new IPoint(cx, cy + 3), category.getName()); - cy += 16; - for (IDesign tile : designs.get(category)) { - if (cx > 90) { - cx = 2; - cy += 20; - } - new ControlTile(this, cx, cy, tile); - cx += 20; - } - cy += 20; - } - int height = cy; - setSize(new IPoint(getSize().x(), height)); - } + for (IDesignCategory category : designs.keySet()) { + cx = 2; + new ControlText(this, new IPoint(cx, cy + 3), category.getName()); + cy += 16; + for (IDesign tile : designs.get(category)) { + if (cx > 90) { + cx = 2; + cy += 20; + } + new ControlTile(this, cx, cy, tile); + cx += 20; + } + cy += 20; + } + int height = cy; + setSize(new IPoint(getSize().x(), height)); + } - @Override - public float getMovementRange() { - return 0.0f; - } + @Override + public float getMovementRange() { + return 0.0f; + } - public static class ControlTile extends Control implements IControlValue, ITooltip { - IDesign value; + public static class ControlTile extends Control implements IControlValue, ITooltip { + IDesign value; - protected ControlTile(IWidget parent, float x, float y, IDesign value) { - super(parent, x, y, 18.0f, 18.0f); - setValue(value); - addAttribute(WidgetAttribute.MOUSE_OVER); - addSelfEventHandler(new MouseDownHandler()); - } + protected ControlTile(IWidget parent, float x, float y, IDesign value) { + super(parent, x, y, 18.0f, 18.0f); + setValue(value); + addAttribute(WidgetAttribute.MOUSE_OVER); + addSelfEventHandler(new MouseDownHandler()); + } - @Override - public void getTooltip(Tooltip tooltip) { - tooltip.add(I18N.localise("binniecore.gui.designer.pattern", getValue().getName())); - } + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.add( + I18N.localise("binniecore.gui.designer.pattern", getValue().getName())); + } - @Override - public IDesign getValue() { - return value; - } + @Override + public IDesign getValue() { + return value; + } - @Override - public void setValue(IDesign value) { - this.value = value; - } + @Override + public void setValue(IDesign value) { + this.value = value; + } - @Override - public void onRenderBackground() { - CraftGUI.render.texture(CraftGUITexture.Slot, IPoint.ZERO); - } + @Override + public void onRenderBackground() { + CraftGUI.render.texture(CraftGUITexture.Slot, IPoint.ZERO); + } - @Override - public void onRenderForeground() { - ItemStack image = ((WindowWoodworker) getSuperParent()).getDesignerType().getDisplayStack(getValue()); - CraftGUI.render.item(new IPoint(1.0f, 1.0f), image); - if (((IControlValue) getParent()).getValue() == getValue()) { - return; - } + @Override + public void onRenderForeground() { + ItemStack image = + ((WindowWoodworker) getSuperParent()).getDesignerType().getDisplayStack(getValue()); + CraftGUI.render.item(new IPoint(1.0f, 1.0f), image); + if (((IControlValue) getParent()).getValue() == getValue()) { + return; + } - if (Window.get(this).getMousedOverWidget() == this) { - CraftGUI.render.gradientRect(getArea().inset(1), 0x44ffffff, 0x44ffffff); - } else { - CraftGUI.render.gradientRect(getArea().inset(1), 0xaa888888, 0xaa888888); - } - } + if (Window.get(this).getMousedOverWidget() == this) { + CraftGUI.render.gradientRect(getArea().inset(1), 0x44ffffff, 0x44ffffff); + } else { + CraftGUI.render.gradientRect(getArea().inset(1), 0xaa888888, 0xaa888888); + } + } - private class MouseDownHandler extends EventMouse.Down.Handler { - @Override - public void onEvent(EventMouse.Down event) { - TileEntityMachine tile = (TileEntityMachine) Window.get(getWidget()).getInventory(); - if (tile == null) { - return; - } + private class MouseDownHandler extends EventMouse.Down.Handler { + @Override + public void onEvent(EventMouse.Down event) { + TileEntityMachine tile = + (TileEntityMachine) Window.get(getWidget()).getInventory(); + if (tile == null) { + return; + } - tile.getMachine().getComponent(WoodworkerRecipeComponent.class); - NBTTagCompound nbt = new NBTTagCompound(); - nbt.setShort("d", (short) CarpentryManager.carpentryInterface.getDesignIndex(getValue())); - Window.get(getWidget()).sendClientAction("design", nbt); - } - } - } + tile.getMachine().getComponent(WoodworkerRecipeComponent.class); + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setShort("d", (short) CarpentryManager.carpentryInterface.getDesignIndex(getValue())); + Window.get(getWidget()).sendClientAction("design", nbt); + } + } + } } diff --git a/src/main/java/binnie/extratrees/craftgui/PageFruit.java b/src/main/java/binnie/extratrees/craftgui/PageFruit.java index fd86ac07..25d43bfa 100644 --- a/src/main/java/binnie/extratrees/craftgui/PageFruit.java +++ b/src/main/java/binnie/extratrees/craftgui/PageFruit.java @@ -12,24 +12,32 @@ import binnie.core.craftgui.minecraft.Window; import binnie.core.genetics.TreeBreedingSystem; import binnie.core.util.I18N; import forestry.api.genetics.IAlleleSpecies; +import java.util.Collection; import net.minecraft.item.ItemStack; -import java.util.Collection; - public class PageFruit extends PageAbstract { - boolean treesThatBearFruit; + boolean treesThatBearFruit; - public PageFruit(IWidget parent, DatabaseTab tab, boolean treesThatBearFruit) { - super(parent, tab); - this.treesThatBearFruit = treesThatBearFruit; - } + public PageFruit(IWidget parent, DatabaseTab tab, boolean treesThatBearFruit) { + super(parent, tab); + this.treesThatBearFruit = treesThatBearFruit; + } - @Override - public void onValueChanged(ItemStack species) { - deleteAllChildren(); - WindowAbstractDatabase database = Window.get(this); - new ControlText(this, new IArea(0.0f, 0.0f, size().x(), 24.0f), I18N.localise("extratrees.gui.database.tab.fruit." + (treesThatBearFruit ? "natural" : "potential")), TextJustification.MIDDLE_CENTER); - Collection trees = treesThatBearFruit ? ((TreeBreedingSystem) database.getBreedingSystem()).getTreesThatBearFruit(species, database.isNEI(), database.getWorld(), database.getUsername()) : ((TreeBreedingSystem) database.getBreedingSystem()).getTreesThatCanBearFruit(species, database.isNEI(), database.getWorld(), database.getUsername()); - new ControlSpeciesBox(this, 4.0f, 24.0f, size().x() - 8.0f, size().y() - 4.0f - 24.0f).setOptions(trees); - } + @Override + public void onValueChanged(ItemStack species) { + deleteAllChildren(); + WindowAbstractDatabase database = Window.get(this); + new ControlText( + this, + new IArea(0.0f, 0.0f, size().x(), 24.0f), + I18N.localise("extratrees.gui.database.tab.fruit." + (treesThatBearFruit ? "natural" : "potential")), + TextJustification.MIDDLE_CENTER); + Collection trees = treesThatBearFruit + ? ((TreeBreedingSystem) database.getBreedingSystem()) + .getTreesThatBearFruit(species, database.isNEI(), database.getWorld(), database.getUsername()) + : ((TreeBreedingSystem) database.getBreedingSystem()) + .getTreesThatCanBearFruit( + species, database.isNEI(), database.getWorld(), database.getUsername()); + new ControlSpeciesBox(this, 4.0f, 24.0f, size().x() - 8.0f, size().y() - 4.0f - 24.0f).setOptions(trees); + } } diff --git a/src/main/java/binnie/extratrees/craftgui/PagePlanksOverview.java b/src/main/java/binnie/extratrees/craftgui/PagePlanksOverview.java index a7d5d0ed..bcb326b0 100644 --- a/src/main/java/binnie/extratrees/craftgui/PagePlanksOverview.java +++ b/src/main/java/binnie/extratrees/craftgui/PagePlanksOverview.java @@ -18,59 +18,71 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; public class PagePlanksOverview extends PageAbstract { - public PagePlanksOverview(IWidget parent, DatabaseTab tab) { - super(parent, tab); - } + public PagePlanksOverview(IWidget parent, DatabaseTab tab) { + super(parent, tab); + } - @Override - public void onValueChanged(ItemStack species) { - deleteAllChildren(); - new ControlText(this, new IArea(0.0f, 0.0f, size().x(), 24.0f), species.getDisplayName(), TextJustification.MIDDLE_CENTER); - new ControlText(this, new IArea(12.0f, 24.0f, size().x() - 24.0f, 24.0f), I18N.localise("extratrees.gui.database.planks.use"), TextJustification.MIDDLE_LEFT); - IPlankType type = WoodManager.get(species); - int x = 12; - if (type != null) { - ItemStack fence = WoodManager.getFence(type, new FenceType(0), 1); - ItemStack gate = WoodManager.getGate(type); - ItemStack door = WoodManager.getDoor(type, DoorType.STANDARD); - if (fence != null) { - new ControlItemDisplay(this, x, 48.0f).setItemStack(fence); - x += 22; - } - if (gate != null) { - new ControlItemDisplay(this, x, 48.0f).setItemStack(gate); - x += 22; - } - if (door != null) { - new ControlItemDisplay(this, x, 48.0f).setItemStack(door); - } - } + @Override + public void onValueChanged(ItemStack species) { + deleteAllChildren(); + new ControlText( + this, + new IArea(0.0f, 0.0f, size().x(), 24.0f), + species.getDisplayName(), + TextJustification.MIDDLE_CENTER); + new ControlText( + this, + new IArea(12.0f, 24.0f, size().x() - 24.0f, 24.0f), + I18N.localise("extratrees.gui.database.planks.use"), + TextJustification.MIDDLE_LEFT); + IPlankType type = WoodManager.get(species); + int x = 12; + if (type != null) { + ItemStack fence = WoodManager.getFence(type, new FenceType(0), 1); + ItemStack gate = WoodManager.getGate(type); + ItemStack door = WoodManager.getDoor(type, DoorType.STANDARD); + if (fence != null) { + new ControlItemDisplay(this, x, 48.0f).setItemStack(fence); + x += 22; + } + if (gate != null) { + new ControlItemDisplay(this, x, 48.0f).setItemStack(gate); + x += 22; + } + if (door != null) { + new ControlItemDisplay(this, x, 48.0f).setItemStack(door); + } + } - ControlText controlDescription = new ControlText(this, new IArea(8.0f, 84.0f, getSize().x() - 16.0f, 0.0f), "", TextJustification.MIDDLE_CENTER); - ControlText controlSignature = new ControlText(this, new IArea(8.0f, 84.0f, getSize().x() - 16.0f, 0.0f), "", TextJustification.BOTTOM_RIGHT); - String desc = ""; - if (type != null) { - desc = type.getDescription(); - } + ControlText controlDescription = new ControlText( + this, new IArea(8.0f, 84.0f, getSize().x() - 16.0f, 0.0f), "", TextJustification.MIDDLE_CENTER); + ControlText controlSignature = new ControlText( + this, new IArea(8.0f, 84.0f, getSize().x() - 16.0f, 0.0f), "", TextJustification.BOTTOM_RIGHT); + String desc = ""; + if (type != null) { + desc = type.getDescription(); + } - String descBody = EnumChatFormatting.ITALIC.toString(); - String descSig = ""; - if (desc == null || desc.isEmpty() || desc.matches("(\\w+\\.?)+")) { - descBody += I18N.localise("binniecore.gui.database.nodescription"); - } else { - String[] descStrings = desc.split("\\|"); - descBody += descStrings[0]; - for (int i = 1; i < descStrings.length - 1; ++i) { - descBody = descBody + " " + descStrings[i]; - } - if (descStrings.length > 1) { - descSig += descStrings[descStrings.length - 1]; - } - } + String descBody = EnumChatFormatting.ITALIC.toString(); + String descSig = ""; + if (desc == null || desc.isEmpty() || desc.matches("(\\w+\\.?)+")) { + descBody += I18N.localise("binniecore.gui.database.nodescription"); + } else { + String[] descStrings = desc.split("\\|"); + descBody += descStrings[0]; + for (int i = 1; i < descStrings.length - 1; ++i) { + descBody = descBody + " " + descStrings[i]; + } + if (descStrings.length > 1) { + descSig += descStrings[descStrings.length - 1]; + } + } - controlDescription.setValue(descBody + EnumChatFormatting.RESET); - controlSignature.setValue(descSig + EnumChatFormatting.RESET); - float descHeight = CraftGUI.render.textHeight(controlDescription.getValue(), controlDescription.getSize().x()); - controlSignature.setPosition(new IPoint(controlSignature.pos().x(), controlDescription.getPosition().y() + descHeight + 10.0f)); - } + controlDescription.setValue(descBody + EnumChatFormatting.RESET); + controlSignature.setValue(descSig + EnumChatFormatting.RESET); + float descHeight = CraftGUI.render.textHeight( + controlDescription.getValue(), controlDescription.getSize().x()); + controlSignature.setPosition(new IPoint( + controlSignature.pos().x(), controlDescription.getPosition().y() + descHeight + 10.0f)); + } } diff --git a/src/main/java/binnie/extratrees/craftgui/PagePlanksTrees.java b/src/main/java/binnie/extratrees/craftgui/PagePlanksTrees.java index 32788dd9..e5c70770 100644 --- a/src/main/java/binnie/extratrees/craftgui/PagePlanksTrees.java +++ b/src/main/java/binnie/extratrees/craftgui/PagePlanksTrees.java @@ -11,21 +11,25 @@ import binnie.core.craftgui.geometry.TextJustification; import binnie.core.craftgui.minecraft.Window; import binnie.core.genetics.TreeBreedingSystem; import forestry.api.genetics.IAlleleSpecies; +import java.util.Collection; import net.minecraft.item.ItemStack; -import java.util.Collection; - public class PagePlanksTrees extends PageAbstract { - public PagePlanksTrees(IWidget parent, DatabaseTab tab) { - super(parent, tab); - } + public PagePlanksTrees(IWidget parent, DatabaseTab tab) { + super(parent, tab); + } - @Override - public void onValueChanged(ItemStack species) { - deleteAllChildren(); - WindowAbstractDatabase database = Window.get(this); - new ControlText(this, new IArea(0.0f, 0.0f, size().x(), 24.0f), species.getDisplayName(), TextJustification.MIDDLE_CENTER); - Collection trees = ((TreeBreedingSystem) database.getBreedingSystem()).getTreesThatMakePlanks(species, database.isNEI(), database.getWorld(), database.getUsername()); - new ControlSpeciesBox(this, 4.0f, 24.0f, size().x() - 8.0f, size().y() - 4.0f - 24.0f).setOptions(trees); - } + @Override + public void onValueChanged(ItemStack species) { + deleteAllChildren(); + WindowAbstractDatabase database = Window.get(this); + new ControlText( + this, + new IArea(0.0f, 0.0f, size().x(), 24.0f), + species.getDisplayName(), + TextJustification.MIDDLE_CENTER); + Collection trees = ((TreeBreedingSystem) database.getBreedingSystem()) + .getTreesThatMakePlanks(species, database.isNEI(), database.getWorld(), database.getUsername()); + new ControlSpeciesBox(this, 4.0f, 24.0f, size().x() - 8.0f, size().y() - 4.0f - 24.0f).setOptions(trees); + } } diff --git a/src/main/java/binnie/extratrees/craftgui/PageSpeciesImage.java b/src/main/java/binnie/extratrees/craftgui/PageSpeciesImage.java index 12f817a5..018d170f 100644 --- a/src/main/java/binnie/extratrees/craftgui/PageSpeciesImage.java +++ b/src/main/java/binnie/extratrees/craftgui/PageSpeciesImage.java @@ -11,18 +11,18 @@ import binnie.core.craftgui.window.Panel; import forestry.api.genetics.IAlleleSpecies; public class PageSpeciesImage extends PageSpecies { - protected ControlDatabaseIndividualDisplay display; + protected ControlDatabaseIndividualDisplay display; - public PageSpeciesImage(IWidget parent, DatabaseTab tab) { - super(parent, tab); - new Panel(this, 7.0f, 25.0f, 130.0f, 120.0f, MinecraftGUI.PanelType.Gray); - display = new ControlDatabaseIndividualDisplay(this, 12.0f, 25.0f, 120.0f); - display.hastooltip = false; - new ControlTextCentered(this, 8.0f, getValue().toString()); - } + public PageSpeciesImage(IWidget parent, DatabaseTab tab) { + super(parent, tab); + new Panel(this, 7.0f, 25.0f, 130.0f, 120.0f, MinecraftGUI.PanelType.Gray); + display = new ControlDatabaseIndividualDisplay(this, 12.0f, 25.0f, 120.0f); + display.hastooltip = false; + new ControlTextCentered(this, 8.0f, getValue().toString()); + } - @Override - public void onValueChanged(IAlleleSpecies species) { - display.setSpecies(species, EnumDiscoveryState.SHOW); - } + @Override + public void onValueChanged(IAlleleSpecies species) { + display.setSpecies(species, EnumDiscoveryState.SHOW); + } } diff --git a/src/main/java/binnie/extratrees/craftgui/PageSpeciesTreeGenome.java b/src/main/java/binnie/extratrees/craftgui/PageSpeciesTreeGenome.java index 1c6e1a58..13ef80d7 100644 --- a/src/main/java/binnie/extratrees/craftgui/PageSpeciesTreeGenome.java +++ b/src/main/java/binnie/extratrees/craftgui/PageSpeciesTreeGenome.java @@ -21,127 +21,201 @@ import forestry.api.arboriculture.ITreeGenome; import forestry.api.core.ForestryAPI; import forestry.api.genetics.IAllele; import forestry.api.genetics.IAlleleSpecies; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - public class PageSpeciesTreeGenome extends PageSpecies { - public PageSpeciesTreeGenome(IWidget parent, DatabaseTab tab) { - super(parent, tab); - } + public PageSpeciesTreeGenome(IWidget parent, DatabaseTab tab) { + super(parent, tab); + } - @Override - public void onValueChanged(IAlleleSpecies species) { - deleteAllChildren(); - IAllele[] template = Binnie.Genetics.getTreeRoot().getTemplate(species.getUID()); - if (template == null) { - return; - } + @Override + public void onValueChanged(IAlleleSpecies species) { + deleteAllChildren(); + IAllele[] template = Binnie.Genetics.getTreeRoot().getTemplate(species.getUID()); + if (template == null) { + return; + } - ITree tree = Binnie.Genetics.getTreeRoot().templateAsIndividual(template); - if (tree == null) { - return; - } + ITree tree = Binnie.Genetics.getTreeRoot().templateAsIndividual(template); + if (tree == null) { + return; + } - ItemStack log = null; - try { - FakeWorld world = FakeWorld.instance; - tree.getGenome().getPrimary().getGenerator().setLogBlock(tree.getGenome(), world, 0, 0, 0, ForgeDirection.UP);// getGenome().getPrimary().getGenerator().getWorldGenerator(tree); - log = world.getWooLog(); + ItemStack log = null; + try { + FakeWorld world = FakeWorld.instance; + tree.getGenome() + .getPrimary() + .getGenerator() + .setLogBlock( + tree.getGenome(), + world, + 0, + 0, + 0, + ForgeDirection.UP); // getGenome().getPrimary().getGenerator().getWorldGenerator(tree); + log = world.getWooLog(); - } catch (Exception e) { - e.printStackTrace(); - } + } catch (Exception e) { + e.printStackTrace(); + } - ITreeGenome genome = tree.getGenome(); - IAlleleTreeSpecies treeSpecies = genome.getPrimary(); - int w = 144; - int h = 176; - new ControlText(this, new IArea(0.0f, 4.0f, w, 16.0f), getValue().toString(), TextJustification.MIDDLE_CENTER); - 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 = 65; - int w3 = tw - 50; - int y = 0; - int th = 14; - int th2 = 18; - BreedingSystem syst = Binnie.Genetics.treeBreedingSystem; - new ControlText(contents, new IArea(0.0f, y, w2, th), syst.getChromosomeShortName(EnumTreeChromosome.PLANT) + " : ", TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(w2, y, w3, th), treeSpecies.getPlantType().toString(), TextJustification.MIDDLE_LEFT); - y += th; - new ControlText(contents, new IArea(0.0f, y, w2, th), I18N.localise("binniecore.gui.temperature.short") + " : ", TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(w2, y, w3, th), treeSpecies.getTemperature().getName(), TextJustification.MIDDLE_LEFT); - y += th; - IIcon leaf = treeSpecies.getLeafIcon(false, false); - IIcon fruit = null; - int fruitColour = 0xffffff; + ITreeGenome genome = tree.getGenome(); + IAlleleTreeSpecies treeSpecies = genome.getPrimary(); + int w = 144; + int h = 176; + new ControlText(this, new IArea(0.0f, 4.0f, w, 16.0f), getValue().toString(), TextJustification.MIDDLE_CENTER); + 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 = 65; + int w3 = tw - 50; + int y = 0; + int th = 14; + int th2 = 18; + BreedingSystem syst = Binnie.Genetics.treeBreedingSystem; + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + syst.getChromosomeShortName(EnumTreeChromosome.PLANT) + " : ", + TextJustification.MIDDLE_RIGHT); + new ControlText( + contents, + new IArea(w2, y, w3, th), + treeSpecies.getPlantType().toString(), + TextJustification.MIDDLE_LEFT); + y += th; + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + I18N.localise("binniecore.gui.temperature.short") + " : ", + TextJustification.MIDDLE_RIGHT); + new ControlText( + contents, + new IArea(w2, y, w3, th), + treeSpecies.getTemperature().getName(), + TextJustification.MIDDLE_LEFT); + y += th; + IIcon leaf = treeSpecies.getLeafIcon(false, false); + IIcon fruit = null; + int fruitColour = 0xffffff; - try { - fruit = ForestryAPI.textureManager.getIcon(genome.getFruitProvider().getIconIndex(genome, null, 0, 0, 0, 100, false)); - fruitColour = genome.getFruitProvider().getColour(genome, null, 0, 0, 0, 100); - } catch (Exception ex) { - ex.printStackTrace(); - } + try { + fruit = ForestryAPI.textureManager.getIcon( + genome.getFruitProvider().getIconIndex(genome, null, 0, 0, 0, 100, false)); + fruitColour = genome.getFruitProvider().getColour(genome, null, 0, 0, 0, 100); + } catch (Exception ex) { + ex.printStackTrace(); + } - if (leaf != null) { - new ControlText(contents, new IArea(0.0f, y, w2, th2), I18N.localise("extratrees.gui.database.leaves") + " : ", TextJustification.MIDDLE_RIGHT); - new ControlBlockIconDisplay(contents, w2, y, leaf).setColor(treeSpecies.getLeafColour(false)); - if (fruit != null && !treeSpecies.getUID().equals("forestry.treeOak")) { - new ControlBlockIconDisplay(contents, w2, y, fruit).setColor(fruitColour); - } - y += th2; - } + if (leaf != null) { + new ControlText( + contents, + new IArea(0.0f, y, w2, th2), + I18N.localise("extratrees.gui.database.leaves") + " : ", + TextJustification.MIDDLE_RIGHT); + new ControlBlockIconDisplay(contents, w2, y, leaf).setColor(treeSpecies.getLeafColour(false)); + if (fruit != null && !treeSpecies.getUID().equals("forestry.treeOak")) { + new ControlBlockIconDisplay(contents, w2, y, fruit).setColor(fruitColour); + } + y += th2; + } - // ItemStack log = (genome.getFruitProvider().getProducts().length - // > 0) ? genome.getFruitProvider().getProducts()[0] : null; - if (log != null) { - new ControlText(contents, new IArea(0.0f, y, w2, th2), I18N.localise("extratrees.gui.database.log") + " : ", TextJustification.MIDDLE_RIGHT); - ControlItemDisplay display = new ControlItemDisplay(contents, w2, y); - display.setItemStack(log); - display.setTooltip(); - y += th2; - } + // ItemStack log = (genome.getFruitProvider().getProducts().length + // > 0) ? genome.getFruitProvider().getProducts()[0] : null; + if (log != null) { + new ControlText( + contents, + new IArea(0.0f, y, w2, th2), + I18N.localise("extratrees.gui.database.log") + " : ", + TextJustification.MIDDLE_RIGHT); + ControlItemDisplay display = new ControlItemDisplay(contents, w2, y); + display.setItemStack(log); + display.setTooltip(); + y += th2; + } - new ControlText(contents, new IArea(0.0f, y, w2, th), syst.getChromosomeShortName(EnumTreeChromosome.GROWTH) + " : ", TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(w2, y, w3, th), genome.getGrowthProvider().getDescription(), TextJustification.MIDDLE_LEFT); - y += th; - new ControlText(contents, new IArea(0.0f, y, w2, th), syst.getChromosomeShortName(EnumTreeChromosome.HEIGHT) + " : ", TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(w2, y, w3, th), genome.getHeight() + "x", TextJustification.MIDDLE_LEFT); - y += th; - new ControlText(contents, new IArea(0.0f, y, w2, th), syst.getChromosomeShortName(EnumTreeChromosome.FERTILITY) + " : ", TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(w2, y, w3, th), genome.getFertility() + "x", TextJustification.MIDDLE_LEFT); - y += th; - List fruits = new ArrayList<>(); - Collections.addAll(fruits, genome.getFruitProvider().getProducts()); + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + syst.getChromosomeShortName(EnumTreeChromosome.GROWTH) + " : ", + TextJustification.MIDDLE_RIGHT); + new ControlText( + contents, + new IArea(w2, y, w3, th), + genome.getGrowthProvider().getDescription(), + TextJustification.MIDDLE_LEFT); + y += th; + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + syst.getChromosomeShortName(EnumTreeChromosome.HEIGHT) + " : ", + TextJustification.MIDDLE_RIGHT); + new ControlText(contents, new IArea(w2, y, w3, th), genome.getHeight() + "x", TextJustification.MIDDLE_LEFT); + y += th; + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + syst.getChromosomeShortName(EnumTreeChromosome.FERTILITY) + " : ", + TextJustification.MIDDLE_RIGHT); + new ControlText(contents, new IArea(w2, y, w3, th), genome.getFertility() + "x", TextJustification.MIDDLE_LEFT); + y += th; + List fruits = new ArrayList<>(); + Collections.addAll(fruits, genome.getFruitProvider().getProducts()); - if (!fruits.isEmpty()) { - new ControlText(contents, new IArea(0.0f, y, w2, th2), syst.getChromosomeShortName(EnumTreeChromosome.FRUITS) + " : ", TextJustification.MIDDLE_RIGHT); - for (ItemStack fruitw : fruits) { - ControlItemDisplay display2 = new ControlItemDisplay(contents, w2, y); - display2.setItemStack(fruitw); - display2.setTooltip(); - y += th2; - } - } + if (!fruits.isEmpty()) { + new ControlText( + contents, + new IArea(0.0f, y, w2, th2), + syst.getChromosomeShortName(EnumTreeChromosome.FRUITS) + " : ", + TextJustification.MIDDLE_RIGHT); + for (ItemStack fruitw : fruits) { + ControlItemDisplay display2 = new ControlItemDisplay(contents, w2, y); + display2.setItemStack(fruitw); + display2.setTooltip(); + y += th2; + } + } - new ControlText(contents, new IArea(0.0f, y, w2, th), syst.getChromosomeShortName(EnumTreeChromosome.YIELD) + " : ", TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(w2, y, w3, th), genome.getYield() + "x", TextJustification.MIDDLE_LEFT); - y += th; - new ControlText(contents, new IArea(0.0f, y, w2, th), syst.getChromosomeShortName(EnumTreeChromosome.SAPPINESS) + " : ", TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(w2, y, w3, th), genome.getSappiness() + "x", TextJustification.MIDDLE_LEFT); - y += th; - new ControlText(contents, new IArea(0.0f, y, w2, th), syst.getChromosomeShortName(EnumTreeChromosome.MATURATION) + " : ", TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(w2, y, w3, th), genome.getMaturationTime() + "x", TextJustification.MIDDLE_LEFT); - y += th; - new ControlText(contents, new IArea(0.0f, y, w2, th), syst.getChromosomeShortName(EnumTreeChromosome.GIRTH) + " : ", TextJustification.MIDDLE_RIGHT); - new ControlText(contents, new IArea(w2, y, w3, th), genome.getGirth() + "x" + genome.getGirth(), TextJustification.MIDDLE_LEFT); - y += th; - contents.setSize(new IPoint(contents.size().x(), y)); - scrollable.setScrollableContent(contents); - } + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + syst.getChromosomeShortName(EnumTreeChromosome.YIELD) + " : ", + TextJustification.MIDDLE_RIGHT); + new ControlText(contents, new IArea(w2, y, w3, th), genome.getYield() + "x", TextJustification.MIDDLE_LEFT); + y += th; + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + syst.getChromosomeShortName(EnumTreeChromosome.SAPPINESS) + " : ", + TextJustification.MIDDLE_RIGHT); + new ControlText(contents, new IArea(w2, y, w3, th), genome.getSappiness() + "x", TextJustification.MIDDLE_LEFT); + y += th; + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + syst.getChromosomeShortName(EnumTreeChromosome.MATURATION) + " : ", + TextJustification.MIDDLE_RIGHT); + new ControlText( + contents, new IArea(w2, y, w3, th), genome.getMaturationTime() + "x", TextJustification.MIDDLE_LEFT); + y += th; + new ControlText( + contents, + new IArea(0.0f, y, w2, th), + syst.getChromosomeShortName(EnumTreeChromosome.GIRTH) + " : ", + TextJustification.MIDDLE_RIGHT); + new ControlText( + contents, + new IArea(w2, y, w3, th), + genome.getGirth() + "x" + genome.getGirth(), + TextJustification.MIDDLE_LEFT); + y += th; + contents.setSize(new IPoint(contents.size().x(), y)); + scrollable.setScrollableContent(contents); + } } diff --git a/src/main/java/binnie/extratrees/craftgui/PageWood.java b/src/main/java/binnie/extratrees/craftgui/PageWood.java index a3a57a5a..da030d15 100644 --- a/src/main/java/binnie/extratrees/craftgui/PageWood.java +++ b/src/main/java/binnie/extratrees/craftgui/PageWood.java @@ -11,21 +11,22 @@ import binnie.core.craftgui.geometry.TextJustification; import binnie.core.craftgui.minecraft.Window; import binnie.core.genetics.TreeBreedingSystem; import forestry.api.genetics.IAlleleSpecies; +import java.util.Collection; import net.minecraft.item.ItemStack; -import java.util.Collection; - public class PageWood extends PageAbstract { - public PageWood(IWidget parent, DatabaseTab tab) { - super(parent, tab); - } + public PageWood(IWidget parent, DatabaseTab tab) { + super(parent, tab); + } - @Override - public void onValueChanged(ItemStack species) { - deleteAllChildren(); - WindowAbstractDatabase database = Window.get(this); - new ControlText(this, new IArea(0.0f, 0.0f, size().x(), 24.0f), getValue().toString(), TextJustification.MIDDLE_CENTER); - Collection trees = ((TreeBreedingSystem) database.getBreedingSystem()).getTreesThatHaveWood(species, database.isNEI(), database.getWorld(), database.getUsername()); - new ControlSpeciesBox(this, 4.0f, 24.0f, size().x() - 8.0f, size().y() - 4.0f - 24.0f).setOptions(trees); - } + @Override + public void onValueChanged(ItemStack species) { + deleteAllChildren(); + WindowAbstractDatabase database = Window.get(this); + new ControlText( + this, new IArea(0.0f, 0.0f, size().x(), 24.0f), getValue().toString(), TextJustification.MIDDLE_CENTER); + Collection trees = ((TreeBreedingSystem) database.getBreedingSystem()) + .getTreesThatHaveWood(species, database.isNEI(), database.getWorld(), database.getUsername()); + new ControlSpeciesBox(this, 4.0f, 24.0f, size().x() - 8.0f, size().y() - 4.0f - 24.0f).setOptions(trees); + } } diff --git a/src/main/java/binnie/extratrees/craftgui/WindowArboristDatabase.java b/src/main/java/binnie/extratrees/craftgui/WindowArboristDatabase.java index 09361d9d..9481c441 100644 --- a/src/main/java/binnie/extratrees/craftgui/WindowArboristDatabase.java +++ b/src/main/java/binnie/extratrees/craftgui/WindowArboristDatabase.java @@ -25,82 +25,85 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; public class WindowArboristDatabase extends WindowAbstractDatabase { - public WindowArboristDatabase(EntityPlayer player, Side side, boolean nei) { - super(player, side, nei, Binnie.Genetics.treeBreedingSystem, 120.0f); - } + public WindowArboristDatabase(EntityPlayer player, Side side, boolean nei) { + super(player, side, nei, Binnie.Genetics.treeBreedingSystem, 120.0f); + } - public static Window create(EntityPlayer player, Side side, boolean nei) { - return new WindowArboristDatabase(player, side, nei); - } + public static Window create(EntityPlayer player, Side side, boolean nei) { + return new WindowArboristDatabase(player, side, nei); + } - @Override - protected void addTabs() { - new PageSpeciesOverview(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "species.overview")); - new PageSpeciesTreeGenome(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "species.genome")); - new PageSpeciesClassification(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "species.classification")); - new PageSpeciesResultant(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "species.resultant")); - new PageSpeciesMutations(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "species.further")); - new PageBranchOverview(getInfoPages(Mode.Branches), new DatabaseTab(ExtraTrees.instance, "branches.overview")); - new PageBranchSpecies(getInfoPages(Mode.Branches), new DatabaseTab(ExtraTrees.instance, "branches.species")); - new PageBreeder(getInfoPages(Mode.Breeder), getUsername(), new DatabaseTab(ExtraTrees.instance, "breeder")); - createMode(TreeMode.FRUIT, new ModeWidgets(TreeMode.FRUIT, this) { - @Override - public void createListBox(IArea area) { - (listBox = new ControlListBox(modePage, area.x(), area.y(), area.w(), area.h(), 12.0f) { - @Override - public IWidget createOption(ItemStack value, int y) { - return new ControlItemStackOption(getContent(), value, y); - } - }).setOptions(((TreeBreedingSystem) getBreedingSystem()).allFruits); - } - }); - createMode(TreeMode.WOOD, new ModeWidgets(TreeMode.WOOD, this) { - @Override - public void createListBox(IArea area) { - (listBox = new ControlListBox(modePage, area.x(), area.y(), area.w(), area.h(), 12.0f) { - @Override - public IWidget createOption(ItemStack value, int y) { - return new ControlItemStackOption(getContent(), value, y); - } - }).setOptions(((TreeBreedingSystem) getBreedingSystem()).allWoods); - } - }); - createMode(TreeMode.PLANKS, new ModeWidgets(TreeMode.PLANKS, this) { - @Override - public void createListBox(IArea area) { - listBox = new ControlListBox(modePage, area.x(), area.y(), area.w(), area.h(), 12.0f) { - @Override - public IWidget createOption(ItemStack value, int y) { - return new ControlItemStackOption(getContent(), value, y); - } - }; - } - }); - new PageFruit(getInfoPages(TreeMode.FRUIT), new DatabaseTab(ExtraTrees.instance, "fruit.natural"), true); - new PageFruit(getInfoPages(TreeMode.FRUIT), new DatabaseTab(ExtraTrees.instance, "fruit.potential"), false); - new PageWood(getInfoPages(TreeMode.WOOD), new DatabaseTab(ExtraTrees.instance, "wood.natural")); - new PagePlanksOverview(getInfoPages(TreeMode.PLANKS), new DatabaseTab(ExtraTrees.instance, "planks.overview")); - new PagePlanksTrees(getInfoPages(TreeMode.PLANKS), new DatabaseTab(ExtraTrees.instance, "planks.natural")); - } + @Override + protected void addTabs() { + new PageSpeciesOverview(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "species.overview")); + new PageSpeciesTreeGenome(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "species.genome")); + new PageSpeciesClassification( + getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "species.classification")); + new PageSpeciesResultant(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "species.resultant")); + new PageSpeciesMutations(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "species.further")); + new PageBranchOverview(getInfoPages(Mode.Branches), new DatabaseTab(ExtraTrees.instance, "branches.overview")); + new PageBranchSpecies(getInfoPages(Mode.Branches), new DatabaseTab(ExtraTrees.instance, "branches.species")); + new PageBreeder(getInfoPages(Mode.Breeder), getUsername(), new DatabaseTab(ExtraTrees.instance, "breeder")); + createMode(TreeMode.FRUIT, new ModeWidgets(TreeMode.FRUIT, this) { + @Override + public void createListBox(IArea area) { + (listBox = new ControlListBox(modePage, area.x(), area.y(), area.w(), area.h(), 12.0f) { + @Override + public IWidget createOption(ItemStack value, int y) { + return new ControlItemStackOption(getContent(), value, y); + } + }) + .setOptions(((TreeBreedingSystem) getBreedingSystem()).allFruits); + } + }); + createMode(TreeMode.WOOD, new ModeWidgets(TreeMode.WOOD, this) { + @Override + public void createListBox(IArea area) { + (listBox = new ControlListBox(modePage, area.x(), area.y(), area.w(), area.h(), 12.0f) { + @Override + public IWidget createOption(ItemStack value, int y) { + return new ControlItemStackOption(getContent(), value, y); + } + }) + .setOptions(((TreeBreedingSystem) getBreedingSystem()).allWoods); + } + }); + createMode(TreeMode.PLANKS, new ModeWidgets(TreeMode.PLANKS, this) { + @Override + public void createListBox(IArea area) { + listBox = new ControlListBox(modePage, area.x(), area.y(), area.w(), area.h(), 12.0f) { + @Override + public IWidget createOption(ItemStack value, int y) { + return new ControlItemStackOption(getContent(), value, y); + } + }; + } + }); + new PageFruit(getInfoPages(TreeMode.FRUIT), new DatabaseTab(ExtraTrees.instance, "fruit.natural"), true); + new PageFruit(getInfoPages(TreeMode.FRUIT), new DatabaseTab(ExtraTrees.instance, "fruit.potential"), false); + new PageWood(getInfoPages(TreeMode.WOOD), new DatabaseTab(ExtraTrees.instance, "wood.natural")); + new PagePlanksOverview(getInfoPages(TreeMode.PLANKS), new DatabaseTab(ExtraTrees.instance, "planks.overview")); + new PagePlanksTrees(getInfoPages(TreeMode.PLANKS), new DatabaseTab(ExtraTrees.instance, "planks.natural")); + } - @Override - protected AbstractMod getMod() { - return ExtraTrees.instance; - } + @Override + protected AbstractMod getMod() { + return ExtraTrees.instance; + } - @Override - protected String getName() { - return "TreeDatabase"; - } + @Override + protected String getName() { + return "TreeDatabase"; + } - enum TreeMode implements IDatabaseMode { - FRUIT, - WOOD, - PLANKS; + enum TreeMode implements IDatabaseMode { + FRUIT, + WOOD, + PLANKS; - @Override - public String getName() { - return I18N.localise("extratrees.gui.database.mode." + name().toLowerCase()); - } - } + @Override + public String getName() { + return I18N.localise("extratrees.gui.database.mode." + name().toLowerCase()); + } + } } diff --git a/src/main/java/binnie/extratrees/craftgui/WindowLepidopteristDatabase.java b/src/main/java/binnie/extratrees/craftgui/WindowLepidopteristDatabase.java index 780fac80..b9b90f8f 100644 --- a/src/main/java/binnie/extratrees/craftgui/WindowLepidopteristDatabase.java +++ b/src/main/java/binnie/extratrees/craftgui/WindowLepidopteristDatabase.java @@ -17,33 +17,41 @@ import cpw.mods.fml.relauncher.Side; import net.minecraft.entity.player.EntityPlayer; public class WindowLepidopteristDatabase extends WindowAbstractDatabase { - public WindowLepidopteristDatabase(EntityPlayer player, Side side, boolean nei) { - super(player, side, nei, Binnie.Genetics.mothBreedingSystem, 160.0f); - } + public WindowLepidopteristDatabase(EntityPlayer player, Side side, boolean nei) { + super(player, side, nei, Binnie.Genetics.mothBreedingSystem, 160.0f); + } - public static Window create(EntityPlayer player, Side side, boolean nei) { - return new WindowLepidopteristDatabase(player, side, nei); - } + public static Window create(EntityPlayer player, Side side, boolean nei) { + return new WindowLepidopteristDatabase(player, side, nei); + } - @Override - protected void addTabs() { - new PageSpeciesOverview(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "butterfly.species.overview")); - new PageSpeciesClassification(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "butterfly.species.classification")); - new PageSpeciesImage(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "butterfly.species.specimen")); - new PageSpeciesResultant(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "butterfly.species.resultant")); - new PageSpeciesMutations(getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "butterfly.species.further")); - new PageBranchOverview(getInfoPages(Mode.Branches), new DatabaseTab(ExtraTrees.instance, "butterfly.branches.overview")); - new PageBranchSpecies(getInfoPages(Mode.Branches), new DatabaseTab(ExtraTrees.instance, "butterfly.branches.species")); - new PageBreeder(getInfoPages(Mode.Breeder), getUsername(), new DatabaseTab(ExtraTrees.instance, "butterfly.breeder")); - } + @Override + protected void addTabs() { + new PageSpeciesOverview( + getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "butterfly.species.overview")); + new PageSpeciesClassification( + getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "butterfly.species.classification")); + new PageSpeciesImage( + getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "butterfly.species.specimen")); + new PageSpeciesResultant( + getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "butterfly.species.resultant")); + new PageSpeciesMutations( + getInfoPages(Mode.Species), new DatabaseTab(ExtraTrees.instance, "butterfly.species.further")); + new PageBranchOverview( + getInfoPages(Mode.Branches), new DatabaseTab(ExtraTrees.instance, "butterfly.branches.overview")); + new PageBranchSpecies( + getInfoPages(Mode.Branches), new DatabaseTab(ExtraTrees.instance, "butterfly.branches.species")); + new PageBreeder( + getInfoPages(Mode.Breeder), getUsername(), new DatabaseTab(ExtraTrees.instance, "butterfly.breeder")); + } - @Override - protected AbstractMod getMod() { - return ExtraTrees.instance; - } + @Override + protected AbstractMod getMod() { + return ExtraTrees.instance; + } - @Override - protected String getName() { - return "MothDatabase"; - } + @Override + protected String getName() { + return "MothDatabase"; + } } diff --git a/src/main/java/binnie/extratrees/craftgui/WindowLumbermill.java b/src/main/java/binnie/extratrees/craftgui/WindowLumbermill.java index b6877b52..dccee5ba 100644 --- a/src/main/java/binnie/extratrees/craftgui/WindowLumbermill.java +++ b/src/main/java/binnie/extratrees/craftgui/WindowLumbermill.java @@ -16,35 +16,35 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowLumbermill extends Window { - public WindowLumbermill(EntityPlayer player, IInventory inventory, Side side) { - super(220.0f, 192.0f, player, inventory, side); - } + public WindowLumbermill(EntityPlayer player, IInventory inventory, Side side) { + super(220.0f, 192.0f, player, inventory, side); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowLumbermill(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowLumbermill(player, inventory, side); + } - @Override - protected AbstractMod getMod() { - return ExtraTrees.instance; - } + @Override + protected AbstractMod getMod() { + return ExtraTrees.instance; + } - @Override - protected String getName() { - return "Lumbermill"; - } + @Override + protected String getName() { + return "Lumbermill"; + } - @Override - public void initialiseClient() { - setTitle(Machine.getMachine(getInventory()).getPackage().getDisplayName()); - new ControlSlot(this, 42.0f, 43.0f).assign(Lumbermill.SLOT_WOOD); - new ControlSlot(this, 148.0f, 43.0f).assign(Lumbermill.SLOT_PLANKS); - new ControlSlot(this, 172.0f, 28.0f).assign(Lumbermill.SLOT_BARK); - new ControlSlot(this, 172.0f, 58.0f).assign(Lumbermill.SLOT_SAWDUST); - new ControlLumbermillProgress(this, 70.0f, 43.0f); - new ControlLiquidTank(this, 16, 32); - new ControlEnergyBar(this, 8, 112, 16, 60, Position.BOTTOM); - new ControlPlayerInventory(this); - new ControlErrorState(this, 95.0f, 73.0f); - } + @Override + public void initialiseClient() { + setTitle(Machine.getMachine(getInventory()).getPackage().getDisplayName()); + new ControlSlot(this, 42.0f, 43.0f).assign(Lumbermill.SLOT_WOOD); + new ControlSlot(this, 148.0f, 43.0f).assign(Lumbermill.SLOT_PLANKS); + new ControlSlot(this, 172.0f, 28.0f).assign(Lumbermill.SLOT_BARK); + new ControlSlot(this, 172.0f, 58.0f).assign(Lumbermill.SLOT_SAWDUST); + new ControlLumbermillProgress(this, 70.0f, 43.0f); + new ControlLiquidTank(this, 16, 32); + new ControlEnergyBar(this, 8, 112, 16, 60, Position.BOTTOM); + new ControlPlayerInventory(this); + new ControlErrorState(this, 95.0f, 73.0f); + } } diff --git a/src/main/java/binnie/extratrees/craftgui/WindowSetSquare.java b/src/main/java/binnie/extratrees/craftgui/WindowSetSquare.java index ba1bb1ea..4c8fe971 100644 --- a/src/main/java/binnie/extratrees/craftgui/WindowSetSquare.java +++ b/src/main/java/binnie/extratrees/craftgui/WindowSetSquare.java @@ -9,26 +9,26 @@ import net.minecraft.inventory.IInventory; import net.minecraft.world.World; public class WindowSetSquare extends Window { - public WindowSetSquare(EntityPlayer player, IInventory inventory, Side side) { - super(150.0f, 150.0f, player, inventory, side); - } + public WindowSetSquare(EntityPlayer player, IInventory inventory, Side side) { + super(150.0f, 150.0f, player, inventory, side); + } - public static Window create(EntityPlayer player, World world, int x, int y, int z, Side side) { - return new WindowSetSquare(player, null, side); - } + public static Window create(EntityPlayer player, World world, int x, int y, int z, Side side) { + return new WindowSetSquare(player, null, side); + } - @Override - protected AbstractMod getMod() { - return ExtraTrees.instance; - } + @Override + protected AbstractMod getMod() { + return ExtraTrees.instance; + } - @Override - protected String getName() { - return null; - } + @Override + protected String getName() { + return null; + } - @Override - public void initialiseClient() { - // ignored - } + @Override + public void initialiseClient() { + // ignored + } } diff --git a/src/main/java/binnie/extratrees/craftgui/WindowWoodworker.java b/src/main/java/binnie/extratrees/craftgui/WindowWoodworker.java index 9cda0553..e5bc8953 100644 --- a/src/main/java/binnie/extratrees/craftgui/WindowWoodworker.java +++ b/src/main/java/binnie/extratrees/craftgui/WindowWoodworker.java @@ -26,56 +26,63 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowWoodworker extends Window { - protected ControlTextEdit textEdit; - protected ControlTileSelect tileSelect; + protected ControlTextEdit textEdit; + protected ControlTileSelect tileSelect; - public WindowWoodworker(EntityPlayer player, IInventory inventory, Side side) { - super(320.0f, 216.0f, player, inventory, side); - addEventHandler(new EventTextEdit.Handler() { - @Override - public void onEvent(EventTextEdit event) { - tileSelect.refresh(event.getValue()); - } - }.setOrigin(EventHandler.Origin.DirectChild, this)); - } + public WindowWoodworker(EntityPlayer player, IInventory inventory, Side side) { + super(320.0f, 216.0f, player, inventory, side); + addEventHandler( + new EventTextEdit.Handler() { + @Override + public void onEvent(EventTextEdit event) { + tileSelect.refresh(event.getValue()); + } + }.setOrigin(EventHandler.Origin.DirectChild, this)); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowWoodworker(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowWoodworker(player, inventory, side); + } - @Override - public void initialiseClient() { - setTitle(Machine.getMachine(getInventory()).getPackage().getDisplayName()); - new ControlText(this, new IArea(190.0f, 36.0f, 114.0f, 10.0f), I18N.localise("binniecore.gui.design"), TextJustification.TOP_CENTER).setColor(4473924); - new Panel(this, 188.0f, 48.0f, 118.0f, 126.0f, MinecraftGUI.PanelType.Gray); - textEdit = new ControlTextEdit(this, 188.0f, 178.0f, 118.0f, 12.0f); - ControlScrollableContent scroll = new ControlScrollableContent(this, 190.0f, 50.0f, 114.0f, 122.0f, 12.0f); - scroll.setScrollableContent(tileSelect = new ControlTileSelect(scroll, 0.0f, 0.0f)); - new ControlPlayerInventory(this).setPosition(new IPoint(14.0f, 96.0f)); - new ControlErrorState(this, 76.0f, 65.0f); + @Override + public void initialiseClient() { + setTitle(Machine.getMachine(getInventory()).getPackage().getDisplayName()); + new ControlText( + this, + new IArea(190.0f, 36.0f, 114.0f, 10.0f), + I18N.localise("binniecore.gui.design"), + TextJustification.TOP_CENTER) + .setColor(4473924); + new Panel(this, 188.0f, 48.0f, 118.0f, 126.0f, MinecraftGUI.PanelType.Gray); + textEdit = new ControlTextEdit(this, 188.0f, 178.0f, 118.0f, 12.0f); + ControlScrollableContent scroll = new ControlScrollableContent(this, 190.0f, 50.0f, 114.0f, 122.0f, 12.0f); + scroll.setScrollableContent(tileSelect = new ControlTileSelect(scroll, 0.0f, 0.0f)); + new ControlPlayerInventory(this).setPosition(new IPoint(14.0f, 96.0f)); + new ControlErrorState(this, 76.0f, 65.0f); - if (getInventory() != null) { - ControlSlot slotWood1 = new ControlSlot(this, 22.0f, 34.0f); - slotWood1.assign(Designer.DESIGN_1_SLOT); - ControlSlot slotWood2 = new ControlSlot(this, 62.0f, 34.0f); - slotWood2.assign(Designer.DESIGN_2_SLOT); - ControlSlot slotBeeswax = new ControlSlot(this, 42.0f, 64.0f); - slotBeeswax.assign(Designer.GLUE_SLOT); - new ControlRecipeSlot(this, 112, 34); - } - } + if (getInventory() != null) { + ControlSlot slotWood1 = new ControlSlot(this, 22.0f, 34.0f); + slotWood1.assign(Designer.DESIGN_1_SLOT); + ControlSlot slotWood2 = new ControlSlot(this, 62.0f, 34.0f); + slotWood2.assign(Designer.DESIGN_2_SLOT); + ControlSlot slotBeeswax = new ControlSlot(this, 42.0f, 64.0f); + slotBeeswax.assign(Designer.GLUE_SLOT); + new ControlRecipeSlot(this, 112, 34); + } + } - @Override - protected AbstractMod getMod() { - return ExtraTrees.instance; - } + @Override + protected AbstractMod getMod() { + return ExtraTrees.instance; + } - @Override - protected String getName() { - return "Woodworker"; - } + @Override + protected String getName() { + return "Woodworker"; + } - public DesignerType getDesignerType() { - return Machine.getInterface(WoodworkerRecipeComponent.class, getInventory()).getDesignerType(); - } + public DesignerType getDesignerType() { + return Machine.getInterface(WoodworkerRecipeComponent.class, getInventory()) + .getDesignerType(); + } } diff --git a/src/main/java/binnie/extratrees/genetics/ButterflySpecies.java b/src/main/java/binnie/extratrees/genetics/ButterflySpecies.java index 9de5d6c0..649a8e31 100644 --- a/src/main/java/binnie/extratrees/genetics/ButterflySpecies.java +++ b/src/main/java/binnie/extratrees/genetics/ButterflySpecies.java @@ -19,237 +19,237 @@ import forestry.api.genetics.IIndividual; import forestry.api.lepidopterology.EnumFlutterType; import forestry.api.lepidopterology.IAlleleButterflySpecies; import forestry.api.lepidopterology.IButterflyRoot; +import java.awt.Color; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.Map; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.common.BiomeDictionary; -import java.awt.Color; -import java.util.EnumSet; -import java.util.HashMap; -import java.util.Map; - public enum ButterflySpecies implements IAlleleButterflySpecies { - WhiteAdmiral("whiteAdmiral", "Limenitis camilla", new Color(0xfafafa)), - PurpleEmperor("purpleEmperor", "Apatura iris", new Color(0x4232c6)), - RedAdmiral("redAdmiral", "Vanessa atalanta", new Color(0xe66f44)), - PaintedLady("paintedLady", "Vanessa cardui", new Color(0xeda048)), - SmallTortoiseshell("smallTortoiseshell", "Aglais urticae", new Color(0xea750b)), - CamberwellBeauty("camberwellBeauty", "Aglais antiopa", new Color(0x95a2cc)), - Peacock("peacock", "Inachis io", new Color(0xd33802)), - Wall("wall", "Lasiommata megera", new Color(0xefae1e)), - CrimsonRose("crimsonRose", "Atrophaneura hector", new Color(0xff627b)), - KaiserIHind("kaiserIHind", "Teinopalpus imperialis", new Color(0x77a040)), - GoldenBirdwing("goldenBirdwing", "Troides aeacus", new Color(0xf9dc1e)), - MarshFritillary("marshFritillary", "Euphydryas aurinia",new Color(0xff8c00)), - PearlBorderedFritillary("pearlBorderedFritillary", "Boloria euphrosyne", new Color(0xff8b03)), - QueenOfSpainFritillary("queenOfSpainFritillary", "Issoria lathonia", new Color(0xffd13f)), - SpeckledWood("speckledWood", "Pararge aegeria", new Color(0xf5f88d)), - ScotchAngus("scotchAngus", "Erebia aethiops", new Color(0xc25423)), - Gatekeeper("gatekeeper", "Pyronia tithonus", new Color(0xfac32a)), - MeadowBrown("meadowBrown", "Maniola jurtina", new Color(0xe39519)), - SmallHeath("smallHeath", "Coenonympha pamphilus", new Color(0xffa632)), - Ringlet("ringlet", "Aphantopus hyperantus", new Color(0x975d37)), - Monarch("monarch", "Danaus plexippus", new Color(0xffb206)), - MarbledWhite("marbledWhite", "Melanargia galathea", new Color(0xececec)); + WhiteAdmiral("whiteAdmiral", "Limenitis camilla", new Color(0xfafafa)), + PurpleEmperor("purpleEmperor", "Apatura iris", new Color(0x4232c6)), + RedAdmiral("redAdmiral", "Vanessa atalanta", new Color(0xe66f44)), + PaintedLady("paintedLady", "Vanessa cardui", new Color(0xeda048)), + SmallTortoiseshell("smallTortoiseshell", "Aglais urticae", new Color(0xea750b)), + CamberwellBeauty("camberwellBeauty", "Aglais antiopa", new Color(0x95a2cc)), + Peacock("peacock", "Inachis io", new Color(0xd33802)), + Wall("wall", "Lasiommata megera", new Color(0xefae1e)), + CrimsonRose("crimsonRose", "Atrophaneura hector", new Color(0xff627b)), + KaiserIHind("kaiserIHind", "Teinopalpus imperialis", new Color(0x77a040)), + GoldenBirdwing("goldenBirdwing", "Troides aeacus", new Color(0xf9dc1e)), + MarshFritillary("marshFritillary", "Euphydryas aurinia", new Color(0xff8c00)), + PearlBorderedFritillary("pearlBorderedFritillary", "Boloria euphrosyne", new Color(0xff8b03)), + QueenOfSpainFritillary("queenOfSpainFritillary", "Issoria lathonia", new Color(0xffd13f)), + SpeckledWood("speckledWood", "Pararge aegeria", new Color(0xf5f88d)), + ScotchAngus("scotchAngus", "Erebia aethiops", new Color(0xc25423)), + Gatekeeper("gatekeeper", "Pyronia tithonus", new Color(0xfac32a)), + MeadowBrown("meadowBrown", "Maniola jurtina", new Color(0xe39519)), + SmallHeath("smallHeath", "Coenonympha pamphilus", new Color(0xffa632)), + Ringlet("ringlet", "Aphantopus hyperantus", new Color(0x975d37)), + Monarch("monarch", "Danaus plexippus", new Color(0xffb206)), + MarbledWhite("marbledWhite", "Melanargia galathea", new Color(0xececec)); - public IClassification branch; + public IClassification branch; - protected String name; - protected String branchName; - protected String scientific; - protected BinnieResource texture; - protected int color; + protected String name; + protected String branchName; + protected String scientific; + protected BinnieResource texture; + protected int color; - private Map butterflyLoot; - private Map caterpillarLoot; + private Map butterflyLoot; + private Map caterpillarLoot; - ButterflySpecies(String name, String scientific, Color color) { - this.name = name; - this.scientific = scientific.split(" ")[1]; - this.color = color.getRGB(); - butterflyLoot = new HashMap<>(); - caterpillarLoot = new HashMap<>(); - branchName = scientific.split(" ")[0].toLowerCase(); - texture = Binnie.Resource.getPNG(ExtraTrees.instance, ResourceType.Entity, toString()); - } + ButterflySpecies(String name, String scientific, Color color) { + this.name = name; + this.scientific = scientific.split(" ")[1]; + this.color = color.getRGB(); + butterflyLoot = new HashMap<>(); + caterpillarLoot = new HashMap<>(); + branchName = scientific.split(" ")[0].toLowerCase(); + texture = Binnie.Resource.getPNG(ExtraTrees.instance, ResourceType.Entity, toString()); + } - @Override - public String getName() { - return I18N.localise("extratrees.butterflies.species." + name); - } + @Override + public String getName() { + return I18N.localise("extratrees.butterflies.species." + name); + } - @Override - public String getDescription() { - return ""; - } + @Override + public String getDescription() { + return ""; + } - @Override - public EnumTemperature getTemperature() { - return EnumTemperature.NORMAL; - } + @Override + public EnumTemperature getTemperature() { + return EnumTemperature.NORMAL; + } - @Override - public EnumHumidity getHumidity() { - return EnumHumidity.NORMAL; - } + @Override + public EnumHumidity getHumidity() { + return EnumHumidity.NORMAL; + } - @Override - public boolean hasEffect() { - return false; - } + @Override + public boolean hasEffect() { + return false; + } - @Override - public boolean isSecret() { - return false; - } + @Override + public boolean isSecret() { + return false; + } - @Override - public boolean isCounted() { - return true; - } + @Override + public boolean isCounted() { + return true; + } - @Override - public String getBinomial() { - return scientific; - } + @Override + public String getBinomial() { + return scientific; + } - @Override - public String getAuthority() { - return "Binnie"; - } + @Override + public String getAuthority() { + return "Binnie"; + } - @Override - public IClassification getBranch() { - return branch; - } + @Override + public IClassification getBranch() { + return branch; + } - @Override - @SideOnly(Side.CLIENT) - public IIconProvider getIconProvider() { - return null; - } + @Override + @SideOnly(Side.CLIENT) + public IIconProvider getIconProvider() { + return null; + } - @Override - public String getUID() { - return "extrabutterflies.species." + toString().toLowerCase(); - } + @Override + public String getUID() { + return "extrabutterflies.species." + toString().toLowerCase(); + } - @Override - public boolean isDominant() { - return true; - } + @Override + public boolean isDominant() { + return true; + } - @Override - public String getEntityTexture() { - return texture.getResourceLocation().toString(); - } + @Override + public String getEntityTexture() { + return texture.getResourceLocation().toString(); + } - public IAllele[] getTemplate() { - IAllele[] def = getRoot().getDefaultTemplate().clone(); - def[0] = this; - return def; - } + public IAllele[] getTemplate() { + IAllele[] def = getRoot().getDefaultTemplate().clone(); + def[0] = this; + return def; + } - @Override - public IButterflyRoot getRoot() { - return Binnie.Genetics.getButterflyRoot(); - } + @Override + public IButterflyRoot getRoot() { + return Binnie.Genetics.getButterflyRoot(); + } - @Override - public float getRarity() { - return 0.5f; - } + @Override + public float getRarity() { + return 0.5f; + } - @Override - public boolean isNocturnal() { - return false; - } + @Override + public boolean isNocturnal() { + return false; + } - @Override - public int getIconColour(int renderPass) { - return (renderPass > 0) ? 0xffffff : color; - } + @Override + public int getIconColour(int renderPass) { + return (renderPass > 0) ? 0xffffff : color; + } - @Override - public Map getButterflyLoot() { - return new HashMap<>(); - } + @Override + public Map getButterflyLoot() { + return new HashMap<>(); + } - @Override - public Map getCaterpillarLoot() { - return new HashMap<>(); - } + @Override + public Map getCaterpillarLoot() { + return new HashMap<>(); + } - @Override - public int getComplexity() { - return 4; - } + @Override + public int getComplexity() { + return 4; + } - @Override - public float getResearchSuitability(ItemStack itemstack) { - if (itemstack == null) { - return 0.0f; - } - if (itemstack.getItem() == Items.glass_bottle) { - return 0.9f; - } + @Override + public float getResearchSuitability(ItemStack itemstack) { + if (itemstack == null) { + return 0.0f; + } + if (itemstack.getItem() == Items.glass_bottle) { + return 0.9f; + } - for (ItemStack stack : butterflyLoot.keySet()) { - if (stack.isItemEqual(itemstack)) { - return 1.0f; - } - } + for (ItemStack stack : butterflyLoot.keySet()) { + if (stack.isItemEqual(itemstack)) { + return 1.0f; + } + } - for (ItemStack stack : caterpillarLoot.keySet()) { - if (stack.isItemEqual(itemstack)) { - return 1.0f; - } - } + for (ItemStack stack : caterpillarLoot.keySet()) { + if (stack.isItemEqual(itemstack)) { + return 1.0f; + } + } - if (itemstack.getItem() == Mods.forestry.item("honeyDrop")) { - return 0.5f; - } - if (itemstack.getItem() == Mods.forestry.item("honeydew")) { - return 0.7f; - } - if (itemstack.getItem() == Mods.forestry.item("beeCombs")) { - return 0.4f; - } - if (AlleleManager.alleleRegistry.isIndividual(itemstack)) { - return 1.0f; - } + if (itemstack.getItem() == Mods.forestry.item("honeyDrop")) { + return 0.5f; + } + if (itemstack.getItem() == Mods.forestry.item("honeydew")) { + return 0.7f; + } + if (itemstack.getItem() == Mods.forestry.item("beeCombs")) { + return 0.4f; + } + if (AlleleManager.alleleRegistry.isIndividual(itemstack)) { + return 1.0f; + } - for (Map.Entry entry : getRoot().getResearchCatalysts().entrySet()) { - if (entry.getKey().isItemEqual(itemstack)) { - return entry.getValue(); - } - } - return 0.0f; - } + for (Map.Entry entry : + getRoot().getResearchCatalysts().entrySet()) { + if (entry.getKey().isItemEqual(itemstack)) { + return entry.getValue(); + } + } + return 0.0f; + } - @Override - public ItemStack[] getResearchBounty(World world, GameProfile researcher, IIndividual individual, int bountyLevel) { - return new ItemStack[]{getRoot().getMemberStack(individual.copy(), EnumFlutterType.SERUM.ordinal())}; - } + @Override + public ItemStack[] getResearchBounty(World world, GameProfile researcher, IIndividual individual, int bountyLevel) { + return new ItemStack[] {getRoot().getMemberStack(individual.copy(), EnumFlutterType.SERUM.ordinal())}; + } - @Override - public EnumSet getSpawnBiomes() { - return EnumSet.noneOf(BiomeDictionary.Type.class); - } + @Override + public EnumSet getSpawnBiomes() { + return EnumSet.noneOf(BiomeDictionary.Type.class); + } - @Override - public boolean strictSpawnMatch() { - return false; - } + @Override + public boolean strictSpawnMatch() { + return false; + } - @Override - public float getFlightDistance() { - return 5.0f; - } + @Override + public float getFlightDistance() { + return 5.0f; + } - @Override - public String getUnlocalizedName() { - return getUID(); - } + @Override + public String getUnlocalizedName() { + return getUID(); + } } diff --git a/src/main/java/binnie/extratrees/genetics/ExtraTreeFruitFamily.java b/src/main/java/binnie/extratrees/genetics/ExtraTreeFruitFamily.java index da083b83..a518cc53 100644 --- a/src/main/java/binnie/extratrees/genetics/ExtraTreeFruitFamily.java +++ b/src/main/java/binnie/extratrees/genetics/ExtraTreeFruitFamily.java @@ -3,36 +3,36 @@ package binnie.extratrees.genetics; import forestry.api.genetics.IFruitFamily; public enum ExtraTreeFruitFamily implements IFruitFamily { - Berry("Berries", "berry", "berri"), - Citrus("Citrus", "citrus", "citrus"); + Berry("Berries", "berry", "berri"), + Citrus("Citrus", "citrus", "citrus"); - protected String name; - protected String uid; - protected String scientific; + protected String name; + protected String uid; + protected String scientific; - ExtraTreeFruitFamily(String name, String uid, String scientific) { - this.name = name; - this.uid = uid; - this.scientific = scientific; - } + ExtraTreeFruitFamily(String name, String uid, String scientific) { + this.name = name; + this.uid = uid; + this.scientific = scientific; + } - @Override - public String getUID() { - return "binnie.family." + uid; - } + @Override + public String getUID() { + return "binnie.family." + uid; + } - @Override - public String getName() { - return name; - } + @Override + public String getName() { + return name; + } - @Override - public String getScientific() { - return scientific; - } + @Override + public String getScientific() { + return scientific; + } - @Override - public String getDescription() { - return name; - } + @Override + public String getDescription() { + return name; + } } diff --git a/src/main/java/binnie/extratrees/genetics/ExtraTreeFruitGene.java b/src/main/java/binnie/extratrees/genetics/ExtraTreeFruitGene.java index e4a604aa..a134ceff 100644 --- a/src/main/java/binnie/extratrees/genetics/ExtraTreeFruitGene.java +++ b/src/main/java/binnie/extratrees/genetics/ExtraTreeFruitGene.java @@ -18,424 +18,433 @@ import forestry.api.genetics.IAlleleSpecies; import forestry.api.genetics.IFruitFamily; import forestry.arboriculture.FruitProviderNone; import forestry.arboriculture.genetics.alleles.AlleleTreeSpecies; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - public enum ExtraTreeFruitGene implements IAlleleFruit, IFruitProvider { - Blackthorn(10, 0x6d8f1e, 0xde2f69, FruitSprite.Small), - CherryPlum(10, 0x6d8f1e, 0xe81c4b, FruitSprite.Small), - Peach(10, 0x6d8f1e, 0xfaa023, FruitSprite.Average), - Nectarine(10, 0x6d8f1e, 0xfa5523, FruitSprite.Average), - Apricot(10, 0x6d8f1e, 0xfacf23, FruitSprite.Average), - Almond(10, 0x6d8f1e, 0x8ee376, FruitSprite.Small), - WildCherry(10, 0x6d8f1e, 0xff0000, FruitSprite.Tiny), - SourCherry(10, 0x6d8f1e, 0x9c092b, FruitSprite.Tiny), - BlackCherry(10, 0x6d8f1e, 0x4a0a19, FruitSprite.Tiny), - Orange(10, 0x37f043, 0xff940a, FruitSprite.Average), - Manderin(10, 0x37f043, 0xff940a, FruitSprite.Average), - Tangerine(10, 0x37f043, 0xff940a, FruitSprite.Average), - Satsuma(10, 0x37f043, 0xff940a, FruitSprite.Average), - KeyLime(10, 0x37f043, 0x9bff44, FruitSprite.Small), - Lime(10, 0x37f043, 0x9bff44, FruitSprite.Average), - FingerLime(10, 0x37f043, 0xaa3b38, FruitSprite.Small), - Pomelo(10, 0x37f043, 0x5cd34a, FruitSprite.Larger), - Grapefruit(10, 0x37f043, 0xff940a, FruitSprite.Large), - Kumquat(10, 0x37f043, 0xff940a, FruitSprite.Small), - Citron(10, 0x37f043, 0xffec60, FruitSprite.Large), - BuddhaHand(10, 0x37f043, 0xffec60, FruitSprite.Large), - Apple(10, 0x78c953, 0xf71616, FruitSprite.Average), - Crabapple(10, 0x78c953, 0xffbd4c, FruitSprite.Average), - Banana("Banana", FruitPod.Banana), - RedBanana("Red Banana", FruitPod.RedBanana), - Plantain("Platain", FruitPod.Plantain), - Hazelnut(7, 0x7d791e, 0xdcb276, FruitSprite.Small), - Butternut(7, 0xb2b750, 0xf5b462, FruitSprite.Small), - Beechnut(8, 0xdbbe7c, 0x5f3e35, FruitSprite.Tiny), - Pecan(8, 0xa2ac4c, 0xf0cf89, FruitSprite.Small), - BrazilNut(10, 0x59a769, 0x965530, FruitSprite.Large), - Fig(9, 0xd8b162, 0x6c3f46, FruitSprite.Small), - Acorn(6, 0x72b226, 0xad6a1d, FruitSprite.Tiny), - Elderberry(9, 0x71975d, 0x515b43, FruitSprite.Tiny), - Olive(9, 0x879e35, 0x62572a, FruitSprite.Small), - GingkoNut(7, 0x8c975b, 0xe5daad, FruitSprite.Tiny), - Coffee(8, 0x716d1d, 0xf84f66, FruitSprite.Tiny), - Pear(10, 0x9f8f51, 0x9fd551, FruitSprite.Pear), - OsangeOsange(10, 0x979752, 0xa2bf27, FruitSprite.Larger), - Clove(9, 0x687c2c, 0xab4445, FruitSprite.Tiny), - Coconut("Coconut", FruitPod.Coconut), - Cashew(8, 0xc4851c, 0xe94b17, FruitSprite.Average), - Avacado(10, 0x9cbe72, 0x211f10, FruitSprite.Pear), - Nutmeg(9, 0xe2c32d, 0xac8355, FruitSprite.Tiny), - Allspice(9, 0xe7a47a, 0x714636, FruitSprite.Tiny), - Chilli(10, 0x716265, 0xe71832, FruitSprite.Small), - StarAnise(8, 0x85442e, 0xd45c05, FruitSprite.Tiny), - Mango(10, 0x658c15, 0xf2a636, FruitSprite.Average), - Starfruit(10, 0x95c20d, 0xe5d22e, FruitSprite.Average), - Candlenut(8, 0x7da873, 0xdecab2, FruitSprite.Small), - Papayimar("Papayimar", FruitPod.Papayimar), - Blackcurrant(8, 0x8f8c53, 0x4b4e53, FruitSprite.Tiny), - Redcurrant(8, 0xc6800e, 0xe61e0e, FruitSprite.Tiny), - Blackberry(8, 0x8f6d71, 0x494371, FruitSprite.Tiny), - Raspberry(8, 0xecd1c5, 0xdd6971, FruitSprite.Tiny), - Blueberry(8, 0x9bb297, 0x6093be, FruitSprite.Tiny), - Cranberry(8, 0xbaa730, 0xde1a30, FruitSprite.Tiny), - Juniper(8, 0x9b8c72, 0x606372, FruitSprite.Tiny), - Gooseberry(8, 0xb99f50, 0xb9cf50, FruitSprite.Tiny), - GoldenRaspberry(8, 0xbeb03b, 0xf3b03b, FruitSprite.Tiny); + Blackthorn(10, 0x6d8f1e, 0xde2f69, FruitSprite.Small), + CherryPlum(10, 0x6d8f1e, 0xe81c4b, FruitSprite.Small), + Peach(10, 0x6d8f1e, 0xfaa023, FruitSprite.Average), + Nectarine(10, 0x6d8f1e, 0xfa5523, FruitSprite.Average), + Apricot(10, 0x6d8f1e, 0xfacf23, FruitSprite.Average), + Almond(10, 0x6d8f1e, 0x8ee376, FruitSprite.Small), + WildCherry(10, 0x6d8f1e, 0xff0000, FruitSprite.Tiny), + SourCherry(10, 0x6d8f1e, 0x9c092b, FruitSprite.Tiny), + BlackCherry(10, 0x6d8f1e, 0x4a0a19, FruitSprite.Tiny), + Orange(10, 0x37f043, 0xff940a, FruitSprite.Average), + Manderin(10, 0x37f043, 0xff940a, FruitSprite.Average), + Tangerine(10, 0x37f043, 0xff940a, FruitSprite.Average), + Satsuma(10, 0x37f043, 0xff940a, FruitSprite.Average), + KeyLime(10, 0x37f043, 0x9bff44, FruitSprite.Small), + Lime(10, 0x37f043, 0x9bff44, FruitSprite.Average), + FingerLime(10, 0x37f043, 0xaa3b38, FruitSprite.Small), + Pomelo(10, 0x37f043, 0x5cd34a, FruitSprite.Larger), + Grapefruit(10, 0x37f043, 0xff940a, FruitSprite.Large), + Kumquat(10, 0x37f043, 0xff940a, FruitSprite.Small), + Citron(10, 0x37f043, 0xffec60, FruitSprite.Large), + BuddhaHand(10, 0x37f043, 0xffec60, FruitSprite.Large), + Apple(10, 0x78c953, 0xf71616, FruitSprite.Average), + Crabapple(10, 0x78c953, 0xffbd4c, FruitSprite.Average), + Banana("Banana", FruitPod.Banana), + RedBanana("Red Banana", FruitPod.RedBanana), + Plantain("Platain", FruitPod.Plantain), + Hazelnut(7, 0x7d791e, 0xdcb276, FruitSprite.Small), + Butternut(7, 0xb2b750, 0xf5b462, FruitSprite.Small), + Beechnut(8, 0xdbbe7c, 0x5f3e35, FruitSprite.Tiny), + Pecan(8, 0xa2ac4c, 0xf0cf89, FruitSprite.Small), + BrazilNut(10, 0x59a769, 0x965530, FruitSprite.Large), + Fig(9, 0xd8b162, 0x6c3f46, FruitSprite.Small), + Acorn(6, 0x72b226, 0xad6a1d, FruitSprite.Tiny), + Elderberry(9, 0x71975d, 0x515b43, FruitSprite.Tiny), + Olive(9, 0x879e35, 0x62572a, FruitSprite.Small), + GingkoNut(7, 0x8c975b, 0xe5daad, FruitSprite.Tiny), + Coffee(8, 0x716d1d, 0xf84f66, FruitSprite.Tiny), + Pear(10, 0x9f8f51, 0x9fd551, FruitSprite.Pear), + OsangeOsange(10, 0x979752, 0xa2bf27, FruitSprite.Larger), + Clove(9, 0x687c2c, 0xab4445, FruitSprite.Tiny), + Coconut("Coconut", FruitPod.Coconut), + Cashew(8, 0xc4851c, 0xe94b17, FruitSprite.Average), + Avacado(10, 0x9cbe72, 0x211f10, FruitSprite.Pear), + Nutmeg(9, 0xe2c32d, 0xac8355, FruitSprite.Tiny), + Allspice(9, 0xe7a47a, 0x714636, FruitSprite.Tiny), + Chilli(10, 0x716265, 0xe71832, FruitSprite.Small), + StarAnise(8, 0x85442e, 0xd45c05, FruitSprite.Tiny), + Mango(10, 0x658c15, 0xf2a636, FruitSprite.Average), + Starfruit(10, 0x95c20d, 0xe5d22e, FruitSprite.Average), + Candlenut(8, 0x7da873, 0xdecab2, FruitSprite.Small), + Papayimar("Papayimar", FruitPod.Papayimar), + Blackcurrant(8, 0x8f8c53, 0x4b4e53, FruitSprite.Tiny), + Redcurrant(8, 0xc6800e, 0xe61e0e, FruitSprite.Tiny), + Blackberry(8, 0x8f6d71, 0x494371, FruitSprite.Tiny), + Raspberry(8, 0xecd1c5, 0xdd6971, FruitSprite.Tiny), + Blueberry(8, 0x9bb297, 0x6093be, FruitSprite.Tiny), + Cranberry(8, 0xbaa730, 0xde1a30, FruitSprite.Tiny), + Juniper(8, 0x9b8c72, 0x606372, FruitSprite.Tiny), + Gooseberry(8, 0xb99f50, 0xb9cf50, FruitSprite.Tiny), + GoldenRaspberry(8, 0xbeb03b, 0xf3b03b, FruitSprite.Tiny); - protected IFruitFamily family; - protected boolean isRipening; - protected int diffR; - protected int diffG; - protected int diffB; - protected FruitPod pod; - protected int ripeningPeriod; - protected int colorUnripe; - protected int color; - protected FruitSprite index; - protected HashMap products; + protected IFruitFamily family; + protected boolean isRipening; + protected int diffR; + protected int diffG; + protected int diffB; + protected FruitPod pod; + protected int ripeningPeriod; + protected int colorUnripe; + protected int color; + protected FruitSprite index; + protected HashMap products; - ExtraTreeFruitGene(int time, int unripe, int color, FruitSprite index) { - this.color = color; - this.index = index; - isRipening = false; - diffB = 0; - pod = null; - ripeningPeriod = 0; - products = new HashMap<>(); - setRipening(time, unripe); - } + ExtraTreeFruitGene(int time, int unripe, int color, FruitSprite index) { + this.color = color; + this.index = index; + isRipening = false; + diffB = 0; + pod = null; + ripeningPeriod = 0; + products = new HashMap<>(); + setRipening(time, unripe); + } - ExtraTreeFruitGene(String name, FruitPod pod) { - this.pod = pod; - isRipening = false; - diffB = 0; - products = new HashMap<>(); - ripeningPeriod = 2; - } + ExtraTreeFruitGene(String name, FruitPod pod) { + this.pod = pod; + isRipening = false; + diffB = 0; + products = new HashMap<>(); + ripeningPeriod = 2; + } - public static void init() { - IFruitFamily familyPrune = AlleleManager.alleleRegistry.getFruitFamily("forestry.prunes"); - IFruitFamily familyPome = AlleleManager.alleleRegistry.getFruitFamily("forestry.pomes"); - IFruitFamily familyJungle = AlleleManager.alleleRegistry.getFruitFamily("forestry.jungle"); - IFruitFamily familyNuts = AlleleManager.alleleRegistry.getFruitFamily("forestry.nuts"); - IFruitFamily familyBerry = ExtraTreeFruitFamily.Berry; - IFruitFamily familyCitrus = ExtraTreeFruitFamily.Citrus; - AlleleManager.alleleRegistry.registerFruitFamily(familyBerry); - AlleleManager.alleleRegistry.registerFruitFamily(familyCitrus); - ExtraTreeFruitGene.Apple.addProduct(new ItemStack(Items.apple), 1.0f); - ExtraTreeFruitGene.Apple.setFamily(familyPome); - ExtraTreeFruitGene.Crabapple.addProduct(Food.Crabapple.get(1), 1.0f); - ExtraTreeFruitGene.Crabapple.setFamily(familyPome); - ExtraTreeFruitGene.Orange.addProduct(Food.Orange.get(1), 1.0f); - ExtraTreeFruitGene.Orange.setFamily(familyCitrus); - ExtraTreeFruitGene.Manderin.addProduct(Food.Manderin.get(1), 1.0f); - ExtraTreeFruitGene.Manderin.setFamily(familyCitrus); - ExtraTreeFruitGene.Tangerine.addProduct(Food.Tangerine.get(1), 1.0f); - ExtraTreeFruitGene.Tangerine.setFamily(familyCitrus); - ExtraTreeFruitGene.Satsuma.addProduct(Food.Satsuma.get(1), 1.0f); - ExtraTreeFruitGene.Satsuma.setFamily(familyCitrus); - ExtraTreeFruitGene.KeyLime.addProduct(Food.KeyLime.get(1), 1.0f); - ExtraTreeFruitGene.KeyLime.setFamily(familyCitrus); - ExtraTreeFruitGene.Lime.addProduct(Food.Lime.get(1), 1.0f); - ExtraTreeFruitGene.Lime.setFamily(familyCitrus); - ExtraTreeFruitGene.FingerLime.addProduct(Food.FingerLime.get(1), 1.0f); - ExtraTreeFruitGene.FingerLime.setFamily(familyCitrus); - ExtraTreeFruitGene.Pomelo.addProduct(Food.Pomelo.get(1), 1.0f); - ExtraTreeFruitGene.Pomelo.setFamily(familyCitrus); - ExtraTreeFruitGene.Grapefruit.addProduct(Food.Grapefruit.get(1), 1.0f); - ExtraTreeFruitGene.Grapefruit.setFamily(familyCitrus); - ExtraTreeFruitGene.Kumquat.addProduct(Food.Kumquat.get(1), 1.0f); - ExtraTreeFruitGene.Kumquat.setFamily(familyCitrus); - ExtraTreeFruitGene.Citron.addProduct(Food.Citron.get(1), 1.0f); - ExtraTreeFruitGene.Citron.setFamily(familyCitrus); - ExtraTreeFruitGene.BuddhaHand.addProduct(Food.BuddhaHand.get(1), 1.0f); - ExtraTreeFruitGene.BuddhaHand.setFamily(familyCitrus); - ExtraTreeFruitGene.Blackthorn.addProduct(Food.Blackthorn.get(1), 1.0f); - ExtraTreeFruitGene.Blackthorn.setFamily(familyPrune); - ExtraTreeFruitGene.CherryPlum.addProduct(Food.CherryPlum.get(1), 1.0f); - ExtraTreeFruitGene.CherryPlum.setFamily(familyPrune); - ExtraTreeFruitGene.Peach.addProduct(Food.Peach.get(1), 1.0f); - ExtraTreeFruitGene.Peach.setFamily(familyPrune); - ExtraTreeFruitGene.Nectarine.addProduct(Food.Nectarine.get(1), 1.0f); - ExtraTreeFruitGene.Nectarine.setFamily(familyPrune); - ExtraTreeFruitGene.Apricot.addProduct(Food.Apricot.get(1), 1.0f); - ExtraTreeFruitGene.Apricot.setFamily(familyPrune); - ExtraTreeFruitGene.Almond.addProduct(Food.Almond.get(1), 1.0f); - ExtraTreeFruitGene.Almond.setFamily(familyPrune); - ExtraTreeFruitGene.WildCherry.addProduct(Food.WildCherry.get(1), 1.0f); - ExtraTreeFruitGene.WildCherry.setFamily(familyPrune); - ExtraTreeFruitGene.SourCherry.addProduct(Food.SourCherry.get(1), 1.0f); - ExtraTreeFruitGene.SourCherry.setFamily(familyPrune); - ExtraTreeFruitGene.BlackCherry.addProduct(Food.BlackCherry.get(1), 1.0f); - ExtraTreeFruitGene.BlackCherry.setFamily(familyPrune); - ExtraTreeFruitGene.Hazelnut.addProduct(Food.Hazelnut.get(1), 1.0f); - ExtraTreeFruitGene.Hazelnut.setFamily(familyNuts); - ExtraTreeFruitGene.Butternut.addProduct(Food.Butternut.get(1), 1.0f); - ExtraTreeFruitGene.Butternut.setFamily(familyNuts); - ExtraTreeFruitGene.Beechnut.addProduct(Food.Beechnut.get(1), 1.0f); - ExtraTreeFruitGene.Beechnut.setFamily(familyNuts); - ExtraTreeFruitGene.Pecan.addProduct(Food.Pecan.get(1), 1.0f); - ExtraTreeFruitGene.Pecan.setFamily(familyNuts); - ExtraTreeFruitGene.Banana.addProduct(Food.Banana.get(2), 1.0f); - ExtraTreeFruitGene.Banana.setFamily(familyJungle); - ExtraTreeFruitGene.RedBanana.addProduct(Food.RedBanana.get(2), 1.0f); - ExtraTreeFruitGene.RedBanana.setFamily(familyJungle); - ExtraTreeFruitGene.Plantain.addProduct(Food.Plantain.get(2), 1.0f); - ExtraTreeFruitGene.Plantain.setFamily(familyJungle); - ExtraTreeFruitGene.BrazilNut.addProduct(Food.BrazilNut.get(4), 1.0f); - ExtraTreeFruitGene.BrazilNut.setFamily(familyNuts); - ExtraTreeFruitGene.Fig.addProduct(Food.Fig.get(1), 1.0f); - ExtraTreeFruitGene.Fig.setFamily(familyPrune); - ExtraTreeFruitGene.Acorn.addProduct(Food.Acorn.get(1), 1.0f); - ExtraTreeFruitGene.Acorn.setFamily(familyNuts); - ExtraTreeFruitGene.Elderberry.addProduct(Food.Elderberry.get(1), 1.0f); - ExtraTreeFruitGene.Elderberry.setFamily(familyPrune); - ExtraTreeFruitGene.Olive.addProduct(Food.Olive.get(1), 1.0f); - ExtraTreeFruitGene.Olive.setFamily(familyPrune); - ExtraTreeFruitGene.GingkoNut.addProduct(Food.GingkoNut.get(1), 1.0f); - ExtraTreeFruitGene.GingkoNut.setFamily(familyNuts); - ExtraTreeFruitGene.Coffee.addProduct(Food.Coffee.get(1), 1.0f); - ExtraTreeFruitGene.Coffee.setFamily(familyJungle); - ExtraTreeFruitGene.Pear.addProduct(Food.Pear.get(1), 1.0f); - ExtraTreeFruitGene.Pear.setFamily(familyPome); - ExtraTreeFruitGene.OsangeOsange.addProduct(Food.OsangeOrange.get(1), 1.0f); - ExtraTreeFruitGene.OsangeOsange.setFamily(familyPome); - ExtraTreeFruitGene.Clove.addProduct(Food.Clove.get(1), 1.0f); - ExtraTreeFruitGene.Clove.setFamily(familyNuts); - ExtraTreeFruitGene.Blackcurrant.addProduct(Food.Blackcurrant.get(2), 1.0f); - ExtraTreeFruitGene.Blackcurrant.setFamily(familyBerry); - ExtraTreeFruitGene.Redcurrant.addProduct(Food.Redcurrant.get(2), 1.0f); - ExtraTreeFruitGene.Redcurrant.setFamily(familyBerry); - ExtraTreeFruitGene.Blackberry.addProduct(Food.Blackberry.get(2), 1.0f); - ExtraTreeFruitGene.Blackberry.setFamily(familyBerry); - ExtraTreeFruitGene.Raspberry.addProduct(Food.Raspberry.get(2), 1.0f); - ExtraTreeFruitGene.Raspberry.setFamily(familyBerry); - ExtraTreeFruitGene.Blueberry.addProduct(Food.Blueberry.get(2), 1.0f); - ExtraTreeFruitGene.Blueberry.setFamily(familyBerry); - ExtraTreeFruitGene.Cranberry.addProduct(Food.Cranberry.get(2), 1.0f); - ExtraTreeFruitGene.Cranberry.setFamily(familyBerry); - ExtraTreeFruitGene.Juniper.addProduct(Food.Juniper.get(2), 1.0f); - ExtraTreeFruitGene.Juniper.setFamily(familyBerry); - ExtraTreeFruitGene.Gooseberry.addProduct(Food.Gooseberry.get(2), 1.0f); - ExtraTreeFruitGene.Gooseberry.setFamily(familyBerry); - ExtraTreeFruitGene.GoldenRaspberry.addProduct(Food.GoldenRaspberry.get(2), 1.0f); - ExtraTreeFruitGene.GoldenRaspberry.setFamily(familyBerry); - ExtraTreeFruitGene.Coconut.addProduct(Food.Coconut.get(1), 1.0f); - ExtraTreeFruitGene.Coconut.setFamily(familyJungle); - ExtraTreeFruitGene.Cashew.addProduct(Food.Cashew.get(1), 1.0f); - ExtraTreeFruitGene.Cashew.setFamily(familyJungle); - ExtraTreeFruitGene.Avacado.addProduct(Food.Avacado.get(1), 1.0f); - ExtraTreeFruitGene.Avacado.setFamily(familyJungle); - ExtraTreeFruitGene.Nutmeg.addProduct(Food.Nutmeg.get(1), 1.0f); - ExtraTreeFruitGene.Nutmeg.setFamily(familyJungle); - ExtraTreeFruitGene.Allspice.addProduct(Food.Allspice.get(1), 1.0f); - ExtraTreeFruitGene.Allspice.setFamily(familyJungle); - ExtraTreeFruitGene.Chilli.addProduct(Food.Chilli.get(1), 1.0f); - ExtraTreeFruitGene.Chilli.setFamily(familyJungle); - ExtraTreeFruitGene.StarAnise.addProduct(Food.StarAnise.get(1), 1.0f); - ExtraTreeFruitGene.StarAnise.setFamily(familyJungle); - ExtraTreeFruitGene.Mango.addProduct(Food.Mango.get(1), 1.0f); - ExtraTreeFruitGene.Mango.setFamily(familyPome); - ExtraTreeFruitGene.Starfruit.addProduct(Food.Starfruit.get(1), 1.0f); - ExtraTreeFruitGene.Starfruit.setFamily(familyJungle); - ExtraTreeFruitGene.Candlenut.addProduct(Food.Candlenut.get(1), 1.0f); - ExtraTreeFruitGene.Candlenut.setFamily(familyJungle); + public static void init() { + IFruitFamily familyPrune = AlleleManager.alleleRegistry.getFruitFamily("forestry.prunes"); + IFruitFamily familyPome = AlleleManager.alleleRegistry.getFruitFamily("forestry.pomes"); + IFruitFamily familyJungle = AlleleManager.alleleRegistry.getFruitFamily("forestry.jungle"); + IFruitFamily familyNuts = AlleleManager.alleleRegistry.getFruitFamily("forestry.nuts"); + IFruitFamily familyBerry = ExtraTreeFruitFamily.Berry; + IFruitFamily familyCitrus = ExtraTreeFruitFamily.Citrus; + AlleleManager.alleleRegistry.registerFruitFamily(familyBerry); + AlleleManager.alleleRegistry.registerFruitFamily(familyCitrus); + ExtraTreeFruitGene.Apple.addProduct(new ItemStack(Items.apple), 1.0f); + ExtraTreeFruitGene.Apple.setFamily(familyPome); + ExtraTreeFruitGene.Crabapple.addProduct(Food.Crabapple.get(1), 1.0f); + ExtraTreeFruitGene.Crabapple.setFamily(familyPome); + ExtraTreeFruitGene.Orange.addProduct(Food.Orange.get(1), 1.0f); + ExtraTreeFruitGene.Orange.setFamily(familyCitrus); + ExtraTreeFruitGene.Manderin.addProduct(Food.Manderin.get(1), 1.0f); + ExtraTreeFruitGene.Manderin.setFamily(familyCitrus); + ExtraTreeFruitGene.Tangerine.addProduct(Food.Tangerine.get(1), 1.0f); + ExtraTreeFruitGene.Tangerine.setFamily(familyCitrus); + ExtraTreeFruitGene.Satsuma.addProduct(Food.Satsuma.get(1), 1.0f); + ExtraTreeFruitGene.Satsuma.setFamily(familyCitrus); + ExtraTreeFruitGene.KeyLime.addProduct(Food.KeyLime.get(1), 1.0f); + ExtraTreeFruitGene.KeyLime.setFamily(familyCitrus); + ExtraTreeFruitGene.Lime.addProduct(Food.Lime.get(1), 1.0f); + ExtraTreeFruitGene.Lime.setFamily(familyCitrus); + ExtraTreeFruitGene.FingerLime.addProduct(Food.FingerLime.get(1), 1.0f); + ExtraTreeFruitGene.FingerLime.setFamily(familyCitrus); + ExtraTreeFruitGene.Pomelo.addProduct(Food.Pomelo.get(1), 1.0f); + ExtraTreeFruitGene.Pomelo.setFamily(familyCitrus); + ExtraTreeFruitGene.Grapefruit.addProduct(Food.Grapefruit.get(1), 1.0f); + ExtraTreeFruitGene.Grapefruit.setFamily(familyCitrus); + ExtraTreeFruitGene.Kumquat.addProduct(Food.Kumquat.get(1), 1.0f); + ExtraTreeFruitGene.Kumquat.setFamily(familyCitrus); + ExtraTreeFruitGene.Citron.addProduct(Food.Citron.get(1), 1.0f); + ExtraTreeFruitGene.Citron.setFamily(familyCitrus); + ExtraTreeFruitGene.BuddhaHand.addProduct(Food.BuddhaHand.get(1), 1.0f); + ExtraTreeFruitGene.BuddhaHand.setFamily(familyCitrus); + ExtraTreeFruitGene.Blackthorn.addProduct(Food.Blackthorn.get(1), 1.0f); + ExtraTreeFruitGene.Blackthorn.setFamily(familyPrune); + ExtraTreeFruitGene.CherryPlum.addProduct(Food.CherryPlum.get(1), 1.0f); + ExtraTreeFruitGene.CherryPlum.setFamily(familyPrune); + ExtraTreeFruitGene.Peach.addProduct(Food.Peach.get(1), 1.0f); + ExtraTreeFruitGene.Peach.setFamily(familyPrune); + ExtraTreeFruitGene.Nectarine.addProduct(Food.Nectarine.get(1), 1.0f); + ExtraTreeFruitGene.Nectarine.setFamily(familyPrune); + ExtraTreeFruitGene.Apricot.addProduct(Food.Apricot.get(1), 1.0f); + ExtraTreeFruitGene.Apricot.setFamily(familyPrune); + ExtraTreeFruitGene.Almond.addProduct(Food.Almond.get(1), 1.0f); + ExtraTreeFruitGene.Almond.setFamily(familyPrune); + ExtraTreeFruitGene.WildCherry.addProduct(Food.WildCherry.get(1), 1.0f); + ExtraTreeFruitGene.WildCherry.setFamily(familyPrune); + ExtraTreeFruitGene.SourCherry.addProduct(Food.SourCherry.get(1), 1.0f); + ExtraTreeFruitGene.SourCherry.setFamily(familyPrune); + ExtraTreeFruitGene.BlackCherry.addProduct(Food.BlackCherry.get(1), 1.0f); + ExtraTreeFruitGene.BlackCherry.setFamily(familyPrune); + ExtraTreeFruitGene.Hazelnut.addProduct(Food.Hazelnut.get(1), 1.0f); + ExtraTreeFruitGene.Hazelnut.setFamily(familyNuts); + ExtraTreeFruitGene.Butternut.addProduct(Food.Butternut.get(1), 1.0f); + ExtraTreeFruitGene.Butternut.setFamily(familyNuts); + ExtraTreeFruitGene.Beechnut.addProduct(Food.Beechnut.get(1), 1.0f); + ExtraTreeFruitGene.Beechnut.setFamily(familyNuts); + ExtraTreeFruitGene.Pecan.addProduct(Food.Pecan.get(1), 1.0f); + ExtraTreeFruitGene.Pecan.setFamily(familyNuts); + ExtraTreeFruitGene.Banana.addProduct(Food.Banana.get(2), 1.0f); + ExtraTreeFruitGene.Banana.setFamily(familyJungle); + ExtraTreeFruitGene.RedBanana.addProduct(Food.RedBanana.get(2), 1.0f); + ExtraTreeFruitGene.RedBanana.setFamily(familyJungle); + ExtraTreeFruitGene.Plantain.addProduct(Food.Plantain.get(2), 1.0f); + ExtraTreeFruitGene.Plantain.setFamily(familyJungle); + ExtraTreeFruitGene.BrazilNut.addProduct(Food.BrazilNut.get(4), 1.0f); + ExtraTreeFruitGene.BrazilNut.setFamily(familyNuts); + ExtraTreeFruitGene.Fig.addProduct(Food.Fig.get(1), 1.0f); + ExtraTreeFruitGene.Fig.setFamily(familyPrune); + ExtraTreeFruitGene.Acorn.addProduct(Food.Acorn.get(1), 1.0f); + ExtraTreeFruitGene.Acorn.setFamily(familyNuts); + ExtraTreeFruitGene.Elderberry.addProduct(Food.Elderberry.get(1), 1.0f); + ExtraTreeFruitGene.Elderberry.setFamily(familyPrune); + ExtraTreeFruitGene.Olive.addProduct(Food.Olive.get(1), 1.0f); + ExtraTreeFruitGene.Olive.setFamily(familyPrune); + ExtraTreeFruitGene.GingkoNut.addProduct(Food.GingkoNut.get(1), 1.0f); + ExtraTreeFruitGene.GingkoNut.setFamily(familyNuts); + ExtraTreeFruitGene.Coffee.addProduct(Food.Coffee.get(1), 1.0f); + ExtraTreeFruitGene.Coffee.setFamily(familyJungle); + ExtraTreeFruitGene.Pear.addProduct(Food.Pear.get(1), 1.0f); + ExtraTreeFruitGene.Pear.setFamily(familyPome); + ExtraTreeFruitGene.OsangeOsange.addProduct(Food.OsangeOrange.get(1), 1.0f); + ExtraTreeFruitGene.OsangeOsange.setFamily(familyPome); + ExtraTreeFruitGene.Clove.addProduct(Food.Clove.get(1), 1.0f); + ExtraTreeFruitGene.Clove.setFamily(familyNuts); + ExtraTreeFruitGene.Blackcurrant.addProduct(Food.Blackcurrant.get(2), 1.0f); + ExtraTreeFruitGene.Blackcurrant.setFamily(familyBerry); + ExtraTreeFruitGene.Redcurrant.addProduct(Food.Redcurrant.get(2), 1.0f); + ExtraTreeFruitGene.Redcurrant.setFamily(familyBerry); + ExtraTreeFruitGene.Blackberry.addProduct(Food.Blackberry.get(2), 1.0f); + ExtraTreeFruitGene.Blackberry.setFamily(familyBerry); + ExtraTreeFruitGene.Raspberry.addProduct(Food.Raspberry.get(2), 1.0f); + ExtraTreeFruitGene.Raspberry.setFamily(familyBerry); + ExtraTreeFruitGene.Blueberry.addProduct(Food.Blueberry.get(2), 1.0f); + ExtraTreeFruitGene.Blueberry.setFamily(familyBerry); + ExtraTreeFruitGene.Cranberry.addProduct(Food.Cranberry.get(2), 1.0f); + ExtraTreeFruitGene.Cranberry.setFamily(familyBerry); + ExtraTreeFruitGene.Juniper.addProduct(Food.Juniper.get(2), 1.0f); + ExtraTreeFruitGene.Juniper.setFamily(familyBerry); + ExtraTreeFruitGene.Gooseberry.addProduct(Food.Gooseberry.get(2), 1.0f); + ExtraTreeFruitGene.Gooseberry.setFamily(familyBerry); + ExtraTreeFruitGene.GoldenRaspberry.addProduct(Food.GoldenRaspberry.get(2), 1.0f); + ExtraTreeFruitGene.GoldenRaspberry.setFamily(familyBerry); + ExtraTreeFruitGene.Coconut.addProduct(Food.Coconut.get(1), 1.0f); + ExtraTreeFruitGene.Coconut.setFamily(familyJungle); + ExtraTreeFruitGene.Cashew.addProduct(Food.Cashew.get(1), 1.0f); + ExtraTreeFruitGene.Cashew.setFamily(familyJungle); + ExtraTreeFruitGene.Avacado.addProduct(Food.Avacado.get(1), 1.0f); + ExtraTreeFruitGene.Avacado.setFamily(familyJungle); + ExtraTreeFruitGene.Nutmeg.addProduct(Food.Nutmeg.get(1), 1.0f); + ExtraTreeFruitGene.Nutmeg.setFamily(familyJungle); + ExtraTreeFruitGene.Allspice.addProduct(Food.Allspice.get(1), 1.0f); + ExtraTreeFruitGene.Allspice.setFamily(familyJungle); + ExtraTreeFruitGene.Chilli.addProduct(Food.Chilli.get(1), 1.0f); + ExtraTreeFruitGene.Chilli.setFamily(familyJungle); + ExtraTreeFruitGene.StarAnise.addProduct(Food.StarAnise.get(1), 1.0f); + ExtraTreeFruitGene.StarAnise.setFamily(familyJungle); + ExtraTreeFruitGene.Mango.addProduct(Food.Mango.get(1), 1.0f); + ExtraTreeFruitGene.Mango.setFamily(familyPome); + ExtraTreeFruitGene.Starfruit.addProduct(Food.Starfruit.get(1), 1.0f); + ExtraTreeFruitGene.Starfruit.setFamily(familyJungle); + ExtraTreeFruitGene.Candlenut.addProduct(Food.Candlenut.get(1), 1.0f); + ExtraTreeFruitGene.Candlenut.setFamily(familyJungle); - if (ConfigurationMain.alterLemon) { - try { - IAlleleFruit lemon = (IAlleleFruit) AlleleManager.alleleRegistry.getAllele("forestry.fruitLemon"); - FruitProviderNone prov = (FruitProviderNone) lemon.getProvider(); - Field f = FruitProviderNone.class.getDeclaredField("family"); - Field modifiersField = Field.class.getDeclaredField("modifiers"); - f.setAccessible(true); - modifiersField.setAccessible(true); - modifiersField.setInt(f, f.getModifiers() & 0xFFFFFFEF); - f.set(prov, familyCitrus); - } catch (Exception e) { - e.printStackTrace(); - } - } + if (ConfigurationMain.alterLemon) { + try { + IAlleleFruit lemon = (IAlleleFruit) AlleleManager.alleleRegistry.getAllele("forestry.fruitLemon"); + FruitProviderNone prov = (FruitProviderNone) lemon.getProvider(); + Field f = FruitProviderNone.class.getDeclaredField("family"); + Field modifiersField = Field.class.getDeclaredField("modifiers"); + f.setAccessible(true); + modifiersField.setAccessible(true); + modifiersField.setInt(f, f.getModifiers() & 0xFFFFFFEF); + f.set(prov, familyCitrus); + } catch (Exception e) { + e.printStackTrace(); + } + } - for (IAlleleSpecies tree : Binnie.Genetics.treeBreedingSystem.getAllSpecies()) { - if (tree instanceof AlleleTreeSpecies && ((IAlleleTreeSpecies) tree).getSuitableFruit().contains(familyPrune)) { - ((AlleleTreeSpecies) tree).addFruitFamily(familyCitrus); - } - } - } + for (IAlleleSpecies tree : Binnie.Genetics.treeBreedingSystem.getAllSpecies()) { + if (tree instanceof AlleleTreeSpecies + && ((IAlleleTreeSpecies) tree).getSuitableFruit().contains(familyPrune)) { + ((AlleleTreeSpecies) tree).addFruitFamily(familyCitrus); + } + } + } - public void setRipening(int time, int unripe) { - ripeningPeriod = time; - colorUnripe = unripe; - isRipening = true; - diffR = (color >> 16 & 0xFF) - (unripe >> 16 & 0xFF); - diffG = (color >> 8 & 0xFF) - (unripe >> 8 & 0xFF); - diffB = (color & 0xFF) - (unripe & 0xFF); - } + public void setRipening(int time, int unripe) { + ripeningPeriod = time; + colorUnripe = unripe; + isRipening = true; + diffR = (color >> 16 & 0xFF) - (unripe >> 16 & 0xFF); + diffG = (color >> 8 & 0xFF) - (unripe >> 8 & 0xFF); + diffB = (color & 0xFF) - (unripe & 0xFF); + } - public void addProduct(ItemStack product, float chance) { - products.put(product, chance); - } + public void addProduct(ItemStack product, float chance) { + products.put(product, chance); + } - @Override - public String getUID() { - return "extratrees.fruit." + toString().toLowerCase(); - } + @Override + public String getUID() { + return "extratrees.fruit." + toString().toLowerCase(); + } - @Override - public boolean isDominant() { - return true; - } + @Override + public boolean isDominant() { + return true; + } - @Override - public IFruitProvider getProvider() { - return this; - } + @Override + public IFruitProvider getProvider() { + return this; + } - @Override - public ItemStack[] getProducts() { - return products.keySet().toArray(new ItemStack[0]); - } + @Override + public ItemStack[] getProducts() { + return products.keySet().toArray(new ItemStack[0]); + } - @Override - public ItemStack[] getSpecialty() { - return new ItemStack[0]; - } + @Override + public ItemStack[] getSpecialty() { + return new ItemStack[0]; + } - @Override - public String getDescription() { - return "extratrees.item.food." + name().toLowerCase(); - } + @Override + public String getDescription() { + return "extratrees.item.food." + name().toLowerCase(); + } - @Override - public IFruitFamily getFamily() { - return family; - } + @Override + public IFruitFamily getFamily() { + return family; + } - private void setFamily(IFruitFamily family) { - this.family = family; - } + private void setFamily(IFruitFamily family) { + this.family = family; + } - @Override - public int getColour(ITreeGenome genome, IBlockAccess world, int x, int y, int z, int ripeningTime) { - if (!isRipening) { - return color; - } + @Override + public int getColour(ITreeGenome genome, IBlockAccess world, int x, int y, int z, int ripeningTime) { + if (!isRipening) { + return color; + } - float stage = getRipeningStage(ripeningTime); - int r = (colorUnripe >> 16 & 0xFF) + (int) (diffR * stage); - int g = (colorUnripe >> 8 & 0xFF) + (int) (diffG * stage); - int b = (colorUnripe & 0xFF) + (int) (diffB * stage); - return (r & 0xFF) << 16 | (g & 0xFF) << 8 | (b & 0xFF); - } + float stage = getRipeningStage(ripeningTime); + int r = (colorUnripe >> 16 & 0xFF) + (int) (diffR * stage); + int g = (colorUnripe >> 8 & 0xFF) + (int) (diffG * stage); + int b = (colorUnripe & 0xFF) + (int) (diffB * stage); + return (r & 0xFF) << 16 | (g & 0xFF) << 8 | (b & 0xFF); + } - @Override - public boolean markAsFruitLeaf(ITreeGenome genome, World world, int x, int y, int z) { - return pod == null; - } + @Override + public boolean markAsFruitLeaf(ITreeGenome genome, World world, int x, int y, int z) { + return pod == null; + } - @Override - public int getRipeningPeriod() { - return ripeningPeriod; - } + @Override + public int getRipeningPeriod() { + return ripeningPeriod; + } - @Override - public ItemStack[] getFruits(ITreeGenome genome, World world, int x, int y, int z, int ripeningTime) { - if (pod != null) { - if (ripeningTime >= 2) { - List product = new ArrayList<>(); - for (Map.Entry entry : products.entrySet()) { - ItemStack single = entry.getKey().copy(); - single.stackSize = 1; - for (int i = 0; i < entry.getKey().stackSize; ++i) { - if (world.rand.nextFloat() <= entry.getValue()) { - product.add(single.copy()); - } - } - } - return product.toArray(new ItemStack[0]); - } - return new ItemStack[0]; - } + @Override + public ItemStack[] getFruits(ITreeGenome genome, World world, int x, int y, int z, int ripeningTime) { + if (pod != null) { + if (ripeningTime >= 2) { + List product = new ArrayList<>(); + for (Map.Entry entry : products.entrySet()) { + ItemStack single = entry.getKey().copy(); + single.stackSize = 1; + for (int i = 0; i < entry.getKey().stackSize; ++i) { + if (world.rand.nextFloat() <= entry.getValue()) { + product.add(single.copy()); + } + } + } + return product.toArray(new ItemStack[0]); + } + return new ItemStack[0]; + } - ArrayList product2 = new ArrayList<>(); - float stage = getRipeningStage(ripeningTime); - if (stage < 0.5f) { - return new ItemStack[0]; - } + ArrayList product2 = new ArrayList<>(); + float stage = getRipeningStage(ripeningTime); + if (stage < 0.5f) { + return new ItemStack[0]; + } - float modeYieldMod = 1.0f; - for (Map.Entry entry2 : products.entrySet()) { - if (world.rand.nextFloat() <= genome.getYield() * modeYieldMod * entry2.getValue() * stage) { - product2.add(entry2.getKey().copy()); - } - } - return product2.toArray(new ItemStack[0]); - } + float modeYieldMod = 1.0f; + for (Map.Entry entry2 : products.entrySet()) { + if (world.rand.nextFloat() <= genome.getYield() * modeYieldMod * entry2.getValue() * stage) { + product2.add(entry2.getKey().copy()); + } + } + return product2.toArray(new ItemStack[0]); + } - private float getRipeningStage(int ripeningTime) { - if (ripeningTime >= ripeningPeriod) { - return 1.0f; - } - return ripeningTime / ripeningPeriod; - } + private float getRipeningStage(int ripeningTime) { + if (ripeningTime >= ripeningPeriod) { + return 1.0f; + } + return ripeningTime / ripeningPeriod; + } - @Override - public boolean requiresFruitBlocks() { - return pod != null; - } + @Override + public boolean requiresFruitBlocks() { + return pod != null; + } - @Override - public boolean trySpawnFruitBlock(ITreeGenome genome, World world, int x, int y, int z) { - return pod != null - && world.rand.nextFloat() <= genome.getSappiness() - && Binnie.Genetics.getTreeRoot().setFruitBlock(world, (IAlleleFruit) genome.getActiveAllele(EnumTreeChromosome.FRUITS), genome.getSappiness(), pod.getTextures(), x, y, z); - } + @Override + public boolean trySpawnFruitBlock(ITreeGenome genome, World world, int x, int y, int z) { + return pod != null + && world.rand.nextFloat() <= genome.getSappiness() + && Binnie.Genetics.getTreeRoot() + .setFruitBlock( + world, + (IAlleleFruit) genome.getActiveAllele(EnumTreeChromosome.FRUITS), + genome.getSappiness(), + pod.getTextures(), + x, + y, + z); + } - @Override - public short getIconIndex(ITreeGenome genome, IBlockAccess world, int x, int y, int z, int ripeningTime, boolean fancy) { - return index.getIndex(); - } + @Override + public short getIconIndex( + ITreeGenome genome, IBlockAccess world, int x, int y, int z, int ripeningTime, boolean fancy) { + return index.getIndex(); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - if (ordinal() == 0) { - for (FruitSprite sprite : FruitSprite.values()) { - sprite.registerIcons(register); - } - } - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + if (ordinal() == 0) { + for (FruitSprite sprite : FruitSprite.values()) { + sprite.registerIcons(register); + } + } + } - @Override - public String getName() { - return I18N.localise("for." + getDescription()); - } + @Override + public String getName() { + return I18N.localise("for." + getDescription()); + } - public String getNameOfFruit() { - if (this == ExtraTreeFruitGene.Apple) { - return "Apple"; - } + public String getNameOfFruit() { + if (this == ExtraTreeFruitGene.Apple) { + return "Apple"; + } - for (ItemStack stack : products.keySet()) { - if (stack.getItem() == ExtraTrees.itemFood) { - return Food.values()[stack.getItemDamage()].toString(); - } - } - return "NoFruit"; - } + for (ItemStack stack : products.keySet()) { + if (stack.getItem() == ExtraTrees.itemFood) { + return Food.values()[stack.getItemDamage()].toString(); + } + } + return "NoFruit"; + } - @Override - public String getUnlocalizedName() { - return getUID(); - } + @Override + public String getUnlocalizedName() { + return getUID(); + } } diff --git a/src/main/java/binnie/extratrees/genetics/ExtraTreeMutation.java b/src/main/java/binnie/extratrees/genetics/ExtraTreeMutation.java index 749a3a95..6f811a70 100644 --- a/src/main/java/binnie/extratrees/genetics/ExtraTreeMutation.java +++ b/src/main/java/binnie/extratrees/genetics/ExtraTreeMutation.java @@ -8,229 +8,247 @@ import forestry.api.arboriculture.ITreeMutation; import forestry.api.arboriculture.ITreeRoot; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAllele; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; - import java.util.ArrayList; import java.util.Collection; import java.util.List; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; public class ExtraTreeMutation implements ITreeMutation { - protected int chance; - protected boolean isSecret; - protected IAlleleTreeSpecies allele0; - protected IAlleleTreeSpecies allele1; - protected IAllele[] template; + protected int chance; + protected boolean isSecret; + protected IAlleleTreeSpecies allele0; + protected IAlleleTreeSpecies allele1; + protected IAllele[] template; - private float minTemperature; - private float maxTemperature; - private float minRainfall; - private float maxRainfall; - private float height; + private float minTemperature; + private float maxTemperature; + private float minRainfall; + private float maxRainfall; + private float height; - public ExtraTreeMutation(IAllele allele0, IAllele allele1, IAllele result, int chance) { - this(allele0, allele1, Binnie.Genetics.getTreeRoot().getTemplate(result.getUID()), chance); - } + public ExtraTreeMutation(IAllele allele0, IAllele allele1, IAllele result, int chance) { + this(allele0, allele1, Binnie.Genetics.getTreeRoot().getTemplate(result.getUID()), chance); + } - public ExtraTreeMutation(IAllele allele0, IAllele allele1, IAllele[] template, int chance) { - isSecret = false; - minTemperature = 0.0f; - maxTemperature = 2.0f; - minRainfall = 0.0f; - maxRainfall = 2.0f; - height = -1.0f; - this.allele0 = (IAlleleTreeSpecies) allele0; - this.allele1 = (IAlleleTreeSpecies) allele1; - this.template = template; - this.chance = chance; - Binnie.Genetics.getTreeRoot().registerMutation(this); - } + public ExtraTreeMutation(IAllele allele0, IAllele allele1, IAllele[] template, int chance) { + isSecret = false; + minTemperature = 0.0f; + maxTemperature = 2.0f; + minRainfall = 0.0f; + maxRainfall = 2.0f; + height = -1.0f; + this.allele0 = (IAlleleTreeSpecies) allele0; + this.allele1 = (IAlleleTreeSpecies) allele1; + this.template = template; + this.chance = chance; + Binnie.Genetics.getTreeRoot().registerMutation(this); + } - public static void init() { - IAlleleTreeSpecies lemon = (IAlleleTreeSpecies) getVanilla("Lemon"); - new ExtraTreeMutation(getVanilla("Cherry"), lemon, ExtraTreeSpecies.KeyLime, 10); - new ExtraTreeMutation(ExtraTreeSpecies.KeyLime, lemon, ExtraTreeSpecies.FingerLime, 10); - new ExtraTreeMutation(getVanilla("Cherry"), lemon, ExtraTreeSpecies.Pomelo, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Pomelo, getVanilla("Cherry"), ExtraTreeSpecies.Manderin, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Pomelo, lemon, ExtraTreeSpecies.Citron, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Manderin, getVanilla("Cherry"), ExtraTreeSpecies.Kumquat, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Pomelo, ExtraTreeSpecies.Manderin, ExtraTreeSpecies.Orange, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Citron, ExtraTreeSpecies.Manderin, ExtraTreeSpecies.BuddhaHand, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Kumquat, ExtraTreeSpecies.Manderin, ExtraTreeSpecies.Tangerine, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Kumquat, ExtraTreeSpecies.Manderin, ExtraTreeSpecies.Satsuma, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Pomelo, ExtraTreeSpecies.Orange, ExtraTreeSpecies.Grapefruit, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Pomelo, ExtraTreeSpecies.KeyLime, ExtraTreeSpecies.Lime, 10); - new ExtraTreeMutation(getVanilla("Oak"), getVanilla("Cherry"), ExtraTreeSpecies.OrchardApple, 10); - new ExtraTreeMutation(ExtraTreeSpecies.OrchardApple, getVanilla("Maple"), ExtraTreeSpecies.SweetCrabapple, 10); - new ExtraTreeMutation(ExtraTreeSpecies.OrchardApple, ExtraTreeSpecies.SweetCrabapple, ExtraTreeSpecies.FloweringCrabapple, 10); - new ExtraTreeMutation(ExtraTreeSpecies.OrchardApple, getVanilla("Birch"), ExtraTreeSpecies.PrairieCrabapple, 10); - new ExtraTreeMutation(getVanilla("Plum"), ExtraTreeSpecies.OrchardApple, ExtraTreeSpecies.Blackthorn, 10); - new ExtraTreeMutation(getVanilla("Plum"), getVanilla("Cherry"), ExtraTreeSpecies.CherryPlum, 10); - new ExtraTreeMutation(getVanilla("Plum"), getVanilla("Chestnut"), ExtraTreeSpecies.Peach, 10); - new ExtraTreeMutation(getVanilla("Plum"), ExtraTreeSpecies.Peach, ExtraTreeSpecies.Nectarine, 10); - new ExtraTreeMutation(getVanilla("Plum"), ExtraTreeSpecies.Peach, ExtraTreeSpecies.Apricot, 10); - new ExtraTreeMutation(getVanilla("Plum"), getVanilla("Walnut"), ExtraTreeSpecies.Almond, 10); - new ExtraTreeMutation(getVanilla("Lime"), getVanilla("Cherry"), ExtraTreeSpecies.WildCherry, 10); - new ExtraTreeMutation(getVanilla("Willow"), getVanilla("Cherry"), ExtraTreeSpecies.SourCherry, 10); - new ExtraTreeMutation(getVanilla("Ebony"), getVanilla("Cherry"), ExtraTreeSpecies.BlackCherry, 10); - new ExtraTreeMutation(getVanilla("Balsa"), getVanilla("Jungle"), ExtraTreeSpecies.Banana, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Banana, getVanilla("Kapok"), ExtraTreeSpecies.RedBanana, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Banana, getVanilla("Teak"), ExtraTreeSpecies.Plantain, 10); - new ExtraTreeMutation(getVanilla("Birch"), getVanilla("Oak"), ExtraTreeSpecies.Beech, 10); - new ExtraTreeMutation(getVanilla("Birch"), ExtraTreeSpecies.Beech, ExtraTreeSpecies.Alder, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Alder, ExtraTreeSpecies.Beech, ExtraTreeSpecies.Aspen, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Aspen, ExtraTreeSpecies.Alder, ExtraTreeSpecies.Rowan, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Beech, ExtraTreeSpecies.Aspen, ExtraTreeSpecies.Hazel, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Beech, ExtraTreeSpecies.Rowan, ExtraTreeSpecies.Hawthorn, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Alder, ExtraTreeSpecies.Aspen, ExtraTreeSpecies.Elder, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Alder, ExtraTreeSpecies.Rowan, ExtraTreeSpecies.Holly, 10); - new ExtraTreeMutation(getVanilla("Willow"), ExtraTreeSpecies.Aspen, ExtraTreeSpecies.Sallow, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Beech, getVanilla("Birch"), ExtraTreeSpecies.Pecan, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Beech, getVanilla("Spruce"), ExtraTreeSpecies.CopperBeech, 10); - new ExtraTreeMutation(getVanilla("Lime"), getVanilla("Spruce"), ExtraTreeSpecies.Ash, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Ash, getVanilla("Birch"), ExtraTreeSpecies.Whitebeam, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Ash, getVanilla("Pine"), ExtraTreeSpecies.Elm, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Ash, getVanilla("Larch"), ExtraTreeSpecies.Hornbeam, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Ash, getVanilla("Maple"), ExtraTreeSpecies.Sycamore, 10); - new ExtraTreeMutation(getVanilla("Larch"), getVanilla("Spruce"), ExtraTreeSpecies.Yew, 10); - new ExtraTreeMutation(getVanilla("Larch"), ExtraTreeSpecies.Alder, ExtraTreeSpecies.BalsamFir, 10); - new ExtraTreeMutation(getVanilla("Pine"), ExtraTreeSpecies.BalsamFir, ExtraTreeSpecies.Fir, 10); - new ExtraTreeMutation(getVanilla("Pine"), ExtraTreeSpecies.Fir, ExtraTreeSpecies.Hemlock, 10).setHeight(80); - new ExtraTreeMutation(ExtraTreeSpecies.Fir, getVanilla("Larch"), ExtraTreeSpecies.Cedar, 10).setHeight(60); - new ExtraTreeMutation(ExtraTreeSpecies.Fir, getVanilla("Spruce"), ExtraTreeSpecies.DouglasFir, 10).setHeight(60); - new ExtraTreeMutation(getVanilla("Pine"), getVanilla("Spruce"), ExtraTreeSpecies.Cypress, 10); - new ExtraTreeMutation(getVanilla("Pine"), getVanilla("Spruce"), ExtraTreeSpecies.LoblollyPine, 10); - new ExtraTreeMutation(getVanilla("Walnut"), getVanilla("Cherry"), ExtraTreeSpecies.Butternut, 10); - new ExtraTreeMutation(getVanilla("Walnut"), getVanilla("Oak"), ExtraTreeSpecies.AcornOak, 10); - new ExtraTreeMutation(getVanilla("Cherry"), ExtraTreeSpecies.Alder, ExtraTreeSpecies.Olive, 10); - new ExtraTreeMutation(getVanilla("Maple"), getVanilla("Lime"), ExtraTreeSpecies.RedMaple, 10); - new ExtraTreeMutation(getVanilla("Maple"), getVanilla("Larch"), ExtraTreeSpecies.Sweetgum, 10); - new ExtraTreeMutation(getVanilla("Balsa"), getVanilla("Lime"), ExtraTreeSpecies.Locust, 10); - new ExtraTreeMutation(getVanilla("Balsa"), getVanilla("Teak"), ExtraTreeSpecies.Iroko, 10); - new ExtraTreeMutation(ExtraTreeSpecies.OrchardApple, getVanilla("Birch"), ExtraTreeSpecies.Pear, 10); - new ExtraTreeMutation(getVanilla("Ebony"), getVanilla("Teak"), ExtraTreeSpecies.OldFustic, 10); - new ExtraTreeMutation(ExtraTreeSpecies.OldFustic, getVanilla("Kapok"), ExtraTreeSpecies.OsangeOsange, 10); - new ExtraTreeMutation(getVanilla("Ebony"), getVanilla("Teak"), ExtraTreeSpecies.Brazilwood, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Brazilwood, getVanilla("Kapok"), ExtraTreeSpecies.Purpleheart, 10); - new ExtraTreeMutation(getVanilla("Ebony"), getVanilla("Teak"), ExtraTreeSpecies.Rosewood, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Rosewood, getVanilla("Kapok"), ExtraTreeSpecies.Logwood, 10); - new ExtraTreeMutation(getVanilla("Wenge"), getVanilla("Lime"), ExtraTreeSpecies.Gingko, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Beech, getVanilla("Jungle"), ExtraTreeSpecies.Brazilnut, 10); - new ExtraTreeMutation(getVanilla("Balsa"), getVanilla("Jungle"), ExtraTreeSpecies.RoseGum, 10); - new ExtraTreeMutation(ExtraTreeSpecies.RoseGum, getVanilla("Mahogony"), ExtraTreeSpecies.SwampGum, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Coffee, getVanilla("Teak"), ExtraTreeSpecies.Clove, 10); - new ExtraTreeMutation(getVanilla("Cherry"), getVanilla("Jungle"), ExtraTreeSpecies.Coffee, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Holly, ExtraTreeSpecies.Alder, ExtraTreeSpecies.Box, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Hemlock, getVanilla("Jungle"), ExtraTreeSpecies.MonkeyPuzzle, 10); - new ExtraTreeMutation(ExtraTreeSpecies.RoseGum, getVanilla("Balsa"), ExtraTreeSpecies.RainbowGum, 10); - new ExtraTreeMutation(ExtraTreeSpecies.RoseGum, ExtraTreeSpecies.Brazilwood, ExtraTreeSpecies.PinkIvory, 10); - new ExtraTreeMutation(getVanilla("Cherry"), ExtraTreeSpecies.Elder, ExtraTreeSpecies.Raspberry, 10); - new ExtraTreeMutation(getVanilla("Cherry"), ExtraTreeSpecies.Elder, ExtraTreeSpecies.Redcurrant, 10); - new ExtraTreeMutation(ExtraTreeSpecies.BlackCherry, ExtraTreeSpecies.Redcurrant, ExtraTreeSpecies.Blackcurrant, 10); - new ExtraTreeMutation(ExtraTreeSpecies.BlackCherry, ExtraTreeSpecies.Raspberry, ExtraTreeSpecies.Blackberry, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Blackberry, ExtraTreeSpecies.Raspberry, ExtraTreeSpecies.Blueberry, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Blackberry, ExtraTreeSpecies.CherryPlum, ExtraTreeSpecies.Cranberry, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Raspberry, ExtraTreeSpecies.Fir, ExtraTreeSpecies.Juniper, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Raspberry, ExtraTreeSpecies.Lime, ExtraTreeSpecies.Gooseberry, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Raspberry, ExtraTreeSpecies.Orange, ExtraTreeSpecies.GoldenRaspberry, 10); - new ExtraTreeMutation(getVanilla("Teak"), ExtraTreeSpecies.Rosewood, ExtraTreeSpecies.Cinnamon, 10); - new ExtraTreeMutation(getVanilla("Balsa"), ExtraTreeSpecies.Brazilnut, ExtraTreeSpecies.Coconut, 10); - new ExtraTreeMutation(getVanilla("Teak"), getVanilla("Oak"), ExtraTreeSpecies.Cashew, 10); - new ExtraTreeMutation(getVanilla("Wenge"), getVanilla("Oak"), ExtraTreeSpecies.Avacado, 10); - new ExtraTreeMutation(getVanilla("Teak"), ExtraTreeSpecies.Clove, ExtraTreeSpecies.Nutmeg, 10); - new ExtraTreeMutation(getVanilla("Teak"), ExtraTreeSpecies.Clove, ExtraTreeSpecies.Allspice, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Allspice, ExtraTreeSpecies.Clove, ExtraTreeSpecies.StarAnise, 10); - new ExtraTreeMutation(getVanilla("Jungle"), ExtraTreeSpecies.Orange, ExtraTreeSpecies.Mango, 10); - new ExtraTreeMutation(ExtraTreeSpecies.StarAnise, ExtraTreeSpecies.Mango, ExtraTreeSpecies.Starfruit, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Hazel, ExtraTreeSpecies.Gingko, ExtraTreeSpecies.Candlenut, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Hazel, ExtraTreeSpecies.Gingko, ExtraTreeSpecies.Chilli, 10); - new ExtraTreeMutation(ExtraTreeSpecies.Hazel, ExtraTreeSpecies.Alder, ExtraTreeSpecies.DwarfHazel, 10); - } + public static void init() { + IAlleleTreeSpecies lemon = (IAlleleTreeSpecies) getVanilla("Lemon"); + new ExtraTreeMutation(getVanilla("Cherry"), lemon, ExtraTreeSpecies.KeyLime, 10); + new ExtraTreeMutation(ExtraTreeSpecies.KeyLime, lemon, ExtraTreeSpecies.FingerLime, 10); + new ExtraTreeMutation(getVanilla("Cherry"), lemon, ExtraTreeSpecies.Pomelo, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Pomelo, getVanilla("Cherry"), ExtraTreeSpecies.Manderin, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Pomelo, lemon, ExtraTreeSpecies.Citron, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Manderin, getVanilla("Cherry"), ExtraTreeSpecies.Kumquat, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Pomelo, ExtraTreeSpecies.Manderin, ExtraTreeSpecies.Orange, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Citron, ExtraTreeSpecies.Manderin, ExtraTreeSpecies.BuddhaHand, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Kumquat, ExtraTreeSpecies.Manderin, ExtraTreeSpecies.Tangerine, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Kumquat, ExtraTreeSpecies.Manderin, ExtraTreeSpecies.Satsuma, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Pomelo, ExtraTreeSpecies.Orange, ExtraTreeSpecies.Grapefruit, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Pomelo, ExtraTreeSpecies.KeyLime, ExtraTreeSpecies.Lime, 10); + new ExtraTreeMutation(getVanilla("Oak"), getVanilla("Cherry"), ExtraTreeSpecies.OrchardApple, 10); + new ExtraTreeMutation(ExtraTreeSpecies.OrchardApple, getVanilla("Maple"), ExtraTreeSpecies.SweetCrabapple, 10); + new ExtraTreeMutation( + ExtraTreeSpecies.OrchardApple, + ExtraTreeSpecies.SweetCrabapple, + ExtraTreeSpecies.FloweringCrabapple, + 10); + new ExtraTreeMutation( + ExtraTreeSpecies.OrchardApple, getVanilla("Birch"), ExtraTreeSpecies.PrairieCrabapple, 10); + new ExtraTreeMutation(getVanilla("Plum"), ExtraTreeSpecies.OrchardApple, ExtraTreeSpecies.Blackthorn, 10); + new ExtraTreeMutation(getVanilla("Plum"), getVanilla("Cherry"), ExtraTreeSpecies.CherryPlum, 10); + new ExtraTreeMutation(getVanilla("Plum"), getVanilla("Chestnut"), ExtraTreeSpecies.Peach, 10); + new ExtraTreeMutation(getVanilla("Plum"), ExtraTreeSpecies.Peach, ExtraTreeSpecies.Nectarine, 10); + new ExtraTreeMutation(getVanilla("Plum"), ExtraTreeSpecies.Peach, ExtraTreeSpecies.Apricot, 10); + new ExtraTreeMutation(getVanilla("Plum"), getVanilla("Walnut"), ExtraTreeSpecies.Almond, 10); + new ExtraTreeMutation(getVanilla("Lime"), getVanilla("Cherry"), ExtraTreeSpecies.WildCherry, 10); + new ExtraTreeMutation(getVanilla("Willow"), getVanilla("Cherry"), ExtraTreeSpecies.SourCherry, 10); + new ExtraTreeMutation(getVanilla("Ebony"), getVanilla("Cherry"), ExtraTreeSpecies.BlackCherry, 10); + new ExtraTreeMutation(getVanilla("Balsa"), getVanilla("Jungle"), ExtraTreeSpecies.Banana, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Banana, getVanilla("Kapok"), ExtraTreeSpecies.RedBanana, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Banana, getVanilla("Teak"), ExtraTreeSpecies.Plantain, 10); + new ExtraTreeMutation(getVanilla("Birch"), getVanilla("Oak"), ExtraTreeSpecies.Beech, 10); + new ExtraTreeMutation(getVanilla("Birch"), ExtraTreeSpecies.Beech, ExtraTreeSpecies.Alder, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Alder, ExtraTreeSpecies.Beech, ExtraTreeSpecies.Aspen, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Aspen, ExtraTreeSpecies.Alder, ExtraTreeSpecies.Rowan, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Beech, ExtraTreeSpecies.Aspen, ExtraTreeSpecies.Hazel, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Beech, ExtraTreeSpecies.Rowan, ExtraTreeSpecies.Hawthorn, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Alder, ExtraTreeSpecies.Aspen, ExtraTreeSpecies.Elder, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Alder, ExtraTreeSpecies.Rowan, ExtraTreeSpecies.Holly, 10); + new ExtraTreeMutation(getVanilla("Willow"), ExtraTreeSpecies.Aspen, ExtraTreeSpecies.Sallow, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Beech, getVanilla("Birch"), ExtraTreeSpecies.Pecan, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Beech, getVanilla("Spruce"), ExtraTreeSpecies.CopperBeech, 10); + new ExtraTreeMutation(getVanilla("Lime"), getVanilla("Spruce"), ExtraTreeSpecies.Ash, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Ash, getVanilla("Birch"), ExtraTreeSpecies.Whitebeam, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Ash, getVanilla("Pine"), ExtraTreeSpecies.Elm, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Ash, getVanilla("Larch"), ExtraTreeSpecies.Hornbeam, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Ash, getVanilla("Maple"), ExtraTreeSpecies.Sycamore, 10); + new ExtraTreeMutation(getVanilla("Larch"), getVanilla("Spruce"), ExtraTreeSpecies.Yew, 10); + new ExtraTreeMutation(getVanilla("Larch"), ExtraTreeSpecies.Alder, ExtraTreeSpecies.BalsamFir, 10); + new ExtraTreeMutation(getVanilla("Pine"), ExtraTreeSpecies.BalsamFir, ExtraTreeSpecies.Fir, 10); + new ExtraTreeMutation(getVanilla("Pine"), ExtraTreeSpecies.Fir, ExtraTreeSpecies.Hemlock, 10).setHeight(80); + new ExtraTreeMutation(ExtraTreeSpecies.Fir, getVanilla("Larch"), ExtraTreeSpecies.Cedar, 10).setHeight(60); + new ExtraTreeMutation(ExtraTreeSpecies.Fir, getVanilla("Spruce"), ExtraTreeSpecies.DouglasFir, 10) + .setHeight(60); + new ExtraTreeMutation(getVanilla("Pine"), getVanilla("Spruce"), ExtraTreeSpecies.Cypress, 10); + new ExtraTreeMutation(getVanilla("Pine"), getVanilla("Spruce"), ExtraTreeSpecies.LoblollyPine, 10); + new ExtraTreeMutation(getVanilla("Walnut"), getVanilla("Cherry"), ExtraTreeSpecies.Butternut, 10); + new ExtraTreeMutation(getVanilla("Walnut"), getVanilla("Oak"), ExtraTreeSpecies.AcornOak, 10); + new ExtraTreeMutation(getVanilla("Cherry"), ExtraTreeSpecies.Alder, ExtraTreeSpecies.Olive, 10); + new ExtraTreeMutation(getVanilla("Maple"), getVanilla("Lime"), ExtraTreeSpecies.RedMaple, 10); + new ExtraTreeMutation(getVanilla("Maple"), getVanilla("Larch"), ExtraTreeSpecies.Sweetgum, 10); + new ExtraTreeMutation(getVanilla("Balsa"), getVanilla("Lime"), ExtraTreeSpecies.Locust, 10); + new ExtraTreeMutation(getVanilla("Balsa"), getVanilla("Teak"), ExtraTreeSpecies.Iroko, 10); + new ExtraTreeMutation(ExtraTreeSpecies.OrchardApple, getVanilla("Birch"), ExtraTreeSpecies.Pear, 10); + new ExtraTreeMutation(getVanilla("Ebony"), getVanilla("Teak"), ExtraTreeSpecies.OldFustic, 10); + new ExtraTreeMutation(ExtraTreeSpecies.OldFustic, getVanilla("Kapok"), ExtraTreeSpecies.OsangeOsange, 10); + new ExtraTreeMutation(getVanilla("Ebony"), getVanilla("Teak"), ExtraTreeSpecies.Brazilwood, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Brazilwood, getVanilla("Kapok"), ExtraTreeSpecies.Purpleheart, 10); + new ExtraTreeMutation(getVanilla("Ebony"), getVanilla("Teak"), ExtraTreeSpecies.Rosewood, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Rosewood, getVanilla("Kapok"), ExtraTreeSpecies.Logwood, 10); + new ExtraTreeMutation(getVanilla("Wenge"), getVanilla("Lime"), ExtraTreeSpecies.Gingko, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Beech, getVanilla("Jungle"), ExtraTreeSpecies.Brazilnut, 10); + new ExtraTreeMutation(getVanilla("Balsa"), getVanilla("Jungle"), ExtraTreeSpecies.RoseGum, 10); + new ExtraTreeMutation(ExtraTreeSpecies.RoseGum, getVanilla("Mahogony"), ExtraTreeSpecies.SwampGum, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Coffee, getVanilla("Teak"), ExtraTreeSpecies.Clove, 10); + new ExtraTreeMutation(getVanilla("Cherry"), getVanilla("Jungle"), ExtraTreeSpecies.Coffee, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Holly, ExtraTreeSpecies.Alder, ExtraTreeSpecies.Box, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Hemlock, getVanilla("Jungle"), ExtraTreeSpecies.MonkeyPuzzle, 10); + new ExtraTreeMutation(ExtraTreeSpecies.RoseGum, getVanilla("Balsa"), ExtraTreeSpecies.RainbowGum, 10); + new ExtraTreeMutation(ExtraTreeSpecies.RoseGum, ExtraTreeSpecies.Brazilwood, ExtraTreeSpecies.PinkIvory, 10); + new ExtraTreeMutation(getVanilla("Cherry"), ExtraTreeSpecies.Elder, ExtraTreeSpecies.Raspberry, 10); + new ExtraTreeMutation(getVanilla("Cherry"), ExtraTreeSpecies.Elder, ExtraTreeSpecies.Redcurrant, 10); + new ExtraTreeMutation( + ExtraTreeSpecies.BlackCherry, ExtraTreeSpecies.Redcurrant, ExtraTreeSpecies.Blackcurrant, 10); + new ExtraTreeMutation( + ExtraTreeSpecies.BlackCherry, ExtraTreeSpecies.Raspberry, ExtraTreeSpecies.Blackberry, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Blackberry, ExtraTreeSpecies.Raspberry, ExtraTreeSpecies.Blueberry, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Blackberry, ExtraTreeSpecies.CherryPlum, ExtraTreeSpecies.Cranberry, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Raspberry, ExtraTreeSpecies.Fir, ExtraTreeSpecies.Juniper, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Raspberry, ExtraTreeSpecies.Lime, ExtraTreeSpecies.Gooseberry, 10); + new ExtraTreeMutation( + ExtraTreeSpecies.Raspberry, ExtraTreeSpecies.Orange, ExtraTreeSpecies.GoldenRaspberry, 10); + new ExtraTreeMutation(getVanilla("Teak"), ExtraTreeSpecies.Rosewood, ExtraTreeSpecies.Cinnamon, 10); + new ExtraTreeMutation(getVanilla("Balsa"), ExtraTreeSpecies.Brazilnut, ExtraTreeSpecies.Coconut, 10); + new ExtraTreeMutation(getVanilla("Teak"), getVanilla("Oak"), ExtraTreeSpecies.Cashew, 10); + new ExtraTreeMutation(getVanilla("Wenge"), getVanilla("Oak"), ExtraTreeSpecies.Avacado, 10); + new ExtraTreeMutation(getVanilla("Teak"), ExtraTreeSpecies.Clove, ExtraTreeSpecies.Nutmeg, 10); + new ExtraTreeMutation(getVanilla("Teak"), ExtraTreeSpecies.Clove, ExtraTreeSpecies.Allspice, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Allspice, ExtraTreeSpecies.Clove, ExtraTreeSpecies.StarAnise, 10); + new ExtraTreeMutation(getVanilla("Jungle"), ExtraTreeSpecies.Orange, ExtraTreeSpecies.Mango, 10); + new ExtraTreeMutation(ExtraTreeSpecies.StarAnise, ExtraTreeSpecies.Mango, ExtraTreeSpecies.Starfruit, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Hazel, ExtraTreeSpecies.Gingko, ExtraTreeSpecies.Candlenut, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Hazel, ExtraTreeSpecies.Gingko, ExtraTreeSpecies.Chilli, 10); + new ExtraTreeMutation(ExtraTreeSpecies.Hazel, ExtraTreeSpecies.Alder, ExtraTreeSpecies.DwarfHazel, 10); + } - public static IAllele getVanilla(String uid) { - IAllele allele = AlleleManager.alleleRegistry.getAllele("forestry.tree" + uid); - if (allele == null) { - throw new RuntimeException("No forestry species with id " + uid); - } - return allele; - } + public static IAllele getVanilla(String uid) { + IAllele allele = AlleleManager.alleleRegistry.getAllele("forestry.tree" + uid); + if (allele == null) { + throw new RuntimeException("No forestry species with id " + uid); + } + return allele; + } - public ExtraTreeMutation setHeight(int minHeight) { - height = minHeight; - return this; - } + public ExtraTreeMutation setHeight(int minHeight) { + height = minHeight; + return this; + } - @Override - public IAlleleTreeSpecies getAllele0() { - return allele0; - } + @Override + public IAlleleTreeSpecies getAllele0() { + return allele0; + } - @Override - public IAlleleTreeSpecies getAllele1() { - return allele1; - } + @Override + public IAlleleTreeSpecies getAllele1() { + return allele1; + } - @Override - public float getBaseChance() { - return chance; - } + @Override + public float getBaseChance() { + return chance; + } - @Override - public IAllele[] getTemplate() { - return template; - } + @Override + public IAllele[] getTemplate() { + return template; + } - @Override - public boolean isPartner(IAllele allele) { - return allele0.getUID().equals(allele.getUID()) || allele1.getUID().equals(allele.getUID()); - } + @Override + public boolean isPartner(IAllele allele) { + return allele0.getUID().equals(allele.getUID()) || allele1.getUID().equals(allele.getUID()); + } - @Override - public IAllele getPartner(IAllele allele) { - if (allele0.getUID().equals(allele.getUID())) { - return allele1; - } - return allele0; - } + @Override + public IAllele getPartner(IAllele allele) { + if (allele0.getUID().equals(allele.getUID())) { + return allele1; + } + return allele0; + } - @Override - public boolean isSecret() { - return isSecret; - } + @Override + public boolean isSecret() { + return isSecret; + } - @Override - public float getChance(World world, int x, int y, int z, IAlleleTreeSpecies allele0, IAlleleTreeSpecies allele1, ITreeGenome genome0, ITreeGenome genome1) { - int processedChance = chance; - BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(x, z); - if (biome.temperature < minTemperature || biome.temperature > maxTemperature) { - return 0.0f; - } - if (biome.rainfall < minRainfall || biome.rainfall > maxRainfall) { - return 0.0f; - } - if (height > 0.0f && y < height) { - return 0.0f; - } - if (this.allele0.getUID().equals(allele0.getUID()) && this.allele1.getUID().equals(allele1.getUID())) { - return processedChance; - } - if (this.allele1.getUID().equals(allele0.getUID()) && this.allele0.getUID().equals(allele1.getUID())) { - return processedChance; - } - return 0.0f; - } + @Override + public float getChance( + World world, + int x, + int y, + int z, + IAlleleTreeSpecies allele0, + IAlleleTreeSpecies allele1, + ITreeGenome genome0, + ITreeGenome genome1) { + int processedChance = chance; + BiomeGenBase biome = world.getWorldChunkManager().getBiomeGenAt(x, z); + if (biome.temperature < minTemperature || biome.temperature > maxTemperature) { + return 0.0f; + } + if (biome.rainfall < minRainfall || biome.rainfall > maxRainfall) { + return 0.0f; + } + if (height > 0.0f && y < height) { + return 0.0f; + } + if (this.allele0.getUID().equals(allele0.getUID()) + && this.allele1.getUID().equals(allele1.getUID())) { + return processedChance; + } + if (this.allele1.getUID().equals(allele0.getUID()) + && this.allele0.getUID().equals(allele1.getUID())) { + return processedChance; + } + return 0.0f; + } - @Override - public Collection getSpecialConditions() { - List conditions = new ArrayList<>(); - if (height > 0.0f) { - conditions.add(I18N.localise("extratrees.genetics.requirements.height", height)); - } - return conditions; - } + @Override + public Collection getSpecialConditions() { + List conditions = new ArrayList<>(); + if (height > 0.0f) { + conditions.add(I18N.localise("extratrees.genetics.requirements.height", height)); + } + return conditions; + } - @Override - public ITreeRoot getRoot() { - return Binnie.Genetics.getTreeRoot(); - } + @Override + public ITreeRoot getRoot() { + return Binnie.Genetics.getTreeRoot(); + } } diff --git a/src/main/java/binnie/extratrees/genetics/ExtraTreeSpecies.java b/src/main/java/binnie/extratrees/genetics/ExtraTreeSpecies.java index 3eb477b3..0371114b 100644 --- a/src/main/java/binnie/extratrees/genetics/ExtraTreeSpecies.java +++ b/src/main/java/binnie/extratrees/genetics/ExtraTreeSpecies.java @@ -93,6 +93,11 @@ import forestry.arboriculture.render.TextureLeaves; import forestry.core.genetics.alleles.EnumAllele; import forestry.core.render.TextureManager; import forestry.plugins.PluginArboriculture; +import java.awt.Color; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Map; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; @@ -100,1370 +105,1423 @@ import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.common.EnumPlantType; -import java.awt.Color; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Map; - public enum ExtraTreeSpecies implements IAlleleTreeSpecies, IIconProvider, IGermlingIconProvider { - OrchardApple("malus", "domestica", 0x648830, ILogType.ExtraTreeLog.Apple, ExtraTreeFruitGene.Apple, WorldGenOrchardApple.class), - SweetCrabapple("malus", "coronaria", 0x7a9953, ILogType.ExtraTreeLog.Apple, ExtraTreeFruitGene.Crabapple, WorldGenSweetCrabapple.class), - FloweringCrabapple("malus", "hopa", 0x7a9953, ILogType.ExtraTreeLog.Apple, ExtraTreeFruitGene.Crabapple, WorldGenFloweringCrabapple.class), - PrairieCrabapple("malus", "ioensis", 0x7a9953, ILogType.ExtraTreeLog.Apple, ExtraTreeFruitGene.Crabapple, WorldGenPrairieCrabapple.class), - Blackthorn("prunus", "spinosa ", 0x6d8f1e, ILogType.ForestryLog.PLUM, ExtraTreeFruitGene.Blackthorn), - CherryPlum("prunus", "cerasifera", 0x6d8f1e, ILogType.ForestryLog.PLUM, ExtraTreeFruitGene.CherryPlum), - Peach("prunus", "persica", 0x6d8f1e, ILogType.ForestryLog.PLUM, ExtraTreeFruitGene.Peach), - Nectarine("prunus", "nectarina", 0x6d8f1e, ILogType.ForestryLog.PLUM, ExtraTreeFruitGene.Nectarine), - Apricot("prunus", "armeniaca", 0x6d8f1e, ILogType.ForestryLog.PLUM, ExtraTreeFruitGene.Apricot), - Almond("prunus", "amygdalus", 0x6d8f1e, ILogType.ForestryLog.PLUM, ExtraTreeFruitGene.Almond), - WildCherry("prunus", "avium", 0x6d8f1e, ILogType.ExtraTreeLog.Cherry, ExtraTreeFruitGene.WildCherry), - SourCherry("prunus", "cerasus", 0x6d8f1e, ILogType.ExtraTreeLog.Cherry, ExtraTreeFruitGene.SourCherry), - BlackCherry("prunus", "serotina", 0x6d8f1e, ILogType.ExtraTreeLog.Cherry, ExtraTreeFruitGene.BlackCherry), - Orange("citrus", "sinensis", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Orange), - Manderin("citrus", "reticulata", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Manderin), - Satsuma("citrus", "unshiu", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Satsuma), - Tangerine("citrus", "tangerina", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Tangerine), - Lime("citrus", "latifolia", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Lime), - KeyLime("citrus", "aurantifolia", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.KeyLime), - FingerLime("citrus", "australasica", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.FingerLime), - Pomelo("citrus", "maxima", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Pomelo), - Grapefruit("citrus", "paradisi", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Grapefruit), - Kumquat("citrus", "margarita", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Kumquat), - Citron("citrus", "medica", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Citron), - BuddhaHand("citrus", "sarcodactylus", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.BuddhaHand), - Banana("musa", "sinensis", 0xa1cd8e, ILogType.ExtraTreeLog.Banana, ExtraTreeFruitGene.Banana, WorldGenBanana.class), - RedBanana("musa", "rubra", 0xa1cd8e, ILogType.ExtraTreeLog.Banana, ExtraTreeFruitGene.RedBanana, WorldGenBanana.class), - Plantain("musa", "paradisiaca", 0xa1cd8e, ILogType.ExtraTreeLog.Banana, ExtraTreeFruitGene.Plantain, WorldGenBanana.class), - Butternut("juglans", "cinerea", 0x82b58c, ILogType.ExtraTreeLog.Butternut, ExtraTreeFruitGene.Butternut, WorldGenButternut.class), - Rowan("sorbus", "aucuparia", 0x9ec79b, ILogType.ExtraTreeLog.Rowan, null, WorldGenRowan.class), - Hemlock("tsuga", "heterophylla", 0x5cac72, ILogType.ExtraTreeLog.Hemlock, null, WorldGenWesternHemlock.class), - Ash("fraxinus", "excelsior", 0x488e2b, ILogType.ExtraTreeLog.Ash, null, WorldGenCommonAsh.class), - Alder("alnus", "glutinosa", 0x698a33, ILogType.ExtraTreeLog.Alder, null, WorldGenCommonAlder.class), - Beech("fagus", "sylvatica", 0x83a04c, ILogType.ExtraTreeLog.Beech, ExtraTreeFruitGene.Beechnut, WorldGenCommonBeech.class), - CopperBeech("fagus", "purpurea", 0x801318, ILogType.ExtraTreeLog.Beech, ExtraTreeFruitGene.Beechnut, WorldGenCopperBeech.class), - Aspen("populus", "tremula", 0x8acc37, ILogType.ForestryLog.POPLAR, null, WorldGenAspen.class), - Yew("taxus", "baccata", 0x948a4d, ILogType.ExtraTreeLog.Yew, null, WorldGenYew.class), - Cypress("chamaecyparis", "lawsoniana", 0x89c9a7, ILogType.ExtraTreeLog.Cypress, null, WorldGenCypress.class), - DouglasFir("pseudotsuga", "menziesii", 0x99b582, ILogType.ExtraTreeLog.Fir, null, WorldGenDouglasFir.class), - Hazel("Corylus", "avellana", 0x9bb552, ILogType.ExtraTreeLog.Hazel, ExtraTreeFruitGene.Hazelnut, WorldGenHazel.class), - Sycamore("ficus", "sycomorus", 0xa0a52f, ILogType.ExtraTreeLog.Fig, ExtraTreeFruitGene.Fig, WorldGenSycamore.class), - Whitebeam("sorbus", "aria", 0xbace99, ILogType.ExtraTreeLog.Whitebeam, null, WorldGenWhitebeam.class), - Hawthorn("crataegus", "monogyna", 0x6ba84a, ILogType.ExtraTreeLog.Hawthorn, null, WorldGenHawthorn.class), - Pecan("carya", "illinoinensis", 0x85b674, ILogType.ExtraTreeLog.Hickory, ExtraTreeFruitGene.Pecan, WorldGenPecan.class), - Elm("ulmus", "procera", 0x7c9048, ILogType.ExtraTreeLog.Elm, null, WorldGenElm.class), - Elder("sambucus", "nigra", 0xaeb873, ILogType.ExtraTreeLog.Elder, ExtraTreeFruitGene.Elderberry, WorldGenElder.class), - Holly("ilex", "aquifolium", 0x254b4c, ILogType.ExtraTreeLog.Holly, null, WorldGenHolly.class), - Hornbeam("carpinus", "betulus", 0x96a71b, ILogType.ExtraTreeLog.Hornbeam, null, WorldGenHornbeam.class), - Sallow("salix", "caprea", 0xaeb323, ILogType.ForestryLog.WILLOW, null, WorldGenSallow.class), - AcornOak("quercus", "robur", 0x66733e, ILogType.VanillaLog.Oak, ExtraTreeFruitGene.Acorn, WorldGenAcornOak.class), - Fir("abies", "alba", 0x6f7c20, ILogType.ExtraTreeLog.Fir, null, WorldGenSilverFir.class), - Cedar("cedrus", "libani", 0x95a370, ILogType.ExtraTreeLog.Cedar, null, WorldGenCedar.class), - Olive("olea", "europaea", 0x3c4834, ILogType.ExtraTreeLog.Olive, ExtraTreeFruitGene.Olive, WorldGenOlive.class), - RedMaple("acer", "ubrum", 0xe82e17, ILogType.ForestryLog.MAPLE, null, WorldGenRedMaple.class), - BalsamFir("abies", "balsamea", 0x74a07c, ILogType.ExtraTreeLog.Fir, null, WorldGenBalsamFir.class), - LoblollyPine("pinus", "taeda", 0x6f8a47, ILogType.ForestryLog.PINE, null, WorldGenLoblollyPine.class), - Sweetgum("liquidambar", "styraciflua", 0x8b8762, ILogType.ExtraTreeLog.Sweetgum, null, WorldGenSweetgum.class), - Locust("robinia", "pseudoacacia", 0x887300, ILogType.ExtraTreeLog.Locust, null, WorldGenLocust.class), - Pear("pyrus", "communis", 0x5e8826, ILogType.ExtraTreeLog.Pear, ExtraTreeFruitGene.Pear, WorldGenPear.class), - OsangeOsange("maclura", "pomifera", 0x687a50, ILogType.ExtraTreeLog.Maclura, ExtraTreeFruitGene.OsangeOsange, WorldGenOsangeOsange.class), - OldFustic("maclura", "tinctoria", 0x687a50, ILogType.ExtraTreeLog.Maclura, null, WorldGenOldFustic.class), - Brazilwood("caesalpinia", "echinata", 0x607459, ILogType.ExtraTreeLog.Brazilwood, null, WorldGenBrazilwood.class), - Logwood("haematoxylum", "campechianum", 0x889f6b, ILogType.ExtraTreeLog.Logwood, null, WorldGenLogwood.class), - Rosewood("dalbergia", "latifolia", 0x879b22, ILogType.ExtraTreeLog.Rosewood, null, WorldGenRosewood.class), - Purpleheart("peltogyne", "spp.", 0x778f55, ILogType.ExtraTreeLog.Purpleheart, null, WorldGenPurpleheart.class), - Iroko("milicia", "excelsa", 0xafc86c, ILogType.ExtraTreeLog.Iroko, null, WorldGenIroko.class), - Gingko("ginkgo", "biloba", 0x719651, ILogType.ExtraTreeLog.Gingko, ExtraTreeFruitGene.GingkoNut, WorldGenGingko.class), - Brazilnut("bertholletia", "excelsa", 0x7c8f7b, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.BrazilNut, WorldGenBrazilNut.class), - RoseGum("eucalyptus", "grandis", 0x9ca258, ILogType.ExtraTreeLog.Eucalyptus, null, WorldGenRoseGum.class), - SwampGum("eucalyptus", "grandis", 0xa2c686, ILogType.ExtraTreeLog.Eucalyptus2, null, WorldGenSwampGum.class), - Box("boxus", "sempervirens", 0x72996d, ILogType.ExtraTreeLog.Box, null, WorldGenBox.class), - Clove("syzygium", "aromaticum", 0x7a821f, ILogType.ExtraTreeLog.Syzgium, ExtraTreeFruitGene.Clove, WorldGenClove.class), - Coffee("coffea", "arabica", 0x6f9065, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Coffee, WorldGenCoffee.class), - MonkeyPuzzle("araucaria", "araucana", 0x576158, ILogType.ForestryLog.PINE, null, WorldGenMonkeyPuzzle.class), - RainbowGum("eucalyptus", "deglupta", 0xb7f025, ILogType.ExtraTreeLog.Eucalyptus3, null, WorldGenRainbowGum.class), - PinkIvory("berchemia", "zeyheri", 0x7c9159, ILogType.ExtraTreeLog.PinkIvory, null, WorldGenTree.class), - Blackcurrant("ribes", "nigrum", 0xa6da5c, null, ExtraTreeFruitGene.Blackcurrant, WorldGenShrub.class), - Redcurrant("ribes", "rubrum", 0x74ac00, null, ExtraTreeFruitGene.Redcurrant, WorldGenShrub.class), - Blackberry("rubus", "fruticosus", 0x92c15b, null, ExtraTreeFruitGene.Blackberry, WorldGenShrub.class), - Raspberry("rubus", "idaeus", 0x83b96e, null, ExtraTreeFruitGene.Raspberry, WorldGenShrub.class), - Blueberry("vaccinium", "corymbosum", 0x72c750, null, ExtraTreeFruitGene.Blueberry, WorldGenShrub.class), - Cranberry("vaccinium", "oxycoccos", 0x96d179, null, ExtraTreeFruitGene.Cranberry, WorldGenShrub.class), - Juniper("juniperus", "communis", 0x90b149, null, ExtraTreeFruitGene.Juniper, WorldGenShrub.class), - Gooseberry("ribes", "grossularia", 0x79bb00, null, ExtraTreeFruitGene.Gooseberry, WorldGenShrub.class), - GoldenRaspberry("rubus", "occidentalis", 0x83b96e, null, ExtraTreeFruitGene.GoldenRaspberry, WorldGenShrub.class), - Cinnamon("cinnamomum", "cassia", 0x738e0b, ILogType.ExtraTreeLog.Cinnamon, null, WorldGenLazy.class), - Coconut("cocous", "nucifera", 0x649923, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Coconut, WorldGenCoconut.class), - Cashew("anacardium", "occidentale", 0xabb962, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Cashew, WorldGenLazy.class), - Avacado("persea", "americana", 0x96a375, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Avacado, WorldGenLazy.class), - Nutmeg("myristica", "fragrans", 0x488d4c, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Nutmeg, WorldGenLazy.class), - Allspice("pimenta", "dioica", 0x7c9724, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Allspice, WorldGenLazy.class), - Chilli("capsicum", "annuum", 0x2a9f01, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Chilli, WorldGenLazy.class), - StarAnise("illicium", "verum", 0x7fc409, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.StarAnise, WorldGenLazy.class), - Mango("mangifera", "indica", 0x87b574, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Mango, WorldGenMango.class), - Starfruit("averrhoa", "carambola", 0x6da92d, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Starfruit, WorldGenLazy.class), - Candlenut("aleurites", "moluccana", 0x8aa36c, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Candlenut, WorldGenLazy.class), - DwarfHazel("Corylus", "americana", 0x9bb552, ILogType.ExtraTreeLog.Hazel, ExtraTreeFruitGene.Hazelnut, WorldGenShrub.class); - - public ILogType wood; - - protected ArrayList families; - protected int girth; - protected Class gen; - protected IAlleleFruit fruit; - protected IAllele[] template; - protected int color; - protected String binomial; - protected String uid; - protected String branchName; - protected IClassification branch; - protected int colorPollineted; - - private LeafType leafType; - private SaplingType saplingType; - - ExtraTreeSpecies(String branch, String binomial, int color, ILogType wood, IAlleleFruit fruit) { - this(branch, binomial, color, wood, fruit, null); - } - - ExtraTreeSpecies(String branch, String binomial, int color, ILogType wood, IAlleleFruit fruit, Class gen) { - this.color = color; - this.wood = wood; - this.fruit = fruit; - this.gen = ((gen == null) ? WorldGenTree.class : gen); - this.binomial = binomial; - leafType = LeafType.NORMAL; - saplingType = SaplingType.DEFAULT; - families = new ArrayList<>(); - girth = 1; - colorPollineted = new Color(color).brighter().getRGB(); - uid = toString().toLowerCase(); - branchName = branch; - } - - public static void init() { - for (ExtraTreeSpecies species : values()) { - species.preInit(); - } - - ExtraTreeSpecies[] pruneSpecies = new ExtraTreeSpecies[]{ - ExtraTreeSpecies.Blackthorn, - ExtraTreeSpecies.CherryPlum, - ExtraTreeSpecies.Almond, - ExtraTreeSpecies.Apricot, - ExtraTreeSpecies.Peach, - ExtraTreeSpecies.Nectarine, - ExtraTreeSpecies.WildCherry, - ExtraTreeSpecies.SourCherry, - ExtraTreeSpecies.BlackCherry - }; - for (ExtraTreeSpecies species2 : pruneSpecies) { - IAlleleTreeSpecies citrus = (IAlleleTreeSpecies) AlleleManager.alleleRegistry.getAllele("forestry.treePlum"); - species2 - .setWorldGen(citrus.getGenerator().getWorldGenerator(TreeManager.treeRoot.templateAsIndividual(citrus.getRoot().getDefaultTemplate())).getClass()) - .setSaplingType(SaplingType.FRUIT); - } - - ExtraTreeSpecies[] citrusSpecies = new ExtraTreeSpecies[]{ - ExtraTreeSpecies.Orange, - ExtraTreeSpecies.Manderin, - ExtraTreeSpecies.Satsuma, - ExtraTreeSpecies.Tangerine, - ExtraTreeSpecies.Lime, - ExtraTreeSpecies.KeyLime, - ExtraTreeSpecies.FingerLime, - ExtraTreeSpecies.Pomelo, - ExtraTreeSpecies.Grapefruit, - ExtraTreeSpecies.Kumquat, - ExtraTreeSpecies.Citron, - ExtraTreeSpecies.BuddhaHand - }; - for (ExtraTreeSpecies species3 : citrusSpecies) { - IAlleleTreeSpecies citrus2 = (IAlleleTreeSpecies) AlleleManager.alleleRegistry.getAllele("forestry.treeLemon"); - species3 - .setWorldGen(citrus2.getGenerator().getWorldGenerator(TreeManager.treeRoot.templateAsIndividual(citrus2.getRoot().getDefaultTemplate())).getClass()) - .setLeafType(LeafType.JUNGLE) - .setSaplingType(SaplingType.FRUIT); - } - - citrusSpecies = values(); - for (ExtraTreeSpecies species3 : citrusSpecies) { - String scientific = species3.branchName.substring(0, 1).toUpperCase() + species3.branchName.substring(1).toLowerCase(); - String uid = "trees." + species3.branchName.toLowerCase(); - IClassification branch = AlleleManager.alleleRegistry.getClassification("genus." + uid); - if (branch == null) { - branch = AlleleManager.alleleRegistry.createAndRegisterClassification(IClassification.EnumClassLevel.GENUS, uid, scientific); - } - species3.branch = branch; - branch.addMemberSpecies(species3); - } - - IFruitFamily familyPrune = AlleleManager.alleleRegistry.getFruitFamily("forestry.prunes"); - IFruitFamily familyPome = AlleleManager.alleleRegistry.getFruitFamily("forestry.pomes"); - IFruitFamily familyJungle = AlleleManager.alleleRegistry.getFruitFamily("forestry.jungle"); - IFruitFamily familyNuts = AlleleManager.alleleRegistry.getFruitFamily("forestry.nuts"); - IFruitFamily familyBerry = ExtraTreeFruitFamily.Berry; - IFruitFamily familyCitrus = ExtraTreeFruitFamily.Citrus; - - ExtraTreeSpecies.OrchardApple - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setYield(EnumAllele.Yield.HIGHER) - .setSappiness(EnumAllele.Sappiness.LOW) - .setMaturation(EnumAllele.Maturation.FASTER); - - ExtraTreeSpecies.SweetCrabapple - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setYield(EnumAllele.Yield.HIGH) - .setSappiness(EnumAllele.Sappiness.AVERAGE) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.FloweringCrabapple - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setFertility(EnumAllele.Saplings.AVERAGE) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOW) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.PrairieCrabapple - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.AVERAGE); - - ExtraTreeSpecies.Blackthorn - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setYield(EnumAllele.Yield.LOW) - .setSappiness(EnumAllele.Sappiness.AVERAGE) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.CherryPlum - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setYield(EnumAllele.Yield.LOWER) - .setSappiness(EnumAllele.Sappiness.AVERAGE) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.Peach - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.AVERAGE); - - ExtraTreeSpecies.Nectarine - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.AVERAGE); - - ExtraTreeSpecies.Apricot - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setYield(EnumAllele.Yield.LOW) - .setSappiness(EnumAllele.Sappiness.AVERAGE); - - ExtraTreeSpecies.Almond - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setYield(EnumAllele.Yield.LOWER) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.WildCherry - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.LOWER) - .setSappiness(EnumAllele.Sappiness.LOW) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.SourCherry - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setYield(EnumAllele.Yield.LOWER) - .setSappiness(EnumAllele.Sappiness.LOW); - - ExtraTreeSpecies.BlackCherry - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOWEST) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.Orange - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.AVERAGE) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.Manderin - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.HIGH) - .setSappiness(EnumAllele.Sappiness.LOW); - - ExtraTreeSpecies.Satsuma - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setYield(EnumAllele.Yield.LOW) - .setSappiness(EnumAllele.Sappiness.LOW) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.Tangerine - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.AVERAGE) - .setMaturation(EnumAllele.Maturation.FASTER); - - ExtraTreeSpecies.Lime - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOW); - - ExtraTreeSpecies.KeyLime - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOWEST) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOW) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.FingerLime - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setYield(EnumAllele.Yield.HIGH) - .setSappiness(EnumAllele.Sappiness.LOW) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.Pomelo - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Grapefruit - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOW) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.Kumquat - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setYield(EnumAllele.Yield.HIGH) - .setSappiness(EnumAllele.Sappiness.LOW); - - ExtraTreeSpecies.Citron - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST) - .setYield(EnumAllele.Yield.HIGH) - .setSappiness(EnumAllele.Sappiness.AVERAGE); - - ExtraTreeSpecies.BuddhaHand - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOW); - - ExtraTreeSpecies.Banana - .addFamily(familyNuts) - .addFamily(familyJungle) - .setLeafType(LeafType.PALM) - .setYield(EnumAllele.Yield.LOW) - .setSappiness(EnumAllele.Sappiness.LOW) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.RedBanana - .addFamily(familyNuts) - .addFamily(familyJungle) - .setLeafType(LeafType.PALM) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.LOWER) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Plantain - .addFamily(familyNuts) - .addFamily(familyJungle) - .setLeafType(LeafType.PALM) - .setHeight(EnumAllele.Height.AVERAGE) - .setYield(EnumAllele.Yield.LOWER); - - ExtraTreeSpecies.Butternut - .setGirth(2) - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLER) - .setYield(EnumAllele.Yield.LOW); - - ExtraTreeSpecies.Rowan - .addFamily(familyNuts) - .addFamily(familyBerry) - .setHeight(EnumAllele.Height.LARGER) - .setFertility(EnumAllele.Saplings.LOW) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Ash - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyCitrus) - .setFertility(EnumAllele.Saplings.LOW) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Alder - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyNuts) - .setHeight(EnumAllele.Height.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Beech - .addFamily(familyPrune) - .addFamily(familyNuts) - .setHeight(EnumAllele.Height.AVERAGE) - .setYield(EnumAllele.Yield.LOWER); - - ExtraTreeSpecies.CopperBeech - .addFamily(familyPrune) - .addFamily(familyNuts) - .setMaturation(EnumAllele.Maturation.SLOW); - - ExtraTreeSpecies.Aspen - .addFamily(familyPome) - .addFamily(familyNuts) - .setFertility(EnumAllele.Saplings.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Hazel - .addFamily(familyPrune) - .addFamily(familyNuts) - .setHeight(EnumAllele.Height.AVERAGE) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.LOW) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Sycamore - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyCitrus) - .setFertility(EnumAllele.Saplings.LOWEST) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Whitebeam - .addFamily(familyPome) - .addFamily(familyPrune) - .setHeight(EnumAllele.Height.SMALLER); - - ExtraTreeSpecies.Hawthorn - .addFamily(familyPrune) - .addFamily(familyNuts) - .setHeight(EnumAllele.Height.AVERAGE); - - ExtraTreeSpecies.Pecan - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.LARGE) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.SLOW); - - ExtraTreeSpecies.Elm - .addFamily(familyPome) - .addFamily(familyPrune) - .setHeight(EnumAllele.Height.SMALLER) - .setFertility(EnumAllele.Saplings.LOW) - .setSappiness(EnumAllele.Sappiness.AVERAGE); - - ExtraTreeSpecies.Elder - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyCitrus) - .addFamily(familyBerry) - .setHeight(EnumAllele.Height.SMALLER) - .setSappiness(EnumAllele.Sappiness.LOW); - - ExtraTreeSpecies.Holly - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOW); - - ExtraTreeSpecies.Hornbeam - .addFamily(familyPrune) - .addFamily(familyNuts) - .setHeight(EnumAllele.Height.SMALLER) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.LOWER) - .setMaturation(EnumAllele.Maturation.SLOW); - - ExtraTreeSpecies.Sallow - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setLeafType(LeafType.WILLOW) - .setHeight(EnumAllele.Height.LARGE) - .setFertility(EnumAllele.Saplings.LOW); - - ExtraTreeSpecies.AcornOak - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyNuts) - .setHeight(EnumAllele.Height.LARGE) - .setYield(EnumAllele.Yield.LOW) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setGirth(2); - - ExtraTreeSpecies.Fir - .setLeafType(LeafType.CONIFER) - .setHeight(EnumAllele.Height.LARGE) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.SLOW); - - ExtraTreeSpecies.Olive - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyCitrus) - .setYield(EnumAllele.Yield.AVERAGE); - - ExtraTreeSpecies.Cedar - .setLeafType(LeafType.CONIFER) - .setHeight(EnumAllele.Height.SMALLER) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.SLOWER) - .setGirth(2); - - ExtraTreeSpecies.RedMaple - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setLeafType(LeafType.MAPLE) - .setFertility(EnumAllele.Saplings.AVERAGE) - .setSappiness(EnumAllele.Sappiness.HIGH); - - ExtraTreeSpecies.BalsamFir - .setLeafType(LeafType.CONIFER) - .setHeight(EnumAllele.Height.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.SLOW); - - ExtraTreeSpecies.LoblollyPine - .setLeafType(LeafType.CONIFER) - .setHeight(EnumAllele.Height.SMALLER) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.SLOW); - - ExtraTreeSpecies.Sweetgum - .addFamily(familyNuts) - .setHeight(EnumAllele.Height.AVERAGE) - .setFertility(EnumAllele.Saplings.HIGH) - .setYield(EnumAllele.Yield.LOW) - .setSappiness(EnumAllele.Sappiness.AVERAGE); - - ExtraTreeSpecies.Locust - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLEST); - - ExtraTreeSpecies.Pear - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLER) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.HIGH) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.OsangeOsange - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setYield(EnumAllele.Yield.LOWER); - - ExtraTreeSpecies.OldFustic - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.SMALLER) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Brazilwood - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.SMALLER) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.LOWER) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Logwood - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.AVERAGE) - .setFertility(EnumAllele.Saplings.LOW) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Rosewood - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Purpleheart - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.LARGE) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Iroko - .addFamily(familyNuts) - .addFamily(familyJungle) - .setHeight(EnumAllele.Height.AVERAGE) - .setFertility(EnumAllele.Saplings.LOW); - - ExtraTreeSpecies.Gingko - .addFamily(familyNuts) - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.LARGE) - .setYield(EnumAllele.Yield.LOWER) - .setSappiness(EnumAllele.Sappiness.LOW); - - ExtraTreeSpecies.Brazilnut - .addFamily(familyNuts) - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.LARGER) - .setYield(EnumAllele.Yield.LOW) - .setSappiness(EnumAllele.Sappiness.LOW); - - ExtraTreeSpecies.RoseGum - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.LARGEST) - .setFertility(EnumAllele.Saplings.LOWEST) - .setYield(EnumAllele.Yield.LOWER) - .setSappiness(EnumAllele.Sappiness.LOW) - .setMaturation(EnumAllele.Maturation.SLOWEST); - - ExtraTreeSpecies.SwampGum - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOWEST) - .setMaturation(EnumAllele.Maturation.SLOWER) - .setGirth(2); - - ExtraTreeSpecies.Box - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyCitrus) - .setHeight(EnumAllele.Height.SMALLER) - .setMaturation(EnumAllele.Maturation.FASTER); - - ExtraTreeSpecies.Clove - .addFamily(familyNuts) - .addFamily(familyJungle) - .setHeight(EnumAllele.Height.SMALLER) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.HIGH) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.Coffee - .addFamily(familyNuts) - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.LARGE) - .setYield(EnumAllele.Yield.AVERAGE) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.MonkeyPuzzle - .addFamily(familyNuts) - .addFamily(familyJungle) - .setLeafType(LeafType.CONIFER) - .setHeight(EnumAllele.Height.AVERAGE) - .setYield(EnumAllele.Yield.LOWER) - .setSappiness(EnumAllele.Sappiness.LOW) - .setGirth(2); - - ExtraTreeSpecies.RainbowGum - .addFamily(familyNuts) - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.LOWER); - - ExtraTreeSpecies.PinkIvory - .addFamily(familyNuts) - .addFamily(familyJungle) - .setHeight(EnumAllele.Height.SMALLEST); - - ExtraTreeSpecies.Blackcurrant - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyBerry) - .setSaplingType(SaplingType.SHRUB) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.FASTER); - - ExtraTreeSpecies.Redcurrant - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyBerry) - .setSaplingType(SaplingType.SHRUB) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.AVERAGE) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOW) - .setMaturation(EnumAllele.Maturation.FASTER); - - ExtraTreeSpecies.Blackberry - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyBerry) - .setSaplingType(SaplingType.SHRUB) - .setHeight(EnumAllele.Height.SMALLEST) - .setYield(EnumAllele.Yield.HIGH) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.FASTER); - - ExtraTreeSpecies.Raspberry - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyBerry) - .setSaplingType(SaplingType.SHRUB) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.FASTER); - - ExtraTreeSpecies.Blueberry - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyBerry) - .setSaplingType(SaplingType.SHRUB) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.AVERAGE) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOW) - .setMaturation(EnumAllele.Maturation.FASTER); - - ExtraTreeSpecies.Cranberry - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyBerry) - .setSaplingType(SaplingType.SHRUB) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.AVERAGE) - .setYield(EnumAllele.Yield.HIGH) - .setSappiness(EnumAllele.Sappiness.LOW) - .setMaturation(EnumAllele.Maturation.FASTER); - - ExtraTreeSpecies.Juniper - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyBerry) - .setLeafType(LeafType.CONIFER) - .setSaplingType(SaplingType.SHRUB) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.LOW) - .setSappiness(EnumAllele.Sappiness.LOW) - .setMaturation(EnumAllele.Maturation.FASTER); - - ExtraTreeSpecies.Gooseberry - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyBerry) - .setSaplingType(SaplingType.SHRUB) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.HIGH) - .setYield(EnumAllele.Yield.HIGH) - .setMaturation(EnumAllele.Maturation.FASTER); - - ExtraTreeSpecies.GoldenRaspberry - .addFamily(familyPrune) - .addFamily(familyNuts) - .addFamily(familyBerry) - .setSaplingType(SaplingType.SHRUB) - .setHeight(EnumAllele.Height.SMALLER) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.FASTEST); - - ExtraTreeSpecies.Cinnamon - .addFamily(familyNuts) - .setLeafType(LeafType.JUNGLE) - .addFamily(familyJungle) - .setHeight(EnumAllele.Height.AVERAGE) - .setYield(EnumAllele.Yield.LOWER) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.Coconut - .addFamily(familyJungle) - .setLeafType(LeafType.PALM) - .setHeight(EnumAllele.Height.LARGER) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.AVERAGE) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.Cashew - .addFamily(familyNuts) - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setYield(EnumAllele.Yield.LOW); - - ExtraTreeSpecies.Avacado - .addFamily(familyPrune) - .addFamily(familyCitrus) - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.SMALLEST) - .setYield(EnumAllele.Yield.AVERAGE); - - ExtraTreeSpecies.Nutmeg - .addFamily(familyNuts) - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.SMALLER) - .setYield(EnumAllele.Yield.HIGH) - .setSappiness(EnumAllele.Sappiness.LOW); - - ExtraTreeSpecies.Allspice - .addFamily(familyNuts) - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.HIGH); - - ExtraTreeSpecies.Chilli - .addFamily(familyNuts) - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.SMALLER) - .setYield(EnumAllele.Yield.HIGHER) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.StarAnise - .addFamily(familyNuts) - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.AVERAGE) - .setYield(EnumAllele.Yield.HIGH); - - ExtraTreeSpecies.Mango - .addFamily(familyPome) - .addFamily(familyPrune) - .addFamily(familyCitrus) - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setHeight(EnumAllele.Height.SMALLER) - .setFertility(EnumAllele.Saplings.LOW) - .setYield(EnumAllele.Yield.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.Starfruit - .addFamily(familyPrune) - .addFamily(familyCitrus) - .addFamily(familyJungle) - .setLeafType(LeafType.JUNGLE) - .setYield(EnumAllele.Yield.AVERAGE) - .setMaturation(EnumAllele.Maturation.FAST); - - ExtraTreeSpecies.Candlenut - .addFamily(familyNuts) - .addFamily(familyJungle) - .setHeight(EnumAllele.Height.SMALLEST) - .setFertility(EnumAllele.Saplings.LOWEST) - .setYield(EnumAllele.Yield.LOW) - .setSappiness(EnumAllele.Sappiness.LOW); - - ExtraTreeSpecies.DwarfHazel - .addFamily(familyPrune) - .addFamily(familyNuts) - .setSaplingType(SaplingType.SHRUB) - .setFertility(EnumAllele.Saplings.AVERAGE) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.FASTER); - - ExtraTreeSpecies.Yew - .setLeafType(LeafType.CONIFER) - .setHeight(EnumAllele.Height.LARGE) - .setSappiness(EnumAllele.Sappiness.LOWER); - - ExtraTreeSpecies.Cypress - .setLeafType(LeafType.CONIFER) - .setSaplingType(SaplingType.POPLAR) - .setHeight(EnumAllele.Height.LARGER) - .setFertility(EnumAllele.Saplings.LOW) - .setSappiness(EnumAllele.Sappiness.LOWER) - .setMaturation(EnumAllele.Maturation.SLOW); - - ExtraTreeSpecies.DouglasFir - .setLeafType(LeafType.CONIFER) - .setHeight(EnumAllele.Height.SMALLER) - .setFertility(EnumAllele.Saplings.LOW) - .setMaturation(EnumAllele.Maturation.SLOWER) - .setGirth(2); - - ExtraTreeSpecies.Hemlock - .setLeafType(LeafType.CONIFER) - .setGirth(2) - .setHeight(EnumAllele.Height.AVERAGE) - .setFertility(EnumAllele.Saplings.LOW) - .setMaturation(EnumAllele.Maturation.SLOWER); - } - - // TODO unused method? - static ItemStack getEBXLStack(String name) { - try { - Class elements = Class.forName("extrabiomes.lib.Element"); - Method getElementMethod = elements.getMethod("valueOf", String.class); - Method getItemStack = elements.getMethod("get"); - Object element = getElementMethod.invoke(null, "SAPLING_AUTUMN_YELLOW"); - return (ItemStack) getItemStack.invoke(element); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - - private ExtraTreeSpecies addFamily(IFruitFamily family) { - families.add(family); - return this; - } - - private ExtraTreeSpecies setWorldGen(Class gen) { - this.gen = gen; - return this; - } - - private ExtraTreeSpecies setGirth(int girth) { - template[EnumTreeChromosome.GIRTH.ordinal()] = AlleleHelper.getAllele(girth); - return this; - } - - public void preInit() { - template = Binnie.Genetics.getTreeRoot().getDefaultTemplate(); - template[0] = this; - if (fruit != null) { - template[EnumTreeChromosome.FRUITS.ordinal()] = fruit; - } - - template[EnumTreeChromosome.GIRTH.ordinal()] = AlleleHelper.getAllele(girth); - IClassification clas = AlleleManager.alleleRegistry.getClassification("trees." + branch); - if (clas != null) { - clas.addMemberSpecies(this); - branch = clas; - } - } - - @Override - public String getName() { - return I18N.localise("extratrees.species." + name().toLowerCase() + ".name"); - } - - @Override - public String getDescription() { - return I18N.localiseOrBlank("extratrees.species." + name().toLowerCase() + ".desc"); - } - - @Override - public EnumTemperature getTemperature() { - return EnumTemperature.NORMAL; - } - - @Override - public EnumHumidity getHumidity() { - return EnumHumidity.NORMAL; - } - - @Override - public boolean hasEffect() { - return false; - } - - @Override - public boolean isSecret() { - return false; - } - - @Override - public boolean isCounted() { - return true; - } - - @Override - public String getBinomial() { - return binomial; - } - - @Override - public String getAuthority() { - return "Binnie"; - } - - @Override - public IClassification getBranch() { - return branch; - } - - @Override - public String getUID() { - return "extratrees.species." + uid; - } - - @Override - public boolean isDominant() { - return true; - } - - @Override - public EnumPlantType getPlantType() { - return EnumPlantType.Plains; - } - - @Override - public ITreeGenerator getGenerator() { - return new DefaultTreeGenerator(this); - } - - public WorldGenerator getGenerator(ITreeGenData tree) { - if (gen != null) { - try { - return gen.getConstructor(ITreeGenData.class).newInstance(tree); - } catch (Exception ex) { - ex.printStackTrace(); - // ignored - } - } - return new WorldGenDefault(tree); - } - - protected ExtraTreeSpecies setLeafType(LeafType type) { - leafType = type; - if (leafType == LeafType.CONIFER) { - saplingType = SaplingType.CONIFER; - } else if (leafType == LeafType.JUNGLE) { - saplingType = SaplingType.JUNGLE; - } else if (leafType == LeafType.PALM) { - saplingType = SaplingType.PALM; - } - return this; - } - - protected ExtraTreeSpecies setSaplingType(SaplingType saplingType) { - this.saplingType = saplingType; - return this; - } - - public IAllele[] getTemplate() { - return template; - } - - @Override - public ArrayList getSuitableFruit() { - return families; - } - - public ILogType getLog() { - return wood; - } - - public ExtraTreeSpecies setHeight(EnumAllele.Height height) { - IAllele allele = AlleleHelper.getAllele(height); - if (allele != null) { - template[EnumTreeChromosome.HEIGHT.ordinal()] = allele; - } - return this; - } - - public ExtraTreeSpecies setSappiness(EnumAllele.Sappiness sappiness) { - IAllele allele = AlleleHelper.getAllele(sappiness); - if (allele != null) { - template[EnumTreeChromosome.SAPPINESS.ordinal()] = allele; - } - return this; - } - - public ExtraTreeSpecies setMaturation(EnumAllele.Maturation maturation) { - IAllele allele = AlleleHelper.getAllele(maturation); - if (allele != null) { - template[EnumTreeChromosome.MATURATION.ordinal()] = allele; - } - return this; - } - - public ExtraTreeSpecies setYield(EnumAllele.Yield yield) { - IAllele allele = AlleleHelper.getAllele(yield); - if (allele != null) { - template[EnumTreeChromosome.YIELD.ordinal()] = allele; - } - return this; - } - - public ExtraTreeSpecies setFertility(EnumAllele.Saplings saplings) { - IAllele allele = AlleleHelper.getAllele(saplings); - if (allele != null) { - template[EnumTreeChromosome.FERTILITY.ordinal()] = allele; - } - return this; - } - - public int getLeafColor(ITree tree) { - return color; - } - - @Override - public int getIconColour(int renderPass) { - return (renderPass == 0) ? color : 0xFFFFFF;// 10451021; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getGermlingIcon(EnumGermlingType type, int renderPass) { - if (type == EnumGermlingType.POLLEN) { - return PluginArboriculture.items.pollenFertile.getIcon(PluginArboriculture.items.pollenFertile.getItemStack(), renderPass); - } - return (renderPass == 0) - ? saplingType.icon[1] - : saplingType.icon[0]; - } - - @Override - public IIconProvider getIconProvider() { - return this; - } - - @Override - public IIcon getIcon(short texUID) { - return TextureManager.getInstance().getIcon(texUID); - } - - @Override - public void registerIcons(IIconRegister register) { - for (SaplingType type : SaplingType.values()) { - type.icon = new IIcon[2]; - type.icon[0] = ExtraTrees.proxy.getIcon(register, "saplings/" + type.toString().toLowerCase() + ".trunk"); - type.icon[1] = ExtraTrees.proxy.getIcon(register, "saplings/" + type.toString().toLowerCase() + ".leaves"); - } - } - - @Override - public ITreeRoot getRoot() { - return Binnie.Genetics.getTreeRoot(); - } - - @Override - public float getResearchSuitability(ItemStack itemstack) { - if (itemstack == null) { - return 0.0f; - } - - if (template[EnumTreeChromosome.FRUITS.ordinal()] instanceof ExtraTreeFruitGene) { - ExtraTreeFruitGene fruit = (ExtraTreeFruitGene) template[EnumTreeChromosome.FRUITS.ordinal()]; - for (ItemStack stack : fruit.products.keySet()) { - if (stack.isItemEqual(itemstack)) { - return 1.0f; - } - } - } - - if (itemstack.getItem() == Mods.forestry.item("honeyDrop")) { - return 0.5f; - } - if (itemstack.getItem() == Mods.forestry.item("honeydew")) { - return 0.7f; - } - if (itemstack.getItem() == Mods.forestry.item("beeCombs")) { - return 0.4f; - } - if (AlleleManager.alleleRegistry.isIndividual(itemstack)) { - return 1.0f; - } - - for (Map.Entry entry : getRoot().getResearchCatalysts().entrySet()) { - if (entry.getKey().isItemEqual(itemstack)) { - return entry.getValue(); - } - } - return 0.0f; - } - - @Override - public ItemStack[] getResearchBounty(World world, GameProfile researcher, IIndividual individual, int bountyLevel) { - ArrayList bounty = new ArrayList<>(); - ItemStack research = null; - if (world.rand.nextFloat() < 10.0f / bountyLevel) { - Collection combinations = getRoot().getCombinations(this); - if (combinations.size() > 0) { - IMutation[] candidates = combinations.toArray(new IMutation[0]); - research = AlleleManager.alleleRegistry.getMutationNoteStack(researcher, candidates[world.rand.nextInt(candidates.length)]); - } - } - - if (research != null) { - bounty.add(research); - } - - if (template[EnumTreeChromosome.FRUITS.ordinal()] instanceof ExtraTreeFruitGene) { - ExtraTreeFruitGene fruit = (ExtraTreeFruitGene) template[EnumTreeChromosome.FRUITS.ordinal()]; - for (ItemStack stack : fruit.products.keySet()) { - ItemStack stack2 = stack.copy(); - stack2.stackSize = world.rand.nextInt((int) (bountyLevel / 2.0f)) + 1; - bounty.add(stack2); - } - } - return bounty.toArray(new ItemStack[0]); - } - - @Override - @SideOnly(Side.CLIENT) - public int getGermlingColour(EnumGermlingType type, int renderPass) { - if (type == EnumGermlingType.SAPLING) { - if (renderPass == 0) { - return getLeafColor(null); - } - if (getLog() == null) { - return 0xffffff; - } - return getLog().getColour(); - } - return getLeafColor(null); - } - - @Override - public int getComplexity() { - return 1 + getGeneticAdvancement(this, new ArrayList<>()); - } - - private int getGeneticAdvancement(IAllele species, ArrayList exclude) { - int own = 1; - int highest = 0; - exclude.add(species); - for (IMutation mutation : getRoot().getPaths(species, EnumBeeChromosome.SPECIES)) { - if (!exclude.contains(mutation.getAllele0())) { - int otherAdvance = getGeneticAdvancement(mutation.getAllele0(), exclude); - if (otherAdvance > highest) { - highest = otherAdvance; - } - } - - if (!exclude.contains(mutation.getAllele1())) { - int otherAdvance = getGeneticAdvancement(mutation.getAllele1(), exclude); - if (otherAdvance <= highest) { - continue; - } - highest = otherAdvance; - } - } - return own + ((highest < 0) ? 0 : highest); - } - - @Override - public String getUnlocalizedName() { - return "extratrees.species." + toString().toLowerCase() + ".name"; - } - - @Override - public int getLeafColour(boolean pollinated) { - return pollinated ? colorPollineted : color; - } - - @SideOnly(Side.CLIENT) - @Override - public IIcon getLeafIcon(boolean pollinated, boolean fancy) { - try { - EnumLeafType leaf = EnumLeafType.valueOf(leafType.description.toUpperCase()); - TextureLeaves texture = TextureLeaves.get(leaf); - if (pollinated) { - return texture.getPollinated(); - } - if (fancy) { - return texture.getFancy(); - } - return texture.getPlain(); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - @SideOnly(Side.CLIENT) - @Override - public IIcon getIcon(EnumGermlingType type, int renderPass) { - return getGermlingIcon(type, renderPass); - } + OrchardApple( + "malus", + "domestica", + 0x648830, + ILogType.ExtraTreeLog.Apple, + ExtraTreeFruitGene.Apple, + WorldGenOrchardApple.class), + SweetCrabapple( + "malus", + "coronaria", + 0x7a9953, + ILogType.ExtraTreeLog.Apple, + ExtraTreeFruitGene.Crabapple, + WorldGenSweetCrabapple.class), + FloweringCrabapple( + "malus", + "hopa", + 0x7a9953, + ILogType.ExtraTreeLog.Apple, + ExtraTreeFruitGene.Crabapple, + WorldGenFloweringCrabapple.class), + PrairieCrabapple( + "malus", + "ioensis", + 0x7a9953, + ILogType.ExtraTreeLog.Apple, + ExtraTreeFruitGene.Crabapple, + WorldGenPrairieCrabapple.class), + Blackthorn("prunus", "spinosa ", 0x6d8f1e, ILogType.ForestryLog.PLUM, ExtraTreeFruitGene.Blackthorn), + CherryPlum("prunus", "cerasifera", 0x6d8f1e, ILogType.ForestryLog.PLUM, ExtraTreeFruitGene.CherryPlum), + Peach("prunus", "persica", 0x6d8f1e, ILogType.ForestryLog.PLUM, ExtraTreeFruitGene.Peach), + Nectarine("prunus", "nectarina", 0x6d8f1e, ILogType.ForestryLog.PLUM, ExtraTreeFruitGene.Nectarine), + Apricot("prunus", "armeniaca", 0x6d8f1e, ILogType.ForestryLog.PLUM, ExtraTreeFruitGene.Apricot), + Almond("prunus", "amygdalus", 0x6d8f1e, ILogType.ForestryLog.PLUM, ExtraTreeFruitGene.Almond), + WildCherry("prunus", "avium", 0x6d8f1e, ILogType.ExtraTreeLog.Cherry, ExtraTreeFruitGene.WildCherry), + SourCherry("prunus", "cerasus", 0x6d8f1e, ILogType.ExtraTreeLog.Cherry, ExtraTreeFruitGene.SourCherry), + BlackCherry("prunus", "serotina", 0x6d8f1e, ILogType.ExtraTreeLog.Cherry, ExtraTreeFruitGene.BlackCherry), + Orange("citrus", "sinensis", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Orange), + Manderin("citrus", "reticulata", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Manderin), + Satsuma("citrus", "unshiu", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Satsuma), + Tangerine("citrus", "tangerina", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Tangerine), + Lime("citrus", "latifolia", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Lime), + KeyLime("citrus", "aurantifolia", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.KeyLime), + FingerLime("citrus", "australasica", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.FingerLime), + Pomelo("citrus", "maxima", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Pomelo), + Grapefruit("citrus", "paradisi", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Grapefruit), + Kumquat("citrus", "margarita", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Kumquat), + Citron("citrus", "medica", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.Citron), + BuddhaHand("citrus", "sarcodactylus", 0x88af54, ILogType.ForestryLog.CITRUS, ExtraTreeFruitGene.BuddhaHand), + Banana("musa", "sinensis", 0xa1cd8e, ILogType.ExtraTreeLog.Banana, ExtraTreeFruitGene.Banana, WorldGenBanana.class), + RedBanana( + "musa", + "rubra", + 0xa1cd8e, + ILogType.ExtraTreeLog.Banana, + ExtraTreeFruitGene.RedBanana, + WorldGenBanana.class), + Plantain( + "musa", + "paradisiaca", + 0xa1cd8e, + ILogType.ExtraTreeLog.Banana, + ExtraTreeFruitGene.Plantain, + WorldGenBanana.class), + Butternut( + "juglans", + "cinerea", + 0x82b58c, + ILogType.ExtraTreeLog.Butternut, + ExtraTreeFruitGene.Butternut, + WorldGenButternut.class), + Rowan("sorbus", "aucuparia", 0x9ec79b, ILogType.ExtraTreeLog.Rowan, null, WorldGenRowan.class), + Hemlock("tsuga", "heterophylla", 0x5cac72, ILogType.ExtraTreeLog.Hemlock, null, WorldGenWesternHemlock.class), + Ash("fraxinus", "excelsior", 0x488e2b, ILogType.ExtraTreeLog.Ash, null, WorldGenCommonAsh.class), + Alder("alnus", "glutinosa", 0x698a33, ILogType.ExtraTreeLog.Alder, null, WorldGenCommonAlder.class), + Beech( + "fagus", + "sylvatica", + 0x83a04c, + ILogType.ExtraTreeLog.Beech, + ExtraTreeFruitGene.Beechnut, + WorldGenCommonBeech.class), + CopperBeech( + "fagus", + "purpurea", + 0x801318, + ILogType.ExtraTreeLog.Beech, + ExtraTreeFruitGene.Beechnut, + WorldGenCopperBeech.class), + Aspen("populus", "tremula", 0x8acc37, ILogType.ForestryLog.POPLAR, null, WorldGenAspen.class), + Yew("taxus", "baccata", 0x948a4d, ILogType.ExtraTreeLog.Yew, null, WorldGenYew.class), + Cypress("chamaecyparis", "lawsoniana", 0x89c9a7, ILogType.ExtraTreeLog.Cypress, null, WorldGenCypress.class), + DouglasFir("pseudotsuga", "menziesii", 0x99b582, ILogType.ExtraTreeLog.Fir, null, WorldGenDouglasFir.class), + Hazel( + "Corylus", + "avellana", + 0x9bb552, + ILogType.ExtraTreeLog.Hazel, + ExtraTreeFruitGene.Hazelnut, + WorldGenHazel.class), + Sycamore("ficus", "sycomorus", 0xa0a52f, ILogType.ExtraTreeLog.Fig, ExtraTreeFruitGene.Fig, WorldGenSycamore.class), + Whitebeam("sorbus", "aria", 0xbace99, ILogType.ExtraTreeLog.Whitebeam, null, WorldGenWhitebeam.class), + Hawthorn("crataegus", "monogyna", 0x6ba84a, ILogType.ExtraTreeLog.Hawthorn, null, WorldGenHawthorn.class), + Pecan( + "carya", + "illinoinensis", + 0x85b674, + ILogType.ExtraTreeLog.Hickory, + ExtraTreeFruitGene.Pecan, + WorldGenPecan.class), + Elm("ulmus", "procera", 0x7c9048, ILogType.ExtraTreeLog.Elm, null, WorldGenElm.class), + Elder( + "sambucus", + "nigra", + 0xaeb873, + ILogType.ExtraTreeLog.Elder, + ExtraTreeFruitGene.Elderberry, + WorldGenElder.class), + Holly("ilex", "aquifolium", 0x254b4c, ILogType.ExtraTreeLog.Holly, null, WorldGenHolly.class), + Hornbeam("carpinus", "betulus", 0x96a71b, ILogType.ExtraTreeLog.Hornbeam, null, WorldGenHornbeam.class), + Sallow("salix", "caprea", 0xaeb323, ILogType.ForestryLog.WILLOW, null, WorldGenSallow.class), + AcornOak("quercus", "robur", 0x66733e, ILogType.VanillaLog.Oak, ExtraTreeFruitGene.Acorn, WorldGenAcornOak.class), + Fir("abies", "alba", 0x6f7c20, ILogType.ExtraTreeLog.Fir, null, WorldGenSilverFir.class), + Cedar("cedrus", "libani", 0x95a370, ILogType.ExtraTreeLog.Cedar, null, WorldGenCedar.class), + Olive("olea", "europaea", 0x3c4834, ILogType.ExtraTreeLog.Olive, ExtraTreeFruitGene.Olive, WorldGenOlive.class), + RedMaple("acer", "ubrum", 0xe82e17, ILogType.ForestryLog.MAPLE, null, WorldGenRedMaple.class), + BalsamFir("abies", "balsamea", 0x74a07c, ILogType.ExtraTreeLog.Fir, null, WorldGenBalsamFir.class), + LoblollyPine("pinus", "taeda", 0x6f8a47, ILogType.ForestryLog.PINE, null, WorldGenLoblollyPine.class), + Sweetgum("liquidambar", "styraciflua", 0x8b8762, ILogType.ExtraTreeLog.Sweetgum, null, WorldGenSweetgum.class), + Locust("robinia", "pseudoacacia", 0x887300, ILogType.ExtraTreeLog.Locust, null, WorldGenLocust.class), + Pear("pyrus", "communis", 0x5e8826, ILogType.ExtraTreeLog.Pear, ExtraTreeFruitGene.Pear, WorldGenPear.class), + OsangeOsange( + "maclura", + "pomifera", + 0x687a50, + ILogType.ExtraTreeLog.Maclura, + ExtraTreeFruitGene.OsangeOsange, + WorldGenOsangeOsange.class), + OldFustic("maclura", "tinctoria", 0x687a50, ILogType.ExtraTreeLog.Maclura, null, WorldGenOldFustic.class), + Brazilwood("caesalpinia", "echinata", 0x607459, ILogType.ExtraTreeLog.Brazilwood, null, WorldGenBrazilwood.class), + Logwood("haematoxylum", "campechianum", 0x889f6b, ILogType.ExtraTreeLog.Logwood, null, WorldGenLogwood.class), + Rosewood("dalbergia", "latifolia", 0x879b22, ILogType.ExtraTreeLog.Rosewood, null, WorldGenRosewood.class), + Purpleheart("peltogyne", "spp.", 0x778f55, ILogType.ExtraTreeLog.Purpleheart, null, WorldGenPurpleheart.class), + Iroko("milicia", "excelsa", 0xafc86c, ILogType.ExtraTreeLog.Iroko, null, WorldGenIroko.class), + Gingko( + "ginkgo", + "biloba", + 0x719651, + ILogType.ExtraTreeLog.Gingko, + ExtraTreeFruitGene.GingkoNut, + WorldGenGingko.class), + Brazilnut( + "bertholletia", + "excelsa", + 0x7c8f7b, + ILogType.VanillaLog.Jungle, + ExtraTreeFruitGene.BrazilNut, + WorldGenBrazilNut.class), + RoseGum("eucalyptus", "grandis", 0x9ca258, ILogType.ExtraTreeLog.Eucalyptus, null, WorldGenRoseGum.class), + SwampGum("eucalyptus", "grandis", 0xa2c686, ILogType.ExtraTreeLog.Eucalyptus2, null, WorldGenSwampGum.class), + Box("boxus", "sempervirens", 0x72996d, ILogType.ExtraTreeLog.Box, null, WorldGenBox.class), + Clove( + "syzygium", + "aromaticum", + 0x7a821f, + ILogType.ExtraTreeLog.Syzgium, + ExtraTreeFruitGene.Clove, + WorldGenClove.class), + Coffee("coffea", "arabica", 0x6f9065, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Coffee, WorldGenCoffee.class), + MonkeyPuzzle("araucaria", "araucana", 0x576158, ILogType.ForestryLog.PINE, null, WorldGenMonkeyPuzzle.class), + RainbowGum("eucalyptus", "deglupta", 0xb7f025, ILogType.ExtraTreeLog.Eucalyptus3, null, WorldGenRainbowGum.class), + PinkIvory("berchemia", "zeyheri", 0x7c9159, ILogType.ExtraTreeLog.PinkIvory, null, WorldGenTree.class), + Blackcurrant("ribes", "nigrum", 0xa6da5c, null, ExtraTreeFruitGene.Blackcurrant, WorldGenShrub.class), + Redcurrant("ribes", "rubrum", 0x74ac00, null, ExtraTreeFruitGene.Redcurrant, WorldGenShrub.class), + Blackberry("rubus", "fruticosus", 0x92c15b, null, ExtraTreeFruitGene.Blackberry, WorldGenShrub.class), + Raspberry("rubus", "idaeus", 0x83b96e, null, ExtraTreeFruitGene.Raspberry, WorldGenShrub.class), + Blueberry("vaccinium", "corymbosum", 0x72c750, null, ExtraTreeFruitGene.Blueberry, WorldGenShrub.class), + Cranberry("vaccinium", "oxycoccos", 0x96d179, null, ExtraTreeFruitGene.Cranberry, WorldGenShrub.class), + Juniper("juniperus", "communis", 0x90b149, null, ExtraTreeFruitGene.Juniper, WorldGenShrub.class), + Gooseberry("ribes", "grossularia", 0x79bb00, null, ExtraTreeFruitGene.Gooseberry, WorldGenShrub.class), + GoldenRaspberry("rubus", "occidentalis", 0x83b96e, null, ExtraTreeFruitGene.GoldenRaspberry, WorldGenShrub.class), + Cinnamon("cinnamomum", "cassia", 0x738e0b, ILogType.ExtraTreeLog.Cinnamon, null, WorldGenLazy.class), + Coconut( + "cocous", + "nucifera", + 0x649923, + ILogType.VanillaLog.Jungle, + ExtraTreeFruitGene.Coconut, + WorldGenCoconut.class), + Cashew( + "anacardium", + "occidentale", + 0xabb962, + ILogType.VanillaLog.Jungle, + ExtraTreeFruitGene.Cashew, + WorldGenLazy.class), + Avacado( + "persea", + "americana", + 0x96a375, + ILogType.VanillaLog.Jungle, + ExtraTreeFruitGene.Avacado, + WorldGenLazy.class), + Nutmeg( + "myristica", + "fragrans", + 0x488d4c, + ILogType.VanillaLog.Jungle, + ExtraTreeFruitGene.Nutmeg, + WorldGenLazy.class), + Allspice( + "pimenta", "dioica", 0x7c9724, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Allspice, WorldGenLazy.class), + Chilli("capsicum", "annuum", 0x2a9f01, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Chilli, WorldGenLazy.class), + StarAnise( + "illicium", + "verum", + 0x7fc409, + ILogType.VanillaLog.Jungle, + ExtraTreeFruitGene.StarAnise, + WorldGenLazy.class), + Mango("mangifera", "indica", 0x87b574, ILogType.VanillaLog.Jungle, ExtraTreeFruitGene.Mango, WorldGenMango.class), + Starfruit( + "averrhoa", + "carambola", + 0x6da92d, + ILogType.VanillaLog.Jungle, + ExtraTreeFruitGene.Starfruit, + WorldGenLazy.class), + Candlenut( + "aleurites", + "moluccana", + 0x8aa36c, + ILogType.VanillaLog.Jungle, + ExtraTreeFruitGene.Candlenut, + WorldGenLazy.class), + DwarfHazel( + "Corylus", + "americana", + 0x9bb552, + ILogType.ExtraTreeLog.Hazel, + ExtraTreeFruitGene.Hazelnut, + WorldGenShrub.class); + + public ILogType wood; + + protected ArrayList families; + protected int girth; + protected Class gen; + protected IAlleleFruit fruit; + protected IAllele[] template; + protected int color; + protected String binomial; + protected String uid; + protected String branchName; + protected IClassification branch; + protected int colorPollineted; + + private LeafType leafType; + private SaplingType saplingType; + + ExtraTreeSpecies(String branch, String binomial, int color, ILogType wood, IAlleleFruit fruit) { + this(branch, binomial, color, wood, fruit, null); + } + + ExtraTreeSpecies( + String branch, + String binomial, + int color, + ILogType wood, + IAlleleFruit fruit, + Class gen) { + this.color = color; + this.wood = wood; + this.fruit = fruit; + this.gen = ((gen == null) ? WorldGenTree.class : gen); + this.binomial = binomial; + leafType = LeafType.NORMAL; + saplingType = SaplingType.DEFAULT; + families = new ArrayList<>(); + girth = 1; + colorPollineted = new Color(color).brighter().getRGB(); + uid = toString().toLowerCase(); + branchName = branch; + } + + public static void init() { + for (ExtraTreeSpecies species : values()) { + species.preInit(); + } + + ExtraTreeSpecies[] pruneSpecies = new ExtraTreeSpecies[] { + ExtraTreeSpecies.Blackthorn, + ExtraTreeSpecies.CherryPlum, + ExtraTreeSpecies.Almond, + ExtraTreeSpecies.Apricot, + ExtraTreeSpecies.Peach, + ExtraTreeSpecies.Nectarine, + ExtraTreeSpecies.WildCherry, + ExtraTreeSpecies.SourCherry, + ExtraTreeSpecies.BlackCherry + }; + for (ExtraTreeSpecies species2 : pruneSpecies) { + IAlleleTreeSpecies citrus = + (IAlleleTreeSpecies) AlleleManager.alleleRegistry.getAllele("forestry.treePlum"); + species2.setWorldGen(citrus.getGenerator() + .getWorldGenerator(TreeManager.treeRoot.templateAsIndividual( + citrus.getRoot().getDefaultTemplate())) + .getClass()) + .setSaplingType(SaplingType.FRUIT); + } + + ExtraTreeSpecies[] citrusSpecies = new ExtraTreeSpecies[] { + ExtraTreeSpecies.Orange, + ExtraTreeSpecies.Manderin, + ExtraTreeSpecies.Satsuma, + ExtraTreeSpecies.Tangerine, + ExtraTreeSpecies.Lime, + ExtraTreeSpecies.KeyLime, + ExtraTreeSpecies.FingerLime, + ExtraTreeSpecies.Pomelo, + ExtraTreeSpecies.Grapefruit, + ExtraTreeSpecies.Kumquat, + ExtraTreeSpecies.Citron, + ExtraTreeSpecies.BuddhaHand + }; + for (ExtraTreeSpecies species3 : citrusSpecies) { + IAlleleTreeSpecies citrus2 = + (IAlleleTreeSpecies) AlleleManager.alleleRegistry.getAllele("forestry.treeLemon"); + species3.setWorldGen(citrus2.getGenerator() + .getWorldGenerator(TreeManager.treeRoot.templateAsIndividual( + citrus2.getRoot().getDefaultTemplate())) + .getClass()) + .setLeafType(LeafType.JUNGLE) + .setSaplingType(SaplingType.FRUIT); + } + + citrusSpecies = values(); + for (ExtraTreeSpecies species3 : citrusSpecies) { + String scientific = species3.branchName.substring(0, 1).toUpperCase() + + species3.branchName.substring(1).toLowerCase(); + String uid = "trees." + species3.branchName.toLowerCase(); + IClassification branch = AlleleManager.alleleRegistry.getClassification("genus." + uid); + if (branch == null) { + branch = AlleleManager.alleleRegistry.createAndRegisterClassification( + IClassification.EnumClassLevel.GENUS, uid, scientific); + } + species3.branch = branch; + branch.addMemberSpecies(species3); + } + + IFruitFamily familyPrune = AlleleManager.alleleRegistry.getFruitFamily("forestry.prunes"); + IFruitFamily familyPome = AlleleManager.alleleRegistry.getFruitFamily("forestry.pomes"); + IFruitFamily familyJungle = AlleleManager.alleleRegistry.getFruitFamily("forestry.jungle"); + IFruitFamily familyNuts = AlleleManager.alleleRegistry.getFruitFamily("forestry.nuts"); + IFruitFamily familyBerry = ExtraTreeFruitFamily.Berry; + IFruitFamily familyCitrus = ExtraTreeFruitFamily.Citrus; + + ExtraTreeSpecies.OrchardApple.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setYield(EnumAllele.Yield.HIGHER) + .setSappiness(EnumAllele.Sappiness.LOW) + .setMaturation(EnumAllele.Maturation.FASTER); + + ExtraTreeSpecies.SweetCrabapple.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setYield(EnumAllele.Yield.HIGH) + .setSappiness(EnumAllele.Sappiness.AVERAGE) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.FloweringCrabapple.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setFertility(EnumAllele.Saplings.AVERAGE) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOW) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.PrairieCrabapple.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.AVERAGE); + + ExtraTreeSpecies.Blackthorn.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setYield(EnumAllele.Yield.LOW) + .setSappiness(EnumAllele.Sappiness.AVERAGE) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.CherryPlum.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setYield(EnumAllele.Yield.LOWER) + .setSappiness(EnumAllele.Sappiness.AVERAGE) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.Peach.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.AVERAGE); + + ExtraTreeSpecies.Nectarine.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.AVERAGE); + + ExtraTreeSpecies.Apricot.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setYield(EnumAllele.Yield.LOW) + .setSappiness(EnumAllele.Sappiness.AVERAGE); + + ExtraTreeSpecies.Almond.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setYield(EnumAllele.Yield.LOWER) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.WildCherry.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.LOWER) + .setSappiness(EnumAllele.Sappiness.LOW) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.SourCherry.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setYield(EnumAllele.Yield.LOWER) + .setSappiness(EnumAllele.Sappiness.LOW); + + ExtraTreeSpecies.BlackCherry.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOWEST) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.Orange.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.AVERAGE) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.Manderin.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.HIGH) + .setSappiness(EnumAllele.Sappiness.LOW); + + ExtraTreeSpecies.Satsuma.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setYield(EnumAllele.Yield.LOW) + .setSappiness(EnumAllele.Sappiness.LOW) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.Tangerine.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.AVERAGE) + .setMaturation(EnumAllele.Maturation.FASTER); + + ExtraTreeSpecies.Lime.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOW); + + ExtraTreeSpecies.KeyLime.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOWEST) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOW) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.FingerLime.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setYield(EnumAllele.Yield.HIGH) + .setSappiness(EnumAllele.Sappiness.LOW) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.Pomelo.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Grapefruit.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOW) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.Kumquat.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setYield(EnumAllele.Yield.HIGH) + .setSappiness(EnumAllele.Sappiness.LOW); + + ExtraTreeSpecies.Citron.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST) + .setYield(EnumAllele.Yield.HIGH) + .setSappiness(EnumAllele.Sappiness.AVERAGE); + + ExtraTreeSpecies.BuddhaHand.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOW); + + ExtraTreeSpecies.Banana.addFamily(familyNuts) + .addFamily(familyJungle) + .setLeafType(LeafType.PALM) + .setYield(EnumAllele.Yield.LOW) + .setSappiness(EnumAllele.Sappiness.LOW) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.RedBanana.addFamily(familyNuts) + .addFamily(familyJungle) + .setLeafType(LeafType.PALM) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.LOWER) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Plantain.addFamily(familyNuts) + .addFamily(familyJungle) + .setLeafType(LeafType.PALM) + .setHeight(EnumAllele.Height.AVERAGE) + .setYield(EnumAllele.Yield.LOWER); + + ExtraTreeSpecies.Butternut.setGirth(2) + .addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLER) + .setYield(EnumAllele.Yield.LOW); + + ExtraTreeSpecies.Rowan.addFamily(familyNuts) + .addFamily(familyBerry) + .setHeight(EnumAllele.Height.LARGER) + .setFertility(EnumAllele.Saplings.LOW) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Ash.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyCitrus) + .setFertility(EnumAllele.Saplings.LOW) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Alder.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyNuts) + .setHeight(EnumAllele.Height.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Beech.addFamily(familyPrune) + .addFamily(familyNuts) + .setHeight(EnumAllele.Height.AVERAGE) + .setYield(EnumAllele.Yield.LOWER); + + ExtraTreeSpecies.CopperBeech.addFamily(familyPrune) + .addFamily(familyNuts) + .setMaturation(EnumAllele.Maturation.SLOW); + + ExtraTreeSpecies.Aspen.addFamily(familyPome) + .addFamily(familyNuts) + .setFertility(EnumAllele.Saplings.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Hazel.addFamily(familyPrune) + .addFamily(familyNuts) + .setHeight(EnumAllele.Height.AVERAGE) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.LOW) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Sycamore.addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyCitrus) + .setFertility(EnumAllele.Saplings.LOWEST) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Whitebeam.addFamily(familyPome).addFamily(familyPrune).setHeight(EnumAllele.Height.SMALLER); + + ExtraTreeSpecies.Hawthorn.addFamily(familyPrune).addFamily(familyNuts).setHeight(EnumAllele.Height.AVERAGE); + + ExtraTreeSpecies.Pecan.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.LARGE) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.SLOW); + + ExtraTreeSpecies.Elm.addFamily(familyPome) + .addFamily(familyPrune) + .setHeight(EnumAllele.Height.SMALLER) + .setFertility(EnumAllele.Saplings.LOW) + .setSappiness(EnumAllele.Sappiness.AVERAGE); + + ExtraTreeSpecies.Elder.addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyCitrus) + .addFamily(familyBerry) + .setHeight(EnumAllele.Height.SMALLER) + .setSappiness(EnumAllele.Sappiness.LOW); + + ExtraTreeSpecies.Holly.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOW); + + ExtraTreeSpecies.Hornbeam.addFamily(familyPrune) + .addFamily(familyNuts) + .setHeight(EnumAllele.Height.SMALLER) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.LOWER) + .setMaturation(EnumAllele.Maturation.SLOW); + + ExtraTreeSpecies.Sallow.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setLeafType(LeafType.WILLOW) + .setHeight(EnumAllele.Height.LARGE) + .setFertility(EnumAllele.Saplings.LOW); + + ExtraTreeSpecies.AcornOak.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyNuts) + .setHeight(EnumAllele.Height.LARGE) + .setYield(EnumAllele.Yield.LOW) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setGirth(2); + + ExtraTreeSpecies.Fir.setLeafType(LeafType.CONIFER) + .setHeight(EnumAllele.Height.LARGE) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.SLOW); + + ExtraTreeSpecies.Olive.addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyCitrus) + .setYield(EnumAllele.Yield.AVERAGE); + + ExtraTreeSpecies.Cedar.setLeafType(LeafType.CONIFER) + .setHeight(EnumAllele.Height.SMALLER) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.SLOWER) + .setGirth(2); + + ExtraTreeSpecies.RedMaple.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setLeafType(LeafType.MAPLE) + .setFertility(EnumAllele.Saplings.AVERAGE) + .setSappiness(EnumAllele.Sappiness.HIGH); + + ExtraTreeSpecies.BalsamFir.setLeafType(LeafType.CONIFER) + .setHeight(EnumAllele.Height.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.SLOW); + + ExtraTreeSpecies.LoblollyPine.setLeafType(LeafType.CONIFER) + .setHeight(EnumAllele.Height.SMALLER) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.SLOW); + + ExtraTreeSpecies.Sweetgum.addFamily(familyNuts) + .setHeight(EnumAllele.Height.AVERAGE) + .setFertility(EnumAllele.Saplings.HIGH) + .setYield(EnumAllele.Yield.LOW) + .setSappiness(EnumAllele.Sappiness.AVERAGE); + + ExtraTreeSpecies.Locust.addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLEST); + + ExtraTreeSpecies.Pear.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLER) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.HIGH) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.OsangeOsange.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setYield(EnumAllele.Yield.LOWER); + + ExtraTreeSpecies.OldFustic.addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.SMALLER) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Brazilwood.addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.SMALLER) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.LOWER) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Logwood.addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.AVERAGE) + .setFertility(EnumAllele.Saplings.LOW) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Rosewood.addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Purpleheart.addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.LARGE) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Iroko.addFamily(familyNuts) + .addFamily(familyJungle) + .setHeight(EnumAllele.Height.AVERAGE) + .setFertility(EnumAllele.Saplings.LOW); + + ExtraTreeSpecies.Gingko.addFamily(familyNuts) + .addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.LARGE) + .setYield(EnumAllele.Yield.LOWER) + .setSappiness(EnumAllele.Sappiness.LOW); + + ExtraTreeSpecies.Brazilnut.addFamily(familyNuts) + .addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.LARGER) + .setYield(EnumAllele.Yield.LOW) + .setSappiness(EnumAllele.Sappiness.LOW); + + ExtraTreeSpecies.RoseGum.addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.LARGEST) + .setFertility(EnumAllele.Saplings.LOWEST) + .setYield(EnumAllele.Yield.LOWER) + .setSappiness(EnumAllele.Sappiness.LOW) + .setMaturation(EnumAllele.Maturation.SLOWEST); + + ExtraTreeSpecies.SwampGum.addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOWEST) + .setMaturation(EnumAllele.Maturation.SLOWER) + .setGirth(2); + + ExtraTreeSpecies.Box.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyCitrus) + .setHeight(EnumAllele.Height.SMALLER) + .setMaturation(EnumAllele.Maturation.FASTER); + + ExtraTreeSpecies.Clove.addFamily(familyNuts) + .addFamily(familyJungle) + .setHeight(EnumAllele.Height.SMALLER) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.HIGH) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.Coffee.addFamily(familyNuts) + .addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.LARGE) + .setYield(EnumAllele.Yield.AVERAGE) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.MonkeyPuzzle.addFamily(familyNuts) + .addFamily(familyJungle) + .setLeafType(LeafType.CONIFER) + .setHeight(EnumAllele.Height.AVERAGE) + .setYield(EnumAllele.Yield.LOWER) + .setSappiness(EnumAllele.Sappiness.LOW) + .setGirth(2); + + ExtraTreeSpecies.RainbowGum.addFamily(familyNuts) + .addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.LOWER); + + ExtraTreeSpecies.PinkIvory.addFamily(familyNuts).addFamily(familyJungle).setHeight(EnumAllele.Height.SMALLEST); + + ExtraTreeSpecies.Blackcurrant.addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyBerry) + .setSaplingType(SaplingType.SHRUB) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.FASTER); + + ExtraTreeSpecies.Redcurrant.addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyBerry) + .setSaplingType(SaplingType.SHRUB) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.AVERAGE) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOW) + .setMaturation(EnumAllele.Maturation.FASTER); + + ExtraTreeSpecies.Blackberry.addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyBerry) + .setSaplingType(SaplingType.SHRUB) + .setHeight(EnumAllele.Height.SMALLEST) + .setYield(EnumAllele.Yield.HIGH) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.FASTER); + + ExtraTreeSpecies.Raspberry.addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyBerry) + .setSaplingType(SaplingType.SHRUB) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.FASTER); + + ExtraTreeSpecies.Blueberry.addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyBerry) + .setSaplingType(SaplingType.SHRUB) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.AVERAGE) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOW) + .setMaturation(EnumAllele.Maturation.FASTER); + + ExtraTreeSpecies.Cranberry.addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyBerry) + .setSaplingType(SaplingType.SHRUB) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.AVERAGE) + .setYield(EnumAllele.Yield.HIGH) + .setSappiness(EnumAllele.Sappiness.LOW) + .setMaturation(EnumAllele.Maturation.FASTER); + + ExtraTreeSpecies.Juniper.addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyBerry) + .setLeafType(LeafType.CONIFER) + .setSaplingType(SaplingType.SHRUB) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.LOW) + .setSappiness(EnumAllele.Sappiness.LOW) + .setMaturation(EnumAllele.Maturation.FASTER); + + ExtraTreeSpecies.Gooseberry.addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyBerry) + .setSaplingType(SaplingType.SHRUB) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.HIGH) + .setYield(EnumAllele.Yield.HIGH) + .setMaturation(EnumAllele.Maturation.FASTER); + + ExtraTreeSpecies.GoldenRaspberry.addFamily(familyPrune) + .addFamily(familyNuts) + .addFamily(familyBerry) + .setSaplingType(SaplingType.SHRUB) + .setHeight(EnumAllele.Height.SMALLER) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.FASTEST); + + ExtraTreeSpecies.Cinnamon.addFamily(familyNuts) + .setLeafType(LeafType.JUNGLE) + .addFamily(familyJungle) + .setHeight(EnumAllele.Height.AVERAGE) + .setYield(EnumAllele.Yield.LOWER) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.Coconut.addFamily(familyJungle) + .setLeafType(LeafType.PALM) + .setHeight(EnumAllele.Height.LARGER) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.AVERAGE) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.Cashew.addFamily(familyNuts) + .addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setYield(EnumAllele.Yield.LOW); + + ExtraTreeSpecies.Avacado.addFamily(familyPrune) + .addFamily(familyCitrus) + .addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.SMALLEST) + .setYield(EnumAllele.Yield.AVERAGE); + + ExtraTreeSpecies.Nutmeg.addFamily(familyNuts) + .addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.SMALLER) + .setYield(EnumAllele.Yield.HIGH) + .setSappiness(EnumAllele.Sappiness.LOW); + + ExtraTreeSpecies.Allspice.addFamily(familyNuts) + .addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.HIGH); + + ExtraTreeSpecies.Chilli.addFamily(familyNuts) + .addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.SMALLER) + .setYield(EnumAllele.Yield.HIGHER) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.StarAnise.addFamily(familyNuts) + .addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.AVERAGE) + .setYield(EnumAllele.Yield.HIGH); + + ExtraTreeSpecies.Mango.addFamily(familyPome) + .addFamily(familyPrune) + .addFamily(familyCitrus) + .addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setHeight(EnumAllele.Height.SMALLER) + .setFertility(EnumAllele.Saplings.LOW) + .setYield(EnumAllele.Yield.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.Starfruit.addFamily(familyPrune) + .addFamily(familyCitrus) + .addFamily(familyJungle) + .setLeafType(LeafType.JUNGLE) + .setYield(EnumAllele.Yield.AVERAGE) + .setMaturation(EnumAllele.Maturation.FAST); + + ExtraTreeSpecies.Candlenut.addFamily(familyNuts) + .addFamily(familyJungle) + .setHeight(EnumAllele.Height.SMALLEST) + .setFertility(EnumAllele.Saplings.LOWEST) + .setYield(EnumAllele.Yield.LOW) + .setSappiness(EnumAllele.Sappiness.LOW); + + ExtraTreeSpecies.DwarfHazel.addFamily(familyPrune) + .addFamily(familyNuts) + .setSaplingType(SaplingType.SHRUB) + .setFertility(EnumAllele.Saplings.AVERAGE) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.FASTER); + + ExtraTreeSpecies.Yew.setLeafType(LeafType.CONIFER) + .setHeight(EnumAllele.Height.LARGE) + .setSappiness(EnumAllele.Sappiness.LOWER); + + ExtraTreeSpecies.Cypress.setLeafType(LeafType.CONIFER) + .setSaplingType(SaplingType.POPLAR) + .setHeight(EnumAllele.Height.LARGER) + .setFertility(EnumAllele.Saplings.LOW) + .setSappiness(EnumAllele.Sappiness.LOWER) + .setMaturation(EnumAllele.Maturation.SLOW); + + ExtraTreeSpecies.DouglasFir.setLeafType(LeafType.CONIFER) + .setHeight(EnumAllele.Height.SMALLER) + .setFertility(EnumAllele.Saplings.LOW) + .setMaturation(EnumAllele.Maturation.SLOWER) + .setGirth(2); + + ExtraTreeSpecies.Hemlock.setLeafType(LeafType.CONIFER) + .setGirth(2) + .setHeight(EnumAllele.Height.AVERAGE) + .setFertility(EnumAllele.Saplings.LOW) + .setMaturation(EnumAllele.Maturation.SLOWER); + } + + // TODO unused method? + static ItemStack getEBXLStack(String name) { + try { + Class elements = Class.forName("extrabiomes.lib.Element"); + Method getElementMethod = elements.getMethod("valueOf", String.class); + Method getItemStack = elements.getMethod("get"); + Object element = getElementMethod.invoke(null, "SAPLING_AUTUMN_YELLOW"); + return (ItemStack) getItemStack.invoke(element); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private ExtraTreeSpecies addFamily(IFruitFamily family) { + families.add(family); + return this; + } + + private ExtraTreeSpecies setWorldGen(Class gen) { + this.gen = gen; + return this; + } + + private ExtraTreeSpecies setGirth(int girth) { + template[EnumTreeChromosome.GIRTH.ordinal()] = AlleleHelper.getAllele(girth); + return this; + } + + public void preInit() { + template = Binnie.Genetics.getTreeRoot().getDefaultTemplate(); + template[0] = this; + if (fruit != null) { + template[EnumTreeChromosome.FRUITS.ordinal()] = fruit; + } + + template[EnumTreeChromosome.GIRTH.ordinal()] = AlleleHelper.getAllele(girth); + IClassification clas = AlleleManager.alleleRegistry.getClassification("trees." + branch); + if (clas != null) { + clas.addMemberSpecies(this); + branch = clas; + } + } + + @Override + public String getName() { + return I18N.localise("extratrees.species." + name().toLowerCase() + ".name"); + } + + @Override + public String getDescription() { + return I18N.localiseOrBlank("extratrees.species." + name().toLowerCase() + ".desc"); + } + + @Override + public EnumTemperature getTemperature() { + return EnumTemperature.NORMAL; + } + + @Override + public EnumHumidity getHumidity() { + return EnumHumidity.NORMAL; + } + + @Override + public boolean hasEffect() { + return false; + } + + @Override + public boolean isSecret() { + return false; + } + + @Override + public boolean isCounted() { + return true; + } + + @Override + public String getBinomial() { + return binomial; + } + + @Override + public String getAuthority() { + return "Binnie"; + } + + @Override + public IClassification getBranch() { + return branch; + } + + @Override + public String getUID() { + return "extratrees.species." + uid; + } + + @Override + public boolean isDominant() { + return true; + } + + @Override + public EnumPlantType getPlantType() { + return EnumPlantType.Plains; + } + + @Override + public ITreeGenerator getGenerator() { + return new DefaultTreeGenerator(this); + } + + public WorldGenerator getGenerator(ITreeGenData tree) { + if (gen != null) { + try { + return gen.getConstructor(ITreeGenData.class).newInstance(tree); + } catch (Exception ex) { + ex.printStackTrace(); + // ignored + } + } + return new WorldGenDefault(tree); + } + + protected ExtraTreeSpecies setLeafType(LeafType type) { + leafType = type; + if (leafType == LeafType.CONIFER) { + saplingType = SaplingType.CONIFER; + } else if (leafType == LeafType.JUNGLE) { + saplingType = SaplingType.JUNGLE; + } else if (leafType == LeafType.PALM) { + saplingType = SaplingType.PALM; + } + return this; + } + + protected ExtraTreeSpecies setSaplingType(SaplingType saplingType) { + this.saplingType = saplingType; + return this; + } + + public IAllele[] getTemplate() { + return template; + } + + @Override + public ArrayList getSuitableFruit() { + return families; + } + + public ILogType getLog() { + return wood; + } + + public ExtraTreeSpecies setHeight(EnumAllele.Height height) { + IAllele allele = AlleleHelper.getAllele(height); + if (allele != null) { + template[EnumTreeChromosome.HEIGHT.ordinal()] = allele; + } + return this; + } + + public ExtraTreeSpecies setSappiness(EnumAllele.Sappiness sappiness) { + IAllele allele = AlleleHelper.getAllele(sappiness); + if (allele != null) { + template[EnumTreeChromosome.SAPPINESS.ordinal()] = allele; + } + return this; + } + + public ExtraTreeSpecies setMaturation(EnumAllele.Maturation maturation) { + IAllele allele = AlleleHelper.getAllele(maturation); + if (allele != null) { + template[EnumTreeChromosome.MATURATION.ordinal()] = allele; + } + return this; + } + + public ExtraTreeSpecies setYield(EnumAllele.Yield yield) { + IAllele allele = AlleleHelper.getAllele(yield); + if (allele != null) { + template[EnumTreeChromosome.YIELD.ordinal()] = allele; + } + return this; + } + + public ExtraTreeSpecies setFertility(EnumAllele.Saplings saplings) { + IAllele allele = AlleleHelper.getAllele(saplings); + if (allele != null) { + template[EnumTreeChromosome.FERTILITY.ordinal()] = allele; + } + return this; + } + + public int getLeafColor(ITree tree) { + return color; + } + + @Override + public int getIconColour(int renderPass) { + return (renderPass == 0) ? color : 0xFFFFFF; // 10451021; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getGermlingIcon(EnumGermlingType type, int renderPass) { + if (type == EnumGermlingType.POLLEN) { + return PluginArboriculture.items.pollenFertile.getIcon( + PluginArboriculture.items.pollenFertile.getItemStack(), renderPass); + } + return (renderPass == 0) ? saplingType.icon[1] : saplingType.icon[0]; + } + + @Override + public IIconProvider getIconProvider() { + return this; + } + + @Override + public IIcon getIcon(short texUID) { + return TextureManager.getInstance().getIcon(texUID); + } + + @Override + public void registerIcons(IIconRegister register) { + for (SaplingType type : SaplingType.values()) { + type.icon = new IIcon[2]; + type.icon[0] = ExtraTrees.proxy.getIcon( + register, "saplings/" + type.toString().toLowerCase() + ".trunk"); + type.icon[1] = ExtraTrees.proxy.getIcon( + register, "saplings/" + type.toString().toLowerCase() + ".leaves"); + } + } + + @Override + public ITreeRoot getRoot() { + return Binnie.Genetics.getTreeRoot(); + } + + @Override + public float getResearchSuitability(ItemStack itemstack) { + if (itemstack == null) { + return 0.0f; + } + + if (template[EnumTreeChromosome.FRUITS.ordinal()] instanceof ExtraTreeFruitGene) { + ExtraTreeFruitGene fruit = (ExtraTreeFruitGene) template[EnumTreeChromosome.FRUITS.ordinal()]; + for (ItemStack stack : fruit.products.keySet()) { + if (stack.isItemEqual(itemstack)) { + return 1.0f; + } + } + } + + if (itemstack.getItem() == Mods.forestry.item("honeyDrop")) { + return 0.5f; + } + if (itemstack.getItem() == Mods.forestry.item("honeydew")) { + return 0.7f; + } + if (itemstack.getItem() == Mods.forestry.item("beeCombs")) { + return 0.4f; + } + if (AlleleManager.alleleRegistry.isIndividual(itemstack)) { + return 1.0f; + } + + for (Map.Entry entry : + getRoot().getResearchCatalysts().entrySet()) { + if (entry.getKey().isItemEqual(itemstack)) { + return entry.getValue(); + } + } + return 0.0f; + } + + @Override + public ItemStack[] getResearchBounty(World world, GameProfile researcher, IIndividual individual, int bountyLevel) { + ArrayList bounty = new ArrayList<>(); + ItemStack research = null; + if (world.rand.nextFloat() < 10.0f / bountyLevel) { + Collection combinations = getRoot().getCombinations(this); + if (combinations.size() > 0) { + IMutation[] candidates = combinations.toArray(new IMutation[0]); + research = AlleleManager.alleleRegistry.getMutationNoteStack( + researcher, candidates[world.rand.nextInt(candidates.length)]); + } + } + + if (research != null) { + bounty.add(research); + } + + if (template[EnumTreeChromosome.FRUITS.ordinal()] instanceof ExtraTreeFruitGene) { + ExtraTreeFruitGene fruit = (ExtraTreeFruitGene) template[EnumTreeChromosome.FRUITS.ordinal()]; + for (ItemStack stack : fruit.products.keySet()) { + ItemStack stack2 = stack.copy(); + stack2.stackSize = world.rand.nextInt((int) (bountyLevel / 2.0f)) + 1; + bounty.add(stack2); + } + } + return bounty.toArray(new ItemStack[0]); + } + + @Override + @SideOnly(Side.CLIENT) + public int getGermlingColour(EnumGermlingType type, int renderPass) { + if (type == EnumGermlingType.SAPLING) { + if (renderPass == 0) { + return getLeafColor(null); + } + if (getLog() == null) { + return 0xffffff; + } + return getLog().getColour(); + } + return getLeafColor(null); + } + + @Override + public int getComplexity() { + return 1 + getGeneticAdvancement(this, new ArrayList<>()); + } + + private int getGeneticAdvancement(IAllele species, ArrayList exclude) { + int own = 1; + int highest = 0; + exclude.add(species); + for (IMutation mutation : getRoot().getPaths(species, EnumBeeChromosome.SPECIES)) { + if (!exclude.contains(mutation.getAllele0())) { + int otherAdvance = getGeneticAdvancement(mutation.getAllele0(), exclude); + if (otherAdvance > highest) { + highest = otherAdvance; + } + } + + if (!exclude.contains(mutation.getAllele1())) { + int otherAdvance = getGeneticAdvancement(mutation.getAllele1(), exclude); + if (otherAdvance <= highest) { + continue; + } + highest = otherAdvance; + } + } + return own + ((highest < 0) ? 0 : highest); + } + + @Override + public String getUnlocalizedName() { + return "extratrees.species." + toString().toLowerCase() + ".name"; + } + + @Override + public int getLeafColour(boolean pollinated) { + return pollinated ? colorPollineted : color; + } + + @SideOnly(Side.CLIENT) + @Override + public IIcon getLeafIcon(boolean pollinated, boolean fancy) { + try { + EnumLeafType leaf = EnumLeafType.valueOf(leafType.description.toUpperCase()); + TextureLeaves texture = TextureLeaves.get(leaf); + if (pollinated) { + return texture.getPollinated(); + } + if (fancy) { + return texture.getFancy(); + } + return texture.getPlain(); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + @SideOnly(Side.CLIENT) + @Override + public IIcon getIcon(EnumGermlingType type, int renderPass) { + return getGermlingIcon(type, renderPass); + } } diff --git a/src/main/java/binnie/extratrees/genetics/FruitSprite.java b/src/main/java/binnie/extratrees/genetics/FruitSprite.java index 3665103e..e8e528e1 100644 --- a/src/main/java/binnie/extratrees/genetics/FruitSprite.java +++ b/src/main/java/binnie/extratrees/genetics/FruitSprite.java @@ -10,32 +10,33 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; public enum FruitSprite implements IIconProvider { - Tiny, - Small, - Average, - Large, - Larger, - Pear; + Tiny, + Small, + Average, + Large, + Larger, + Pear; - protected BinnieIcon icon; + protected BinnieIcon icon; - public short getIndex() { - return (short) (ordinal() + 4200); - } + public short getIndex() { + return (short) (ordinal() + 4200); + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(short texUID) { - int index = texUID - 4200; - if (index >= 0 && index < values().length) { - return values()[index].icon.getIcon(); - } - return null; - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(short texUID) { + int index = texUID - 4200; + if (index >= 0 && index < values().length) { + return values()[index].icon.getIcon(); + } + return null; + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - icon = Binnie.Resource.getBlockIcon(ExtraTrees.instance, "fruit/" + toString().toLowerCase()); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + icon = Binnie.Resource.getBlockIcon( + ExtraTrees.instance, "fruit/" + toString().toLowerCase()); + } } diff --git a/src/main/java/binnie/extratrees/genetics/LeafType.java b/src/main/java/binnie/extratrees/genetics/LeafType.java index daff8d7c..ad8c3d78 100644 --- a/src/main/java/binnie/extratrees/genetics/LeafType.java +++ b/src/main/java/binnie/extratrees/genetics/LeafType.java @@ -1,22 +1,22 @@ package binnie.extratrees.genetics; public enum LeafType { - NORMAL((short) 10, (short) 11, (short) 12, "Deciduous"), - CONIFER((short) 15, (short) 16, (short) 17, "Conifers"), - JUNGLE((short) 20, (short) 21, (short) 22, "Jungle"), - WILLOW((short) 25, (short) 26, (short) 27, "Willow"), - MAPLE((short) 30, (short) 31, (short) 32, "Maple"), - PALM((short) 35, (short) 36, (short) 37, "Palm"); + NORMAL((short) 10, (short) 11, (short) 12, "Deciduous"), + CONIFER((short) 15, (short) 16, (short) 17, "Conifers"), + JUNGLE((short) 20, (short) 21, (short) 22, "Jungle"), + WILLOW((short) 25, (short) 26, (short) 27, "Willow"), + MAPLE((short) 30, (short) 31, (short) 32, "Maple"), + PALM((short) 35, (short) 36, (short) 37, "Palm"); - public short fancyUID; - public short plainUID; - public short changedUID; - public String description; + public short fancyUID; + public short plainUID; + public short changedUID; + public String description; - LeafType(short fancyUID, short plainUID, short changedUID, String description) { - this.fancyUID = fancyUID; - this.plainUID = plainUID; - this.changedUID = changedUID; - this.description = description; - } + LeafType(short fancyUID, short plainUID, short changedUID, String description) { + this.fancyUID = fancyUID; + this.plainUID = plainUID; + this.changedUID = changedUID; + this.description = description; + } } diff --git a/src/main/java/binnie/extratrees/genetics/ModuleGenetics.java b/src/main/java/binnie/extratrees/genetics/ModuleGenetics.java index 159ed19f..dfd345a8 100644 --- a/src/main/java/binnie/extratrees/genetics/ModuleGenetics.java +++ b/src/main/java/binnie/extratrees/genetics/ModuleGenetics.java @@ -5,117 +5,120 @@ import binnie.core.BinnieCore; import binnie.core.IInitializable; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IClassification; - import java.util.ArrayList; import java.util.List; import java.util.Locale; public class ModuleGenetics implements IInitializable { - protected String[] branches; - protected List> classifications; + protected String[] branches; + protected List> classifications; - public ModuleGenetics() { - branches = new String[]{ - "Malus Maleae Amygdaloideae Rosaceae", - "Musa Musaceae Zingiberales Commelinids Angiosperms", - "Sorbus Maleae", - "Tsuga Pinaceae", - "Fraxinus Oleeae Oleaceae Lamiales Asterids Angiospems" - }; - classifications = new ArrayList<>(); - } + public ModuleGenetics() { + branches = new String[] { + "Malus Maleae Amygdaloideae Rosaceae", + "Musa Musaceae Zingiberales Commelinids Angiosperms", + "Sorbus Maleae", + "Tsuga Pinaceae", + "Fraxinus Oleeae Oleaceae Lamiales Asterids Angiospems" + }; + classifications = new ArrayList<>(); + } - @Override - public void preInit() { - for (ExtraTreeFruitGene fruit : ExtraTreeFruitGene.values()) { - AlleleManager.alleleRegistry.registerAllele(fruit); - } - for (ExtraTreeSpecies species : ExtraTreeSpecies.values()) { - AlleleManager.alleleRegistry.registerAllele(species); - } - } + @Override + public void preInit() { + for (ExtraTreeFruitGene fruit : ExtraTreeFruitGene.values()) { + AlleleManager.alleleRegistry.registerAllele(fruit); + } + for (ExtraTreeSpecies species : ExtraTreeSpecies.values()) { + AlleleManager.alleleRegistry.registerAllele(species); + } + } - @Override - public void init() { - // ignored - } + @Override + public void init() { + // ignored + } - @Override - public void postInit() { - ExtraTreeSpecies.init(); - ExtraTreeFruitGene.init(); - for (ExtraTreeSpecies species : ExtraTreeSpecies.values()) { - Binnie.Genetics.getTreeRoot().registerTemplate(species.getTemplate()); - } + @Override + public void postInit() { + ExtraTreeSpecies.init(); + ExtraTreeFruitGene.init(); + for (ExtraTreeSpecies species : ExtraTreeSpecies.values()) { + Binnie.Genetics.getTreeRoot().registerTemplate(species.getTemplate()); + } - ExtraTreeMutation.init(); - if (!BinnieCore.isLepidopteryActive()) { - return; - } + ExtraTreeMutation.init(); + if (!BinnieCore.isLepidopteryActive()) { + return; + } - for (ButterflySpecies species2 : ButterflySpecies.values()) { - AlleleManager.alleleRegistry.registerAllele(species2); - Binnie.Genetics.getButterflyRoot().registerTemplate(species2.getTemplate()); - String scientific = species2.branchName.substring(0, 1).toUpperCase() + species2.branchName.substring(1).toLowerCase(); - String uid = "trees." + species2.branchName.toLowerCase(); - IClassification branch = AlleleManager.alleleRegistry.getClassification("genus." + uid); - if (branch == null) { - branch = AlleleManager.alleleRegistry.createAndRegisterClassification(IClassification.EnumClassLevel.GENUS, uid, scientific); - } - (species2.branch = branch).addMemberSpecies(species2); - } - } + for (ButterflySpecies species2 : ButterflySpecies.values()) { + AlleleManager.alleleRegistry.registerAllele(species2); + Binnie.Genetics.getButterflyRoot().registerTemplate(species2.getTemplate()); + String scientific = species2.branchName.substring(0, 1).toUpperCase() + + species2.branchName.substring(1).toLowerCase(); + String uid = "trees." + species2.branchName.toLowerCase(); + IClassification branch = AlleleManager.alleleRegistry.getClassification("genus." + uid); + if (branch == null) { + branch = AlleleManager.alleleRegistry.createAndRegisterClassification( + IClassification.EnumClassLevel.GENUS, uid, scientific); + } + (species2.branch = branch).addMemberSpecies(species2); + } + } - private void generateBranches() { - for (String hierarchy : branches) { - List set = new ArrayList<>(); - for (String string : hierarchy.split(" ", 0)) { - set.add(string.toLowerCase()); - } - classifications.add(set); - } + private void generateBranches() { + for (String hierarchy : branches) { + List set = new ArrayList<>(); + for (String string : hierarchy.split(" ", 0)) { + set.add(string.toLowerCase()); + } + classifications.add(set); + } - for (ExtraTreeSpecies species : ExtraTreeSpecies.values()) { - IClassification branch = getOrCreateClassification(IClassification.EnumClassLevel.GENUS, species.branchName); - branch.addMemberSpecies(species); - species.branch = branch; - IClassification clss = branch; - int currentLevel = IClassification.EnumClassLevel.GENUS.ordinal(); + for (ExtraTreeSpecies species : ExtraTreeSpecies.values()) { + IClassification branch = + getOrCreateClassification(IClassification.EnumClassLevel.GENUS, species.branchName); + branch.addMemberSpecies(species); + species.branch = branch; + IClassification clss = branch; + int currentLevel = IClassification.EnumClassLevel.GENUS.ordinal(); - while (clss.getParent() == null) { - for (List set2 : classifications) { - if (set2.contains(clss.getScientific().toLowerCase())) { - String nextLevel = ""; - int index = set2.indexOf(clss.getScientific().toLowerCase()) + 1; - while (nextLevel.length() == 0) { - try { - nextLevel = set2.get(index++); - } catch (IndexOutOfBoundsException ex) { - throw new RuntimeException("Reached end point at " + set2.get(index - 2)); - } - currentLevel--; - } + while (clss.getParent() == null) { + for (List set2 : classifications) { + if (set2.contains(clss.getScientific().toLowerCase())) { + String nextLevel = ""; + int index = set2.indexOf(clss.getScientific().toLowerCase()) + 1; + while (nextLevel.length() == 0) { + try { + nextLevel = set2.get(index++); + } catch (IndexOutOfBoundsException ex) { + throw new RuntimeException("Reached end point at " + set2.get(index - 2)); + } + currentLevel--; + } - IClassification parent = getOrCreateClassification(IClassification.EnumClassLevel.values()[currentLevel], nextLevel); - parent.addMemberGroup(clss); - System.out.println("Went from " + clss.getScientific() + " to " + parent.getScientific()); - clss = parent; - break; - } - } - } - } - } + IClassification parent = getOrCreateClassification( + IClassification.EnumClassLevel.values()[currentLevel], nextLevel); + parent.addMemberGroup(clss); + System.out.println("Went from " + clss.getScientific() + " to " + parent.getScientific()); + clss = parent; + break; + } + } + } + } + } - private IClassification getOrCreateClassification(IClassification.EnumClassLevel level, String name) { - if (level == IClassification.EnumClassLevel.GENUS) { - name = "trees." + name; - } + private IClassification getOrCreateClassification(IClassification.EnumClassLevel level, String name) { + if (level == IClassification.EnumClassLevel.GENUS) { + name = "trees." + name; + } - String uid = level.name().toLowerCase(Locale.ENGLISH) + "." + name.toLowerCase(); - if (AlleleManager.alleleRegistry.getClassification(uid) != null) { - return AlleleManager.alleleRegistry.getClassification(uid); - } - return AlleleManager.alleleRegistry.createAndRegisterClassification(level, name.toLowerCase(), name); - } + String uid = level.name().toLowerCase(Locale.ENGLISH) + "." + name.toLowerCase(); + if (AlleleManager.alleleRegistry.getClassification(uid) != null) { + return AlleleManager.alleleRegistry.getClassification(uid); + } + return AlleleManager.alleleRegistry.createAndRegisterClassification(level, name.toLowerCase(), name); + } } diff --git a/src/main/java/binnie/extratrees/genetics/SaplingType.java b/src/main/java/binnie/extratrees/genetics/SaplingType.java index 97e8eea4..9ea0746b 100644 --- a/src/main/java/binnie/extratrees/genetics/SaplingType.java +++ b/src/main/java/binnie/extratrees/genetics/SaplingType.java @@ -3,13 +3,13 @@ package binnie.extratrees.genetics; import net.minecraft.util.IIcon; public enum SaplingType { - DEFAULT, - JUNGLE, - CONIFER, - FRUIT, - POPLAR, - PALM, - SHRUB; + DEFAULT, + JUNGLE, + CONIFER, + FRUIT, + POPLAR, + PALM, + SHRUB; - public IIcon[] icon; + public IIcon[] icon; } diff --git a/src/main/java/binnie/extratrees/item/ExtraTreeItems.java b/src/main/java/binnie/extratrees/item/ExtraTreeItems.java index 73c53154..a4dabbed 100644 --- a/src/main/java/binnie/extratrees/item/ExtraTreeItems.java +++ b/src/main/java/binnie/extratrees/item/ExtraTreeItems.java @@ -3,56 +3,55 @@ package binnie.extratrees.item; import binnie.core.item.IItemMisc; import binnie.core.util.I18N; import binnie.extratrees.ExtraTrees; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import java.util.List; - public enum ExtraTreeItems implements IItemMisc { - CarpentryHammer("carpentryHammer"), - Sawdust("sawdust"), - Bark("bark"), - ProvenGear("provenGear"), - WoodWax("woodWax"), - GlassFitting("glassFitting"); + CarpentryHammer("carpentryHammer"), + Sawdust("sawdust"), + Bark("bark"), + ProvenGear("provenGear"), + WoodWax("woodWax"), + GlassFitting("glassFitting"); - protected String name; - protected String iconPath; - protected IIcon icon; + protected String name; + protected String iconPath; + protected IIcon icon; - ExtraTreeItems(String name) { - this.name = name; - this.iconPath = name; - } + ExtraTreeItems(String name) { + this.name = name; + this.iconPath = name; + } - @Override - public IIcon getIcon(ItemStack itemStack) { - return icon; - } + @Override + public IIcon getIcon(ItemStack itemStack) { + return icon; + } - @Override - public void registerIcons(IIconRegister register) { - icon = ExtraTrees.proxy.getIcon(register, iconPath); - } + @Override + public void registerIcons(IIconRegister register) { + icon = ExtraTrees.proxy.getIcon(register, iconPath); + } - @Override - public void addInformation(List tooltip) { - // ignored - } + @Override + public void addInformation(List tooltip) { + // ignored + } - @Override - public String getName(ItemStack itemStack) { - return I18N.localise("extratrees.item." + name); - } + @Override + public String getName(ItemStack itemStack) { + return I18N.localise("extratrees.item." + name); + } - @Override - public boolean isActive() { - return this != ExtraTreeItems.CarpentryHammer; - } + @Override + public boolean isActive() { + return this != ExtraTreeItems.CarpentryHammer; + } - @Override - public ItemStack get(int count) { - return new ItemStack(ExtraTrees.itemMisc, count, ordinal()); - } + @Override + public ItemStack get(int count) { + return new ItemStack(ExtraTrees.itemMisc, count, ordinal()); + } } diff --git a/src/main/java/binnie/extratrees/item/ExtraTreeLiquid.java b/src/main/java/binnie/extratrees/item/ExtraTreeLiquid.java index 0a774f56..f07b7dfd 100644 --- a/src/main/java/binnie/extratrees/item/ExtraTreeLiquid.java +++ b/src/main/java/binnie/extratrees/item/ExtraTreeLiquid.java @@ -10,72 +10,72 @@ import net.minecraft.util.IIcon; import net.minecraftforge.fluids.FluidStack; public enum ExtraTreeLiquid implements ILiquidType { - Sap("sap", 0xbe7542), - Resin("resin", 0xc96800), - Latex("latex", 0xd8dbc9), - Turpentine("turpentine", 0x79533a); + Sap("sap", 0xbe7542), + Resin("resin", 0xc96800), + Latex("latex", 0xd8dbc9), + Turpentine("turpentine", 0x79533a); - public String name; + public String name; - protected String ident; - protected IIcon icon; - protected int color; + protected String ident; + protected IIcon icon; + protected int color; - ExtraTreeLiquid(String name, int color) { - this.name = name; - this.ident = name; - this.color = color; - } + ExtraTreeLiquid(String name, int color) { + this.name = name; + this.ident = name; + this.color = color; + } - @Override - public IIcon getIcon() { - return icon; - } + @Override + public IIcon getIcon() { + return icon; + } - @Override - public void registerIcon(IIconRegister register) { - icon = ExtraTrees.proxy.getIcon(register, "liquids/" + getIdentifier()); - } + @Override + public void registerIcon(IIconRegister register) { + icon = ExtraTrees.proxy.getIcon(register, "liquids/" + getIdentifier()); + } - @Override - public String getName() { - return I18N.localise("extratrees.fluid." + name); - } + @Override + public String getName() { + return I18N.localise("extratrees.fluid." + name); + } - @Override - public String getIdentifier() { - return ident; - } + @Override + public String getIdentifier() { + return ident; + } - @Override - public int getColor() { - return 0xffffff; - } + @Override + public int getColor() { + return 0xffffff; + } - @Override - public FluidStack get(int amount) { - return Binnie.Liquid.getLiquidStack(ident, amount); - } + @Override + public FluidStack get(int amount) { + return Binnie.Liquid.getLiquidStack(ident, amount); + } - @Override - public int getTransparency() { - return 255; - } + @Override + public int getTransparency() { + return 255; + } - @Override - public boolean canPlaceIn(FluidContainer container) { - return true; - } + @Override + public boolean canPlaceIn(FluidContainer container) { + return true; + } - @Override - public boolean showInCreative(FluidContainer container) { - return container == FluidContainer.Bucket - || container == FluidContainer.Can - || container == FluidContainer.Capsule; - } + @Override + public boolean showInCreative(FluidContainer container) { + return container == FluidContainer.Bucket + || container == FluidContainer.Can + || container == FluidContainer.Capsule; + } - @Override - public int getContainerColor() { - return color; - } + @Override + public int getContainerColor() { + return color; + } } diff --git a/src/main/java/binnie/extratrees/item/Food.java b/src/main/java/binnie/extratrees/item/Food.java index 99e9e565..690cea2c 100644 --- a/src/main/java/binnie/extratrees/item/Food.java +++ b/src/main/java/binnie/extratrees/item/Food.java @@ -6,216 +6,214 @@ import binnie.core.item.IItemMisc; import binnie.core.util.I18N; import binnie.extratrees.ExtraTrees; import forestry.api.recipes.RecipeManagers; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraftforge.oredict.OreDictionary; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - public enum Food implements IItemMisc { - Crabapple(2), - Orange(4), - Kumquat(2), - Lime(2), - WildCherry(2), - SourCherry(2), - BlackCherry(2), - Blackthorn(3), - CherryPlum(3), - Almond(1), - Apricot(4), - Grapefruit(4), - Peach(4), - Satsuma(3), - BuddhaHand(3), - Citron(3), - FingerLime(3), - KeyLime(2), - Manderin(3), - Nectarine(3), - Pomelo(3), - Tangerine(3), - Pear(4), - SandPear(2), - Hazelnut(2), - Butternut(1), - Beechnut(0), - Pecan(0), - Banana(4), - RedBanana(4), - Plantain(2), - BrazilNut(0), - Fig(2), - Acorn(0), - Elderberry(1), - Olive(1), - GingkoNut(1), - Coffee(0), - OsangeOrange(1), - Clove(0), - Papayimar(8), - Blackcurrant(2), - Redcurrant(2), - Blackberry(2), - Raspberry(2), - Blueberry(2), - Cranberry(2), - Juniper(0), - Gooseberry(2), - GoldenRaspberry(2), - Coconut(2), - Cashew(0), - Avacado(2), - Nutmeg(0), - Allspice(0), - Chilli(2), - StarAnise(0), - Mango(4), - Starfruit(2), - Candlenut(0); + Crabapple(2), + Orange(4), + Kumquat(2), + Lime(2), + WildCherry(2), + SourCherry(2), + BlackCherry(2), + Blackthorn(3), + CherryPlum(3), + Almond(1), + Apricot(4), + Grapefruit(4), + Peach(4), + Satsuma(3), + BuddhaHand(3), + Citron(3), + FingerLime(3), + KeyLime(2), + Manderin(3), + Nectarine(3), + Pomelo(3), + Tangerine(3), + Pear(4), + SandPear(2), + Hazelnut(2), + Butternut(1), + Beechnut(0), + Pecan(0), + Banana(4), + RedBanana(4), + Plantain(2), + BrazilNut(0), + Fig(2), + Acorn(0), + Elderberry(1), + Olive(1), + GingkoNut(1), + Coffee(0), + OsangeOrange(1), + Clove(0), + Papayimar(8), + Blackcurrant(2), + Redcurrant(2), + Blackberry(2), + Raspberry(2), + Blueberry(2), + Cranberry(2), + Juniper(0), + Gooseberry(2), + GoldenRaspberry(2), + Coconut(2), + Cashew(0), + Avacado(2), + Nutmeg(0), + Allspice(0), + Chilli(2), + StarAnise(0), + Mango(4), + Starfruit(2), + Candlenut(0); - protected IIcon icon; - protected int hunger; - private List ores; + protected IIcon icon; + protected int hunger; + private List ores; - Food() { - this(0); - } + Food() { + this(0); + } - Food(int hunger) { - ores = new ArrayList<>(); - this.hunger = hunger; - } - public static void registerOreDictionary() { - Food.Crabapple.ore("Apple").ore("Crabapple"); - Food.Orange.ore("Orange"); - Food.Kumquat.ore("Kumquat"); - Food.Lime.ore("Lime"); - Food.WildCherry.ore("Cherry").ore("WildCherry"); - Food.SourCherry.ore("Cherry").ore("SourCherry"); - Food.BlackCherry.ore("Cherry").ore("BlackCherry"); - Food.Blackthorn.ore("Blackthorn"); - Food.CherryPlum.ore("Plum").ore("CherryPlum"); - Food.Almond.ore("Almond"); - Food.Apricot.ore("Apricot"); - Food.Grapefruit.ore("Grapefruit"); - Food.Peach.ore("Peach"); - Food.Satsuma.ore("Satsuma").ore("Orange"); - Food.BuddhaHand.ore("BuddhaHand").ore("Citron"); - Food.Citron.ore("Citron"); - Food.FingerLime.ore("Lime").ore("FingerLime"); - Food.KeyLime.ore("KeyLime").ore("Lime"); - Food.Manderin.ore("Orange").ore("Manderin"); - Food.Nectarine.ore("Peach").ore("Nectarine"); - Food.Pomelo.ore("Pomelo"); - Food.Tangerine.ore("Tangerine").ore("Orange"); - Food.Pear.ore("Pear"); - Food.SandPear.ore("SandPear"); - Food.Hazelnut.ore("Hazelnut"); - Food.Butternut.ore("Butternut").ore("Walnut"); - Food.Beechnut.ore("Beechnut"); - Food.Pecan.ore("Pecan"); - Food.Banana.ore("Banana"); - Food.RedBanana.ore("RedBanana").ore("Banana"); - Food.Plantain.ore("Plantain"); - Food.BrazilNut.ore("BrazilNut"); - Food.Fig.ore("Fig"); - Food.Acorn.ore("Acorn"); - Food.Elderberry.ore("Elderberry"); - Food.Olive.ore("Olive"); - Food.GingkoNut.ore("GingkoNut"); - Food.Coffee.ore("Coffee"); - Food.OsangeOrange.ore("OsangeOrange"); - Food.Clove.ore("Clove"); - Food.Papayimar.ore("Papayimar"); - Food.Blackcurrant.ore("Blackcurrant"); - Food.Redcurrant.ore("Redcurrant"); - Food.Blackberry.ore("Blackberry"); - Food.Raspberry.ore("Raspberry"); - Food.Blueberry.ore("Blueberry"); - Food.Cranberry.ore("Cranberry"); - Food.Juniper.ore("Juniper"); - Food.Gooseberry.ore("Gooseberry"); - Food.GoldenRaspberry.ore("GoldenRaspberry"); - Food.Coconut.ore("Coconut"); - Food.Cashew.ore("Cashew"); - Food.Avacado.ore("Avacado"); - Food.Nutmeg.ore("Nutmeg"); - Food.Chilli.ore("Chilli"); - Food.StarAnise.ore("StarAnise"); - Food.Mango.ore("Mango"); - Food.Starfruit.ore("Starfruit"); - Food.Candlenut.ore("Candlenut"); - } + Food(int hunger) { + ores = new ArrayList<>(); + this.hunger = hunger; + } - public boolean isEdible() { - return hunger > 0; - } + public static void registerOreDictionary() { + Food.Crabapple.ore("Apple").ore("Crabapple"); + Food.Orange.ore("Orange"); + Food.Kumquat.ore("Kumquat"); + Food.Lime.ore("Lime"); + Food.WildCherry.ore("Cherry").ore("WildCherry"); + Food.SourCherry.ore("Cherry").ore("SourCherry"); + Food.BlackCherry.ore("Cherry").ore("BlackCherry"); + Food.Blackthorn.ore("Blackthorn"); + Food.CherryPlum.ore("Plum").ore("CherryPlum"); + Food.Almond.ore("Almond"); + Food.Apricot.ore("Apricot"); + Food.Grapefruit.ore("Grapefruit"); + Food.Peach.ore("Peach"); + Food.Satsuma.ore("Satsuma").ore("Orange"); + Food.BuddhaHand.ore("BuddhaHand").ore("Citron"); + Food.Citron.ore("Citron"); + Food.FingerLime.ore("Lime").ore("FingerLime"); + Food.KeyLime.ore("KeyLime").ore("Lime"); + Food.Manderin.ore("Orange").ore("Manderin"); + Food.Nectarine.ore("Peach").ore("Nectarine"); + Food.Pomelo.ore("Pomelo"); + Food.Tangerine.ore("Tangerine").ore("Orange"); + Food.Pear.ore("Pear"); + Food.SandPear.ore("SandPear"); + Food.Hazelnut.ore("Hazelnut"); + Food.Butternut.ore("Butternut").ore("Walnut"); + Food.Beechnut.ore("Beechnut"); + Food.Pecan.ore("Pecan"); + Food.Banana.ore("Banana"); + Food.RedBanana.ore("RedBanana").ore("Banana"); + Food.Plantain.ore("Plantain"); + Food.BrazilNut.ore("BrazilNut"); + Food.Fig.ore("Fig"); + Food.Acorn.ore("Acorn"); + Food.Elderberry.ore("Elderberry"); + Food.Olive.ore("Olive"); + Food.GingkoNut.ore("GingkoNut"); + Food.Coffee.ore("Coffee"); + Food.OsangeOrange.ore("OsangeOrange"); + Food.Clove.ore("Clove"); + Food.Papayimar.ore("Papayimar"); + Food.Blackcurrant.ore("Blackcurrant"); + Food.Redcurrant.ore("Redcurrant"); + Food.Blackberry.ore("Blackberry"); + Food.Raspberry.ore("Raspberry"); + Food.Blueberry.ore("Blueberry"); + Food.Cranberry.ore("Cranberry"); + Food.Juniper.ore("Juniper"); + Food.Gooseberry.ore("Gooseberry"); + Food.GoldenRaspberry.ore("GoldenRaspberry"); + Food.Coconut.ore("Coconut"); + Food.Cashew.ore("Cashew"); + Food.Avacado.ore("Avacado"); + Food.Nutmeg.ore("Nutmeg"); + Food.Chilli.ore("Chilli"); + Food.StarAnise.ore("StarAnise"); + Food.Mango.ore("Mango"); + Food.Starfruit.ore("Starfruit"); + Food.Candlenut.ore("Candlenut"); + } - public int getHealth() { - return hunger; - } + public boolean isEdible() { + return hunger > 0; + } - @Override - public boolean isActive() { - return true; - } + public int getHealth() { + return hunger; + } - @Override - public String getName(ItemStack itemStack) { - return I18N.localise("for.extratrees.item.food." + name().toLowerCase()); - } + @Override + public boolean isActive() { + return true; + } - @Override - public ItemStack get(int count) { - return new ItemStack(ExtraTrees.itemFood, count, ordinal()); - } + @Override + public String getName(ItemStack itemStack) { + return I18N.localise("for.extratrees.item.food." + name().toLowerCase()); + } - @Override - public IIcon getIcon(ItemStack itemStack) { - return icon; - } + @Override + public ItemStack get(int count) { + return new ItemStack(ExtraTrees.itemFood, count, ordinal()); + } - @Override - public void registerIcons(IIconRegister register) { - icon = ExtraTrees.proxy.getIcon(register, "food/" + toString()); - } + @Override + public IIcon getIcon(ItemStack itemStack) { + return icon; + } - @Override - public void addInformation(List tooltip) { - // ignored - } + @Override + public void registerIcons(IIconRegister register) { + icon = ExtraTrees.proxy.getIcon(register, "food/" + toString()); + } - public void addJuice(int time, int amount, int mulch) { - RecipeManagers.squeezerManager.addRecipe( - time, - new ItemStack[]{get(1)}, - Binnie.Liquid.getLiquidStack("juice", amount), - Mods.forestry.stack("mulch"), - mulch - ); - } + @Override + public void addInformation(List tooltip) { + // ignored + } - public void addOil(int time, int amount, int mulch) { - RecipeManagers.squeezerManager.addRecipe( - time, - new ItemStack[]{get(1)}, - Binnie.Liquid.getLiquidStack("seedoil", amount), - Mods.forestry.stack("mulch"), - mulch - ); - } + public void addJuice(int time, int amount, int mulch) { + RecipeManagers.squeezerManager.addRecipe( + time, + new ItemStack[] {get(1)}, + Binnie.Liquid.getLiquidStack("juice", amount), + Mods.forestry.stack("mulch"), + mulch); + } - private Food ore(String string) { - OreDictionary.registerOre("crop" + string, get(1)); - ores.add("crop" + string); - return this; - } + public void addOil(int time, int amount, int mulch) { + RecipeManagers.squeezerManager.addRecipe( + time, + new ItemStack[] {get(1)}, + Binnie.Liquid.getLiquidStack("seedoil", amount), + Mods.forestry.stack("mulch"), + mulch); + } - public Collection getOres() { - return ores; - } + private Food ore(String string) { + OreDictionary.registerOre("crop" + string, get(1)); + ores.add("crop" + string); + return this; + } + + public Collection getOres() { + return ores; + } } diff --git a/src/main/java/binnie/extratrees/item/ItemDictionary.java b/src/main/java/binnie/extratrees/item/ItemDictionary.java index 063a0cc5..cdf9bc09 100644 --- a/src/main/java/binnie/extratrees/item/ItemDictionary.java +++ b/src/main/java/binnie/extratrees/item/ItemDictionary.java @@ -6,6 +6,7 @@ import binnie.extratrees.core.ExtraTreesGUID; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -14,60 +15,60 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import java.util.List; - public class ItemDictionary extends Item { - protected IIcon iconMaster; + protected IIcon iconMaster; - public ItemDictionary() { - setCreativeTab(Tabs.tabArboriculture); - setUnlocalizedName("database"); - setMaxStackSize(1); - } + public ItemDictionary() { + setCreativeTab(Tabs.tabArboriculture); + setUnlocalizedName("database"); + setMaxStackSize(1); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - itemIcon = ExtraTrees.proxy.getIcon(register, "arboristDatabase"); - iconMaster = ExtraTrees.proxy.getIcon(register, "masterArboristDatabase"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = ExtraTrees.proxy.getIcon(register, "arboristDatabase"); + iconMaster = ExtraTrees.proxy.getIcon(register, "masterArboristDatabase"); + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) { - return (par1 == 0) ? itemIcon : iconMaster; - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int par1) { + return (par1 == 0) ? itemIcon : iconMaster; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer player, List toltip, boolean advanced) { - super.addInformation(stack, player, toltip, advanced); - if (stack.getItemDamage() > 0) { - toltip.add(I18N.localise("extratrees.item.database.tooltip")); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List toltip, boolean advanced) { + super.addInformation(stack, player, toltip, advanced); + if (stack.getItemDamage() > 0) { + toltip.add(I18N.localise("extratrees.item.database.tooltip")); + } + } - @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 + @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) { - ExtraTrees.proxy.openGui(ExtraTreesGUID.Database, player, (int) player.posX, (int) player.posY, (int) player.posZ); - } else { - ExtraTrees.proxy.openGui(ExtraTreesGUID.DatabaseNEI, player, (int) player.posX, (int) player.posY, (int) player.posZ); - } - return stack; - } + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if (stack.getItemDamage() == 0) { + ExtraTrees.proxy.openGui( + ExtraTreesGUID.Database, player, (int) player.posX, (int) player.posY, (int) player.posZ); + } else { + ExtraTrees.proxy.openGui( + ExtraTreesGUID.DatabaseNEI, player, (int) player.posX, (int) player.posY, (int) player.posZ); + } + return stack; + } - @Override - public String getItemStackDisplayName(ItemStack i) { - return (i.getItemDamage() == 0) ? - I18N.localise("extratrees.item.database") : - I18N.localise("extratrees.item.masterDatabase"); - } + @Override + public String getItemStackDisplayName(ItemStack i) { + return (i.getItemDamage() == 0) + ? I18N.localise("extratrees.item.database") + : I18N.localise("extratrees.item.masterDatabase"); + } } diff --git a/src/main/java/binnie/extratrees/item/ItemFood.java b/src/main/java/binnie/extratrees/item/ItemFood.java index adebfff2..6dcbc34c 100644 --- a/src/main/java/binnie/extratrees/item/ItemFood.java +++ b/src/main/java/binnie/extratrees/item/ItemFood.java @@ -4,6 +4,7 @@ import binnie.core.item.IItemMisc; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -11,86 +12,84 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import java.util.List; - public class ItemFood extends net.minecraft.item.ItemFood { - protected IItemMisc[] items; + protected IItemMisc[] items; - public ItemFood() { - super(0, 0.0f, false); - setUnlocalizedName("food"); - setCreativeTab(Tabs.tabArboriculture); - setHasSubtypes(true); - items = Food.values(); - } + public ItemFood() { + super(0, 0.0f, false); + setUnlocalizedName("food"); + setCreativeTab(Tabs.tabArboriculture); + setHasSubtypes(true); + items = Food.values(); + } - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (IItemMisc itemMisc : items) { - if (itemMisc.isActive()) { - list.add(getStack(itemMisc, 1)); - } - } - } + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (IItemMisc itemMisc : items) { + if (itemMisc.isActive()) { + list.add(getStack(itemMisc, 1)); + } + } + } - private IItemMisc getItem(int damage) { - return (damage >= items.length) ? items[0] : items[damage]; - } + private IItemMisc getItem(int damage) { + return (damage >= items.length) ? items[0] : items[damage]; + } - public ItemStack getStack(IItemMisc type, int size) { - return new ItemStack(this, size, type.ordinal()); - } + public ItemStack getStack(IItemMisc type, int size) { + return new ItemStack(this, size, type.ordinal()); + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { - super.addInformation(stack, player, tooltip, advanced); - IItemMisc item = getItem(stack.getItemDamage()); - if (item != null) { - item.addInformation(tooltip); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { + super.addInformation(stack, player, tooltip, advanced); + IItemMisc item = getItem(stack.getItemDamage()); + if (item != null) { + item.addInformation(tooltip); + } + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - IItemMisc item = getItem(stack.getItemDamage()); - return (item != null) ? item.getName(stack) : "null"; - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + IItemMisc item = getItem(stack.getItemDamage()); + return (item != null) ? item.getName(stack) : "null"; + } - @Override - public IIcon getIcon(ItemStack stack, int pass) { - IItemMisc item = getItem(stack.getItemDamage()); - return (item != null) ? item.getIcon(stack) : null; - } + @Override + public IIcon getIcon(ItemStack stack, int pass) { + IItemMisc item = getItem(stack.getItemDamage()); + return (item != null) ? item.getIcon(stack) : null; + } - @Override - public IIcon getIconFromDamage(int damage) { - IItemMisc item = getItem(damage); - return (item != null) ? item.getIcon(null) : null; - } + @Override + public IIcon getIconFromDamage(int damage) { + IItemMisc item = getItem(damage); + return (item != null) ? item.getIcon(null) : null; + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - for (IItemMisc item : items) { - if (item.isActive()) { - item.registerIcons(register); - } - } - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + for (IItemMisc item : items) { + if (item.isActive()) { + item.registerIcons(register); + } + } + } - private Food getFood(ItemStack stack) { - return Food.values()[stack.getItemDamage()]; - } + private Food getFood(ItemStack stack) { + return Food.values()[stack.getItemDamage()]; + } - @Override - public int func_150905_g(ItemStack stack) { - return getFood(stack).getHealth(); - } + @Override + public int func_150905_g(ItemStack stack) { + return getFood(stack).getHealth(); + } - @Override - public float func_150906_h(ItemStack stack) { - return 3.0f; - } + @Override + public float func_150906_h(ItemStack stack) { + return 3.0f; + } } diff --git a/src/main/java/binnie/extratrees/item/ItemHammer.java b/src/main/java/binnie/extratrees/item/ItemHammer.java index b5def86d..eb3e7d83 100644 --- a/src/main/java/binnie/extratrees/item/ItemHammer.java +++ b/src/main/java/binnie/extratrees/item/ItemHammer.java @@ -12,37 +12,37 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; public class ItemHammer extends Item implements IToolHammer { - protected boolean isDurableHammer; + protected boolean isDurableHammer; - public ItemHammer(boolean durable) { - isDurableHammer = false; - isDurableHammer = durable; - setCreativeTab(CreativeTabs.tabTools); - setUnlocalizedName(durable ? "durableHammer" : "hammer"); - setMaxStackSize(1); - setMaxDamage(durable ? 1562 : 251); - } + public ItemHammer(boolean durable) { + isDurableHammer = false; + isDurableHammer = durable; + setCreativeTab(CreativeTabs.tabTools); + setUnlocalizedName(durable ? "durableHammer" : "hammer"); + setMaxStackSize(1); + setMaxDamage(durable ? 1562 : 251); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - itemIcon = ExtraTrees.proxy.getIcon(register, isDurableHammer ? "durableHammer" : "carpentryHammer"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = ExtraTrees.proxy.getIcon(register, isDurableHammer ? "durableHammer" : "carpentryHammer"); + } - @Override - public String getItemStackDisplayName(ItemStack i) { - return isDurableHammer ? - I18N.localise("extratrees.item.masterCarpentryHammer") : - I18N.localise("extratrees.item.carpentryHammer"); - } + @Override + public String getItemStackDisplayName(ItemStack i) { + return isDurableHammer + ? I18N.localise("extratrees.item.masterCarpentryHammer") + : I18N.localise("extratrees.item.carpentryHammer"); + } - @Override - public boolean isActive(ItemStack stack) { - return true; - } + @Override + public boolean isActive(ItemStack stack) { + return true; + } - @Override - public void onHammerUsed(ItemStack stack, EntityPlayer player) { - stack.damageItem(1, player); - } + @Override + public void onHammerUsed(ItemStack stack, EntityPlayer player) { + stack.damageItem(1, player); + } } diff --git a/src/main/java/binnie/extratrees/item/ItemMothDatabase.java b/src/main/java/binnie/extratrees/item/ItemMothDatabase.java index d8ecc26d..b95aee8e 100644 --- a/src/main/java/binnie/extratrees/item/ItemMothDatabase.java +++ b/src/main/java/binnie/extratrees/item/ItemMothDatabase.java @@ -6,6 +6,7 @@ import binnie.extratrees.core.ExtraTreesGUID; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -14,60 +15,60 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import java.util.List; - public class ItemMothDatabase extends Item { - protected IIcon iconMaster; + protected IIcon iconMaster; - public ItemMothDatabase() { - setCreativeTab(Tabs.tabLepidopterology); - setUnlocalizedName("databaseMoth"); - setMaxStackSize(1); - } + public ItemMothDatabase() { + setCreativeTab(Tabs.tabLepidopterology); + setUnlocalizedName("databaseMoth"); + setMaxStackSize(1); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - itemIcon = ExtraTrees.proxy.getIcon(register, "lepiDatabase"); - iconMaster = ExtraTrees.proxy.getIcon(register, "masterLepiDatabase"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = ExtraTrees.proxy.getIcon(register, "lepiDatabase"); + iconMaster = ExtraTrees.proxy.getIcon(register, "masterLepiDatabase"); + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) { - return (par1 == 0) ? itemIcon : iconMaster; - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int par1) { + return (par1 == 0) ? itemIcon : iconMaster; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { - super.addInformation(stack, player, tooltip, advanced); - if (stack.getItemDamage() > 0) { - tooltip.add(I18N.localise("extratrees.item.mothDatabase.tooltip")); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { + super.addInformation(stack, player, tooltip, advanced); + if (stack.getItemDamage() > 0) { + tooltip.add(I18N.localise("extratrees.item.mothDatabase.tooltip")); + } + } - @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 + @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) { - ExtraTrees.proxy.openGui(ExtraTreesGUID.MothDatabase, player, (int) player.posX, (int) player.posY, (int) player.posZ); - } else { - ExtraTrees.proxy.openGui(ExtraTreesGUID.MothDatabaseNEI, player, (int) player.posX, (int) player.posY, (int) player.posZ); - } - return stack; - } + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if (stack.getItemDamage() == 0) { + ExtraTrees.proxy.openGui( + ExtraTreesGUID.MothDatabase, player, (int) player.posX, (int) player.posY, (int) player.posZ); + } else { + ExtraTrees.proxy.openGui( + ExtraTreesGUID.MothDatabaseNEI, player, (int) player.posX, (int) player.posY, (int) player.posZ); + } + return stack; + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return (stack.getItemDamage() == 0) ? - I18N.localise("extratrees.item.mothDatabase") : - I18N.localise("extratrees.item.mothMasterDatabase"); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return (stack.getItemDamage() == 0) + ? I18N.localise("extratrees.item.mothDatabase") + : I18N.localise("extratrees.item.mothMasterDatabase"); + } } diff --git a/src/main/java/binnie/extratrees/item/ModuleItems.java b/src/main/java/binnie/extratrees/item/ModuleItems.java index 8ee6e797..acb793c3 100644 --- a/src/main/java/binnie/extratrees/item/ModuleItems.java +++ b/src/main/java/binnie/extratrees/item/ModuleItems.java @@ -24,182 +24,209 @@ import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; public class ModuleItems implements IInitializable { - @Override - public void preInit() { - ExtraTrees.itemMisc = Binnie.Item.registerMiscItems(ExtraTreeItems.values(), Tabs.tabArboriculture); - ExtraTrees.itemDictionary = new ItemDictionary(); - if (BinnieCore.isLepidopteryActive()) { - ExtraTrees.itemDictionaryLepi = new ItemMothDatabase(); - } + @Override + public void preInit() { + ExtraTrees.itemMisc = Binnie.Item.registerMiscItems(ExtraTreeItems.values(), Tabs.tabArboriculture); + ExtraTrees.itemDictionary = new ItemDictionary(); + if (BinnieCore.isLepidopteryActive()) { + ExtraTrees.itemDictionaryLepi = new ItemMothDatabase(); + } - Binnie.Liquid.createLiquids(ExtraTreeLiquid.values(), ItemFluidContainer.LiquidExtraTree); - ExtraTrees.itemFood = new ItemFood(); + Binnie.Liquid.createLiquids(ExtraTreeLiquid.values(), ItemFluidContainer.LiquidExtraTree); + ExtraTrees.itemFood = new ItemFood(); - ExtraTrees.itemHammer = new ItemHammer(false); - ExtraTrees.itemDurableHammer = new ItemHammer(true); - } + ExtraTrees.itemHammer = new ItemHammer(false); + ExtraTrees.itemDurableHammer = new ItemHammer(true); + } - @Override - public void init() { - OreDictionary.registerOre("pulpWood", ExtraTreeItems.Sawdust.get(1)); - Food.registerOreDictionary(); - OreDictionary.registerOre("cropApple", Items.apple); - OreDictionary.registerOre("seedWheat", Items.wheat_seeds); + @Override + public void init() { + OreDictionary.registerOre("pulpWood", ExtraTreeItems.Sawdust.get(1)); + Food.registerOreDictionary(); + OreDictionary.registerOre("cropApple", Items.apple); + OreDictionary.registerOre("seedWheat", Items.wheat_seeds); - Food.Crabapple.addJuice(10, 150, 10); - Food.Orange.addJuice(10, 400, 15); - Food.Kumquat.addJuice(10, 300, 10); - Food.Lime.addJuice(10, 300, 10); - Food.WildCherry.addOil(20, 50, 5); - Food.SourCherry.addOil(20, 50, 3); - Food.BlackCherry.addOil(20, 50, 5); - Food.Blackthorn.addJuice(10, 50, 5); - Food.CherryPlum.addJuice(10, 100, 60); - Food.Almond.addOil(20, 80, 5); - Food.Apricot.addJuice(10, 150, 40); - Food.Grapefruit.addJuice(10, 500, 15); - Food.Peach.addJuice(10, 150, 40); - Food.Satsuma.addJuice(10, 300, 10); - Food.BuddhaHand.addJuice(10, 400, 15); - Food.Citron.addJuice(10, 400, 15); - Food.FingerLime.addJuice(10, 300, 10); - Food.KeyLime.addJuice(10, 300, 10); - Food.Manderin.addJuice(10, 400, 10); - Food.Nectarine.addJuice(10, 150, 40); - Food.Pomelo.addJuice(10, 300, 10); - Food.Tangerine.addJuice(10, 300, 10); - Food.Pear.addJuice(10, 300, 20); - Food.SandPear.addJuice(10, 200, 10); - Food.Hazelnut.addOil(20, 150, 5); - Food.Butternut.addOil(20, 180, 5); - Food.Beechnut.addOil(20, 100, 4); - Food.Pecan.addOil(29, 50, 2); - Food.Banana.addJuice(10, 100, 30); - Food.RedBanana.addJuice(10, 100, 30); - Food.Plantain.addJuice(10, 100, 40); - Food.BrazilNut.addOil(20, 20, 2); - Food.Fig.addOil(20, 50, 3); - Food.Acorn.addOil(20, 50, 3); - Food.Elderberry.addJuice(10, 100, 5); - Food.Olive.addOil(20, 50, 3); - Food.GingkoNut.addOil(20, 50, 5); - Food.Coffee.addOil(15, 20, 2); - Food.OsangeOrange.addJuice(10, 300, 15); - Food.Clove.addOil(10, 25, 2); - Food.Coconut.addOil(20, 300, 25); - Food.Cashew.addJuice(10, 150, 15); - Food.Avacado.addJuice(10, 300, 15); - Food.Nutmeg.addOil(20, 50, 10); - Food.Allspice.addOil(20, 50, 10); - Food.Chilli.addJuice(10, 100, 10); - Food.StarAnise.addOil(20, 100, 10); - Food.Mango.addJuice(10, 400, 20); - Food.Starfruit.addJuice(10, 300, 10); - Food.Candlenut.addJuice(20, 50, 10); - } + Food.Crabapple.addJuice(10, 150, 10); + Food.Orange.addJuice(10, 400, 15); + Food.Kumquat.addJuice(10, 300, 10); + Food.Lime.addJuice(10, 300, 10); + Food.WildCherry.addOil(20, 50, 5); + Food.SourCherry.addOil(20, 50, 3); + Food.BlackCherry.addOil(20, 50, 5); + Food.Blackthorn.addJuice(10, 50, 5); + Food.CherryPlum.addJuice(10, 100, 60); + Food.Almond.addOil(20, 80, 5); + Food.Apricot.addJuice(10, 150, 40); + Food.Grapefruit.addJuice(10, 500, 15); + Food.Peach.addJuice(10, 150, 40); + Food.Satsuma.addJuice(10, 300, 10); + Food.BuddhaHand.addJuice(10, 400, 15); + Food.Citron.addJuice(10, 400, 15); + Food.FingerLime.addJuice(10, 300, 10); + Food.KeyLime.addJuice(10, 300, 10); + Food.Manderin.addJuice(10, 400, 10); + Food.Nectarine.addJuice(10, 150, 40); + Food.Pomelo.addJuice(10, 300, 10); + Food.Tangerine.addJuice(10, 300, 10); + Food.Pear.addJuice(10, 300, 20); + Food.SandPear.addJuice(10, 200, 10); + Food.Hazelnut.addOil(20, 150, 5); + Food.Butternut.addOil(20, 180, 5); + Food.Beechnut.addOil(20, 100, 4); + Food.Pecan.addOil(29, 50, 2); + Food.Banana.addJuice(10, 100, 30); + Food.RedBanana.addJuice(10, 100, 30); + Food.Plantain.addJuice(10, 100, 40); + Food.BrazilNut.addOil(20, 20, 2); + Food.Fig.addOil(20, 50, 3); + Food.Acorn.addOil(20, 50, 3); + Food.Elderberry.addJuice(10, 100, 5); + Food.Olive.addOil(20, 50, 3); + Food.GingkoNut.addOil(20, 50, 5); + Food.Coffee.addOil(15, 20, 2); + Food.OsangeOrange.addJuice(10, 300, 15); + Food.Clove.addOil(10, 25, 2); + Food.Coconut.addOil(20, 300, 25); + Food.Cashew.addJuice(10, 150, 15); + Food.Avacado.addJuice(10, 300, 15); + Food.Nutmeg.addOil(20, 50, 10); + Food.Allspice.addOil(20, 50, 10); + Food.Chilli.addJuice(10, 100, 10); + Food.StarAnise.addOil(20, 100, 10); + Food.Mango.addJuice(10, 400, 20); + Food.Starfruit.addJuice(10, 300, 10); + Food.Candlenut.addJuice(20, 50, 10); + } - @Override - public void postInit() { - GameRegistry.addRecipe(new ShapedOreRecipe( - new ItemStack(ExtraTrees.itemDurableHammer, 1, 0), - "wiw", " s ", " s ", - 'w', Blocks.obsidian, - 'i', Items.gold_ingot, - 's', Items.stick - )); + @Override + public void postInit() { + GameRegistry.addRecipe(new ShapedOreRecipe( + new ItemStack(ExtraTrees.itemDurableHammer, 1, 0), + "wiw", + " s ", + " s ", + 'w', + Blocks.obsidian, + 'i', + Items.gold_ingot, + 's', + Items.stick)); - GameRegistry.addRecipe(new ShapedOreRecipe( - new ItemStack(ExtraTrees.itemHammer, 1, 0), - "wiw", " s ", " s ", - 'w', "plankWood", - 'i', Items.iron_ingot, - 's', Items.stick - )); + GameRegistry.addRecipe(new ShapedOreRecipe( + new ItemStack(ExtraTrees.itemHammer, 1, 0), + "wiw", + " s ", + " s ", + 'w', + "plankWood", + 'i', + Items.iron_ingot, + 's', + Items.stick)); - GameRegistry.addRecipe( - ExtraTreeItems.ProvenGear.get(1), - " s ", "s s", " s ", - 's', Mods.forestry.stack("oakStick") - ); + GameRegistry.addRecipe( + ExtraTreeItems.ProvenGear.get(1), " s ", "s s", " s ", 's', Mods.forestry.stack("oakStick")); - GameRegistry.addRecipe( - ExtraTreeItems.GlassFitting.get(6), - "s s", " i ", "s s", - 'i', Items.iron_ingot, - 's', Items.stick - ); + GameRegistry.addRecipe( + ExtraTreeItems.GlassFitting.get(6), "s s", " i ", "s s", 'i', Items.iron_ingot, 's', Items.stick); - try { - Item minium = (Item) Class.forName("com.pahimar.ee3.lib.ItemIds").getField("miniumShard").get(null); - GameRegistry.addRecipe(new ShapelessOreRecipe(Food.Papayimar.get(1), minium, "cropPapaya")); - } catch (Exception ex) { - // ignored - } + try { + Item minium = (Item) Class.forName("com.pahimar.ee3.lib.ItemIds") + .getField("miniumShard") + .get(null); + GameRegistry.addRecipe(new ShapelessOreRecipe(Food.Papayimar.get(1), minium, "cropPapaya")); + } catch (Exception ex) { + // ignored + } - RecipeManagers.carpenterManager.addRecipe( - 100, - Binnie.Liquid.getLiquidStack("water", 2000), - null, - new ItemStack(ExtraTrees.itemDictionary), - "X#X", "YEY", "RDR", - '#', Blocks.glass_pane, - 'X', Items.gold_ingot, - 'Y', "ingotCopper", - 'R', Items.redstone, - 'D', Items.diamond, - 'E', Items.emerald - ); + RecipeManagers.carpenterManager.addRecipe( + 100, + Binnie.Liquid.getLiquidStack("water", 2000), + null, + new ItemStack(ExtraTrees.itemDictionary), + "X#X", + "YEY", + "RDR", + '#', + Blocks.glass_pane, + 'X', + Items.gold_ingot, + 'Y', + "ingotCopper", + 'R', + Items.redstone, + 'D', + Items.diamond, + 'E', + Items.emerald); - RecipeManagers.carpenterManager.addRecipe( - 100, - Binnie.Liquid.getLiquidStack("water", 2000), - null, - new ItemStack(ExtraTrees.itemDictionaryLepi), - "X#X", "YEY", "RDR", - '#', Blocks.glass_pane, - 'X', Items.gold_ingot, - 'Y', "ingotBronze", - 'R', Items.redstone, - 'D', Items.diamond, - 'E', Items.emerald - ); + RecipeManagers.carpenterManager.addRecipe( + 100, + Binnie.Liquid.getLiquidStack("water", 2000), + null, + new ItemStack(ExtraTrees.itemDictionaryLepi), + "X#X", + "YEY", + "RDR", + '#', + Blocks.glass_pane, + 'X', + Items.gold_ingot, + 'Y', + "ingotBronze", + 'R', + Items.redstone, + 'D', + Items.diamond, + 'E', + Items.emerald); - RecipeManagers.stillManager.addRecipe( - 25, - ExtraTreeLiquid.Resin.get(5), - ExtraTreeLiquid.Turpentine.get(3) - ); + RecipeManagers.stillManager.addRecipe(25, ExtraTreeLiquid.Resin.get(5), ExtraTreeLiquid.Turpentine.get(3)); - RecipeManagers.carpenterManager.addRecipe( - 25, - ExtraTreeLiquid.Turpentine.get(50), - null, - ((ItemMisc) ExtraTrees.itemMisc).getStack(ExtraTreeItems.WoodWax, 4), - "x", - 'x', Mods.forestry.stack("beeswax") - ); + RecipeManagers.carpenterManager.addRecipe( + 25, + ExtraTreeLiquid.Turpentine.get(50), + null, + ((ItemMisc) ExtraTrees.itemMisc).getStack(ExtraTreeItems.WoodWax, 4), + "x", + 'x', + Mods.forestry.stack("beeswax")); - if (Binnie.Liquid.getLiquidStack("Creosote Oil", 100) != null) { - RecipeManagers.carpenterManager.addRecipe( - 25, - Binnie.Liquid.getLiquidStack("Creosote Oil", 50), - null, - ((ItemMisc) ExtraTrees.itemMisc).getStack(ExtraTreeItems.WoodWax, 1), - "x", - 'x', Mods.forestry.stack("beeswax") - ); - } + if (Binnie.Liquid.getLiquidStack("Creosote Oil", 100) != null) { + RecipeManagers.carpenterManager.addRecipe( + 25, + Binnie.Liquid.getLiquidStack("Creosote Oil", 50), + null, + ((ItemMisc) ExtraTrees.itemMisc).getStack(ExtraTreeItems.WoodWax, 1), + "x", + 'x', + Mods.forestry.stack("beeswax")); + } - for (FluidContainerRegistry.FluidContainerData data : FluidContainerRegistry.getRegisteredFluidContainerData()) { - if (data.fluid.isFluidEqual(Binnie.Liquid.getLiquidStack("water", 0)) && data.fluid.amount == 1000) { - CraftingManager.getInstance().addRecipe(Mods.forestry.stack("mulch"), " b ", "bwb", " b ", 'b', ExtraTreeItems.Bark.get(1), 'w', data.filledContainer.copy()); - } - } + for (FluidContainerRegistry.FluidContainerData data : + FluidContainerRegistry.getRegisteredFluidContainerData()) { + if (data.fluid.isFluidEqual(Binnie.Liquid.getLiquidStack("water", 0)) && data.fluid.amount == 1000) { + CraftingManager.getInstance() + .addRecipe( + Mods.forestry.stack("mulch"), + " b ", + "bwb", + " b ", + 'b', + ExtraTreeItems.Bark.get(1), + 'w', + data.filledContainer.copy()); + } + } - FuelManager.bronzeEngineFuel.put(ExtraTreeLiquid.Sap.get(1).getFluid(), new EngineBronzeFuel(ExtraTreeLiquid.Sap.get(1).getFluid(), 20, 10000, 1)); - FuelManager.bronzeEngineFuel.put(ExtraTreeLiquid.Resin.get(1).getFluid(), new EngineBronzeFuel(ExtraTreeLiquid.Resin.get(1).getFluid(), 30, 10000, 1)); - for (ILogType.ExtraTreeLog log : ILogType.ExtraTreeLog.values()) { - log.addRecipe(); - } - } + FuelManager.bronzeEngineFuel.put( + ExtraTreeLiquid.Sap.get(1).getFluid(), + new EngineBronzeFuel(ExtraTreeLiquid.Sap.get(1).getFluid(), 20, 10000, 1)); + FuelManager.bronzeEngineFuel.put( + ExtraTreeLiquid.Resin.get(1).getFluid(), + new EngineBronzeFuel(ExtraTreeLiquid.Resin.get(1).getFluid(), 30, 10000, 1)); + for (ILogType.ExtraTreeLog log : ILogType.ExtraTreeLog.values()) { + log.addRecipe(); + } + } } diff --git a/src/main/java/binnie/extratrees/machines/ExtraTreeMachine.java b/src/main/java/binnie/extratrees/machines/ExtraTreeMachine.java index c0e3dfd4..c00244d7 100644 --- a/src/main/java/binnie/extratrees/machines/ExtraTreeMachine.java +++ b/src/main/java/binnie/extratrees/machines/ExtraTreeMachine.java @@ -24,70 +24,71 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public enum ExtraTreeMachine implements IMachineType { - Lumbermill(LumbermillPackage.class), - Woodworker(WoodworkerPackage.class), - Panelworker(PanelworkerPackage.class), - Glassworker(GlassworkerPackage.class), - Tileworker(TileworkerPackage.class); + Lumbermill(LumbermillPackage.class), + Woodworker(WoodworkerPackage.class), + Panelworker(PanelworkerPackage.class), + Glassworker(GlassworkerPackage.class), + Tileworker(TileworkerPackage.class); - protected Class cls; + protected Class cls; - ExtraTreeMachine(Class cls) { - this.cls = cls; - } + ExtraTreeMachine(Class cls) { + this.cls = cls; + } - @Override - public Class getPackageClass() { - return cls; - } + @Override + public Class getPackageClass() { + return cls; + } - @Override - public boolean isActive() { - if (this == ExtraTreeMachine.Tileworker) { - return BinnieCore.isBotanyActive(); - } - return true; - } + @Override + public boolean isActive() { + if (this == ExtraTreeMachine.Tileworker) { + return BinnieCore.isBotanyActive(); + } + return true; + } - public ItemStack get(int i) { - return new ItemStack(ExtraTrees.blockMachine, i, ordinal()); - } + public ItemStack get(int i) { + return new ItemStack(ExtraTrees.blockMachine, i, ordinal()); + } - public static class ComponentExtraTreeGUI extends MachineComponent implements IInteraction.RightClick { - protected ExtraTreesGUID id; + public static class ComponentExtraTreeGUI extends MachineComponent implements IInteraction.RightClick { + protected ExtraTreesGUID id; - public ComponentExtraTreeGUI(Machine machine, ExtraTreesGUID id) { - super(machine); - this.id = id; - } + public ComponentExtraTreeGUI(Machine machine, ExtraTreesGUID id) { + super(machine); + this.id = id; + } - @Override - public void onRightClick(World world, EntityPlayer player, int x, int y, int z) { - ExtraTrees.proxy.openGui(id, player, x, y, z); - } - } + @Override + public void onRightClick(World world, EntityPlayer player, int x, int y, int z) { + ExtraTrees.proxy.openGui(id, player, x, y, z); + } + } - public abstract static class PackageExtraTreeMachine extends MachinePackage { - protected BinnieResource textureName; + public abstract static class PackageExtraTreeMachine extends MachinePackage { + protected BinnieResource textureName; - protected PackageExtraTreeMachine(String uid, String textureName, boolean powered) { - super(uid, powered); - this.textureName = Binnie.Resource.getFile(ExtraTrees.instance, ResourceType.Tile, textureName); - } + protected PackageExtraTreeMachine(String uid, String textureName, boolean powered) { + super(uid, powered); + this.textureName = Binnie.Resource.getFile(ExtraTrees.instance, ResourceType.Tile, textureName); + } - protected PackageExtraTreeMachine(String uid, BinnieResource textureName, boolean powered) { - super(uid, powered); - this.textureName = textureName; - } + protected PackageExtraTreeMachine(String uid, BinnieResource textureName, boolean powered) { + super(uid, powered); + this.textureName = textureName; + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } - @Override - public void renderMachine(Machine machine, double x, double y, double z, float partialTick, RenderBlocks renderer) { - MachineRendererForestry.renderMachine(textureName.getShortPath(), x, y, z, partialTick); - } - } + @Override + public void renderMachine( + Machine machine, double x, double y, double z, float partialTick, RenderBlocks renderer) { + MachineRendererForestry.renderMachine(textureName.getShortPath(), x, y, z, partialTick); + } + } } diff --git a/src/main/java/binnie/extratrees/machines/MachineRendererForestry.java b/src/main/java/binnie/extratrees/machines/MachineRendererForestry.java index 1019fcc3..4f891ed2 100644 --- a/src/main/java/binnie/extratrees/machines/MachineRendererForestry.java +++ b/src/main/java/binnie/extratrees/machines/MachineRendererForestry.java @@ -1,37 +1,50 @@ package binnie.extratrees.machines; import forestry.core.render.TankRenderInfo; -import net.minecraftforge.common.util.ForgeDirection; - import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; +import net.minecraftforge.common.util.ForgeDirection; public class MachineRendererForestry { - static Map instances = new HashMap<>(); - static Method renderMethod; + static Map instances = new HashMap<>(); + static Method renderMethod; - private static void loadMethod(String file, boolean waterTank, boolean productTank) { - try { - Class cls = Class.forName("forestry.core.render.RenderMachine"); - Object instance = cls.getConstructor(String.class).newInstance(file); - MachineRendererForestry.renderMethod = cls.getDeclaredMethod("render", TankRenderInfo.class, TankRenderInfo.class, ForgeDirection.class, Double.TYPE, Double.TYPE, Double.TYPE); - MachineRendererForestry.renderMethod.setAccessible(true); - MachineRendererForestry.instances.put(file, instance); - } catch (Exception ex) { - // ex.printStackTrace(); - } - } + private static void loadMethod(String file, boolean waterTank, boolean productTank) { + try { + Class cls = Class.forName("forestry.core.render.RenderMachine"); + Object instance = cls.getConstructor(String.class).newInstance(file); + MachineRendererForestry.renderMethod = cls.getDeclaredMethod( + "render", + TankRenderInfo.class, + TankRenderInfo.class, + ForgeDirection.class, + Double.TYPE, + Double.TYPE, + Double.TYPE); + MachineRendererForestry.renderMethod.setAccessible(true); + MachineRendererForestry.instances.put(file, instance); + } catch (Exception ex) { + // ex.printStackTrace(); + } + } - public static void renderMachine(String name, double x, double y, double z, float var8) { - if (!MachineRendererForestry.instances.containsKey(name)) { - loadMethod(name, false, false); - } + public static void renderMachine(String name, double x, double y, double z, float var8) { + if (!MachineRendererForestry.instances.containsKey(name)) { + loadMethod(name, false, false); + } - try { - MachineRendererForestry.renderMethod.invoke(MachineRendererForestry.instances.get(name), TankRenderInfo.EMPTY, TankRenderInfo.EMPTY, ForgeDirection.UP, x, y, z); - } catch (Exception ex) { - // ex.printStackTrace(); - } - } + try { + MachineRendererForestry.renderMethod.invoke( + MachineRendererForestry.instances.get(name), + TankRenderInfo.EMPTY, + TankRenderInfo.EMPTY, + ForgeDirection.UP, + x, + y, + z); + } catch (Exception ex) { + // ex.printStackTrace(); + } + } } diff --git a/src/main/java/binnie/extratrees/machines/ModuleMachine.java b/src/main/java/binnie/extratrees/machines/ModuleMachine.java index d52df8c5..76cedbd7 100644 --- a/src/main/java/binnie/extratrees/machines/ModuleMachine.java +++ b/src/main/java/binnie/extratrees/machines/ModuleMachine.java @@ -12,66 +12,91 @@ import net.minecraft.init.Items; import net.minecraftforge.oredict.ShapedOreRecipe; public class ModuleMachine implements IInitializable { - @Override - public void preInit() { - MachineGroup machineGroup = new MachineGroup(ExtraTrees.instance, "machine", "machine", ExtraTreeMachine.values()); - machineGroup.setCreativeTab(Tabs.tabArboriculture); - ExtraTrees.blockMachine = machineGroup.getBlock(); - } + @Override + public void preInit() { + MachineGroup machineGroup = + new MachineGroup(ExtraTrees.instance, "machine", "machine", ExtraTreeMachine.values()); + machineGroup.setCreativeTab(Tabs.tabArboriculture); + ExtraTrees.blockMachine = machineGroup.getBlock(); + } - @Override - public void init() { - // ignore - } + @Override + public void init() { + // ignore + } - @Override - public void postInit() { - GameRegistry.addRecipe(new ShapedOreRecipe( - ExtraTreeMachine.Lumbermill.get(1), - new Object[]{ - "gAg", "GsG", "gPg", - 'G', Blocks.glass, - 'g', ExtraTreeItems.ProvenGear.get(1), - 'A', Items.iron_axe, - 's', Mods.forestry.stack("sturdyMachine"), - 'P', "gearBronze" - } - )); + @Override + public void postInit() { + GameRegistry.addRecipe(new ShapedOreRecipe(ExtraTreeMachine.Lumbermill.get(1), new Object[] { + "gAg", + "GsG", + "gPg", + 'G', + Blocks.glass, + 'g', + ExtraTreeItems.ProvenGear.get(1), + 'A', + Items.iron_axe, + 's', + Mods.forestry.stack("sturdyMachine"), + 'P', + "gearBronze" + })); - GameRegistry.addRecipe(new ShapedOreRecipe( - ExtraTreeMachine.Woodworker.get(1), - "wGw", "GsG", "ggg", - 'G', Blocks.glass, - 'g', ExtraTreeItems.ProvenGear.get(1), - 'w', Blocks.planks, - 's', Mods.forestry.stack("impregnatedCasing") - )); + GameRegistry.addRecipe(new ShapedOreRecipe( + ExtraTreeMachine.Woodworker.get(1), + "wGw", + "GsG", + "ggg", + 'G', + Blocks.glass, + 'g', + ExtraTreeItems.ProvenGear.get(1), + 'w', + Blocks.planks, + 's', + Mods.forestry.stack("impregnatedCasing"))); - GameRegistry.addRecipe(new ShapedOreRecipe( - ExtraTreeMachine.Panelworker.get(1), - "wGw", "GsG", "ggg", - 'G', Blocks.glass, - 'g', ExtraTreeItems.ProvenGear.get(1), - 'w', Blocks.wooden_slab, - 's', Mods.forestry.stack("impregnatedCasing") - )); + GameRegistry.addRecipe(new ShapedOreRecipe( + ExtraTreeMachine.Panelworker.get(1), + "wGw", + "GsG", + "ggg", + 'G', + Blocks.glass, + 'g', + ExtraTreeItems.ProvenGear.get(1), + 'w', + Blocks.wooden_slab, + 's', + Mods.forestry.stack("impregnatedCasing"))); - GameRegistry.addRecipe(new ShapedOreRecipe( - ExtraTreeMachine.Glassworker.get(1), - "wGw", "GsG", "ggg", - 'G', Blocks.glass, - 'g', ExtraTreeItems.ProvenGear.get(1), - 'w', Blocks.glass, - 's', Mods.forestry.stack("impregnatedCasing") - )); + GameRegistry.addRecipe(new ShapedOreRecipe( + ExtraTreeMachine.Glassworker.get(1), + "wGw", + "GsG", + "ggg", + 'G', + Blocks.glass, + 'g', + ExtraTreeItems.ProvenGear.get(1), + 'w', + Blocks.glass, + 's', + Mods.forestry.stack("impregnatedCasing"))); - GameRegistry.addRecipe(new ShapedOreRecipe( - ExtraTreeMachine.Tileworker.get(1), - "wGw", "GsG", "ggg", - 'G', Blocks.glass, - 'g', ExtraTreeItems.ProvenGear.get(1), - 'w', Items.clay_ball, - 's', Mods.forestry.stack("impregnatedCasing") - )); - } + GameRegistry.addRecipe(new ShapedOreRecipe( + ExtraTreeMachine.Tileworker.get(1), + "wGw", + "GsG", + "ggg", + 'G', + Blocks.glass, + 'g', + ExtraTreeItems.ProvenGear.get(1), + 'w', + Items.clay_ball, + 's', + Mods.forestry.stack("impregnatedCasing"))); + } } diff --git a/src/main/java/binnie/extratrees/machines/designer/CarpenterPackage.java b/src/main/java/binnie/extratrees/machines/designer/CarpenterPackage.java index c1abc82a..747082b8 100644 --- a/src/main/java/binnie/extratrees/machines/designer/CarpenterPackage.java +++ b/src/main/java/binnie/extratrees/machines/designer/CarpenterPackage.java @@ -1,6 +1,5 @@ package binnie.extratrees.machines.designer; - import binnie.core.craftgui.minecraft.IMachineInformation; import binnie.core.machines.Machine; import binnie.core.machines.inventory.ComponentInventorySlots; @@ -8,27 +7,24 @@ import binnie.extratrees.core.ExtraTreesGUID; import binnie.extratrees.machines.ExtraTreeMachine; public abstract class CarpenterPackage extends ExtraTreeMachine.PackageExtraTreeMachine implements IMachineInformation { - private DesignerType type; + private DesignerType type; - public CarpenterPackage(DesignerType type) { - super(type.name, type.texture, false); - this.type = type; - } + public CarpenterPackage(DesignerType type) { + super(type.name, type.texture, false); + this.type = type; + } - @Override - public void createMachine(Machine machine) { - new ExtraTreeMachine.ComponentExtraTreeGUI(machine, ExtraTreesGUID.Woodworker); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + @Override + public void createMachine(Machine machine) { + new ExtraTreeMachine.ComponentExtraTreeGUI(machine, ExtraTreesGUID.Woodworker); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - inventory.addSlot(Designer.GLUE_SLOT, "polish") - .setValidator(new PolishSlotValidator(type)); + inventory.addSlot(Designer.GLUE_SLOT, "polish").setValidator(new PolishSlotValidator(type)); - inventory.addSlot(Designer.DESIGN_1_SLOT, "wood") - .setValidator(new PlanksSlotValidator(type)); + inventory.addSlot(Designer.DESIGN_1_SLOT, "wood").setValidator(new PlanksSlotValidator(type)); - inventory.addSlot(Designer.DESIGN_2_SLOT, "wood") - .setValidator(new PlanksSlotValidator(type)); + inventory.addSlot(Designer.DESIGN_2_SLOT, "wood").setValidator(new PlanksSlotValidator(type)); - new WoodworkerRecipeComponent(machine, type); - } + new WoodworkerRecipeComponent(machine, type); + } } diff --git a/src/main/java/binnie/extratrees/machines/designer/Designer.java b/src/main/java/binnie/extratrees/machines/designer/Designer.java index 908b2a5a..daa8a91c 100644 --- a/src/main/java/binnie/extratrees/machines/designer/Designer.java +++ b/src/main/java/binnie/extratrees/machines/designer/Designer.java @@ -1,7 +1,7 @@ package binnie.extratrees.machines.designer; public abstract class Designer { - public static final int GLUE_SLOT = 0; - public static final int DESIGN_1_SLOT = 1; - public static final int DESIGN_2_SLOT = 2; + public static final int GLUE_SLOT = 0; + public static final int DESIGN_1_SLOT = 1; + public static final int DESIGN_2_SLOT = 2; } diff --git a/src/main/java/binnie/extratrees/machines/designer/DesignerType.java b/src/main/java/binnie/extratrees/machines/designer/DesignerType.java index d873f430..e6cd406b 100644 --- a/src/main/java/binnie/extratrees/machines/designer/DesignerType.java +++ b/src/main/java/binnie/extratrees/machines/designer/DesignerType.java @@ -12,82 +12,81 @@ import binnie.extratrees.carpentry.DesignSystem; import binnie.extratrees.carpentry.EnumDesign; import binnie.extratrees.carpentry.ModuleCarpentry; import binnie.extratrees.core.ExtraTreeTexture; +import java.util.Locale; import net.minecraft.item.ItemStack; -import java.util.Locale; - public enum DesignerType { - WOODWORKER(ExtraTreeTexture.carpenterTexture), - PANELWORKER(ExtraTreeTexture.panelerTexture), - GLASSWORKER(ExtraTreeTexture.panelerTexture), - TILEWORKER(ExtraTreeTexture.tileworkerTexture); + WOODWORKER(ExtraTreeTexture.carpenterTexture), + PANELWORKER(ExtraTreeTexture.panelerTexture), + GLASSWORKER(ExtraTreeTexture.panelerTexture), + TILEWORKER(ExtraTreeTexture.tileworkerTexture); - public String name; - public String texture; + public String name; + public String texture; - DesignerType(String texture) { - this.name = name().toLowerCase(Locale.ENGLISH); - this.texture = texture; - } + DesignerType(String texture) { + this.name = name().toLowerCase(Locale.ENGLISH); + this.texture = texture; + } - public IDesignSystem getSystem() { - switch (this) { - case GLASSWORKER: { - return DesignSystem.Glass; - } - case TILEWORKER: { - return CeramicDesignSystem.instance; - } - default: { - return DesignSystem.Wood; - } - } - } + public IDesignSystem getSystem() { + switch (this) { + case GLASSWORKER: { + return DesignSystem.Glass; + } + case TILEWORKER: { + return CeramicDesignSystem.instance; + } + default: { + return DesignSystem.Wood; + } + } + } - public ItemStack getBlock(IDesignMaterial type1, IDesignMaterial type2, IDesign design) { - int stackSize = 2; - if (design == EnumDesign.Blank) { - type2 = type1; - stackSize = 1; - } + public ItemStack getBlock(IDesignMaterial type1, IDesignMaterial type2, IDesign design) { + int stackSize = 2; + if (design == EnumDesign.Blank) { + type2 = type1; + stackSize = 1; + } - ItemStack stack = ModuleCarpentry.getItemStack(getBlock(), type1, type2, design); - stack.stackSize = stackSize; - return stack; - } + ItemStack stack = ModuleCarpentry.getItemStack(getBlock(), type1, type2, design); + stack.stackSize = stackSize; + return stack; + } - private BlockDesign getBlock() { - switch (this) { - case GLASSWORKER: - return ExtraTrees.blockStained; + private BlockDesign getBlock() { + switch (this) { + case GLASSWORKER: + return ExtraTrees.blockStained; - case PANELWORKER: - return ExtraTrees.blockPanel; + case PANELWORKER: + return ExtraTrees.blockPanel; - case TILEWORKER: - return Botany.ceramicTile; - } - return ExtraTrees.blockCarpentry; - } + case TILEWORKER: + return Botany.ceramicTile; + } + return ExtraTrees.blockCarpentry; + } - public ItemStack getDisplayStack(IDesign design) { - return getBlock(getSystem().getDefaultMaterial(), getSystem().getDefaultMaterial2(), design); - } + public ItemStack getDisplayStack(IDesign design) { + return getBlock(getSystem().getDefaultMaterial(), getSystem().getDefaultMaterial2(), design); + } - public String getMaterialTooltip() { - switch (this) { - case GLASSWORKER: - return I18N.localise("extratrees.machine.glassworker.material"); + public String getMaterialTooltip() { + switch (this) { + case GLASSWORKER: + return I18N.localise("extratrees.machine.glassworker.material"); - case PANELWORKER: - return I18N.localise("extratrees.machine.panelworker.material"); + case PANELWORKER: + return I18N.localise("extratrees.machine.panelworker.material"); - case TILEWORKER: - return I18N.localise("extratrees.machine.tileworker.material"); + case TILEWORKER: + return I18N.localise("extratrees.machine.tileworker.material"); - case WOODWORKER: - return I18N.localise("extratrees.machine.woodworker.material"); - } - return ""; - } + case WOODWORKER: + return I18N.localise("extratrees.machine.woodworker.material"); + } + return ""; + } } diff --git a/src/main/java/binnie/extratrees/machines/designer/GlassworkerPackage.java b/src/main/java/binnie/extratrees/machines/designer/GlassworkerPackage.java index 2cc8d66b..a4d326bf 100644 --- a/src/main/java/binnie/extratrees/machines/designer/GlassworkerPackage.java +++ b/src/main/java/binnie/extratrees/machines/designer/GlassworkerPackage.java @@ -1,7 +1,7 @@ package binnie.extratrees.machines.designer; public class GlassworkerPackage extends CarpenterPackage { - public GlassworkerPackage() { - super(DesignerType.GLASSWORKER); - } + public GlassworkerPackage() { + super(DesignerType.GLASSWORKER); + } } diff --git a/src/main/java/binnie/extratrees/machines/designer/PanelworkerPackage.java b/src/main/java/binnie/extratrees/machines/designer/PanelworkerPackage.java index 5d757472..6d87e6ed 100644 --- a/src/main/java/binnie/extratrees/machines/designer/PanelworkerPackage.java +++ b/src/main/java/binnie/extratrees/machines/designer/PanelworkerPackage.java @@ -1,7 +1,7 @@ package binnie.extratrees.machines.designer; public class PanelworkerPackage extends CarpenterPackage { - public PanelworkerPackage() { - super(DesignerType.PANELWORKER); - } + public PanelworkerPackage() { + super(DesignerType.PANELWORKER); + } } diff --git a/src/main/java/binnie/extratrees/machines/designer/PlanksSlotValidator.java b/src/main/java/binnie/extratrees/machines/designer/PlanksSlotValidator.java index e7ba1a7b..7629cb05 100644 --- a/src/main/java/binnie/extratrees/machines/designer/PlanksSlotValidator.java +++ b/src/main/java/binnie/extratrees/machines/designer/PlanksSlotValidator.java @@ -5,21 +5,21 @@ import binnie.extratrees.api.IDesignMaterial; import net.minecraft.item.ItemStack; public class PlanksSlotValidator extends SlotValidator { - protected DesignerType type; + protected DesignerType type; - public PlanksSlotValidator(DesignerType type) { - super(SlotValidator.IconBlock); - this.type = type; - } + public PlanksSlotValidator(DesignerType type) { + super(SlotValidator.IconBlock); + this.type = type; + } - @Override - public boolean isValid(ItemStack itemStack) { - IDesignMaterial mat = type.getSystem().getMaterial(itemStack); - return itemStack != null && mat != null; - } + @Override + public boolean isValid(ItemStack itemStack) { + IDesignMaterial mat = type.getSystem().getMaterial(itemStack); + return itemStack != null && mat != null; + } - @Override - public String getTooltip() { - return type.getMaterialTooltip(); - } + @Override + public String getTooltip() { + return type.getMaterialTooltip(); + } } diff --git a/src/main/java/binnie/extratrees/machines/designer/PolishSlotValidator.java b/src/main/java/binnie/extratrees/machines/designer/PolishSlotValidator.java index 5f7ad56a..f233d871 100644 --- a/src/main/java/binnie/extratrees/machines/designer/PolishSlotValidator.java +++ b/src/main/java/binnie/extratrees/machines/designer/PolishSlotValidator.java @@ -6,20 +6,20 @@ import binnie.extratrees.ExtraTrees; import net.minecraft.item.ItemStack; public class PolishSlotValidator extends SlotValidator { - protected DesignerType type; + protected DesignerType type; - public PolishSlotValidator(DesignerType type) { - super(new ValidatorIcon(ExtraTrees.instance, "validator/polish.0", "validator/polish.1")); - this.type = type; - } + public PolishSlotValidator(DesignerType type) { + super(new ValidatorIcon(ExtraTrees.instance, "validator/polish.0", "validator/polish.1")); + this.type = type; + } - @Override - public boolean isValid(ItemStack itemStack) { - return type.getSystem().getAdhesive().isItemEqual(itemStack); - } + @Override + public boolean isValid(ItemStack itemStack) { + return type.getSystem().getAdhesive().isItemEqual(itemStack); + } - @Override - public String getTooltip() { - return type.getSystem().getAdhesive().getDisplayName(); - } + @Override + public String getTooltip() { + return type.getSystem().getAdhesive().getDisplayName(); + } } diff --git a/src/main/java/binnie/extratrees/machines/designer/TileworkerPackage.java b/src/main/java/binnie/extratrees/machines/designer/TileworkerPackage.java index 255635cf..086cd9ae 100644 --- a/src/main/java/binnie/extratrees/machines/designer/TileworkerPackage.java +++ b/src/main/java/binnie/extratrees/machines/designer/TileworkerPackage.java @@ -1,7 +1,7 @@ package binnie.extratrees.machines.designer; public class TileworkerPackage extends CarpenterPackage { - public TileworkerPackage() { - super(DesignerType.TILEWORKER); - } + public TileworkerPackage() { + super(DesignerType.TILEWORKER); + } } diff --git a/src/main/java/binnie/extratrees/machines/designer/WoodworkerPackage.java b/src/main/java/binnie/extratrees/machines/designer/WoodworkerPackage.java index 21963fd5..289568dc 100644 --- a/src/main/java/binnie/extratrees/machines/designer/WoodworkerPackage.java +++ b/src/main/java/binnie/extratrees/machines/designer/WoodworkerPackage.java @@ -1,7 +1,7 @@ package binnie.extratrees.machines.designer; public class WoodworkerPackage extends CarpenterPackage { - public WoodworkerPackage() { - super(DesignerType.WOODWORKER); - } + public WoodworkerPackage() { + super(DesignerType.WOODWORKER); + } } diff --git a/src/main/java/binnie/extratrees/machines/designer/WoodworkerRecipeComponent.java b/src/main/java/binnie/extratrees/machines/designer/WoodworkerRecipeComponent.java index 0ecc78e6..3b1f4591 100644 --- a/src/main/java/binnie/extratrees/machines/designer/WoodworkerRecipeComponent.java +++ b/src/main/java/binnie/extratrees/machines/designer/WoodworkerRecipeComponent.java @@ -1,6 +1,5 @@ package binnie.extratrees.machines.designer; - import binnie.core.machines.Machine; import binnie.core.machines.component.ComponentRecipe; import binnie.core.machines.component.IComponentRecipe; @@ -13,138 +12,137 @@ import binnie.extratrees.api.IDesign; import binnie.extratrees.api.IDesignMaterial; import binnie.extratrees.carpentry.EnumDesign; import cpw.mods.fml.relauncher.Side; +import java.util.Map; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import java.util.Map; +public class WoodworkerRecipeComponent extends ComponentRecipe + implements IComponentRecipe, INetwork.GuiNBT, IErrorStateSource { + public DesignerType type; -public class WoodworkerRecipeComponent extends ComponentRecipe implements - IComponentRecipe, - INetwork.GuiNBT, - IErrorStateSource { - public DesignerType type; + private IDesign design; - private IDesign design; + public WoodworkerRecipeComponent(Machine machine, DesignerType type) { + super(machine); + design = EnumDesign.Diamond; + this.type = type; + } - public WoodworkerRecipeComponent(Machine machine, DesignerType type) { - super(machine); - design = EnumDesign.Diamond; - this.type = type; - } + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + super.readFromNBT(nbttagcompound); + setDesign(CarpentryManager.carpentryInterface.getDesign(nbttagcompound.getInteger("design"))); + } - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - setDesign(CarpentryManager.carpentryInterface.getDesign(nbttagcompound.getInteger("design"))); - } + @Override + public void writeToNBT(NBTTagCompound nbttagcompound) { + super.writeToNBT(nbttagcompound); + nbttagcompound.setInteger("design", CarpentryManager.carpentryInterface.getDesignIndex(design)); + } - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - nbttagcompound.setInteger("design", CarpentryManager.carpentryInterface.getDesignIndex(design)); - } + @Override + public boolean isRecipe() { + return getProduct() != null; + } - @Override - public boolean isRecipe() { - return getProduct() != null; - } + @Override + public ItemStack getProduct() { + ItemStack plank1 = getUtil().getStack(Designer.DESIGN_1_SLOT); + ItemStack plank2 = getUtil().getStack(Designer.DESIGN_2_SLOT); + if (plank1 == null || plank2 == null) { + return null; + } - @Override - public ItemStack getProduct() { - ItemStack plank1 = getUtil().getStack(Designer.DESIGN_1_SLOT); - ItemStack plank2 = getUtil().getStack(Designer.DESIGN_2_SLOT); - if (plank1 == null || plank2 == null) { - return null; - } + IDesignMaterial type1 = type.getSystem().getMaterial(plank1); + IDesignMaterial type2 = type.getSystem().getMaterial(plank2); + IDesign design = getDesign(); + ItemStack stack = type.getBlock(type1, type2, design); + return stack; + } - IDesignMaterial type1 = type.getSystem().getMaterial(plank1); - IDesignMaterial type2 = type.getSystem().getMaterial(plank2); - IDesign design = getDesign(); - ItemStack stack = type.getBlock(type1, type2, design); - return stack; - } + @Override + public ItemStack doRecipe(boolean takeItem) { + if (!isRecipe() || canWork() != null) { + return null; + } - @Override - public ItemStack doRecipe(boolean takeItem) { - if (!isRecipe() || canWork() != null) { - return null; - } + ItemStack product = getProduct(); + if (takeItem) { + ItemStack a = getUtil().decreaseStack(Designer.DESIGN_1_SLOT, 1); + if (a == null) { + getUtil().decreaseStack(Designer.DESIGN_2_SLOT, 1); + } else if (design != EnumDesign.Blank) { + getUtil().decreaseStack(Designer.DESIGN_2_SLOT, 1); + } + getUtil().decreaseStack(Designer.GLUE_SLOT, 1); + } + return product; + } - ItemStack product = getProduct(); - if (takeItem) { - ItemStack a = getUtil().decreaseStack(Designer.DESIGN_1_SLOT, 1); - if (a == null) { - getUtil().decreaseStack(Designer.DESIGN_2_SLOT, 1); - } else if (design != EnumDesign.Blank) { - getUtil().decreaseStack(Designer.DESIGN_2_SLOT, 1); - } - getUtil().decreaseStack(Designer.GLUE_SLOT, 1); - } - return product; - } + public IDesign getDesign() { + return design; + } - public IDesign getDesign() { - return design; - } + private void setDesign(IDesign design) { + this.design = design; + } - private void setDesign(IDesign design) { - this.design = design; - } + @Override + public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { + if (name.equals("recipe")) { + InventoryPlayer playerInv = player.inventory; + ItemStack recipe = doRecipe(false); + if (recipe == null) { + return; + } - @Override - public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { - if (name.equals("recipe")) { - InventoryPlayer playerInv = player.inventory; - ItemStack recipe = doRecipe(false); - if (recipe == null) { - return; - } + if (playerInv.getItemStack() == null) { + playerInv.setItemStack(doRecipe(true)); + } else if (playerInv.getItemStack().isItemEqual(recipe) + && ItemStack.areItemStackTagsEqual(playerInv.getItemStack(), recipe)) { + int fit = recipe.getMaxStackSize() - (recipe.stackSize + playerInv.getItemStack().stackSize); + if (fit >= 0) { + ItemStack doRecipe; + ItemStack rec = doRecipe = doRecipe(true); + doRecipe.stackSize += playerInv.getItemStack().stackSize; + playerInv.setItemStack(rec); + } + } - if (playerInv.getItemStack() == null) { - playerInv.setItemStack(doRecipe(true)); - } else if (playerInv.getItemStack().isItemEqual(recipe) && ItemStack.areItemStackTagsEqual(playerInv.getItemStack(), recipe)) { - int fit = recipe.getMaxStackSize() - (recipe.stackSize + playerInv.getItemStack().stackSize); - if (fit >= 0) { - ItemStack doRecipe; - ItemStack rec = doRecipe = doRecipe(true); - doRecipe.stackSize += playerInv.getItemStack().stackSize; - playerInv.setItemStack(rec); - } - } + player.openContainer.detectAndSendChanges(); + if (player instanceof EntityPlayerMP) { + ((EntityPlayerMP) player).updateHeldItem(); + } + } else if (name.equals("design")) { + setDesign(CarpentryManager.carpentryInterface.getDesign(nbt.getShort("d"))); + } + } - player.openContainer.detectAndSendChanges(); - if (player instanceof EntityPlayerMP) { - ((EntityPlayerMP) player).updateHeldItem(); - } - } else if (name.equals("design")) { - setDesign(CarpentryManager.carpentryInterface.getDesign(nbt.getShort("d"))); - } - } + @Override + public ErrorState canWork() { + if (getUtil().isSlotEmpty(Designer.GLUE_SLOT)) { + return new ErrorState.NoItem( + I18N.localise("extratrees.machine.worker.error.glueRequired"), Designer.GLUE_SLOT); + } + return null; + } - @Override - public ErrorState canWork() { - if (getUtil().isSlotEmpty(Designer.GLUE_SLOT)) { - return new ErrorState.NoItem(I18N.localise("extratrees.machine.worker.error.glueRequired"), Designer.GLUE_SLOT); - } - return null; - } + @Override + public ErrorState canProgress() { + return null; + } - @Override - public ErrorState canProgress() { - return null; - } + @Override + public void sendGuiNBT(Map nbts) { + NBTTagCompound tag = new NBTTagCompound(); + tag.setShort("d", (short) CarpentryManager.carpentryInterface.getDesignIndex(getDesign())); + nbts.put("design", tag); + } - @Override - public void sendGuiNBT(Map nbts) { - NBTTagCompound tag = new NBTTagCompound(); - tag.setShort("d", (short) CarpentryManager.carpentryInterface.getDesignIndex(getDesign())); - nbts.put("design", tag); - } - - public DesignerType getDesignerType() { - return type; - } + public DesignerType getDesignerType() { + return type; + } } diff --git a/src/main/java/binnie/extratrees/machines/lumbermill/LogSlotValidator.java b/src/main/java/binnie/extratrees/machines/lumbermill/LogSlotValidator.java index 3ffb2142..2d226e04 100644 --- a/src/main/java/binnie/extratrees/machines/lumbermill/LogSlotValidator.java +++ b/src/main/java/binnie/extratrees/machines/lumbermill/LogSlotValidator.java @@ -6,18 +6,18 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; public class LogSlotValidator extends SlotValidator { - public LogSlotValidator() { - super(SlotValidator.IconBlock); - } + public LogSlotValidator() { + super(SlotValidator.IconBlock); + } - @Override - public boolean isValid(ItemStack itemStack) { - String name = OreDictionary.getOreName(OreDictionary.getOreID(itemStack)); - return name.contains("logWood") && Lumbermill.getPlankProduct(itemStack) != null; - } + @Override + public boolean isValid(ItemStack itemStack) { + String name = OreDictionary.getOreName(OreDictionary.getOreID(itemStack)); + return name.contains("logWood") && Lumbermill.getPlankProduct(itemStack) != null; + } - @Override - public String getTooltip() { - return I18N.localise("extratrees.machine.lumbermill.logs"); - } + @Override + public String getTooltip() { + return I18N.localise("extratrees.machine.lumbermill.logs"); + } } diff --git a/src/main/java/binnie/extratrees/machines/lumbermill/Lumbermill.java b/src/main/java/binnie/extratrees/machines/lumbermill/Lumbermill.java index d3549423..a0d2b8d5 100644 --- a/src/main/java/binnie/extratrees/machines/lumbermill/Lumbermill.java +++ b/src/main/java/binnie/extratrees/machines/lumbermill/Lumbermill.java @@ -2,94 +2,95 @@ package binnie.extratrees.machines.lumbermill; import binnie.extratrees.block.IPlankType; import binnie.extratrees.block.WoodManager; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.ShapedRecipes; import net.minecraft.item.crafting.ShapelessRecipes; import net.minecraftforge.oredict.ShapelessOreRecipe; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - public class Lumbermill { - public static final int SLOT_WOOD = 0; - public static final int SLOT_PLANKS = 1; - public static final int SLOT_BARK = 2; - public static final int SLOT_SAWDUST = 3; - public static final int TANK_WATER = 0; - public static final int RF_COST = 900; - public static final int TIME_PERIOD = 30; - public static final int WATER_PER_TICK = 10; + public static final int SLOT_WOOD = 0; + public static final int SLOT_PLANKS = 1; + public static final int SLOT_BARK = 2; + public static final int SLOT_SAWDUST = 3; + public static final int TANK_WATER = 0; + public static final int RF_COST = 900; + public static final int TIME_PERIOD = 30; + public static final int WATER_PER_TICK = 10; - public static Map recipes = new HashMap<>(); + public static Map recipes = new HashMap<>(); - public static ItemStack getPlankProduct(ItemStack item) { - ItemStack stack = null; - if (Lumbermill.recipes.isEmpty()) { - calculateLumbermillProducts(); - } + public static ItemStack getPlankProduct(ItemStack item) { + ItemStack stack = null; + if (Lumbermill.recipes.isEmpty()) { + calculateLumbermillProducts(); + } - for (Map.Entry entry : Lumbermill.recipes.entrySet()) { - if (entry.getKey().isItemEqual(item)) { - stack = entry.getValue().copy(); - break; - } - } - stack.stackSize = 6; - return stack; - } + for (Map.Entry entry : Lumbermill.recipes.entrySet()) { + if (entry.getKey().isItemEqual(item)) { + stack = entry.getValue().copy(); + break; + } + } + stack.stackSize = 6; + return stack; + } - public static void calculateLumbermillProducts() { - for (IPlankType type : WoodManager.getAllPlankTypes()) { - for (ItemStack wood : getRecipeResult(type.getStack())) { - Lumbermill.recipes.put(wood, type.getStack()); - } - } - } + public static void calculateLumbermillProducts() { + for (IPlankType type : WoodManager.getAllPlankTypes()) { + for (ItemStack wood : getRecipeResult(type.getStack())) { + Lumbermill.recipes.put(wood, type.getStack()); + } + } + } - private static Collection getRecipeResult(ItemStack output) { - List list = new ArrayList<>(); - for (Object recipeO : CraftingManager.getInstance().getRecipeList()) { - if (recipeO instanceof ShapelessRecipes) { - ShapelessRecipes recipe = (ShapelessRecipes) recipeO; - if (recipe.recipeItems.size() != 1 || !(recipe.recipeItems.get(0) instanceof ItemStack)) { - continue; - } + private static Collection getRecipeResult(ItemStack output) { + List list = new ArrayList<>(); + for (Object recipeO : CraftingManager.getInstance().getRecipeList()) { + if (recipeO instanceof ShapelessRecipes) { + ShapelessRecipes recipe = (ShapelessRecipes) recipeO; + if (recipe.recipeItems.size() != 1 || !(recipe.recipeItems.get(0) instanceof ItemStack)) { + continue; + } - ItemStack input = (ItemStack) recipe.recipeItems.get(0); - if (recipe.getRecipeOutput() != null && recipe.getRecipeOutput().isItemEqual(output)) { - list.add(input); - } - } + ItemStack input = (ItemStack) recipe.recipeItems.get(0); + if (recipe.getRecipeOutput() != null && recipe.getRecipeOutput().isItemEqual(output)) { + list.add(input); + } + } - if (recipeO instanceof ShapedRecipes) { - ShapedRecipes recipe2 = (ShapedRecipes) recipeO; - if (recipe2.recipeItems.length != 1) { - continue; - } + if (recipeO instanceof ShapedRecipes) { + ShapedRecipes recipe2 = (ShapedRecipes) recipeO; + if (recipe2.recipeItems.length != 1) { + continue; + } - ItemStack input = recipe2.recipeItems[0]; - if (recipe2.getRecipeOutput() != null && recipe2.getRecipeOutput().isItemEqual(output)) { - list.add(input); - } - } + ItemStack input = recipe2.recipeItems[0]; + if (recipe2.getRecipeOutput() != null + && recipe2.getRecipeOutput().isItemEqual(output)) { + list.add(input); + } + } - if (recipeO instanceof ShapelessOreRecipe) { - ShapelessOreRecipe recipe3 = (ShapelessOreRecipe) recipeO; - if (recipe3.getInput().size() != 1 || !(recipe3.getInput().get(0) instanceof ItemStack)) { - continue; - } + if (recipeO instanceof ShapelessOreRecipe) { + ShapelessOreRecipe recipe3 = (ShapelessOreRecipe) recipeO; + if (recipe3.getInput().size() != 1 || !(recipe3.getInput().get(0) instanceof ItemStack)) { + continue; + } - ItemStack input = (ItemStack) recipe3.getInput().get(0); - if (recipe3.getRecipeOutput() == null || !recipe3.getRecipeOutput().isItemEqual(output)) { - continue; - } - list.add(input); - } - } - return list; - } + ItemStack input = (ItemStack) recipe3.getInput().get(0); + if (recipe3.getRecipeOutput() == null + || !recipe3.getRecipeOutput().isItemEqual(output)) { + continue; + } + list.add(input); + } + } + return list; + } } diff --git a/src/main/java/binnie/extratrees/machines/lumbermill/LumbermillComponentLogic.java b/src/main/java/binnie/extratrees/machines/lumbermill/LumbermillComponentLogic.java index 56fe260f..5a989a5e 100644 --- a/src/main/java/binnie/extratrees/machines/lumbermill/LumbermillComponentLogic.java +++ b/src/main/java/binnie/extratrees/machines/lumbermill/LumbermillComponentLogic.java @@ -11,58 +11,55 @@ import binnie.extratrees.item.ExtraTreeItems; import net.minecraft.item.ItemStack; public class LumbermillComponentLogic extends ComponentProcessSetCost implements IProcess { - public LumbermillComponentLogic(Machine machine) { - super(machine, Lumbermill.RF_COST, Lumbermill.TIME_PERIOD); - } + public LumbermillComponentLogic(Machine machine) { + super(machine, Lumbermill.RF_COST, Lumbermill.TIME_PERIOD); + } - @Override - public ErrorState canWork() { - if (getUtil().isSlotEmpty(Lumbermill.SLOT_WOOD)) { - return new ErrorState.NoItem( - I18N.localise("extratrees.machine.lumbermill.error.noWood"), - Lumbermill.SLOT_WOOD - ); - } + @Override + public ErrorState canWork() { + if (getUtil().isSlotEmpty(Lumbermill.SLOT_WOOD)) { + return new ErrorState.NoItem( + I18N.localise("extratrees.machine.lumbermill.error.noWood"), Lumbermill.SLOT_WOOD); + } - ItemStack result = Lumbermill.getPlankProduct(getUtil().getStack(Lumbermill.SLOT_WOOD)); - if (!getUtil().isSlotEmpty(Lumbermill.SLOT_PLANKS) && result != null) { - ItemStack currentPlank = getUtil().getStack(Lumbermill.SLOT_PLANKS); - if (!result.isItemEqual(currentPlank) || result.stackSize + currentPlank.stackSize > currentPlank.getMaxStackSize()) { - return new ErrorState.NoSpace( - I18N.localise("extratrees.machine.lumbermill.error.noRoom"), - Lumbermill.SLOT_PLANKS - ); - } - } - return super.canWork(); - } + ItemStack result = Lumbermill.getPlankProduct(getUtil().getStack(Lumbermill.SLOT_WOOD)); + if (!getUtil().isSlotEmpty(Lumbermill.SLOT_PLANKS) && result != null) { + ItemStack currentPlank = getUtil().getStack(Lumbermill.SLOT_PLANKS); + if (!result.isItemEqual(currentPlank) + || result.stackSize + currentPlank.stackSize > currentPlank.getMaxStackSize()) { + return new ErrorState.NoSpace( + I18N.localise("extratrees.machine.lumbermill.error.noRoom"), Lumbermill.SLOT_PLANKS); + } + } + return super.canWork(); + } - @Override - public ErrorState canProgress() { - if (!getUtil().liquidInTank(Lumbermill.TANK_WATER, 5)) { - return new ErrorState.InsufficientLiquid( - I18N.localise("extratrees.machine.lumbermill.error.noWater"), - Lumbermill.TANK_WATER - ); - } - return super.canProgress(); - } + @Override + public ErrorState canProgress() { + if (!getUtil().liquidInTank(Lumbermill.TANK_WATER, 5)) { + return new ErrorState.InsufficientLiquid( + I18N.localise("extratrees.machine.lumbermill.error.noWater"), Lumbermill.TANK_WATER); + } + return super.canProgress(); + } - @Override - protected void onFinishTask() { - ItemStack result = Lumbermill.getPlankProduct(getUtil().getStack(Lumbermill.SLOT_WOOD)); - if (result == null) { - return; - } + @Override + protected void onFinishTask() { + ItemStack result = Lumbermill.getPlankProduct(getUtil().getStack(Lumbermill.SLOT_WOOD)); + if (result == null) { + return; + } - getUtil().addStack(Lumbermill.SLOT_PLANKS, result); - getUtil().addStack(Lumbermill.SLOT_SAWDUST, ((ItemMisc) ExtraTrees.itemMisc).getStack(ExtraTreeItems.Sawdust, 1)); - getUtil().addStack(Lumbermill.SLOT_BARK, ((ItemMisc) ExtraTrees.itemMisc).getStack(ExtraTreeItems.Bark, 1)); - getUtil().decreaseStack(Lumbermill.SLOT_WOOD, 1); - } + getUtil().addStack(Lumbermill.SLOT_PLANKS, result); + getUtil() + .addStack( + Lumbermill.SLOT_SAWDUST, ((ItemMisc) ExtraTrees.itemMisc).getStack(ExtraTreeItems.Sawdust, 1)); + getUtil().addStack(Lumbermill.SLOT_BARK, ((ItemMisc) ExtraTrees.itemMisc).getStack(ExtraTreeItems.Bark, 1)); + getUtil().decreaseStack(Lumbermill.SLOT_WOOD, 1); + } - @Override - protected void onTickTask() { - getUtil().drainTank(Lumbermill.TANK_WATER, Lumbermill.WATER_PER_TICK); - } + @Override + protected void onTickTask() { + getUtil().drainTank(Lumbermill.TANK_WATER, Lumbermill.WATER_PER_TICK); + } } diff --git a/src/main/java/binnie/extratrees/machines/lumbermill/LumbermillPackage.java b/src/main/java/binnie/extratrees/machines/lumbermill/LumbermillPackage.java index b43ff47d..29dfc7a1 100644 --- a/src/main/java/binnie/extratrees/machines/lumbermill/LumbermillPackage.java +++ b/src/main/java/binnie/extratrees/machines/lumbermill/LumbermillPackage.java @@ -15,38 +15,38 @@ import binnie.extratrees.machines.ExtraTreeMachine; import net.minecraft.tileentity.TileEntity; public class LumbermillPackage extends ExtraTreeMachine.PackageExtraTreeMachine implements IMachineInformation { - public LumbermillPackage() { - super("lumbermill", ExtraTreeTexture.lumbermillTexture, true); - } + public LumbermillPackage() { + super("lumbermill", ExtraTreeTexture.lumbermillTexture, true); + } - @Override - public void createMachine(Machine machine) { - new ExtraTreeMachine.ComponentExtraTreeGUI(machine, ExtraTreesGUID.Lumbermill); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - - InventorySlot woodSlot = inventory.addSlot(Lumbermill.SLOT_WOOD, "input"); - woodSlot.setValidator(new LogSlotValidator()); - woodSlot.forbidExtraction(); + @Override + public void createMachine(Machine machine) { + new ExtraTreeMachine.ComponentExtraTreeGUI(machine, ExtraTreesGUID.Lumbermill); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - InventorySlot planksSlot = inventory.addSlot(Lumbermill.SLOT_PLANKS, "output"); - planksSlot.setReadOnly(); + InventorySlot woodSlot = inventory.addSlot(Lumbermill.SLOT_WOOD, "input"); + woodSlot.setValidator(new LogSlotValidator()); + woodSlot.forbidExtraction(); - InventorySlot barkSlot = inventory.addSlot(Lumbermill.SLOT_BARK, "byproduct"); - barkSlot.setReadOnly(); + InventorySlot planksSlot = inventory.addSlot(Lumbermill.SLOT_PLANKS, "output"); + planksSlot.setReadOnly(); - InventorySlot sawdustSlot = inventory.addSlot(Lumbermill.SLOT_SAWDUST, "byproduct"); - sawdustSlot.setReadOnly(); + InventorySlot barkSlot = inventory.addSlot(Lumbermill.SLOT_BARK, "byproduct"); + barkSlot.setReadOnly(); - ComponentTankContainer tanks = new ComponentTankContainer(machine); - TankSlot tankSlot = tanks.addTank(Lumbermill.TANK_WATER, "input", 10000); - tankSlot.setValidator(new TankValidator.Basic("water")); + InventorySlot sawdustSlot = inventory.addSlot(Lumbermill.SLOT_SAWDUST, "byproduct"); + sawdustSlot.setReadOnly(); - new ComponentPowerReceptor(machine); - new LumbermillComponentLogic(machine); - } + ComponentTankContainer tanks = new ComponentTankContainer(machine); + TankSlot tankSlot = tanks.addTank(Lumbermill.TANK_WATER, "input", 10000); + tankSlot.setValidator(new TankValidator.Basic("water")); - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } + new ComponentPowerReceptor(machine); + new LumbermillComponentLogic(machine); + } + + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } } diff --git a/src/main/java/binnie/extratrees/nei/IMCForNEI.java b/src/main/java/binnie/extratrees/nei/IMCForNEI.java index 81dea3b7..46e73f0c 100644 --- a/src/main/java/binnie/extratrees/nei/IMCForNEI.java +++ b/src/main/java/binnie/extratrees/nei/IMCForNEI.java @@ -35,4 +35,4 @@ public class IMCForNEI { private static void sendCatalyst(String aName, String aStack) { sendCatalyst(aName, aStack, 0); } -} \ No newline at end of file +} diff --git a/src/main/java/binnie/extratrees/nei/NEIExtraTreesConfig.java b/src/main/java/binnie/extratrees/nei/NEIExtraTreesConfig.java index 0a818e22..04db97dd 100644 --- a/src/main/java/binnie/extratrees/nei/NEIExtraTreesConfig.java +++ b/src/main/java/binnie/extratrees/nei/NEIExtraTreesConfig.java @@ -26,5 +26,4 @@ public class NEIExtraTreesConfig implements IConfigureNEI { public String getVersion() { return BinnieCore.VERSION; } - -} \ No newline at end of file +} diff --git a/src/main/java/binnie/extratrees/nei/NEIHandlerLumbermill.java b/src/main/java/binnie/extratrees/nei/NEIHandlerLumbermill.java index d3dffc7c..f771cf07 100644 --- a/src/main/java/binnie/extratrees/nei/NEIHandlerLumbermill.java +++ b/src/main/java/binnie/extratrees/nei/NEIHandlerLumbermill.java @@ -9,14 +9,13 @@ import binnie.extratrees.machines.lumbermill.Lumbermill; import codechicken.lib.gui.GuiDraw; import codechicken.nei.NEIServerUtils; import codechicken.nei.PositionedStack; -import net.minecraft.item.ItemStack; -import net.minecraft.util.StatCollector; -import net.minecraftforge.fluids.FluidStack; - import java.awt.*; import java.util.ArrayList; import java.util.List; import java.util.Map; +import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; +import net.minecraftforge.fluids.FluidStack; public class NEIHandlerLumbermill extends RecipeHandlerBase { @@ -58,17 +57,20 @@ public class NEIHandlerLumbermill extends RecipeHandlerBase { @Override public void loadAllRecipes() { - Lumbermill.recipes.forEach((wood, plank) -> this.arecipes.add(new CachedLumbermillRecipe(wood, Lumbermill.getPlankProduct(wood)))); + Lumbermill.recipes.forEach( + (wood, plank) -> this.arecipes.add(new CachedLumbermillRecipe(wood, Lumbermill.getPlankProduct(wood)))); } @Override public void loadCraftingRecipes(ItemStack result) { - if (NEIServerUtils.areStacksSameTypeCrafting(ExtraTreeItems.Sawdust.get(1), result) || (NEIServerUtils.areStacksSameTypeCrafting(ExtraTreeItems.Bark.get(1), result))) { + if (NEIServerUtils.areStacksSameTypeCrafting(ExtraTreeItems.Sawdust.get(1), result) + || (NEIServerUtils.areStacksSameTypeCrafting(ExtraTreeItems.Bark.get(1), result))) { this.loadAllRecipes(); } else { for (Map.Entry entry : Lumbermill.recipes.entrySet()) { if (NEIServerUtils.areStacksSameTypeCrafting(entry.getValue(), result)) { - this.arecipes.add(new CachedLumbermillRecipe(entry.getKey(), Lumbermill.getPlankProduct(entry.getKey()))); + this.arecipes.add( + new CachedLumbermillRecipe(entry.getKey(), Lumbermill.getPlankProduct(entry.getKey()))); } } } @@ -85,21 +87,22 @@ public class NEIHandlerLumbermill extends RecipeHandlerBase { public void loadUsageRecipes(ItemStack ingredient) { for (Map.Entry entry : Lumbermill.recipes.entrySet()) { if (NEIServerUtils.areStacksSameTypeCrafting(entry.getKey(), ingredient)) { - this.arecipes.add(new CachedLumbermillRecipe(entry.getKey(), Lumbermill.getPlankProduct(entry.getKey()))); + this.arecipes.add( + new CachedLumbermillRecipe(entry.getKey(), Lumbermill.getPlankProduct(entry.getKey()))); } } } public class CachedLumbermillRecipe extends CachedBaseRecipe { - public PositionedFluidTank waterTank = new PositionedFluidTank(Binnie.Liquid.getLiquidStack("water", 300), 1000, new Rectangle(28, 6, 16, 58)); + public PositionedFluidTank waterTank = + new PositionedFluidTank(Binnie.Liquid.getLiquidStack("water", 300), 1000, new Rectangle(28, 6, 16, 58)); public PositionedStack bark = new PositionedStack(ExtraTreeItems.Sawdust.get(1), 123, 6); public PositionedStack sawDust = new PositionedStack(ExtraTreeItems.Bark.get(1), 123, 48); public PositionedStack wood; public PositionedStack plank; public List results = new ArrayList<>(); - public CachedLumbermillRecipe(ItemStack wood, ItemStack plank) { this.plank = new PositionedStack(plank, 105, 27); this.wood = new PositionedStack(wood, 53, 27); diff --git a/src/main/java/binnie/extratrees/proxy/IExtraTreeProxy.java b/src/main/java/binnie/extratrees/proxy/IExtraTreeProxy.java index 817d9923..f9f12246 100644 --- a/src/main/java/binnie/extratrees/proxy/IExtraTreeProxy.java +++ b/src/main/java/binnie/extratrees/proxy/IExtraTreeProxy.java @@ -2,5 +2,4 @@ package binnie.extratrees.proxy; import binnie.core.proxy.IProxyCore; -public interface IExtraTreeProxy extends IProxyCore { -} +public interface IExtraTreeProxy extends IProxyCore {} diff --git a/src/main/java/binnie/extratrees/proxy/Proxy.java b/src/main/java/binnie/extratrees/proxy/Proxy.java index a1310305..5ad231d9 100644 --- a/src/main/java/binnie/extratrees/proxy/Proxy.java +++ b/src/main/java/binnie/extratrees/proxy/Proxy.java @@ -4,7 +4,7 @@ import binnie.core.proxy.BinnieModProxy; import binnie.extratrees.ExtraTrees; public class Proxy extends BinnieModProxy implements IExtraTreeProxy { - public Proxy() { - super(ExtraTrees.instance); - } + public Proxy() { + super(ExtraTrees.instance); + } } diff --git a/src/main/java/binnie/extratrees/proxy/ProxyClient.java b/src/main/java/binnie/extratrees/proxy/ProxyClient.java index 0f0e3192..b8d2da30 100644 --- a/src/main/java/binnie/extratrees/proxy/ProxyClient.java +++ b/src/main/java/binnie/extratrees/proxy/ProxyClient.java @@ -4,8 +4,8 @@ import binnie.extratrees.genetics.FruitSprite; import forestry.api.core.ForestryAPI; public class ProxyClient extends Proxy implements IExtraTreeProxy { - @Override - public void init() { - ForestryAPI.textureManager.registerIconProvider(FruitSprite.Average); - } + @Override + public void init() { + ForestryAPI.textureManager.registerIconProvider(FruitSprite.Average); + } } diff --git a/src/main/java/binnie/extratrees/proxy/ProxyServer.java b/src/main/java/binnie/extratrees/proxy/ProxyServer.java index bce8deda..7ebcf7f9 100644 --- a/src/main/java/binnie/extratrees/proxy/ProxyServer.java +++ b/src/main/java/binnie/extratrees/proxy/ProxyServer.java @@ -1,4 +1,3 @@ package binnie.extratrees.proxy; -public class ProxyServer extends Proxy implements IExtraTreeProxy { -} +public class ProxyServer extends Proxy implements IExtraTreeProxy {} diff --git a/src/main/java/binnie/extratrees/village/ComponentVillageGrove.java b/src/main/java/binnie/extratrees/village/ComponentVillageGrove.java index e002f462..d2e2ae35 100644 --- a/src/main/java/binnie/extratrees/village/ComponentVillageGrove.java +++ b/src/main/java/binnie/extratrees/village/ComponentVillageGrove.java @@ -1,48 +1,72 @@ package binnie.extratrees.village; import forestry.apiculture.worldgen.ComponentVillageBeeHouse; +import java.util.List; +import java.util.Random; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.structure.StructureBoundingBox; import net.minecraft.world.gen.structure.StructureComponent; import net.minecraft.world.gen.structure.StructureVillagePieces; -import java.util.List; -import java.util.Random; - public class ComponentVillageGrove extends StructureVillagePieces.Village { - public ComponentVillageGrove() { - } + public ComponentVillageGrove() {} - public ComponentVillageGrove(StructureVillagePieces.Start start, int type, Random rand, StructureBoundingBox boundingBox, int coordBaseMode) { - super(start, type); - this.coordBaseMode = coordBaseMode; - this.boundingBox = boundingBox; - } + public ComponentVillageGrove( + StructureVillagePieces.Start start, + int type, + Random rand, + StructureBoundingBox boundingBox, + int coordBaseMode) { + super(start, type); + this.coordBaseMode = coordBaseMode; + this.boundingBox = boundingBox; + } - public static StructureBoundingBox func_74904_a(StructureVillagePieces.Start start, List pieces, Random rand, int p_74904_3_, int p_74904_4_, int p_74904_5_, int p_74904_6_) { - StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(p_74904_3_, p_74904_4_, p_74904_5_, 0, 0, 0, 3, 3, 3, p_74904_6_); - return (StructureComponent.findIntersecting(pieces, structureboundingbox) != null) ? null : structureboundingbox; - } + public static StructureBoundingBox func_74904_a( + StructureVillagePieces.Start start, + List pieces, + Random rand, + int p_74904_3_, + int p_74904_4_, + int p_74904_5_, + int p_74904_6_) { + StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox( + p_74904_3_, p_74904_4_, p_74904_5_, 0, 0, 0, 3, 3, 3, p_74904_6_); + return (StructureComponent.findIntersecting(pieces, structureboundingbox) != null) + ? null + : structureboundingbox; + } - public static ComponentVillageBeeHouse buildComponent(StructureVillagePieces.Start startPiece, List par1List, Random random, int par3, int par4, int par5, int par6, int par7) { - System.out.println("GROVE1"); - StructureBoundingBox bbox = StructureBoundingBox.getComponentToAddBoundingBox(par3, par4, par5, 0, 0, 0, 9, 9, 10, par6); - return (canVillageGoDeeper(bbox) && StructureComponent.findIntersecting(par1List, bbox) == null) ? new ComponentVillageBeeHouse(startPiece, par7, random, bbox, par6) : null; - } + public static ComponentVillageBeeHouse buildComponent( + StructureVillagePieces.Start startPiece, + List par1List, + Random random, + int par3, + int par4, + int par5, + int par6, + int par7) { + System.out.println("GROVE1"); + StructureBoundingBox bbox = + StructureBoundingBox.getComponentToAddBoundingBox(par3, par4, par5, 0, 0, 0, 9, 9, 10, par6); + return (canVillageGoDeeper(bbox) && StructureComponent.findIntersecting(par1List, bbox) == null) + ? new ComponentVillageBeeHouse(startPiece, par7, random, bbox, par6) + : null; + } - @Override - public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { - if (field_143015_k < 0) { - field_143015_k = getAverageGroundLevel(world, box); - if (field_143015_k < 0) { - return true; - } - boundingBox.offset(0, field_143015_k - boundingBox.maxY + 4 - 1, 0); - } - System.out.println("GROVE2"); - fillWithBlocks(world, box, 0, 0, 0, 3, 3, 3, Blocks.air, Blocks.air, false); - fillWithBlocks(world, box, 0, 0, 0, 3, 3, 3, Blocks.stone, Blocks.stone, true); - return true; - } + @Override + public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { + if (field_143015_k < 0) { + field_143015_k = getAverageGroundLevel(world, box); + if (field_143015_k < 0) { + return true; + } + boundingBox.offset(0, field_143015_k - boundingBox.maxY + 4 - 1, 0); + } + System.out.println("GROVE2"); + fillWithBlocks(world, box, 0, 0, 0, 3, 3, 3, Blocks.air, Blocks.air, false); + fillWithBlocks(world, box, 0, 0, 0, 3, 3, 3, Blocks.stone, Blocks.stone, true); + return true; + } } diff --git a/src/main/java/binnie/extratrees/worldgen/BlockType.java b/src/main/java/binnie/extratrees/worldgen/BlockType.java index e5502c62..de75c43b 100644 --- a/src/main/java/binnie/extratrees/worldgen/BlockType.java +++ b/src/main/java/binnie/extratrees/worldgen/BlockType.java @@ -5,18 +5,18 @@ import net.minecraft.block.Block; import net.minecraft.world.World; public class BlockType { - protected int meta; - protected Block block; + protected int meta; + protected Block block; - public BlockType(Block block, int meta) { - this.block = block; - this.meta = meta; - } + public BlockType(Block block, int meta) { + this.block = block; + this.meta = meta; + } - public void setBlock(World world, ITreeGenData tree, int x, int y, int z) { - world.setBlock(x, y, z, block, meta, 0); - if (world.getTileEntity(x, y, z) != null) { - world.removeTileEntity(x, y, z); - } - } + public void setBlock(World world, ITreeGenData tree, int x, int y, int z) { + world.setBlock(x, y, z, block, meta, 0); + if (world.getTileEntity(x, y, z) != null) { + world.removeTileEntity(x, y, z); + } + } } diff --git a/src/main/java/binnie/extratrees/worldgen/BlockTypeLeaf.java b/src/main/java/binnie/extratrees/worldgen/BlockTypeLeaf.java index d8b839e1..bbc65247 100644 --- a/src/main/java/binnie/extratrees/worldgen/BlockTypeLeaf.java +++ b/src/main/java/binnie/extratrees/worldgen/BlockTypeLeaf.java @@ -6,12 +6,12 @@ import forestry.api.world.ITreeGenData; import net.minecraft.world.World; public class BlockTypeLeaf extends BlockType { - public BlockTypeLeaf(boolean decay) { - super(decay ? Mods.forestry.block("leaves") : ExtraTrees.blockShrubLeaves, 0); - } + public BlockTypeLeaf(boolean decay) { + super(decay ? Mods.forestry.block("leaves") : ExtraTrees.blockShrubLeaves, 0); + } - @Override - public void setBlock(World world, ITreeGenData tree, int x, int y, int z) { - tree.setLeaves(world, null, x, y, z); - } + @Override + public void setBlock(World world, ITreeGenData tree, int x, int y, int z) { + tree.setLeaves(world, null, x, y, z); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/BlockTypeLog.java b/src/main/java/binnie/extratrees/worldgen/BlockTypeLog.java index c21b4054..899e9db8 100644 --- a/src/main/java/binnie/extratrees/worldgen/BlockTypeLog.java +++ b/src/main/java/binnie/extratrees/worldgen/BlockTypeLog.java @@ -5,15 +5,15 @@ import forestry.api.world.ITreeGenData; import net.minecraft.world.World; public class BlockTypeLog extends BlockType { - protected ILogType log; + protected ILogType log; - public BlockTypeLog(ILogType log) { - super(null, 0); - this.log = log; - } + public BlockTypeLog(ILogType log) { + super(null, 0); + this.log = log; + } - @Override - public void setBlock(World world, ITreeGenData tree, int x, int y, int z) { - log.placeBlock(world, x, y, z); - } + @Override + public void setBlock(World world, ITreeGenData tree, int x, int y, int z) { + log.placeBlock(world, x, y, z); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/BlockTypeVoid.java b/src/main/java/binnie/extratrees/worldgen/BlockTypeVoid.java index 2a912152..6ece11a3 100644 --- a/src/main/java/binnie/extratrees/worldgen/BlockTypeVoid.java +++ b/src/main/java/binnie/extratrees/worldgen/BlockTypeVoid.java @@ -4,15 +4,15 @@ import forestry.api.world.ITreeGenData; import net.minecraft.world.World; public class BlockTypeVoid extends BlockType { - public BlockTypeVoid() { - super(null, 0); - } + public BlockTypeVoid() { + super(null, 0); + } - @Override - public void setBlock(World world, ITreeGenData tree, int x, int y, int z) { - world.setBlockToAir(x, y, z); - if (world.getTileEntity(x, y, z) != null) { - world.removeTileEntity(x, y, z); - } - } + @Override + public void setBlock(World world, ITreeGenData tree, int x, int y, int z) { + world.setBlockToAir(x, y, z); + if (world.getTileEntity(x, y, z) != null) { + world.removeTileEntity(x, y, z); + } + } } diff --git a/src/main/java/binnie/extratrees/worldgen/DefaultTreeGenerator.java b/src/main/java/binnie/extratrees/worldgen/DefaultTreeGenerator.java index d4d7b5b0..af367bde 100644 --- a/src/main/java/binnie/extratrees/worldgen/DefaultTreeGenerator.java +++ b/src/main/java/binnie/extratrees/worldgen/DefaultTreeGenerator.java @@ -16,59 +16,60 @@ import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.common.util.ForgeDirection; public class DefaultTreeGenerator implements ITreeGenerator { - private ExtraTreeSpecies extraTreeSpecies; + private ExtraTreeSpecies extraTreeSpecies; - public DefaultTreeGenerator(ExtraTreeSpecies extraTreeSpecies) { - this.extraTreeSpecies = extraTreeSpecies; - } + public DefaultTreeGenerator(ExtraTreeSpecies extraTreeSpecies) { + this.extraTreeSpecies = extraTreeSpecies; + } - @Override - public void setLogBlock(ITreeGenome genome, World world, int x, int y, int z, ForgeDirection direction) { - if (extraTreeSpecies.wood != null) { - extraTreeSpecies.wood.placeBlock(world, x, y, z); - } - } + @Override + public void setLogBlock(ITreeGenome genome, World world, int x, int y, int z, ForgeDirection direction) { + if (extraTreeSpecies.wood != null) { + extraTreeSpecies.wood.placeBlock(world, x, y, z); + } + } - @Override - public void setLeaves(ITreeGenome genome, World world, GameProfile owner, int x, int y, int z, boolean decorative) { - boolean placed = world.setBlock(x, y, z, PluginArboriculture.blocks.leaves, 0, Constants.FLAG_BLOCK_SYNCH_AND_UPDATE); - if (!placed) { - return; - } + @Override + public void setLeaves(ITreeGenome genome, World world, GameProfile owner, int x, int y, int z, boolean decorative) { + boolean placed = + world.setBlock(x, y, z, PluginArboriculture.blocks.leaves, 0, Constants.FLAG_BLOCK_SYNCH_AND_UPDATE); + if (!placed) { + return; + } - Block block = world.getBlock(x, y, z); - if (PluginArboriculture.blocks.leaves != block) { - world.setBlockToAir(x, y, z); - return; - } + Block block = world.getBlock(x, y, z); + if (PluginArboriculture.blocks.leaves != block) { + world.setBlockToAir(x, y, z); + return; + } - TileLeaves tileLeaves = BlockForestryLeaves.getLeafTile(world, x, y, z); - if (tileLeaves == null) { - world.setBlockToAir(x, y, z); - return; - } + TileLeaves tileLeaves = BlockForestryLeaves.getLeafTile(world, x, y, z); + if (tileLeaves == null) { + world.setBlockToAir(x, y, z); + return; + } - tileLeaves.setOwner(owner); - if (decorative) { - tileLeaves.setDecorative(); - } + tileLeaves.setOwner(owner); + if (decorative) { + tileLeaves.setDecorative(); + } - tileLeaves.setTree(new Tree(genome)); - world.markBlockForUpdate(x, y, z); - } + tileLeaves.setTree(new Tree(genome)); + world.markBlockForUpdate(x, y, z); + } - @Override - public void setLogBlock(World world, int x, int y, int z, ForgeDirection direction) { - extraTreeSpecies.wood.placeBlock(world, x, y, z); - } + @Override + public void setLogBlock(World world, int x, int y, int z, ForgeDirection direction) { + extraTreeSpecies.wood.placeBlock(world, x, y, z); + } - @Override - public void setLeaves(World world, GameProfile player, int x, int y, int z, boolean arg5) { - // ignored - } + @Override + public void setLeaves(World world, GameProfile player, int x, int y, int z, boolean arg5) { + // ignored + } - @Override - public WorldGenerator getWorldGenerator(ITreeGenData tree) { - return extraTreeSpecies.getGenerator(tree); - } + @Override + public WorldGenerator getWorldGenerator(ITreeGenData tree) { + return extraTreeSpecies.getGenerator(tree); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenAcornOak.java b/src/main/java/binnie/extratrees/worldgen/WorldGenAcornOak.java index 2d6099b8..005a5d30 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenAcornOak.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenAcornOak.java @@ -3,32 +3,32 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenAcornOak extends WorldGenTree { - public WorldGenAcornOak(ITreeGenData tree) { - super(tree); - } + public WorldGenAcornOak(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = 3.0f; - float width = height * randBetween(0.45f, 0.5f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = 3.0f; + float width = height * randBetween(0.45f, 0.5f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.4f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.7f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.2f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.5f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.4f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.7f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.2f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.5f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(6, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenAspen.java b/src/main/java/binnie/extratrees/worldgen/WorldGenAspen.java index 10c67ce7..3275a6e0 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenAspen.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenAspen.java @@ -3,31 +3,31 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenAspen extends WorldGenTree { - public WorldGenAspen(ITreeGenData tree) { - super(tree); - } + public WorldGenAspen(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float bottom = randBetween(height / 2, height / 2 + 1) + 1; - float width = height * randBetween(0.25f, 0.35f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float bottom = randBetween(height / 2, height / 2 + 1) + 1; + float width = height * randBetween(0.25f, 0.35f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.5f * width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.9f, 1.1f) * width, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.4f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.5f * width, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.9f, 1.1f) * width, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.4f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(5, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(5, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenBalsamFir.java b/src/main/java/binnie/extratrees/worldgen/WorldGenBalsamFir.java index 692c32e0..9dfc9389 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenBalsamFir.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenBalsamFir.java @@ -3,33 +3,33 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenBalsamFir extends WorldGenTree { - public WorldGenBalsamFir(ITreeGenData tree) { - super(tree); - } + public WorldGenBalsamFir(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 2; - float bottom = 1.0f; - float width = height / randBetween(2.0f, 2.5f); - if (width > 7.0f) { - width = 7.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 2; + float bottom = 1.0f; + float width = height / randBetween(2.0f, 2.5f); + if (width > 7.0f) { + width = 7.0f; + } - float coneHeight = leafSpawn - bottom; - while (leafSpawn > bottom) { - float radius = 1.0f - (leafSpawn - bottom) / coneHeight; - radius *= width; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), radius, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.4f * width, 1, leaf, false); - } + float coneHeight = leafSpawn - bottom; + while (leafSpawn > bottom) { + float radius = 1.0f - (leafSpawn - bottom) / coneHeight; + radius *= width; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), radius, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.4f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(6, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenBanana.java b/src/main/java/binnie/extratrees/worldgen/WorldGenBanana.java index 90347982..a99227ff 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenBanana.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenBanana.java @@ -3,25 +3,25 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenBanana extends WorldGenTree { - public WorldGenBanana(ITreeGenData tree) { - super(tree); - } + public WorldGenBanana(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - bushiness = 0.9f; - generateTreeTrunk(height, girth); - int leafSpawn = height + 1; - float width = height / randBetween(1.8f, 2.0f); + @Override + public void generate() { + bushiness = 0.9f; + generateTreeTrunk(height, girth); + int leafSpawn = height + 1; + float width = height / randBetween(1.8f, 2.0f); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.9f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.9f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(6, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenBox.java b/src/main/java/binnie/extratrees/worldgen/WorldGenBox.java index a1f32dce..7d1b255a 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenBox.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenBox.java @@ -3,24 +3,24 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenBox extends WorldGenTree { - public WorldGenBox(ITreeGenData tree) { - super(tree); - } + public WorldGenBox(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float bottom = 0.0f; - float width = 1.5f; - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float bottom = 0.0f; + float width = 1.5f; + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + } - @Override - public void preGenerate() { - height = determineHeight(3, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(3, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenBrazilNut.java b/src/main/java/binnie/extratrees/worldgen/WorldGenBrazilNut.java index ba4bc01e..e16236f6 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenBrazilNut.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenBrazilNut.java @@ -3,31 +3,31 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenBrazilNut extends WorldGenTree { - public WorldGenBrazilNut(ITreeGenData tree) { - super(tree); - } + public WorldGenBrazilNut(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = height - 3; - float width = height * randBetween(0.25f, 0.3f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = height - 3; + float width = height * randBetween(0.25f, 0.3f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.5f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.5f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(7, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(7, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenBrazilwood.java b/src/main/java/binnie/extratrees/worldgen/WorldGenBrazilwood.java index 101ea7c9..1a51e9f9 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenBrazilwood.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenBrazilwood.java @@ -3,29 +3,29 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenBrazilwood extends WorldGenTree { - public WorldGenBrazilwood(ITreeGenData tree) { - super(tree); - } + public WorldGenBrazilwood(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float bottom = 1.0f; - float width = height * randBetween(0.15f, 0.2f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float bottom = 1.0f; + float width = height * randBetween(0.15f, 0.2f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.8f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.8f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + } - @Override - public void preGenerate() { - height = determineHeight(4, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(4, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenButternut.java b/src/main/java/binnie/extratrees/worldgen/WorldGenButternut.java index 096aeb3b..cdb9e982 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenButternut.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenButternut.java @@ -3,30 +3,30 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenButternut extends WorldGenTree { - public WorldGenButternut(ITreeGenData tree) { - super(tree); - } + public WorldGenButternut(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - int leafSpawn = height + 1; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.0f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 3.5f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 4.5f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 5.0f, 1, leaf, false); + @Override + public void generate() { + generateTreeTrunk(height, girth); + int leafSpawn = height + 1; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.0f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 3.5f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 4.5f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 5.0f, 1, leaf, false); - while (leafSpawn > 3) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 5.0f, 1, leaf, false); - } - if (rand.nextBoolean()) { - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 4.0f, 1, leaf, false); - } - } + while (leafSpawn > 3) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 5.0f, 1, leaf, false); + } + if (rand.nextBoolean()) { + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 4.0f, 1, leaf, false); + } + } - @Override - public void preGenerate() { - height = determineHeight(6, 3); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 3); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenCedar.java b/src/main/java/binnie/extratrees/worldgen/WorldGenCedar.java index 68bca1ff..92666eb3 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenCedar.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenCedar.java @@ -3,58 +3,58 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenCedar extends WorldGenTree { - public WorldGenCedar(ITreeGenData tree) { - super(tree); - } + public WorldGenCedar(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 3; - float bottom = randBetween(2, 3); - float width = height * randBetween(0.7f, 0.75f); - if (width > 7.0f) { - width = 7.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 3; + float bottom = randBetween(2, 3); + float width = height * randBetween(0.7f, 0.75f); + if (width > 7.0f) { + width = 7.0f; + } - float coneHeight = leafSpawn - bottom; - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), girth, 1, leaf, false); - } + float coneHeight = leafSpawn - bottom; + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), girth, 1, leaf, false); + } - for (leafSpawn = height + 3; leafSpawn > bottom; leafSpawn += 1 + rand.nextInt(2)) { - float cone = 1.0f - (leafSpawn - bottom) / coneHeight; - cone *= 2.0f - cone; + for (leafSpawn = height + 3; leafSpawn > bottom; leafSpawn += 1 + rand.nextInt(2)) { + float cone = 1.0f - (leafSpawn - bottom) / coneHeight; + cone *= 2.0f - cone; - float radius = (0.7f + rand.nextFloat() * 0.3f) * width; - radius *= cone; - if (radius < 2.0f) { - radius = 2.0f; - } + float radius = (0.7f + rand.nextFloat() * 0.3f) * width; + radius *= cone; + if (radius < 2.0f) { + radius = 2.0f; + } - float xOffset = (-width + rand.nextFloat() * 2.0f * width) / 2.0f; - xOffset *= cone; - if (xOffset > radius / 2.0f) { - xOffset = radius / 2.0f; - } + float xOffset = (-width + rand.nextFloat() * 2.0f * width) / 2.0f; + xOffset *= cone; + if (xOffset > radius / 2.0f) { + xOffset = radius / 2.0f; + } - float yOffset = (-width + rand.nextFloat() * 2.0f * width) / 2.0f; - yOffset *= cone; - if (yOffset > radius / 2.0f) { - yOffset = radius / 2.0f; - } + float yOffset = (-width + rand.nextFloat() * 2.0f * width) / 2.0f; + yOffset *= cone; + if (yOffset > radius / 2.0f) { + yOffset = radius / 2.0f; + } - generateCylinder(new Vector(xOffset, leafSpawn--, yOffset), 0.7f * radius, 1, leaf, false); - generateCylinder(new Vector(xOffset, leafSpawn--, yOffset), radius, 1, leaf, false); - generateCylinder(new Vector(xOffset, leafSpawn--, yOffset), 0.5f * radius, 1, leaf, false); - } + generateCylinder(new Vector(xOffset, leafSpawn--, yOffset), 0.7f * radius, 1, leaf, false); + generateCylinder(new Vector(xOffset, leafSpawn--, yOffset), radius, 1, leaf, false); + generateCylinder(new Vector(xOffset, leafSpawn--, yOffset), 0.5f * radius, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(6, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenClove.java b/src/main/java/binnie/extratrees/worldgen/WorldGenClove.java index 547fac14..08c92016 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenClove.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenClove.java @@ -3,31 +3,31 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenClove extends WorldGenTree { - public WorldGenClove(ITreeGenData tree) { - super(tree); - } + public WorldGenClove(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float bottom = 2.0f; - float width = height * randBetween(0.25f, 0.3f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float bottom = 2.0f; + float width = height * randBetween(0.25f, 0.3f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.6f, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.4f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.6f, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.4f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(4, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(4, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenCoconut.java b/src/main/java/binnie/extratrees/worldgen/WorldGenCoconut.java index 6538f810..d12ee358 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenCoconut.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenCoconut.java @@ -3,25 +3,25 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenCoconut extends WorldGenTree { - public WorldGenCoconut(ITreeGenData tree) { - super(tree); - } + public WorldGenCoconut(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float width = height * randBetween(0.35f, 0.4f); - if (width < 1.2) { - width = 1.55f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float width = height * randBetween(0.35f, 0.4f); + if (width < 1.2) { + width = 1.55f; + } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.6f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.6f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(6, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenCoffee.java b/src/main/java/binnie/extratrees/worldgen/WorldGenCoffee.java index 27789c83..632919ab 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenCoffee.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenCoffee.java @@ -3,30 +3,30 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenCoffee extends WorldGenTree { - public WorldGenCoffee(ITreeGenData tree) { - super(tree); - } + public WorldGenCoffee(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float bottom = 1.0f; - float width = height * randBetween(0.25f, 0.3f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float bottom = 1.0f; + float width = height * randBetween(0.25f, 0.3f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.3f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.3f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(3, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(3, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenCommonAlder.java b/src/main/java/binnie/extratrees/worldgen/WorldGenCommonAlder.java index b230e042..08cdf28f 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenCommonAlder.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenCommonAlder.java @@ -3,31 +3,31 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenCommonAlder extends WorldGenTree { - public WorldGenCommonAlder(ITreeGenData tree) { - super(tree); - } + public WorldGenCommonAlder(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = randBetween(1, 2); - float width = height * randBetween(0.4f, 0.45f); + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = randBetween(1, 2); + float width = height * randBetween(0.4f, 0.45f); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.3f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.3f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.4f, 1, leaf, false); - } + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.4f, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.4f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.4f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(5, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(5, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenCommonAsh.java b/src/main/java/binnie/extratrees/worldgen/WorldGenCommonAsh.java index 472d594c..7896c007 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenCommonAsh.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenCommonAsh.java @@ -3,28 +3,28 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenCommonAsh extends WorldGenTree { - public WorldGenCommonAsh(ITreeGenData tree) { - super(tree); - } + public WorldGenCommonAsh(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = randBetween(2, 3); - float width = height * randBetween(0.35f, 0.45f); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = randBetween(2, 3); + float width = height * randBetween(0.35f, 0.45f); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.95f, 1.05f) * width, 1, leaf, false); - } + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.95f, 1.05f) * width, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(5, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(5, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenCommonBeech.java b/src/main/java/binnie/extratrees/worldgen/WorldGenCommonBeech.java index fac21c40..710a3050 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenCommonBeech.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenCommonBeech.java @@ -3,25 +3,25 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenCommonBeech extends WorldGenTree { - public WorldGenCommonBeech(ITreeGenData tree) { - super(tree); - } + public WorldGenCommonBeech(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = randBetween(2, 3); - float width = height * randBetween(0.47f, 0.5f); + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = randBetween(2, 3); + float width = height * randBetween(0.47f, 0.5f); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); - } + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 1.0f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 1.0f, 1, leaf, false); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenCopperBeech.java b/src/main/java/binnie/extratrees/worldgen/WorldGenCopperBeech.java index 9e9f0ef7..1919bbfe 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenCopperBeech.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenCopperBeech.java @@ -3,7 +3,7 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenCopperBeech extends WorldGenCommonBeech { - public WorldGenCopperBeech(ITreeGenData tree) { - super(tree); - } + public WorldGenCopperBeech(ITreeGenData tree) { + super(tree); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenCypress.java b/src/main/java/binnie/extratrees/worldgen/WorldGenCypress.java index 3c23dd14..bda26539 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenCypress.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenCypress.java @@ -3,33 +3,33 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenCypress extends WorldGenTree { - public WorldGenCypress(ITreeGenData tree) { - super(tree); - } + public WorldGenCypress(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 2; - float bottom = 1.0f; - float width = height * randBetween(0.15f, 0.2f); - if (width > 7.0f) { - width = 7.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 2; + float bottom = 1.0f; + float width = height * randBetween(0.15f, 0.2f); + if (width > 7.0f) { + width = 7.0f; + } - float coneHeight = leafSpawn - bottom; - while (leafSpawn > bottom) { - float radius = (1.0f - (leafSpawn - bottom) / coneHeight) * (width - 1.0f) + 1; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), radius, 1, leaf, false); - } + float coneHeight = leafSpawn - bottom; + while (leafSpawn > bottom) { + float radius = (1.0f - (leafSpawn - bottom) / coneHeight) * (width - 1.0f) + 1; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), radius, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.4f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.4f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(6, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenDefault.java b/src/main/java/binnie/extratrees/worldgen/WorldGenDefault.java index 0d51348a..d345381c 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenDefault.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenDefault.java @@ -4,28 +4,28 @@ import binnie.extratrees.genetics.ExtraTreeSpecies; import forestry.api.world.ITreeGenData; public class WorldGenDefault extends WorldGenTree { - public WorldGenDefault(ITreeGenData tree) { - super(tree); - } + public WorldGenDefault(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - int leafSpawn = height + 1; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.0f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.5f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.9f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.9f, 1, leaf, false); - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + int leafSpawn = height + 1; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.0f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.5f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.9f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.9f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(5, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(5, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } - @Override - public BlockType getWood() { - return new BlockTypeLog(((ExtraTreeSpecies) treeGen.getGenome().getPrimary()).getLog()); - } + @Override + public BlockType getWood() { + return new BlockTypeLog(((ExtraTreeSpecies) treeGen.getGenome().getPrimary()).getLog()); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenDouglasFir.java b/src/main/java/binnie/extratrees/worldgen/WorldGenDouglasFir.java index d3320709..23ce45d2 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenDouglasFir.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenDouglasFir.java @@ -3,38 +3,38 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenDouglasFir extends WorldGenTree { - public WorldGenDouglasFir(ITreeGenData tree) { - super(tree); - } + public WorldGenDouglasFir(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float patchyBottom = height / 2; - float bottom = randBetween(3, 4); - float width = height * randBetween(0.35f, 0.4f); + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float patchyBottom = height / 2; + float bottom = randBetween(3, 4); + float width = height * randBetween(0.35f, 0.4f); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); - bushiness = 0.1f; - while (leafSpawn > patchyBottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.9f, 1.1f) * width, 1, leaf, false); - } + bushiness = 0.1f; + while (leafSpawn > patchyBottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.9f, 1.1f) * width, 1, leaf, false); + } - bushiness = 0.5f; - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.7f, 1.0f) * width, 1, leaf, false); - } + bushiness = 0.5f; + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.7f, 1.0f) * width, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.3f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.3f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(7, 3); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(7, 3); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenElder.java b/src/main/java/binnie/extratrees/worldgen/WorldGenElder.java index 4c4d4e1e..03e92a39 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenElder.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenElder.java @@ -3,32 +3,32 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenElder extends WorldGenTree { - public WorldGenElder(ITreeGenData tree) { - super(tree); - } + public WorldGenElder(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = 3.0f; - float width = height * randBetween(0.55f, 0.6f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = 3.0f; + float width = height * randBetween(0.55f, 0.6f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.4f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.4f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 1.0f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.4f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.4f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 1.0f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(4, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(4, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenElm.java b/src/main/java/binnie/extratrees/worldgen/WorldGenElm.java index 240e9d45..edcfe69d 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenElm.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenElm.java @@ -3,31 +3,31 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenElm extends WorldGenTree { - public WorldGenElm(ITreeGenData tree) { - super(tree); - } + public WorldGenElm(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = randBetween(2, 3); - float width = height * randBetween(0.45f, 0.5f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = randBetween(2, 3); + float width = height * randBetween(0.45f, 0.5f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.5f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.5f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(6, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenFloweringCrabapple.java b/src/main/java/binnie/extratrees/worldgen/WorldGenFloweringCrabapple.java index 3b93defb..8d9f64b5 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenFloweringCrabapple.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenFloweringCrabapple.java @@ -3,27 +3,27 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenFloweringCrabapple extends WorldGenTree { - public WorldGenFloweringCrabapple(ITreeGenData tree) { - super(tree); - } + public WorldGenFloweringCrabapple(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - int leafSpawn = height; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.5f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 3.0f, 1, leaf, false); + @Override + public void generate() { + generateTreeTrunk(height, girth); + int leafSpawn = height; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.5f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 3.0f, 1, leaf, false); - while (leafSpawn > 3) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 4.0f, 1, leaf, false); - } + while (leafSpawn > 3) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 4.0f, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.0f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.0f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(3, 6); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(3, 6); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenGingko.java b/src/main/java/binnie/extratrees/worldgen/WorldGenGingko.java index 6116afc2..86ffe211 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenGingko.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenGingko.java @@ -3,40 +3,40 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenGingko extends WorldGenTree { - public WorldGenGingko(ITreeGenData tree) { - super(tree); - } + public WorldGenGingko(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 2; - float bottom = 2.0f; - float width = height * randBetween(0.55f, 0.6f); - if (width > 7.0f) { - width = 7.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 2; + float bottom = 2.0f; + float width = height * randBetween(0.55f, 0.6f); + if (width > 7.0f) { + width = 7.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 2.0f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 2.0f, 1, leaf, false); - while (leafSpawn > bottom * 2.0f + 1.0f) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.5f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.9f, 1, leaf, false); - } + while (leafSpawn > bottom * 2.0f + 1.0f) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.5f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.9f, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.9f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.9f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(6, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenHawthorn.java b/src/main/java/binnie/extratrees/worldgen/WorldGenHawthorn.java index 97bc6113..de653e9b 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenHawthorn.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenHawthorn.java @@ -3,31 +3,31 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenHawthorn extends WorldGenTree { - public WorldGenHawthorn(ITreeGenData tree) { - super(tree); - } + public WorldGenHawthorn(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = randBetween(1, 2); - float width = height * randBetween(0.4f, 0.45f); - if (width < 1.5f) { - width = 1.5f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = randBetween(1, 2); + float width = height * randBetween(0.4f, 0.45f); + if (width < 1.5f) { + width = 1.5f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(4, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(4, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenHazel.java b/src/main/java/binnie/extratrees/worldgen/WorldGenHazel.java index 473046d7..70b3dfd1 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenHazel.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenHazel.java @@ -3,32 +3,32 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenHazel extends WorldGenTree { - public WorldGenHazel(ITreeGenData tree) { - super(tree); - } + public WorldGenHazel(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = 3.0f; - float width = height * randBetween(0.45f, 0.5f); - if (width < 2.5f) { - width = 2.5f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = 3.0f; + float width = height * randBetween(0.45f, 0.5f); + if (width < 2.5f) { + width = 2.5f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.3f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.6f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 1.2f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.3f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.6f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 1.2f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(5, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(5, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenHolly.java b/src/main/java/binnie/extratrees/worldgen/WorldGenHolly.java index 452b5dba..b59ecc83 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenHolly.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenHolly.java @@ -3,33 +3,33 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenHolly extends WorldGenTree { - public WorldGenHolly(ITreeGenData tree) { - super(tree); - } + public WorldGenHolly(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = 1.0f; - float width = height * randBetween(0.4f, 0.45f); - if (width < 1.5f) { - width = 1.5f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = 1.0f; + float width = height * randBetween(0.4f, 0.45f); + if (width < 1.5f) { + width = 1.5f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 1.0f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 1.0f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(4, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(4, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenHornbeam.java b/src/main/java/binnie/extratrees/worldgen/WorldGenHornbeam.java index f72e9414..759a41b8 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenHornbeam.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenHornbeam.java @@ -3,30 +3,30 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenHornbeam extends WorldGenTree { - public WorldGenHornbeam(ITreeGenData tree) { - super(tree); - } + public WorldGenHornbeam(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = 2.0f; - float width = height * randBetween(0.55f, 0.6f); - if (width < 1.5f) { - width = 1.5f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = 2.0f; + float width = height * randBetween(0.55f, 0.6f); + if (width < 1.5f) { + width = 1.5f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.3f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.3f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + } - @Override - public void preGenerate() { - height = determineHeight(5, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(5, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenIroko.java b/src/main/java/binnie/extratrees/worldgen/WorldGenIroko.java index 324b50d8..436d41a5 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenIroko.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenIroko.java @@ -3,29 +3,29 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenIroko extends WorldGenTree { - public WorldGenIroko(ITreeGenData tree) { - super(tree); - } + public WorldGenIroko(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float width = height * randBetween(0.45f, 0.5f); - if (width < 2.5f) { - width = 2.5f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float width = height * randBetween(0.45f, 0.5f); + if (width < 2.5f) { + width = 2.5f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.25f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.5f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.7f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 2.0f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.25f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.5f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.7f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 2.0f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(6, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenLazy.java b/src/main/java/binnie/extratrees/worldgen/WorldGenLazy.java index 45b9e85e..44b4843b 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenLazy.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenLazy.java @@ -3,27 +3,27 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenLazy extends WorldGenTree { - public WorldGenLazy(ITreeGenData tree) { - super(tree); - } + public WorldGenLazy(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float width = height * randBetween(0.35f, 0.4f); - if (width < 1.2) { - width = 1.55f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float width = height * randBetween(0.35f, 0.4f); + if (width < 1.2) { + width = 1.55f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.5f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.5f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(4, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(4, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenLoblollyPine.java b/src/main/java/binnie/extratrees/worldgen/WorldGenLoblollyPine.java index 199ee305..e13c8dbe 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenLoblollyPine.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenLoblollyPine.java @@ -3,32 +3,32 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenLoblollyPine extends WorldGenTree { - public WorldGenLoblollyPine(ITreeGenData tree) { - super(tree); - } + public WorldGenLoblollyPine(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 2; - float bottom = height * randBetween(0.65f, 0.7f); - float width = height * randBetween(0.25f, 0.3f); - if (width > 7.0f) { - width = 7.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 2; + float bottom = height * randBetween(0.65f, 0.7f); + float width = height * randBetween(0.25f, 0.3f); + if (width > 7.0f) { + width = 7.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.6f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.6f * width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(6, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenLocust.java b/src/main/java/binnie/extratrees/worldgen/WorldGenLocust.java index f3cf07ba..b456cd99 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenLocust.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenLocust.java @@ -3,34 +3,34 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenLocust extends WorldGenTree { - public WorldGenLocust(ITreeGenData tree) { - super(tree); - } + public WorldGenLocust(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = 2.0f; - float width = height * randBetween(0.35f, 0.4f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = 2.0f; + float width = height * randBetween(0.35f, 0.4f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); - while (leafSpawn > bottom + 1.0f) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.3f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.7f, 1, leaf, false); - } + while (leafSpawn > bottom + 1.0f) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.3f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.7f, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.4f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.4f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(6, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenLogwood.java b/src/main/java/binnie/extratrees/worldgen/WorldGenLogwood.java index 1b84c957..d1500015 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenLogwood.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenLogwood.java @@ -3,30 +3,30 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenLogwood extends WorldGenTree { - public WorldGenLogwood(ITreeGenData tree) { - super(tree); - } + public WorldGenLogwood(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float bottom = randBetween(1, 2); - float width = height * randBetween(0.25f, 0.3f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float bottom = randBetween(1, 2); + float width = height * randBetween(0.25f, 0.3f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.7f, 1, leaf, false); - } - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.7f, 1, leaf, false); + } + } - @Override - public void preGenerate() { - height = determineHeight(4, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(4, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenMango.java b/src/main/java/binnie/extratrees/worldgen/WorldGenMango.java index ae28aa3e..09aa2c0f 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenMango.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenMango.java @@ -3,35 +3,35 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenMango extends WorldGenTree { - public WorldGenMango(ITreeGenData tree) { - super(tree); - } + public WorldGenMango(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float width = height * randBetween(0.7f, 0.75f); - float bottom = 2.0f; - if (width < 1.2) { - width = 1.55f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float width = height * randBetween(0.7f, 0.75f); + float bottom = 2.0f; + if (width < 1.2) { + width = 1.55f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.3f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.5f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.7f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.8f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.9f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.3f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.5f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.7f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.8f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width * 0.9f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 1.0f, 1, leaf, false); - } + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 1.0f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(5, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(5, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenMonkeyPuzzle.java b/src/main/java/binnie/extratrees/worldgen/WorldGenMonkeyPuzzle.java index 3d3e8b5d..79b3b9d5 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenMonkeyPuzzle.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenMonkeyPuzzle.java @@ -3,30 +3,30 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenMonkeyPuzzle extends WorldGenTree { - public WorldGenMonkeyPuzzle(ITreeGenData tree) { - super(tree); - } + public WorldGenMonkeyPuzzle(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 2; - float width = height * randBetween(0.4f, 0.45f); - if (width > 7.0f) { - width = 7.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 2; + float width = height * randBetween(0.4f, 0.45f); + if (width > 7.0f) { + width = 7.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.35f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.55f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.75f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.9f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.0f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.5f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.35f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.55f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.75f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.9f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.0f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.5f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(9, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(9, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenOldFustic.java b/src/main/java/binnie/extratrees/worldgen/WorldGenOldFustic.java index 3d2dd1c4..c589b212 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenOldFustic.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenOldFustic.java @@ -3,30 +3,30 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenOldFustic extends WorldGenTree { - public WorldGenOldFustic(ITreeGenData tree) { - super(tree); - } + public WorldGenOldFustic(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float bottom = randBetween(1, 2); - float width = height * randBetween(0.25f, 0.3f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float bottom = randBetween(1, 2); + float width = height * randBetween(0.25f, 0.3f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.7f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); - } - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.7f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); + } + } - @Override - public void preGenerate() { - height = determineHeight(5, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(5, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenOlive.java b/src/main/java/binnie/extratrees/worldgen/WorldGenOlive.java index d03c98d7..6f9ee0d1 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenOlive.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenOlive.java @@ -3,27 +3,27 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenOlive extends WorldGenTree { - public WorldGenOlive(ITreeGenData tree) { - super(tree); - } + public WorldGenOlive(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float width = height * randBetween(0.35f, 0.4f); - if (width < 1.2) { - width = 1.55f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float width = height * randBetween(0.35f, 0.4f); + if (width < 1.2) { + width = 1.55f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.5f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.5f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(4, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(4, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenOrchardApple.java b/src/main/java/binnie/extratrees/worldgen/WorldGenOrchardApple.java index 23a8b979..5192cb8a 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenOrchardApple.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenOrchardApple.java @@ -3,26 +3,26 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenOrchardApple extends WorldGenTree { - public WorldGenOrchardApple(ITreeGenData tree) { - super(tree); - } + public WorldGenOrchardApple(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - int leafSpawn = height; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.5f, 1, leaf, false); + @Override + public void generate() { + generateTreeTrunk(height, girth); + int leafSpawn = height; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.5f, 1, leaf, false); - while (leafSpawn > 2) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.5f, 1, leaf, false); - } + while (leafSpawn > 2) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.5f, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 2.0f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 2.0f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(3, 6); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(3, 6); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenOsangeOsange.java b/src/main/java/binnie/extratrees/worldgen/WorldGenOsangeOsange.java index de937a9c..97ced63c 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenOsangeOsange.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenOsangeOsange.java @@ -3,30 +3,30 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenOsangeOsange extends WorldGenTree { - public WorldGenOsangeOsange(ITreeGenData tree) { - super(tree); - } + public WorldGenOsangeOsange(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float bottom = randBetween(1, 2); - float width = height * randBetween(0.2f, 0.25f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float bottom = randBetween(1, 2); + float width = height * randBetween(0.2f, 0.25f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.6f, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.6f, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(5, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(5, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenPear.java b/src/main/java/binnie/extratrees/worldgen/WorldGenPear.java index 2f55fc73..4a370343 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenPear.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenPear.java @@ -3,29 +3,29 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenPear extends WorldGenTree { - public WorldGenPear(ITreeGenData tree) { - super(tree); - } + public WorldGenPear(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float bottom = randBetween(1, 2); - float width = height * randBetween(0.25f, 0.3f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float bottom = randBetween(1, 2); + float width = height * randBetween(0.25f, 0.3f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + } - @Override - public void preGenerate() { - height = determineHeight(3, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(3, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenPecan.java b/src/main/java/binnie/extratrees/worldgen/WorldGenPecan.java index 5c0445a1..0f4553bb 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenPecan.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenPecan.java @@ -3,33 +3,33 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenPecan extends WorldGenTree { - public WorldGenPecan(ITreeGenData tree) { - super(tree); - } + public WorldGenPecan(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = 2.0f; - float width = height * randBetween(0.6f, 0.65f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = 2.0f; + float width = height * randBetween(0.6f, 0.65f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.3f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.6f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.9f * width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.6f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.3f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.6f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.9f * width, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.6f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(6, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenPrairieCrabapple.java b/src/main/java/binnie/extratrees/worldgen/WorldGenPrairieCrabapple.java index f65e2552..9009c85b 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenPrairieCrabapple.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenPrairieCrabapple.java @@ -3,28 +3,28 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenPrairieCrabapple extends WorldGenTree { - public WorldGenPrairieCrabapple(ITreeGenData tree) { - super(tree); - } + public WorldGenPrairieCrabapple(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - int leafSpawn = height; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.5f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.5f, 1, leaf, false); + @Override + public void generate() { + generateTreeTrunk(height, girth); + int leafSpawn = height; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.5f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.5f, 1, leaf, false); - while (leafSpawn > 3) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 3.0f, 1, leaf, false); - } + while (leafSpawn > 3) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 3.0f, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 3.0f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 2.0f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 3.0f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 2.0f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(4, 4); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(4, 4); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenPurpleheart.java b/src/main/java/binnie/extratrees/worldgen/WorldGenPurpleheart.java index 0d1b4053..77c58765 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenPurpleheart.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenPurpleheart.java @@ -3,28 +3,28 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenPurpleheart extends WorldGenTree { - public WorldGenPurpleheart(ITreeGenData tree) { - super(tree); - } + public WorldGenPurpleheart(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float width = height * randBetween(0.2f, 0.25f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float width = height * randBetween(0.2f, 0.25f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.7f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.7f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(7, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(7, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenRainbowGum.java b/src/main/java/binnie/extratrees/worldgen/WorldGenRainbowGum.java index 81bc74a2..a944c683 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenRainbowGum.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenRainbowGum.java @@ -3,32 +3,32 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenRainbowGum extends WorldGenTree { - public WorldGenRainbowGum(ITreeGenData tree) { - super(tree); - } + public WorldGenRainbowGum(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 2; - float bottom = randBetween(0.5f, 0.6f) * height; - float width = height * randBetween(0.15f, 0.2f); - if (width < 1.5f) { - width = 1.5f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 2; + float bottom = randBetween(0.5f, 0.6f) * height; + float width = height * randBetween(0.15f, 0.2f); + if (width < 1.5f) { + width = 1.5f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); - } - } + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); + } + } - @Override - public void preGenerate() { - height = determineHeight(7, 3); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(7, 3); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenRedMaple.java b/src/main/java/binnie/extratrees/worldgen/WorldGenRedMaple.java index 3b640cb6..1a6375cb 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenRedMaple.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenRedMaple.java @@ -3,39 +3,39 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenRedMaple extends WorldGenTree { - public WorldGenRedMaple(ITreeGenData tree) { - super(tree); - } + public WorldGenRedMaple(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 2; - float bottom = randBetween(1, 2); - float bottom2 = (height + bottom) / 2.0f; - float width = 2.0f; + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 2; + float bottom = randBetween(1, 2); + float bottom2 = (height + bottom) / 2.0f; + float width = 2.0f; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); - while (leafSpawn > bottom2) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.4f, 1, leaf, false); - } + while (leafSpawn > bottom2) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.4f, 1, leaf, false); + } - width += 0.6; - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.4f, 1, leaf, false); - } + width += 0.6; + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.4f, 1, leaf, false); + } - if (leafSpawn == bottom) { - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.6f, 1, leaf, false); - } - } + if (leafSpawn == bottom) { + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.6f, 1, leaf, false); + } + } - @Override - public void preGenerate() { - height = determineHeight(5, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(5, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenRoseGum.java b/src/main/java/binnie/extratrees/worldgen/WorldGenRoseGum.java index 1d130869..556bf46e 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenRoseGum.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenRoseGum.java @@ -4,42 +4,42 @@ import binnie.extratrees.block.ILogType; import forestry.api.world.ITreeGenData; public class WorldGenRoseGum extends WorldGenTree { - public WorldGenRoseGum(ITreeGenData tree) { - super(tree); - } + public WorldGenRoseGum(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - int offset = (girth - 1) / 2; - for (int x = 0; x < girth; ++x) { - for (int y = 0; y < girth; ++y) { - for (int i = 0; i < 2; ++i) { - addBlock(x - offset, i, y - offset, new BlockTypeLog(ILogType.ExtraTreeLog.Eucalyptus2), true); - } - } - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + int offset = (girth - 1) / 2; + for (int x = 0; x < girth; ++x) { + for (int y = 0; y < girth; ++y) { + for (int i = 0; i < 2; ++i) { + addBlock(x - offset, i, y - offset, new BlockTypeLog(ILogType.ExtraTreeLog.Eucalyptus2), true); + } + } + } - float leafSpawn = height + 2; - float bottom = randBetween(0.4f, 0.5f) * height; - float width = height * randBetween(0.05f, 0.1f); - if (width < 1.5f) { - width = 1.5f; - } + float leafSpawn = height + 2; + float bottom = randBetween(0.4f, 0.5f) * height; + float width = height * randBetween(0.05f, 0.1f); + if (width < 1.5f) { + width = 1.5f; + } - bushiness = 0.5f; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); + bushiness = 0.5f; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); - while (leafSpawn > bottom) { - bushiness = 0.1f; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.9f, 1.1f) * width, 1, leaf, false); - } - } + while (leafSpawn > bottom) { + bushiness = 0.1f; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.9f, 1.1f) * width, 1, leaf, false); + } + } - @Override - public void preGenerate() { - height = determineHeight(9, 3); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(9, 3); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenRosewood.java b/src/main/java/binnie/extratrees/worldgen/WorldGenRosewood.java index a03ce9d8..70980244 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenRosewood.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenRosewood.java @@ -3,31 +3,31 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenRosewood extends WorldGenTree { - public WorldGenRosewood(ITreeGenData tree) { - super(tree); - } + public WorldGenRosewood(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = randBetween(1, 2); - float width = height * randBetween(0.2f, 0.25f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = randBetween(1, 2); + float width = height * randBetween(0.2f, 0.25f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.7f, 1, leaf, false); - } - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.0f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.5f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.7f, 1, leaf, false); + } + } - @Override - public void preGenerate() { - height = determineHeight(6, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenRowan.java b/src/main/java/binnie/extratrees/worldgen/WorldGenRowan.java index 5c0010a4..25f9775f 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenRowan.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenRowan.java @@ -3,21 +3,21 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenRowan extends WorldGenTree { - public WorldGenRowan(ITreeGenData tree) { - super(tree); - } + public WorldGenRowan(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - int leafSpawn = height + 1; - float bottom = randBetween(2, 3); - float width = height * randBetween(0.5f, 0.6f); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.5f * width, 1, leaf, false); + @Override + public void generate() { + generateTreeTrunk(height, girth); + int leafSpawn = height + 1; + float bottom = randBetween(2, 3); + float width = height * randBetween(0.5f, 0.6f); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.5f * width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.95f, 1.05f) * width, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); - } + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.95f, 1.05f) * width, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenSallow.java b/src/main/java/binnie/extratrees/worldgen/WorldGenSallow.java index 7a42b765..ae96e648 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenSallow.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenSallow.java @@ -3,33 +3,33 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenSallow extends WorldGenTree { - public WorldGenSallow(ITreeGenData tree) { - super(tree); - } + public WorldGenSallow(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = 2.0f; - float width = height * randBetween(0.6f, 0.65f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = 2.0f; + float width = height * randBetween(0.6f, 0.65f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.3f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.6f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.9f * width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.6f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.3f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.6f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.9f * width, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.6f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(4, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(4, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenShrub.java b/src/main/java/binnie/extratrees/worldgen/WorldGenShrub.java index b340b8fb..51728483 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenShrub.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenShrub.java @@ -3,34 +3,34 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenShrub extends WorldGenTree { - public WorldGenShrub(ITreeGenData tree) { - super(tree); - } + public WorldGenShrub(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - float leafSpawn = height; - float width = height * randBetween(0.7f, 0.9f); - if (width < 1.5f) { - width = 1.5f; - } + @Override + public void generate() { + float leafSpawn = height; + float width = height * randBetween(0.7f, 0.9f); + if (width < 1.5f) { + width = 1.5f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); - while (leafSpawn >= 0.0f) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); + while (leafSpawn >= 0.0f) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + } - @Override - public void preGenerate() { - minHeight = 1; - height = determineHeight(1, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + minHeight = 1; + height = determineHeight(1, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } - @Override - public BlockType getLeaf() { - return new BlockTypeLeaf(false); - } + @Override + public BlockType getLeaf() { + return new BlockTypeLeaf(false); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenSilverFir.java b/src/main/java/binnie/extratrees/worldgen/WorldGenSilverFir.java index 36d833b3..fc5bce0e 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenSilverFir.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenSilverFir.java @@ -3,34 +3,34 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenSilverFir extends WorldGenTree { - public WorldGenSilverFir(ITreeGenData tree) { - super(tree); - } + public WorldGenSilverFir(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 2; - float bottom = randBetween(2, 3); - float width = height / randBetween(2.5f, 3.0f); - if (width > 7.0f) { - width = 7.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 2; + float bottom = randBetween(2, 3); + float width = height / randBetween(2.5f, 3.0f); + if (width > 7.0f) { + width = 7.0f; + } - float coneHeight = leafSpawn - bottom; - while (leafSpawn > bottom) { - float radius = 1.0f - (leafSpawn - bottom) / coneHeight; - radius *= width; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), radius, 1, leaf, false); - } + float coneHeight = leafSpawn - bottom; + while (leafSpawn > bottom) { + float radius = 1.0f - (leafSpawn - bottom) / coneHeight; + radius *= width; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), radius, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.4f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.4f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(7, 3); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(7, 3); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenSwampGum.java b/src/main/java/binnie/extratrees/worldgen/WorldGenSwampGum.java index 9b3f21f1..44787a0b 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenSwampGum.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenSwampGum.java @@ -3,43 +3,44 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenSwampGum extends WorldGenTree { - public WorldGenSwampGum(ITreeGenData tree) { - super(tree); - } + public WorldGenSwampGum(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 2; - float weakerBottm = randBetween(0.5f, 0.6f) * height; - float bottom = randBetween(0.4f, 0.5f) * height; - float width = height * randBetween(0.15f, 0.2f); - if (width > 7.0f) { - width = 7.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 2; + float weakerBottm = randBetween(0.5f, 0.6f) * height; + float bottom = randBetween(0.4f, 0.5f) * height; + float width = height * randBetween(0.15f, 0.2f); + if (width > 7.0f) { + width = 7.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); - bushiness = 0.3f; - while (leafSpawn > weakerBottm) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.9f, 1.0f) * width, 1, leaf, false); - } + bushiness = 0.3f; + while (leafSpawn > weakerBottm) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.9f, 1.0f) * width, 1, leaf, false); + } - bushiness = 0.6f; - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.8f, 0.9f) * width, 1, leaf, false); - } + bushiness = 0.6f; + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.8f, 0.9f) * width, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.5f * width, 1, leaf, false); - for (int i = 0; i < 5; ++i) { - generateSphere(new Vector(randBetween(-1, 1), leafSpawn--, randBetween(-1, 1)), randBetween(1, 2), leaf, false); - } - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.5f * width, 1, leaf, false); + for (int i = 0; i < 5; ++i) { + generateSphere( + new Vector(randBetween(-1, 1), leafSpawn--, randBetween(-1, 1)), randBetween(1, 2), leaf, false); + } + } - @Override - public void preGenerate() { - height = determineHeight(14, 3); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(14, 3); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenSweetCrabapple.java b/src/main/java/binnie/extratrees/worldgen/WorldGenSweetCrabapple.java index e2a013ed..001f249b 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenSweetCrabapple.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenSweetCrabapple.java @@ -3,28 +3,28 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenSweetCrabapple extends WorldGenTree { - public WorldGenSweetCrabapple(ITreeGenData tree) { - super(tree); - } + public WorldGenSweetCrabapple(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - int leafSpawn = height; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.5f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.5f, 1, leaf, false); + @Override + public void generate() { + generateTreeTrunk(height, girth); + int leafSpawn = height; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.5f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.5f, 1, leaf, false); - while (leafSpawn > 3) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 3.0f, 1, leaf, false); - } + while (leafSpawn > 3) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 3.0f, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 3.5f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 1.5f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 3.5f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 1.5f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(4, 4); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(4, 4); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenSweetgum.java b/src/main/java/binnie/extratrees/worldgen/WorldGenSweetgum.java index ba3a461d..d67676f1 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenSweetgum.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenSweetgum.java @@ -3,34 +3,34 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenSweetgum extends WorldGenTree { - public WorldGenSweetgum(ITreeGenData tree) { - super(tree); - } + public WorldGenSweetgum(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 1; - float bottom = randBetween(1, 2); - float width = height * randBetween(0.7f, 0.75f); - if (width > 7.0f) { - width = 7.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 1; + float bottom = randBetween(1, 2); + float width = height * randBetween(0.7f, 0.75f); + if (width > 7.0f) { + width = 7.0f; + } - float coneHeight = leafSpawn - bottom; - while (leafSpawn > bottom) { - float radius = 1.0f - (leafSpawn - bottom) / coneHeight; - radius *= 2.0f - radius; - radius *= width; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), radius, 1, leaf, false); - } + float coneHeight = leafSpawn - bottom; + while (leafSpawn > bottom) { + float radius = 1.0f - (leafSpawn - bottom) / coneHeight; + radius *= 2.0f - radius; + radius *= width; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), radius, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(5, 1); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(5, 1); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenSycamore.java b/src/main/java/binnie/extratrees/worldgen/WorldGenSycamore.java index cb205e4a..a417ef05 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenSycamore.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenSycamore.java @@ -3,31 +3,31 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenSycamore extends WorldGenTree { - public WorldGenSycamore(ITreeGenData tree) { - super(tree); - } + public WorldGenSycamore(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height; - float bottom = randBetween(2, 3); - float width = height * randBetween(0.35f, 0.4f); - if (width < 2.0f) { - width = 2.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height; + float bottom = randBetween(2, 3); + float width = height * randBetween(0.35f, 0.4f); + if (width < 2.0f) { + width = 2.0f; + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.3f, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.6f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.8f, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 1.3f, 1, leaf, false); + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width - 0.6f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), width, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), width - 0.8f, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(6, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(6, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenTree.java b/src/main/java/binnie/extratrees/worldgen/WorldGenTree.java index 4c556a40..ca4d3aa4 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenTree.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenTree.java @@ -2,216 +2,217 @@ package binnie.extratrees.worldgen; import binnie.extratrees.genetics.ExtraTreeSpecies; import forestry.api.world.ITreeGenData; +import java.util.Random; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import java.util.Random; - public abstract class WorldGenTree extends WorldGenerator { - protected ITreeGenData treeGen; - protected World world; - protected Random rand; - protected int startX; - protected int startY; - protected int startZ; - protected int girth; - protected int height; - protected int minHeight; - protected int maxHeight; - protected boolean spawnPods; - protected int minPodHeight; - BlockType leaf; - BlockType wood; - BlockType vine; - BlockType air; - float bushiness; + protected ITreeGenData treeGen; + protected World world; + protected Random rand; + protected int startX; + protected int startY; + protected int startZ; + protected int girth; + protected int height; + protected int minHeight; + protected int maxHeight; + protected boolean spawnPods; + protected int minPodHeight; + BlockType leaf; + BlockType wood; + BlockType vine; + BlockType air; + float bushiness; - public WorldGenTree(ITreeGenData tree) { - minHeight = 3; - maxHeight = 80; - spawnPods = false; - minPodHeight = 3; - vine = new BlockType(Blocks.vine, 0); - air = new BlockTypeVoid(); - bushiness = 0.0f; - spawnPods = tree.allowsFruitBlocks(); - treeGen = tree; - } + public WorldGenTree(ITreeGenData tree) { + minHeight = 3; + maxHeight = 80; + spawnPods = false; + minPodHeight = 3; + vine = new BlockType(Blocks.vine, 0); + air = new BlockTypeVoid(); + bushiness = 0.0f; + spawnPods = tree.allowsFruitBlocks(); + treeGen = tree; + } - protected int randBetween(int a, int b) { - return a + rand.nextInt(b - a); - } + protected int randBetween(int a, int b) { + return a + rand.nextInt(b - a); + } - protected float randBetween(float a, float b) { - return a + rand.nextFloat() * (b - a); - } + protected float randBetween(float a, float b) { + return a + rand.nextFloat() * (b - a); + } - public void generate() { - generateTreeTrunk(height, girth); - int leafSpawn = height + 1; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.0f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.5f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.9f, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.9f, 1, leaf, false); - } + public void generate() { + generateTreeTrunk(height, girth); + int leafSpawn = height + 1; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.0f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 1.5f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.9f, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 2.9f, 1, leaf, false); + } - public boolean canGrow() { - return treeGen.canGrow(world, startX, startY, startZ, treeGen.getGirth(world, startX, startY, startZ), height); - } + public boolean canGrow() { + return treeGen.canGrow(world, startX, startY, startZ, treeGen.getGirth(world, startX, startY, startZ), height); + } - public void preGenerate() { - height = determineHeight(5, 3); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + public void preGenerate() { + height = determineHeight(5, 3); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } - protected int determineGirth(int base) { - return base; - } + protected int determineGirth(int base) { + return base; + } - protected int determineHeight(int required, int variation) { - int determined = Math.round((required + rand.nextInt(variation)) * treeGen.getHeightModifier()); - return (determined < minHeight) ? minHeight : ((determined > maxHeight) ? maxHeight : determined); - } + protected int determineHeight(int required, int variation) { + int determined = Math.round((required + rand.nextInt(variation)) * treeGen.getHeightModifier()); + return (determined < minHeight) ? minHeight : ((determined > maxHeight) ? maxHeight : determined); + } - public BlockType getLeaf() { - return new BlockTypeLeaf(true); - } + public BlockType getLeaf() { + return new BlockTypeLeaf(true); + } - public BlockType getWood() { - return new BlockTypeLog(((ExtraTreeSpecies) treeGen.getGenome().getPrimary()).getLog()); - } + public BlockType getWood() { + return new BlockTypeLog(((ExtraTreeSpecies) treeGen.getGenome().getPrimary()).getLog()); + } - @Override - public boolean generate(World world, Random random, int x, int y, int z) { - return generate(world, random, x, y, z, false); - } + @Override + public boolean generate(World world, Random random, int x, int y, int z) { + return generate(world, random, x, y, z, false); + } - public boolean generate(World world, Random random, int x, int y, int z, boolean force) { - this.world = world; - rand = random; - startX = x; - startY = y; - startZ = z; - leaf = getLeaf(); - wood = getWood(); - preGenerate(); - if (!force && !canGrow()) { - return false; - } + public boolean generate(World world, Random random, int x, int y, int z, boolean force) { + this.world = world; + rand = random; + startX = x; + startY = y; + startZ = z; + leaf = getLeaf(); + wood = getWood(); + preGenerate(); + if (!force && !canGrow()) { + return false; + } - for (int x2 = 0; x2 < girth; ++x2) { - for (int y2 = 0; y2 < girth; ++y2) { - addBlock(x2, 0, y2, new BlockTypeVoid(), true); - } - } - generate(); - return true; - } + for (int x2 = 0; x2 < girth; ++x2) { + for (int y2 = 0; y2 < girth; ++y2) { + addBlock(x2, 0, y2, new BlockTypeVoid(), true); + } + } + generate(); + return true; + } - protected void generateTreeTrunk(int height, int width) { - generateTreeTrunk(height, width, 0.0f); - } + protected void generateTreeTrunk(int height, int width) { + generateTreeTrunk(height, width, 0.0f); + } - protected void generateTreeTrunk(int height, int width, float vines) { - int offset = (width - 1) / 2; - for (int x = 0; x < width; ++x) { - for (int y = 0; y < width; ++y) { - for (int i = 0; i < height; ++i) { - addWood(x - offset, i, y - offset, true); - if (rand.nextFloat() < vines) { - addVine(x - offset - 1, i, y - offset); - } - if (rand.nextFloat() < vines) { - addVine(x - offset + 1, i, y - offset); - } - if (rand.nextFloat() < vines) { - addVine(x - offset, i, y - offset - 1); - } - if (rand.nextFloat() < vines) { - addVine(x - offset, i, y - offset + 1); - } - } - } - } - if (!spawnPods) { - return; - } - for (int y2 = minPodHeight; y2 < height; ++y2) { - for (int x2 = 0; x2 < girth; ++x2) { - for (int z = 0; z < girth; ++z) { - if (x2 <= 0 || x2 >= girth || z <= 0 || z >= girth) { - treeGen.trySpawnFruitBlock(world, startX + x2 + 1, startY + y2, startZ + z); - treeGen.trySpawnFruitBlock(world, startX + x2 - 1, startY + y2, startZ + z); - treeGen.trySpawnFruitBlock(world, startX + x2, startY + y2, startZ + z + 1); - treeGen.trySpawnFruitBlock(world, startX + x2, startY + y2, startZ + z - 1); - } - } - } - } - } + protected void generateTreeTrunk(int height, int width, float vines) { + int offset = (width - 1) / 2; + for (int x = 0; x < width; ++x) { + for (int y = 0; y < width; ++y) { + for (int i = 0; i < height; ++i) { + addWood(x - offset, i, y - offset, true); + if (rand.nextFloat() < vines) { + addVine(x - offset - 1, i, y - offset); + } + if (rand.nextFloat() < vines) { + addVine(x - offset + 1, i, y - offset); + } + if (rand.nextFloat() < vines) { + addVine(x - offset, i, y - offset - 1); + } + if (rand.nextFloat() < vines) { + addVine(x - offset, i, y - offset + 1); + } + } + } + } + if (!spawnPods) { + return; + } + for (int y2 = minPodHeight; y2 < height; ++y2) { + for (int x2 = 0; x2 < girth; ++x2) { + for (int z = 0; z < girth; ++z) { + if (x2 <= 0 || x2 >= girth || z <= 0 || z >= girth) { + treeGen.trySpawnFruitBlock(world, startX + x2 + 1, startY + y2, startZ + z); + treeGen.trySpawnFruitBlock(world, startX + x2 - 1, startY + y2, startZ + z); + treeGen.trySpawnFruitBlock(world, startX + x2, startY + y2, startZ + z + 1); + treeGen.trySpawnFruitBlock(world, startX + x2, startY + y2, startZ + z - 1); + } + } + } + } + } - protected void addBlock(int x, int y, int z, BlockType type, boolean doReplace) { - if (doReplace || world.isAirBlock(startX + x, startY + y, startZ + z)) { - type.setBlock(world, treeGen, startX + x, startY + y, startZ + z); - } - } + protected void addBlock(int x, int y, int z, BlockType type, boolean doReplace) { + if (doReplace || world.isAirBlock(startX + x, startY + y, startZ + z)) { + type.setBlock(world, treeGen, startX + x, startY + y, startZ + z); + } + } - protected void addWood(int x, int y, int z, boolean doReplace) { - addBlock(x, y, z, wood, doReplace); - } + protected void addWood(int x, int y, int z, boolean doReplace) { + addBlock(x, y, z, wood, doReplace); + } - protected void addVine(int x, int y, int z) { - addBlock(x, y, z, vine, false); - } + protected void addVine(int x, int y, int z) { + addBlock(x, y, z, vine, false); + } - protected void generateCylinder(Vector center2, float radius, int height, BlockType block, boolean doReplace) { - float centerOffset = (girth - 1) / 2.0f; - Vector center3 = new Vector(center2.x + centerOffset, center2.y, center2.z + centerOffset); - Vector start = new Vector(center3.x - radius, center3.y, center3.z - radius); - Vector area = new Vector(radius * 2.0f + 1.0f, height, radius * 2.0f + 1.0f); - for (int x = (int) start.x; x < (int) start.x + area.x; ++x) { - for (int y = (int) start.y; y < (int) start.y + area.y; ++y) { - for (int z = (int) start.z; z < (int) start.z + area.z; ++z) { - if (Vector.distance(new Vector(x, y, z), new Vector(center3.x, y, center3.z)) <= radius + 0.01) { - if (Vector.distance(new Vector(x, y, z), new Vector(center3.x, y, center3.z)) < radius - 0.5f || rand.nextFloat() >= bushiness) { - addBlock(x, y, z, block, doReplace); - } - } - } - } - } - } + protected void generateCylinder(Vector center2, float radius, int height, BlockType block, boolean doReplace) { + float centerOffset = (girth - 1) / 2.0f; + Vector center3 = new Vector(center2.x + centerOffset, center2.y, center2.z + centerOffset); + Vector start = new Vector(center3.x - radius, center3.y, center3.z - radius); + Vector area = new Vector(radius * 2.0f + 1.0f, height, radius * 2.0f + 1.0f); + for (int x = (int) start.x; x < (int) start.x + area.x; ++x) { + for (int y = (int) start.y; y < (int) start.y + area.y; ++y) { + for (int z = (int) start.z; z < (int) start.z + area.z; ++z) { + if (Vector.distance(new Vector(x, y, z), new Vector(center3.x, y, center3.z)) <= radius + 0.01) { + if (Vector.distance(new Vector(x, y, z), new Vector(center3.x, y, center3.z)) < radius - 0.5f + || rand.nextFloat() >= bushiness) { + addBlock(x, y, z, block, doReplace); + } + } + } + } + } + } - protected void generateSphere(Vector center2, int radius, BlockType block, boolean doReplace) { - float centerOffset = (girth - 1) / 2.0f; - Vector center3 = new Vector(center2.x + centerOffset, center2.y, center2.z + centerOffset); - Vector start = new Vector(center3.x - radius, center3.y - radius, center3.z - radius); - Vector area = new Vector(radius * 2 + 1, radius * 2 + 1, radius * 2 + 1); - for (int x = (int) start.x; x < (int) start.x + area.x; ++x) { - for (int y = (int) start.y; y < (int) start.y + area.y; ++y) { - for (int z = (int) start.z; z < (int) start.z + area.z; ++z) { - if (Vector.distance(new Vector(x, y, z), new Vector(center3.x, center3.y, center3.z)) <= radius + 0.01) { - addBlock(x, y, z, block, doReplace); - } - } - } - } - } + protected void generateSphere(Vector center2, int radius, BlockType block, boolean doReplace) { + float centerOffset = (girth - 1) / 2.0f; + Vector center3 = new Vector(center2.x + centerOffset, center2.y, center2.z + centerOffset); + Vector start = new Vector(center3.x - radius, center3.y - radius, center3.z - radius); + Vector area = new Vector(radius * 2 + 1, radius * 2 + 1, radius * 2 + 1); + for (int x = (int) start.x; x < (int) start.x + area.x; ++x) { + for (int y = (int) start.y; y < (int) start.y + area.y; ++y) { + for (int z = (int) start.z; z < (int) start.z + area.z; ++z) { + if (Vector.distance(new Vector(x, y, z), new Vector(center3.x, center3.y, center3.z)) + <= radius + 0.01) { + addBlock(x, y, z, block, doReplace); + } + } + } + } + } - static class Vector { - float x; - float y; - float z; + static class Vector { + float x; + float y; + float z; - public Vector(float f, float h, float g) { - x = f; - y = h; - z = g; - } + public Vector(float f, float h, float g) { + x = f; + y = h; + z = g; + } - public static double distance(Vector a, Vector b) { - return Math.sqrt(Math.pow(a.x - b.x, 2.0) + Math.pow(a.y - b.y, 2.0) + Math.pow(a.z - b.z, 2.0)); - } - } + public static double distance(Vector a, Vector b) { + return Math.sqrt(Math.pow(a.x - b.x, 2.0) + Math.pow(a.y - b.y, 2.0) + Math.pow(a.z - b.z, 2.0)); + } + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenWesternHemlock.java b/src/main/java/binnie/extratrees/worldgen/WorldGenWesternHemlock.java index 16307294..90e746ac 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenWesternHemlock.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenWesternHemlock.java @@ -3,33 +3,33 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenWesternHemlock extends WorldGenTree { - public WorldGenWesternHemlock(ITreeGenData tree) { - super(tree); - } + public WorldGenWesternHemlock(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 6; - float bottom = randBetween(2, 3); - float width = height / randBetween(2.0f, 2.5f); - if (width > 7.0f) { - width = 7.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 6; + float bottom = randBetween(2, 3); + float width = height / randBetween(2.0f, 2.5f); + if (width > 7.0f) { + width = 7.0f; + } - float coneHeight = leafSpawn - bottom; - while (leafSpawn > bottom) { - float radius = (1.0f - (leafSpawn - bottom) / coneHeight) * width; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), radius, 1, leaf, false); - } + float coneHeight = leafSpawn - bottom; + while (leafSpawn > bottom) { + float radius = (1.0f - (leafSpawn - bottom) / coneHeight) * width; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), radius, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.4f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.4f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(7, 3); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(7, 3); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenWhitebeam.java b/src/main/java/binnie/extratrees/worldgen/WorldGenWhitebeam.java index 0081bd2a..1701f9e7 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenWhitebeam.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenWhitebeam.java @@ -3,23 +3,23 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenWhitebeam extends WorldGenTree { - public WorldGenWhitebeam(ITreeGenData tree) { - super(tree); - } + public WorldGenWhitebeam(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - int leafSpawn = height + 1; - float bottom = randBetween(2, 3); - float width = height * randBetween(0.5f, 0.6f); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.6f * width, 1, leaf, false); - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); + @Override + public void generate() { + generateTreeTrunk(height, girth); + int leafSpawn = height + 1; + float bottom = randBetween(2, 3); + float width = height * randBetween(0.5f, 0.6f); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.4f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.6f * width, 1, leaf, false); + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.8f * width, 1, leaf, false); - while (leafSpawn > bottom) { - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.95f, 1.05f) * width, 1, leaf, false); - } - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); - } + while (leafSpawn > bottom) { + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), randBetween(0.95f, 1.05f) * width, 1, leaf, false); + } + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), 0.7f * width, 1, leaf, false); + } } diff --git a/src/main/java/binnie/extratrees/worldgen/WorldGenYew.java b/src/main/java/binnie/extratrees/worldgen/WorldGenYew.java index d3dbf69d..cc005163 100644 --- a/src/main/java/binnie/extratrees/worldgen/WorldGenYew.java +++ b/src/main/java/binnie/extratrees/worldgen/WorldGenYew.java @@ -3,33 +3,33 @@ package binnie.extratrees.worldgen; import forestry.api.world.ITreeGenData; public class WorldGenYew extends WorldGenTree { - public WorldGenYew(ITreeGenData tree) { - super(tree); - } + public WorldGenYew(ITreeGenData tree) { + super(tree); + } - @Override - public void generate() { - generateTreeTrunk(height, girth); - float leafSpawn = height + 2; - float bottom = randBetween(1, 2); - float width = height * randBetween(0.7f, 0.75f); - if (width > 7.0f) { - width = 7.0f; - } + @Override + public void generate() { + generateTreeTrunk(height, girth); + float leafSpawn = height + 2; + float bottom = randBetween(1, 2); + float width = height * randBetween(0.7f, 0.75f); + if (width > 7.0f) { + width = 7.0f; + } - float coneHeight = leafSpawn - bottom; - while (leafSpawn > bottom) { - float radius = 1.0f - (leafSpawn - bottom) / coneHeight; - radius *= (2.0f - radius) * width; - generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), radius, 1, leaf, false); - } + float coneHeight = leafSpawn - bottom; + while (leafSpawn > bottom) { + float radius = 1.0f - (leafSpawn - bottom) / coneHeight; + radius *= (2.0f - radius) * width; + generateCylinder(new Vector(0.0f, leafSpawn--, 0.0f), radius, 1, leaf, false); + } - generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); - } + generateCylinder(new Vector(0.0f, leafSpawn, 0.0f), 0.7f * width, 1, leaf, false); + } - @Override - public void preGenerate() { - height = determineHeight(5, 2); - girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); - } + @Override + public void preGenerate() { + height = determineHeight(5, 2); + girth = determineGirth(treeGen.getGirth(world, startX, startY, startZ)); + } } diff --git a/src/main/java/binnie/genetics/Genetics.java b/src/main/java/binnie/genetics/Genetics.java index 833d2210..ab509e5d 100644 --- a/src/main/java/binnie/genetics/Genetics.java +++ b/src/main/java/binnie/genetics/Genetics.java @@ -24,95 +24,91 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; import net.minecraft.item.Item; @Mod( - modid = "Genetics", - name = "Genetics", - version = BinnieCore.VERSION, - useMetadata = true, - dependencies = "after:BinnieCore" -) + modid = "Genetics", + name = "Genetics", + version = BinnieCore.VERSION, + useMetadata = true, + dependencies = "after:BinnieCore") public class Genetics extends AbstractMod { - @Mod.Instance("Genetics") - public static Genetics instance; + @Mod.Instance("Genetics") + public static Genetics instance; - @SidedProxy( - clientSide = "binnie.genetics.proxy.ProxyClient", - serverSide = "binnie.genetics.proxy.ProxyServer" - ) - public static Proxy proxy; + @SidedProxy(clientSide = "binnie.genetics.proxy.ProxyClient", serverSide = "binnie.genetics.proxy.ProxyServer") + public static Proxy proxy; - public static ItemSerumArray itemSerumArray = null; - public static final String CHANNEL = "GEN"; - public static Item itemGenetics; - public static Item itemSerum; - public static Item itemSequencer; - public static MachineGroup packageGenetic; - public static MachineGroup packageAdvGenetic; - public static MachineGroup packageLabMachine; - public static ItemDatabase database; - public static ItemAnalyst analyst; - public static Item registry; - public static Item masterRegistry; + public static ItemSerumArray itemSerumArray = null; + public static final String CHANNEL = "GEN"; + public static Item itemGenetics; + public static Item itemSerum; + public static Item itemSequencer; + public static MachineGroup packageGenetic; + public static MachineGroup packageAdvGenetic; + public static MachineGroup packageLabMachine; + public static ItemDatabase database; + public static ItemAnalyst analyst; + public static Item registry; + public static Item masterRegistry; - public Genetics() { - Genetics.instance = this; - } + public Genetics() { + Genetics.instance = this; + } - @Mod.EventHandler - public void preInit(FMLPreInitializationEvent event) { - addModule(new ModuleItem()); - addModule(new ModuleMachine()); - IMCForNEI.IMCSender(); - preInit(); - } + @Mod.EventHandler + public void preInit(FMLPreInitializationEvent event) { + addModule(new ModuleItem()); + addModule(new ModuleMachine()); + IMCForNEI.IMCSender(); + preInit(); + } - @Mod.EventHandler - public void init(FMLInitializationEvent event) { - init(); - } + @Mod.EventHandler + public void init(FMLInitializationEvent event) { + init(); + } - @Mod.EventHandler - public void postInit(FMLPostInitializationEvent event) { - postInit(); - } + @Mod.EventHandler + public void postInit(FMLPostInitializationEvent event) { + postInit(); + } - @Override - public IBinnieGUID[] getGUIDs() { - return GeneticsGUI.values(); - } + @Override + public IBinnieGUID[] getGUIDs() { + return GeneticsGUI.values(); + } - @Override - public IPacketID[] getPacketIDs() { - return GeneticsPacket.values(); - } + @Override + public IPacketID[] getPacketIDs() { + return GeneticsPacket.values(); + } - @Override - public String getChannel() { - return CHANNEL; - } + @Override + public String getChannel() { + return CHANNEL; + } - @Override - public IProxyCore getProxy() { - return Genetics.proxy; - } + @Override + public IProxyCore getProxy() { + return Genetics.proxy; + } - @Override - public String getModID() { - return "genetics"; - } + @Override + public String getModID() { + return "genetics"; + } - @Override - protected Class getPacketHandler() { - return PacketHandler.class; - } + @Override + protected Class getPacketHandler() { + return PacketHandler.class; + } - @Override - public boolean isActive() { - return BinnieCore.isGeneticsActive(); - } + @Override + public boolean isActive() { + return BinnieCore.isGeneticsActive(); + } - public static class PacketHandler extends BinniePacketHandler { - public PacketHandler() { - super(Genetics.instance); - } - } + public static class PacketHandler extends BinniePacketHandler { + public PacketHandler() { + super(Genetics.instance); + } + } } diff --git a/src/main/java/binnie/genetics/GeneticsCreativeTab.java b/src/main/java/binnie/genetics/GeneticsCreativeTab.java index e54fa9da..19fa23d3 100644 --- a/src/main/java/binnie/genetics/GeneticsCreativeTab.java +++ b/src/main/java/binnie/genetics/GeneticsCreativeTab.java @@ -9,35 +9,35 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; public class GeneticsCreativeTab extends CreativeTabs { - public static CreativeTabs instance; + public static CreativeTabs instance; - static { - GeneticsCreativeTab.instance = new GeneticsCreativeTab(); - } + static { + GeneticsCreativeTab.instance = new GeneticsCreativeTab(); + } - public GeneticsCreativeTab() { - super("Genetics"); - } + public GeneticsCreativeTab() { + super("Genetics"); + } - @Override - public ItemStack getIconItemStack() { - return GeneticsItems.EmptySerum.get(1); - } + @Override + public ItemStack getIconItemStack() { + return GeneticsItems.EmptySerum.get(1); + } - @Override - public String getTranslatedTabLabel() { - return getTabLabel(); - } + @Override + public String getTranslatedTabLabel() { + return getTabLabel(); + } - @Override - @SideOnly(Side.CLIENT) - public String getTabLabel() { - return I18N.localise("extrabees.tab.genetics"); - } + @Override + @SideOnly(Side.CLIENT) + public String getTabLabel() { + return I18N.localise("extrabees.tab.genetics"); + } - @Override - @SideOnly(Side.CLIENT) - public Item getTabIconItem() { - return null; - } + @Override + @SideOnly(Side.CLIENT) + public Item getTabIconItem() { + return null; + } } diff --git a/src/main/java/binnie/genetics/api/IGene.java b/src/main/java/binnie/genetics/api/IGene.java index c7750883..2fa7da37 100644 --- a/src/main/java/binnie/genetics/api/IGene.java +++ b/src/main/java/binnie/genetics/api/IGene.java @@ -7,13 +7,13 @@ import forestry.api.genetics.ISpeciesRoot; import net.minecraft.nbt.NBTTagCompound; public interface IGene extends INBTTagable { - IChromosomeType getChromosome(); + IChromosomeType getChromosome(); - String getName(); + String getName(); - ISpeciesRoot getSpeciesRoot(); + ISpeciesRoot getSpeciesRoot(); - IAllele getAllele(); + IAllele getAllele(); - NBTTagCompound getNBTTagCompound(); + NBTTagCompound getNBTTagCompound(); } diff --git a/src/main/java/binnie/genetics/api/IIncubatorRecipe.java b/src/main/java/binnie/genetics/api/IIncubatorRecipe.java index c5659cf4..7b6e298e 100644 --- a/src/main/java/binnie/genetics/api/IIncubatorRecipe.java +++ b/src/main/java/binnie/genetics/api/IIncubatorRecipe.java @@ -1,36 +1,34 @@ package binnie.genetics.api; import binnie.core.machines.MachineUtil; +import javax.annotation.Nullable; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; -import javax.annotation.Nullable; - public interface IIncubatorRecipe { - boolean isInputLiquid(FluidStack liquid); + boolean isInputLiquid(FluidStack liquid); - boolean isInputLiquidSufficient(FluidStack liquid); + boolean isInputLiquidSufficient(FluidStack liquid); - @Deprecated - boolean isItemStack(ItemStack stack); + @Deprecated + boolean isItemStack(ItemStack stack); - void doTask(MachineUtil machine); + void doTask(MachineUtil machine); - float getChance(); + float getChance(); - boolean roomForOutput(MachineUtil machine); + boolean roomForOutput(MachineUtil machine); - float getLossChance(); + float getLossChance(); - @Nullable - FluidStack getInput(); + @Nullable + FluidStack getInput(); - @Nullable - FluidStack getOutput(); + @Nullable + FluidStack getOutput(); - @Nullable - ItemStack getInputStack(); - - ItemStack getExpectedOutput(); + @Nullable + ItemStack getInputStack(); + ItemStack getExpectedOutput(); } diff --git a/src/main/java/binnie/genetics/api/IItemAnalysable.java b/src/main/java/binnie/genetics/api/IItemAnalysable.java index df02a47c..0e3d6ef6 100644 --- a/src/main/java/binnie/genetics/api/IItemAnalysable.java +++ b/src/main/java/binnie/genetics/api/IItemAnalysable.java @@ -3,10 +3,10 @@ package binnie.genetics.api; import net.minecraft.item.ItemStack; public interface IItemAnalysable { - boolean isAnalysed(ItemStack stack); + boolean isAnalysed(ItemStack stack); - ItemStack analyse(ItemStack stack); + ItemStack analyse(ItemStack stack); - @Deprecated - float getAnalyseTimeMult(ItemStack stack); + @Deprecated + float getAnalyseTimeMult(ItemStack stack); } diff --git a/src/main/java/binnie/genetics/api/IItemChargable.java b/src/main/java/binnie/genetics/api/IItemChargable.java index 58b21646..8fe73871 100644 --- a/src/main/java/binnie/genetics/api/IItemChargable.java +++ b/src/main/java/binnie/genetics/api/IItemChargable.java @@ -3,5 +3,5 @@ package binnie.genetics.api; import net.minecraft.item.ItemStack; public interface IItemChargable { - int getCharges(ItemStack stack); + int getCharges(ItemStack stack); } diff --git a/src/main/java/binnie/genetics/api/IItemSerum.java b/src/main/java/binnie/genetics/api/IItemSerum.java index ba617b05..27557182 100644 --- a/src/main/java/binnie/genetics/api/IItemSerum.java +++ b/src/main/java/binnie/genetics/api/IItemSerum.java @@ -4,11 +4,11 @@ import forestry.api.genetics.ISpeciesRoot; import net.minecraft.item.ItemStack; public interface IItemSerum extends IItemChargable { - IGene[] getGenes(ItemStack stack); + IGene[] getGenes(ItemStack stack); - ISpeciesRoot getSpeciesRoot(ItemStack stack); + ISpeciesRoot getSpeciesRoot(ItemStack stack); - IGene getGene(ItemStack stack, int chromosome); + IGene getGene(ItemStack stack, int chromosome); - ItemStack addGene(ItemStack stack, IGene gene); + ItemStack addGene(ItemStack stack, IGene gene); } diff --git a/src/main/java/binnie/genetics/config/ConfigurationMain.java b/src/main/java/binnie/genetics/config/ConfigurationMain.java index 3a03a762..6fb9a907 100644 --- a/src/main/java/binnie/genetics/config/ConfigurationMain.java +++ b/src/main/java/binnie/genetics/config/ConfigurationMain.java @@ -3,5 +3,4 @@ package binnie.genetics.config; import binnie.core.mod.config.ConfigFile; @ConfigFile(filename = "/config/forestry/genetics/main.conf") -public class ConfigurationMain { -} +public class ConfigurationMain {} diff --git a/src/main/java/binnie/genetics/core/GeneticsGUI.java b/src/main/java/binnie/genetics/core/GeneticsGUI.java index 6ee5c31a..76749eec 100644 --- a/src/main/java/binnie/genetics/core/GeneticsGUI.java +++ b/src/main/java/binnie/genetics/core/GeneticsGUI.java @@ -15,75 +15,74 @@ import binnie.genetics.craftgui.WindowSequencer; import binnie.genetics.craftgui.WindowSplicer; import binnie.genetics.gui.WindowAnalyst; import cpw.mods.fml.relauncher.Side; +import java.lang.reflect.Constructor; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import java.lang.reflect.Constructor; - public enum GeneticsGUI implements IBinnieGUID { - Genepool(WindowGenepool.class), - Isolator(WindowIsolator.class), - Sequencer(WindowSequencer.class), - Replicator(WindowPolymeriser.class), - Inoculator(WindowInoculator.class), - GeneBank(WindowGeneBank.class), - Analyser(WindowAnalyser.class), - Incubator(WindowIncubator.class), - Database(WindowGeneBank.class), - DatabaseNEI(WindowGeneBankNEI.class), - Acclimatiser(WindowAcclimatiser.class), - Splicer(WindowSplicer.class), - Analyst, - Registry, - MasterRegistry; + Genepool(WindowGenepool.class), + Isolator(WindowIsolator.class), + Sequencer(WindowSequencer.class), + Replicator(WindowPolymeriser.class), + Inoculator(WindowInoculator.class), + GeneBank(WindowGeneBank.class), + Analyser(WindowAnalyser.class), + Incubator(WindowIncubator.class), + Database(WindowGeneBank.class), + DatabaseNEI(WindowGeneBankNEI.class), + Acclimatiser(WindowAcclimatiser.class), + Splicer(WindowSplicer.class), + Analyst, + Registry, + MasterRegistry; - protected Class windowClass; + protected Class windowClass; - GeneticsGUI() { - // ignored - } + GeneticsGUI() { + // ignored + } - GeneticsGUI(Class window) { - windowClass = window; - } + GeneticsGUI(Class window) { + windowClass = window; + } - public Window getWindow(EntityPlayer player, IInventory object, Side side) throws Exception { - switch (this) { - case Analyst: - return new WindowAnalyst(player, null, side, false, false); + public Window getWindow(EntityPlayer player, IInventory object, Side side) throws Exception { + switch (this) { + case Analyst: + return new WindowAnalyst(player, null, side, false, false); - case MasterRegistry: - return new WindowAnalyst(player, null, side, true, true); + case MasterRegistry: + return new WindowAnalyst(player, null, side, true, true); - case Registry: - return new WindowAnalyst(player, null, side, true, false); - } - Constructor constr = windowClass.getConstructor(EntityPlayer.class, IInventory.class, Side.class); - return (Window) constr.newInstance(player, object, side); - } + case Registry: + return new WindowAnalyst(player, null, side, true, false); + } + Constructor constr = windowClass.getConstructor(EntityPlayer.class, IInventory.class, Side.class); + return (Window) constr.newInstance(player, object, side); + } - @Override - public Window getWindow(EntityPlayer player, World world, int x, int y, int z, Side side) { - Window window = null; - TileEntity tileEntity = world.getTileEntity(x, y, z); - IInventory object = null; - if (tileEntity instanceof IInventory) { - object = (IInventory) tileEntity; - } + @Override + public Window getWindow(EntityPlayer player, World world, int x, int y, int z, Side side) { + Window window = null; + TileEntity tileEntity = world.getTileEntity(x, y, z); + IInventory object = null; + if (tileEntity instanceof IInventory) { + object = (IInventory) tileEntity; + } - try { - if (this == GeneticsGUI.Database || this == GeneticsGUI.GeneBank) { - window = WindowGeneBank.create(player, object, side); - } else if (this == GeneticsGUI.DatabaseNEI) { - window = WindowGeneBankNEI.create(player, object, side); - } else { - window = getWindow(player, object, side); - } - } catch (Exception e) { - e.printStackTrace(); - } - return window; - } + try { + if (this == GeneticsGUI.Database || this == GeneticsGUI.GeneBank) { + window = WindowGeneBank.create(player, object, side); + } else if (this == GeneticsGUI.DatabaseNEI) { + window = WindowGeneBankNEI.create(player, object, side); + } else { + window = getWindow(player, object, side); + } + } catch (Exception e) { + e.printStackTrace(); + } + return window; + } } diff --git a/src/main/java/binnie/genetics/core/GeneticsPacket.java b/src/main/java/binnie/genetics/core/GeneticsPacket.java index 6e91fbfd..08f67805 100644 --- a/src/main/java/binnie/genetics/core/GeneticsPacket.java +++ b/src/main/java/binnie/genetics/core/GeneticsPacket.java @@ -10,20 +10,20 @@ import cpw.mods.fml.relauncher.Side; import net.minecraft.entity.player.EntityPlayer; public enum GeneticsPacket implements IPacketID { - GeneTrackerSync; + GeneTrackerSync; - @Override - public void onMessage(MessageBinnie message, MessageContext context) { - if (this != GeneticsPacket.GeneTrackerSync || context.side != Side.CLIENT) { - return; - } + @Override + public void onMessage(MessageBinnie message, MessageContext context) { + if (this != GeneticsPacket.GeneTrackerSync || context.side != Side.CLIENT) { + return; + } - MessageNBT packet = new MessageNBT(message); - EntityPlayer player = BinnieCore.proxy.getPlayer(); - GeneTracker tracker; - tracker = GeneTracker.getTracker(BinnieCore.proxy.getWorld(), player.getGameProfile()); - if (tracker != null) { - tracker.readFromNBT(packet.getTagCompound()); - } - } + MessageNBT packet = new MessageNBT(message); + EntityPlayer player = BinnieCore.proxy.getPlayer(); + GeneTracker tracker; + tracker = GeneTracker.getTracker(BinnieCore.proxy.getWorld(), player.getGameProfile()); + if (tracker != null) { + tracker.readFromNBT(packet.getTagCompound()); + } + } } diff --git a/src/main/java/binnie/genetics/core/GeneticsTexture.java b/src/main/java/binnie/genetics/core/GeneticsTexture.java index 7434b80a..e1db6144 100644 --- a/src/main/java/binnie/genetics/core/GeneticsTexture.java +++ b/src/main/java/binnie/genetics/core/GeneticsTexture.java @@ -8,34 +8,34 @@ import binnie.core.resource.ResourceType; import binnie.genetics.Genetics; public enum GeneticsTexture implements IBinnieTexture { - GeneticMachine(ResourceType.Tile, "GeneticMachine"), - Genepool(ResourceType.Tile, "Genepool"), - Incubator(ResourceType.Tile, "Incubator"), - GUIProcess(ResourceType.GUI, "process"), - GUIProcess2(ResourceType.GUI, "process2"), - Isolator(ResourceType.Tile, "Isolator"), - Sequencer(ResourceType.Tile, "Sequencer"), - Polymeriser(ResourceType.Tile, "Polymeriser"), - Inoculator(ResourceType.Tile, "Inoculator"), - Analyser(ResourceType.Tile, "Analyser"), - MachineGlow(ResourceType.Tile, "MachineGlow"), - GeneBank(ResourceType.Tile, "GeneBank"), - LabMachine(ResourceType.Tile, "LabMachine"), - Acclimatiser(ResourceType.Tile, "Acclimatiser"), - Splicer(ResourceType.Tile, "Splicer"); + GeneticMachine(ResourceType.Tile, "GeneticMachine"), + Genepool(ResourceType.Tile, "Genepool"), + Incubator(ResourceType.Tile, "Incubator"), + GUIProcess(ResourceType.GUI, "process"), + GUIProcess2(ResourceType.GUI, "process2"), + Isolator(ResourceType.Tile, "Isolator"), + Sequencer(ResourceType.Tile, "Sequencer"), + Polymeriser(ResourceType.Tile, "Polymeriser"), + Inoculator(ResourceType.Tile, "Inoculator"), + Analyser(ResourceType.Tile, "Analyser"), + MachineGlow(ResourceType.Tile, "MachineGlow"), + GeneBank(ResourceType.Tile, "GeneBank"), + LabMachine(ResourceType.Tile, "LabMachine"), + Acclimatiser(ResourceType.Tile, "Acclimatiser"), + Splicer(ResourceType.Tile, "Splicer"); - public static BinnieIcon dnaIcon = Binnie.Resource.getItemIcon(Genetics.instance, "dna"); + public static BinnieIcon dnaIcon = Binnie.Resource.getItemIcon(Genetics.instance, "dna"); - protected String texture; - protected ResourceType type; + protected String texture; + protected ResourceType type; - GeneticsTexture(ResourceType base, String texture) { - this.texture = texture; - type = base; - } + GeneticsTexture(ResourceType base, String texture) { + this.texture = texture; + type = base; + } - @Override - public BinnieResource getTexture() { - return Binnie.Resource.getPNG(Genetics.instance, type, texture); - } + @Override + public BinnieResource getTexture() { + return Binnie.Resource.getPNG(Genetics.instance, type, texture); + } } diff --git a/src/main/java/binnie/genetics/craftgui/ControlGene.java b/src/main/java/binnie/genetics/craftgui/ControlGene.java index fa4b0db7..1613f836 100644 --- a/src/main/java/binnie/genetics/craftgui/ControlGene.java +++ b/src/main/java/binnie/genetics/craftgui/ControlGene.java @@ -18,75 +18,76 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; public class ControlGene extends Control implements IControlValue, ITooltip { - protected IGene gene; + protected IGene gene; - protected ControlGene(IWidget parent, float x, float y) { - super(parent, x, y, 16.0f, 16.0f); - addAttribute(WidgetAttribute.MOUSE_OVER); - addSelfEventHandler(new MouseDownHandler()); - } + protected ControlGene(IWidget parent, float x, float y) { + super(parent, x, y, 16.0f, 16.0f); + addAttribute(WidgetAttribute.MOUSE_OVER); + addSelfEventHandler(new MouseDownHandler()); + } - @Override - public void getTooltip(Tooltip tooltip) { - String cName = Binnie.Genetics.getSystem(gene.getSpeciesRoot()).getChromosomeName(gene.getChromosome()); - tooltip.add(cName + ": " + gene.getName()); - if (isMouseOver() && canFill(Window.get(this).getHeldItemStack())) { - tooltip.add("Left click to assign gene"); - IGene existingGene = Engineering.getGene(Window.get(this).getHeldItemStack(), gene.getChromosome().ordinal()); - if (existingGene == null) { - return; - } + @Override + public void getTooltip(Tooltip tooltip) { + String cName = Binnie.Genetics.getSystem(gene.getSpeciesRoot()).getChromosomeName(gene.getChromosome()); + tooltip.add(cName + ": " + gene.getName()); + if (isMouseOver() && canFill(Window.get(this).getHeldItemStack())) { + tooltip.add("Left click to assign gene"); + IGene existingGene = Engineering.getGene( + Window.get(this).getHeldItemStack(), gene.getChromosome().ordinal()); + if (existingGene == null) { + return; + } - String dName = Binnie.Genetics.getSystem(gene.getSpeciesRoot()).getChromosomeName(gene.getChromosome()); - tooltip.add("Will replace " + dName + ": " + existingGene.getName()); - } - } + String dName = Binnie.Genetics.getSystem(gene.getSpeciesRoot()).getChromosomeName(gene.getChromosome()); + tooltip.add("Will replace " + dName + ": " + existingGene.getName()); + } + } - private boolean canFill(ItemStack stack) { - return stack != null - && stack.stackSize == 1 - && Engineering.isGeneAcceptor(stack) - && Engineering.canAcceptGene(stack, getValue()); - } + private boolean canFill(ItemStack stack) { + return stack != null + && stack.stackSize == 1 + && Engineering.isGeneAcceptor(stack) + && Engineering.canAcceptGene(stack, getValue()); + } - @Override - public IGene getValue() { - return gene; - } + @Override + public IGene getValue() { + return gene; + } - @Override - public void setValue(IGene value) { - gene = value; - } + @Override + public void setValue(IGene value) { + gene = value; + } - @Override - public void onRenderForeground() { - // ignored - } + @Override + public void onRenderForeground() { + // ignored + } - @Override - public void onRenderBackground() { - if (isMouseOver() && canFill(Window.get(this).getHeldItemStack())) { - CraftGUI.render.solid(getArea(), 0xffffffff); - CraftGUI.render.solid(getArea().inset(1), 0xff444444); - } + @Override + public void onRenderBackground() { + if (isMouseOver() && canFill(Window.get(this).getHeldItemStack())) { + CraftGUI.render.solid(getArea(), 0xffffffff); + CraftGUI.render.solid(getArea().inset(1), 0xff444444); + } - CraftGUI.render.color(0xffffffff); - CraftGUI.render.iconItem(IPoint.ZERO, GeneticsTexture.dnaIcon.getIcon()); - } + CraftGUI.render.color(0xffffffff); + CraftGUI.render.iconItem(IPoint.ZERO, GeneticsTexture.dnaIcon.getIcon()); + } - private class MouseDownHandler extends EventMouse.Down.Handler { - @Override - public void onEvent(EventMouse.Down event) { - if (!canFill(Window.get(getWidget()).getHeldItemStack())) { - return; - } + private class MouseDownHandler extends EventMouse.Down.Handler { + @Override + public void onEvent(EventMouse.Down event) { + if (!canFill(Window.get(getWidget()).getHeldItemStack())) { + return; + } - NBTTagCompound action = new NBTTagCompound(); - NBTTagCompound geneNBT = new NBTTagCompound(); - getValue().writeToNBT(geneNBT); - action.setTag("gene", geneNBT); - Window.get(getWidget()).sendClientAction("gene-select", action); - } - } + NBTTagCompound action = new NBTTagCompound(); + NBTTagCompound geneNBT = new NBTTagCompound(); + getValue().writeToNBT(geneNBT); + action.setTag("gene", geneNBT); + Window.get(getWidget()).sendClientAction("gene-select", action); + } + } } diff --git a/src/main/java/binnie/genetics/craftgui/ControlGeneScroll.java b/src/main/java/binnie/genetics/craftgui/ControlGeneScroll.java index 6d3d31e7..964727ae 100644 --- a/src/main/java/binnie/genetics/craftgui/ControlGeneScroll.java +++ b/src/main/java/binnie/genetics/craftgui/ControlGeneScroll.java @@ -12,75 +12,76 @@ import binnie.core.genetics.Gene; import binnie.genetics.genetics.GeneTracker; import forestry.api.genetics.IAllele; import forestry.api.genetics.IChromosomeType; - import java.util.ArrayList; import java.util.List; import java.util.Map; public class ControlGeneScroll extends Control implements IControlValue { - private String filter; - private BreedingSystem system; + private String filter; + private BreedingSystem system; - protected ControlGeneScroll(IWidget parent, float x, float y, float w, float h) { - super(parent, x, y, w, h); - filter = ""; - system = null; - } + protected ControlGeneScroll(IWidget parent, float x, float y, float w, float h) { + super(parent, x, y, w, h); + filter = ""; + system = null; + } - public void setFilter(String filter) { - this.filter = filter.toLowerCase(); - refresh(); - } + public void setFilter(String filter) { + this.filter = filter.toLowerCase(); + refresh(); + } - public void setGenes(BreedingSystem system) { - this.system = system; - refresh(); - } + public void setGenes(BreedingSystem system) { + this.system = system; + refresh(); + } - public void refresh() { - deleteAllChildren(); - GeneTracker tracker = GeneTracker.getTracker(Window.get(this).getWorld(), Window.get(this).getUsername()); - Map> genes = Binnie.Genetics.getChromosomeMap(system.getSpeciesRoot()); - int x; - int y = 0; - boolean isNEI = ((WindowGeneBank) Window.get(this)).isNei; + public void refresh() { + deleteAllChildren(); + GeneTracker tracker = GeneTracker.getTracker( + Window.get(this).getWorld(), Window.get(this).getUsername()); + Map> genes = Binnie.Genetics.getChromosomeMap(system.getSpeciesRoot()); + int x; + int y = 0; + boolean isNEI = ((WindowGeneBank) Window.get(this)).isNei; - for (Map.Entry> entry : genes.entrySet()) { - List discovered = new ArrayList<>(); - for (IAllele allele : entry.getValue()) { - Gene gene = new Gene(allele, entry.getKey(), system.getSpeciesRoot()); - if ((isNEI || tracker.isSequenced(new Gene(allele, entry.getKey(), system.getSpeciesRoot()))) && gene.getName().toLowerCase().contains(filter)) { - discovered.add(allele); - } - } + for (Map.Entry> entry : genes.entrySet()) { + List discovered = new ArrayList<>(); + for (IAllele allele : entry.getValue()) { + Gene gene = new Gene(allele, entry.getKey(), system.getSpeciesRoot()); + if ((isNEI || tracker.isSequenced(new Gene(allele, entry.getKey(), system.getSpeciesRoot()))) + && gene.getName().toLowerCase().contains(filter)) { + discovered.add(allele); + } + } - if (discovered.size() == 0) { - continue; - } + if (discovered.size() == 0) { + continue; + } - x = 0; - new ControlText(this, new IPoint(x, y), system.getChromosomeName(entry.getKey())); - y += 12; - for (IAllele allele : discovered) { - if (x + 18 > getSize().x()) { - y += 20; - x = 0; - } - new ControlGene(this, x, y).setValue(new Gene(allele, entry.getKey(), system.getSpeciesRoot())); - x += 18; - } - y += 24; - } - setSize(new IPoint(getSize().x(), y)); - } + x = 0; + new ControlText(this, new IPoint(x, y), system.getChromosomeName(entry.getKey())); + y += 12; + for (IAllele allele : discovered) { + if (x + 18 > getSize().x()) { + y += 20; + x = 0; + } + new ControlGene(this, x, y).setValue(new Gene(allele, entry.getKey(), system.getSpeciesRoot())); + x += 18; + } + y += 24; + } + setSize(new IPoint(getSize().x(), y)); + } - @Override - public BreedingSystem getValue() { - return system; - } + @Override + public BreedingSystem getValue() { + return system; + } - @Override - public void setValue(BreedingSystem system) { - setGenes(system); - } + @Override + public void setValue(BreedingSystem system) { + setGenes(system); + } } diff --git a/src/main/java/binnie/genetics/craftgui/ControlSequencerProgress.java b/src/main/java/binnie/genetics/craftgui/ControlSequencerProgress.java index 04cbc8cd..37c7d560 100644 --- a/src/main/java/binnie/genetics/craftgui/ControlSequencerProgress.java +++ b/src/main/java/binnie/genetics/craftgui/ControlSequencerProgress.java @@ -9,56 +9,54 @@ import binnie.core.craftgui.minecraft.Window; import binnie.core.craftgui.minecraft.control.ControlProgressBase; import binnie.core.craftgui.window.Panel; import binnie.core.machines.Machine; +import java.util.Random; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.Random; - public class ControlSequencerProgress extends ControlProgressBase { - protected ControlText textControl; + protected ControlText textControl; - public ControlSequencerProgress(IWidget parent, int x, int y) { - super(parent, x, y, 100.0f, 52.0f); - Panel panel = new Panel(this, 0.0f, 0.0f, 100.0f, 52.0f, MinecraftGUI.PanelType.Gray); - textControl = new ControlText(panel, new IArea(4.0f, 4.0f, 92.0f, 44.0f), "", TextJustification.MIDDLE_CENTER); - } + public ControlSequencerProgress(IWidget parent, int x, int y) { + super(parent, x, y, 100.0f, 52.0f); + Panel panel = new Panel(this, 0.0f, 0.0f, 100.0f, 52.0f, MinecraftGUI.PanelType.Gray); + textControl = new ControlText(panel, new IArea(4.0f, 4.0f, 92.0f, 44.0f), "", TextJustification.MIDDLE_CENTER); + } - @Override - public void onUpdateClient() { - super.onUpdateClient(); - ItemStack stack = Machine.getMachine(Window.get(this).getInventory()).getMachineUtil().getStack(5); - if (stack == null) { - textControl.setValue(""); - return; - } + @Override + public void onUpdateClient() { + super.onUpdateClient(); + ItemStack stack = Machine.getMachine(Window.get(this).getInventory()) + .getMachineUtil() + .getStack(5); + if (stack == null) { + textControl.setValue(""); + return; + } - Random rand = new Random(stack.getDisplayName().length()); - StringBuilder text = new StringBuilder(); - String[] codes = {"A", "T", "G", "C"}; - EnumChatFormatting[] colors = { - EnumChatFormatting.GREEN, - EnumChatFormatting.LIGHT_PURPLE, - EnumChatFormatting.AQUA, - EnumChatFormatting.RED - }; + Random rand = new Random(stack.getDisplayName().length()); + StringBuilder text = new StringBuilder(); + String[] codes = {"A", "T", "G", "C"}; + EnumChatFormatting[] colors = { + EnumChatFormatting.GREEN, EnumChatFormatting.LIGHT_PURPLE, EnumChatFormatting.AQUA, EnumChatFormatting.RED + }; - for (int i = 0; i < 65; ++i) { - int k = rand.nextInt(4); - String code = codes[k]; - if (rand.nextFloat() < progress) { - String col = colors[k].toString(); - text.append(EnumChatFormatting.RESET) - .append(col) - .append(EnumChatFormatting.BOLD) - .append(code); - } else { - text.append(EnumChatFormatting.RESET) - .append(EnumChatFormatting.GRAY) - .append(EnumChatFormatting.OBFUSCATED) - .append(EnumChatFormatting.BOLD) - .append(code); - } - } - textControl.setValue(text.toString()); - } + for (int i = 0; i < 65; ++i) { + int k = rand.nextInt(4); + String code = codes[k]; + if (rand.nextFloat() < progress) { + String col = colors[k].toString(); + text.append(EnumChatFormatting.RESET) + .append(col) + .append(EnumChatFormatting.BOLD) + .append(code); + } else { + text.append(EnumChatFormatting.RESET) + .append(EnumChatFormatting.GRAY) + .append(EnumChatFormatting.OBFUSCATED) + .append(EnumChatFormatting.BOLD) + .append(code); + } + } + textControl.setValue(text.toString()); + } } diff --git a/src/main/java/binnie/genetics/craftgui/ControlSplicerProgress.java b/src/main/java/binnie/genetics/craftgui/ControlSplicerProgress.java index 0e80a90f..07b9fdec 100644 --- a/src/main/java/binnie/genetics/craftgui/ControlSplicerProgress.java +++ b/src/main/java/binnie/genetics/craftgui/ControlSplicerProgress.java @@ -6,47 +6,52 @@ import binnie.core.craftgui.geometry.IArea; import binnie.core.craftgui.minecraft.control.ControlProgressBase; public class ControlSplicerProgress extends ControlProgressBase { - float strength; + float strength; - public ControlSplicerProgress(IWidget parent, float x, float y, float w, float h) { - super(parent, x, y, w, h); - strength = 0.0f; - strength = 0.0f; - } + public ControlSplicerProgress(IWidget parent, float x, float y, float w, float h) { + super(parent, x, y, w, h); + strength = 0.0f; + strength = 0.0f; + } - @Override - public void onRenderBackground() { - float progress = getProcess().getCurrentProgress() / 100.0f; - float n = getProcess().getProcessTime() / 12.0f; - float spacing = 10.0f; - float range = w(); - float h = 8.0f; - float ooy = -((n - 1.0f) * spacing) - range / 2.0f; - float ddy = (n - 1.0f) * spacing + range; - float oy = ooy + ddy * progress; + @Override + public void onRenderBackground() { + float progress = getProcess().getCurrentProgress() / 100.0f; + float n = getProcess().getProcessTime() / 12.0f; + float spacing = 10.0f; + float range = w(); + float h = 8.0f; + float ooy = -((n - 1.0f) * spacing) - range / 2.0f; + float ddy = (n - 1.0f) * spacing + range; + float oy = ooy + ddy * progress; - for (int i = 0; i < n; ++i) { - int seed = 432523; - int[] colours = {0x990000, 0x007700, 0x0000ff, 0x997700}; - int c1 = colours[(int) Math.abs(13.0 * Math.sin(i) + 48.0 * Math.cos(i) + 25.0 * Math.sin(7 * i)) % 4]; - int c2 = colours[(int) Math.abs(23.0 * Math.sin(i) + 28.0 * Math.cos(i) + 15.0 * Math.sin(7 * i)) % 4]; - int c3 = colours[(int) Math.abs(43.0 * Math.sin(i) + 38.0 * Math.cos(i) + 55.0 * Math.sin(7 * i)) % 4]; - int c4 = colours[(int) Math.abs(3.0 * Math.sin(i) + 18.0 * Math.cos(i) + 35.0 * Math.sin(7 * i)) % 4]; - float y = oy + i * spacing; + for (int i = 0; i < n; ++i) { + int seed = 432523; + int[] colours = {0x990000, 0x007700, 0x0000ff, 0x997700}; + int c1 = colours[(int) Math.abs(13.0 * Math.sin(i) + 48.0 * Math.cos(i) + 25.0 * Math.sin(7 * i)) % 4]; + int c2 = colours[(int) Math.abs(23.0 * Math.sin(i) + 28.0 * Math.cos(i) + 15.0 * Math.sin(7 * i)) % 4]; + int c3 = colours[(int) Math.abs(43.0 * Math.sin(i) + 38.0 * Math.cos(i) + 55.0 * Math.sin(7 * i)) % 4]; + int c4 = colours[(int) Math.abs(3.0 * Math.sin(i) + 18.0 * Math.cos(i) + 35.0 * Math.sin(7 * i)) % 4]; + float y = oy + i * spacing; - if (y > -range / 2.0f && y < range / 2.0f) { - float percentView = (float) Math.sqrt(1.0f - Math.abs(2.0f * y / range)); - float offMovement = (h() - 2.0f * h) / 2.0f; - int alpha = 16777216 * (int) (255.0f * percentView); - c1 += alpha; - c2 += alpha; - c3 += alpha; - c4 += alpha; - CraftGUI.render.solidAlpha(new IArea(w() / 2.0f + y, offMovement * percentView, 4.0f, h / 2.0f), c1); - CraftGUI.render.solidAlpha(new IArea(w() / 2.0f + y, offMovement * percentView + 4.0f, 4.0f, h / 2.0f), (y < 0.0f) ? c2 : c3); - CraftGUI.render.solidAlpha(new IArea(w() / 2.0f + y, h() - offMovement * percentView - 8.0f, 4.0f, h / 2.0f), (y < 0.0f) ? c3 : c2); - CraftGUI.render.solidAlpha(new IArea(w() / 2.0f + y, h() - offMovement * percentView - 4.0f, 4.0f, h / 2.0f), c4); - } - } - } + if (y > -range / 2.0f && y < range / 2.0f) { + float percentView = (float) Math.sqrt(1.0f - Math.abs(2.0f * y / range)); + float offMovement = (h() - 2.0f * h) / 2.0f; + int alpha = 16777216 * (int) (255.0f * percentView); + c1 += alpha; + c2 += alpha; + c3 += alpha; + c4 += alpha; + CraftGUI.render.solidAlpha(new IArea(w() / 2.0f + y, offMovement * percentView, 4.0f, h / 2.0f), c1); + CraftGUI.render.solidAlpha( + new IArea(w() / 2.0f + y, offMovement * percentView + 4.0f, 4.0f, h / 2.0f), + (y < 0.0f) ? c2 : c3); + CraftGUI.render.solidAlpha( + new IArea(w() / 2.0f + y, h() - offMovement * percentView - 8.0f, 4.0f, h / 2.0f), + (y < 0.0f) ? c3 : c2); + CraftGUI.render.solidAlpha( + new IArea(w() / 2.0f + y, h() - offMovement * percentView - 4.0f, 4.0f, h / 2.0f), c4); + } + } + } } diff --git a/src/main/java/binnie/genetics/craftgui/WindowAcclimatiser.java b/src/main/java/binnie/genetics/craftgui/WindowAcclimatiser.java index 39eb8a29..03b52eca 100644 --- a/src/main/java/binnie/genetics/craftgui/WindowAcclimatiser.java +++ b/src/main/java/binnie/genetics/craftgui/WindowAcclimatiser.java @@ -19,45 +19,46 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowAcclimatiser extends WindowMachine { - protected static Texture progressBase = new StandardTexture(64, 0, 130, 21, ExtraBeeTexture.GUIProgress.getTexture()); - protected static Texture progress = new StandardTexture(64, 21, 130, 21, ExtraBeeTexture.GUIProgress.getTexture()); + protected static Texture progressBase = + new StandardTexture(64, 0, 130, 21, ExtraBeeTexture.GUIProgress.getTexture()); + protected static Texture progress = new StandardTexture(64, 21, 130, 21, ExtraBeeTexture.GUIProgress.getTexture()); - public WindowAcclimatiser(EntityPlayer player, IInventory inventory, Side side) { - super(280, 198, player, inventory, side); - } + public WindowAcclimatiser(EntityPlayer player, IInventory inventory, Side side) { + super(280, 198, player, inventory, side); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowAcclimatiser(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowAcclimatiser(player, inventory, side); + } - @Override - public void initialiseClient() { - super.initialiseClient(); - int x = 59; - int y = 32; - new ControlSlotArray(this, x, y, 2, 2).create(Acclimatiser.SLOT_RESERVE); - x += 54; - new ControlSlot(this, x + 18, y).assign(Acclimatiser.SLOT_TARGET); - new ControlSlotArray(this, x, y + 18 + 18, 3, 1).create(Acclimatiser.SLOT_ACCLIMATISER); - x += 72; - new ControlSlotArray(this, x, y, 2, 2).create(Acclimatiser.SLOT_DONE); - new ControlEnergyBar(this, 21, 115, 16, 60, Position.BOTTOM); - new ControlErrorState(this, 181.0f, 83.0f); - new ControlPlayerInventory(this); - } + @Override + public void initialiseClient() { + super.initialiseClient(); + int x = 59; + int y = 32; + new ControlSlotArray(this, x, y, 2, 2).create(Acclimatiser.SLOT_RESERVE); + x += 54; + new ControlSlot(this, x + 18, y).assign(Acclimatiser.SLOT_TARGET); + new ControlSlotArray(this, x, y + 18 + 18, 3, 1).create(Acclimatiser.SLOT_ACCLIMATISER); + x += 72; + new ControlSlotArray(this, x, y, 2, 2).create(Acclimatiser.SLOT_DONE); + new ControlEnergyBar(this, 21, 115, 16, 60, Position.BOTTOM); + new ControlErrorState(this, 181.0f, 83.0f); + new ControlPlayerInventory(this); + } - @Override - public String getTitle() { - return I18N.localise("genetics.machine.labMachine.acclimatiser"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.machine.labMachine.acclimatiser"); + } - @Override - protected AbstractMod getMod() { - return Genetics.instance; - } + @Override + protected AbstractMod getMod() { + return Genetics.instance; + } - @Override - protected String getName() { - return "Acclimatiser"; - } + @Override + protected String getName() { + return "Acclimatiser"; + } } diff --git a/src/main/java/binnie/genetics/craftgui/WindowAnalyser.java b/src/main/java/binnie/genetics/craftgui/WindowAnalyser.java index 73be7907..b33295d0 100644 --- a/src/main/java/binnie/genetics/craftgui/WindowAnalyser.java +++ b/src/main/java/binnie/genetics/craftgui/WindowAnalyser.java @@ -26,54 +26,55 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowAnalyser extends WindowMachine { - protected static Texture progressBase = new StandardTexture(0, 218, 142, 17, ExtraBeeTexture.GUIProgress.getTexture()); - protected static Texture progress = new StandardTexture(0, 201, 142, 17, ExtraBeeTexture.GUIProgress.getTexture()); + protected static Texture progressBase = + new StandardTexture(0, 218, 142, 17, ExtraBeeTexture.GUIProgress.getTexture()); + protected static Texture progress = new StandardTexture(0, 201, 142, 17, ExtraBeeTexture.GUIProgress.getTexture()); - public WindowAnalyser(EntityPlayer player, IInventory inventory, Side side) { - super(220, 210, player, inventory, side); - } + public WindowAnalyser(EntityPlayer player, IInventory inventory, Side side) { + super(220, 210, player, inventory, side); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowAnalyser(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowAnalyser(player, inventory, side); + } - @Override - public void initialiseClient() { - super.initialiseClient(); - WindowAnalyser.progressBase = new StandardTexture(0, 51, 66, 40, GeneticsTexture.GUIProcess.getTexture()); - WindowAnalyser.progress = new StandardTexture(66, 51, 66, 40, GeneticsTexture.GUIProcess.getTexture()); - int x = 16; - int y = 32; - new ControlSlotArray(this, x, y, 2, 3).create(Analyser.SLOT_RESERVE); - x += 28; - new ControlSlot(this, x, y + 54 + 8).assign(13); - new ControlSlotCharge(this, x + 20, y + 54 + 8, 13).setColor(10040319); - new ControlEnergyBar(this, x + 24 + 16, y + 54 + 8 + 1, 60, 16, Position.LEFT); - new ControlErrorState(this, x + 24 + 16 + 60 + 16, y + 54 + 8 + 1); - x -= 28; - new ControlIconDisplay(this, x + 36 + 2, y + 18, GUIIcon.ArrowRight.getIcon()); - x += 56; - new Panel(this, x, y, 76.0f, 50.0f, MinecraftGUI.PanelType.Tinted); - new ControlProgress(this, x + 5, y + 5, WindowAnalyser.progressBase, WindowAnalyser.progress, Position.LEFT); - new ControlSlot(this, x + 38 - 9, y + 25 - 9).assign(Analyser.SLOT_TARGET); - new ControlIconDisplay(this, x + 76 + 2, y + 18, GUIIcon.ArrowRight.getIcon()); - x += 96; - new ControlSlotArray(this, x, y, 2, 3).create(Analyser.SLOT_FINISHED); - new ControlPlayerInventory(this); - } + @Override + public void initialiseClient() { + super.initialiseClient(); + WindowAnalyser.progressBase = new StandardTexture(0, 51, 66, 40, GeneticsTexture.GUIProcess.getTexture()); + WindowAnalyser.progress = new StandardTexture(66, 51, 66, 40, GeneticsTexture.GUIProcess.getTexture()); + int x = 16; + int y = 32; + new ControlSlotArray(this, x, y, 2, 3).create(Analyser.SLOT_RESERVE); + x += 28; + new ControlSlot(this, x, y + 54 + 8).assign(13); + new ControlSlotCharge(this, x + 20, y + 54 + 8, 13).setColor(10040319); + new ControlEnergyBar(this, x + 24 + 16, y + 54 + 8 + 1, 60, 16, Position.LEFT); + new ControlErrorState(this, x + 24 + 16 + 60 + 16, y + 54 + 8 + 1); + x -= 28; + new ControlIconDisplay(this, x + 36 + 2, y + 18, GUIIcon.ArrowRight.getIcon()); + x += 56; + new Panel(this, x, y, 76.0f, 50.0f, MinecraftGUI.PanelType.Tinted); + new ControlProgress(this, x + 5, y + 5, WindowAnalyser.progressBase, WindowAnalyser.progress, Position.LEFT); + new ControlSlot(this, x + 38 - 9, y + 25 - 9).assign(Analyser.SLOT_TARGET); + new ControlIconDisplay(this, x + 76 + 2, y + 18, GUIIcon.ArrowRight.getIcon()); + x += 96; + new ControlSlotArray(this, x, y, 2, 3).create(Analyser.SLOT_FINISHED); + new ControlPlayerInventory(this); + } - @Override - public String getTitle() { - return I18N.localise("genetics.machine.labMachine.analyser"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.machine.labMachine.analyser"); + } - @Override - protected AbstractMod getMod() { - return Genetics.instance; - } + @Override + protected AbstractMod getMod() { + return Genetics.instance; + } - @Override - protected String getName() { - return "Analyser"; - } + @Override + protected String getName() { + return "Analyser"; + } } diff --git a/src/main/java/binnie/genetics/craftgui/WindowGeneBank.java b/src/main/java/binnie/genetics/craftgui/WindowGeneBank.java index 39199e25..703e9780 100644 --- a/src/main/java/binnie/genetics/craftgui/WindowGeneBank.java +++ b/src/main/java/binnie/genetics/craftgui/WindowGeneBank.java @@ -27,6 +27,9 @@ import binnie.genetics.genetics.GeneTracker; import cpw.mods.fml.relauncher.Side; import forestry.api.genetics.IAllele; import forestry.api.genetics.IChromosomeType; +import java.util.Arrays; +import java.util.List; +import java.util.Map; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.inventory.IInventory; @@ -34,153 +37,164 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - public class WindowGeneBank extends WindowMachine { - public boolean isNei; + public boolean isNei; - protected ControlGeneScroll genes; + protected ControlGeneScroll genes; - public WindowGeneBank(EntityPlayer player, IInventory inventory, Side side, boolean isNEI) { - super(320, 224, player, inventory, side); - isNei = isNEI; - } + public WindowGeneBank(EntityPlayer player, IInventory inventory, Side side, boolean isNEI) { + super(320, 224, player, inventory, side); + isNei = isNEI; + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowGeneBank(player, inventory, side, false); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowGeneBank(player, inventory, side, false); + } - @Override - public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { - super.recieveGuiNBT(side, player, name, nbt); - if (side != Side.SERVER || !name.equals("gene-select")) { - return; - } + @Override + public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { + super.recieveGuiNBT(side, player, name, nbt); + if (side != Side.SERVER || !name.equals("gene-select")) { + return; + } - Gene gene = new Gene(nbt.getCompoundTag("gene")); - if (gene.isCorrupted()) { - return; - } + Gene gene = new Gene(nbt.getCompoundTag("gene")); + if (gene.isCorrupted()) { + return; + } - ItemStack held = getHeldItemStack(); - ItemStack converted = Engineering.addGene(held, gene); - getPlayer().inventory.setItemStack(converted); - getPlayer().inventory.markDirty(); - if (getPlayer() instanceof EntityPlayerMP) { - ((EntityPlayerMP) getPlayer()).sendContainerToPlayer(player.inventoryContainer); - } - } + ItemStack held = getHeldItemStack(); + ItemStack converted = Engineering.addGene(held, gene); + getPlayer().inventory.setItemStack(converted); + getPlayer().inventory.markDirty(); + if (getPlayer() instanceof EntityPlayerMP) { + ((EntityPlayerMP) getPlayer()).sendContainerToPlayer(player.inventoryContainer); + } + } - @Override - public void initialiseServer() { - GeneTracker tracker = GeneTracker.getTracker(getWorld(), getUsername()); - if (tracker != null) { - tracker.synchToPlayer(getPlayer()); - } - } + @Override + public void initialiseServer() { + GeneTracker tracker = GeneTracker.getTracker(getWorld(), getUsername()); + if (tracker != null) { + tracker.synchToPlayer(getPlayer()); + } + } - @Override - public void initialiseClient() { - setTitle(getTitle()); - addEventHandler(new EventValueChanged.Handler() { - @Override - public void onEvent(EventValueChanged event) { - if (event.value instanceof BreedingSystem) { - genes.setValue((BreedingSystem) event.value); - } - } - }); + @Override + public void initialiseClient() { + setTitle(getTitle()); + addEventHandler(new EventValueChanged.Handler() { + @Override + public void onEvent(EventValueChanged event) { + if (event.value instanceof BreedingSystem) { + genes.setValue((BreedingSystem) event.value); + } + } + }); - int boxX; - int x = 16; - int y = 32; - new ControlPlayerInventory(this, x, y); - x += 124; - boxX = x; - int geneBoxWidth = 120; - new Panel(this, boxX + 24, 32.0f, geneBoxWidth, 120.0f, MinecraftGUI.PanelType.Black); - new Panel(this, boxX + 24 + geneBoxWidth, 32.0f, 14.0f, 120.0f, MinecraftGUI.PanelType.Gray); - ControlScrollableContent scroll = new ControlScrollableContent(this, boxX + 24 + 2, 34.0f, geneBoxWidth + 10, 116.0f, 12.0f); - ControlTextEdit edit = new ControlTextEdit(this, boxX + 27 + geneBoxWidth - 70, 18.0f, 80.0f, 12.0f); - addEventHandler(new EventTextEdit.Handler() { - @Override - public void onEvent(EventTextEdit event) { - genes.setFilter(event.getValue()); - } - }.setOrigin(EventHandler.Origin.Self, edit)); - scroll.setScrollableContent(genes = new ControlGeneScroll(scroll, 1.0f, 1.0f, geneBoxWidth, 116.0f)); - genes.setGenes(Binnie.Genetics.beeBreedingSystem); - ControlTabBar tabBar = new ControlTabBar(this, boxX, 32.0f, 24.0f, 120.0f, Position.LEFT) { - @Override - public ControlTab createTab(float x, float y, float w, float h, BreedingSystem value) { - return new ControlTabIcon(this, x, y, w, h, value) { - @Override - public void getTooltip(Tooltip tooltip) { - tooltip.add(getValue().toString()); - int totalGenes = 0; - int seqGenes = 0; - GeneTracker tracker = GeneTracker.getTracker(getWorld(), getUsername()); - Map> genes = Binnie.Genetics.getChromosomeMap(getValue().getSpeciesRoot()); - for (Map.Entry> entry : genes.entrySet()) { - totalGenes += entry.getValue().size(); - for (IAllele allele : entry.getValue()) { - Gene gene = new Gene(allele, entry.getKey(), getValue().getSpeciesRoot()); - if (tracker.isSequenced(gene)) { - seqGenes++; - } - } - } - tooltip.add(I18N.localise("genetics.gui.geneBank.sequencedGenes.short", seqGenes, totalGenes)); - } - }; - } - }; + int boxX; + int x = 16; + int y = 32; + new ControlPlayerInventory(this, x, y); + x += 124; + boxX = x; + int geneBoxWidth = 120; + new Panel(this, boxX + 24, 32.0f, geneBoxWidth, 120.0f, MinecraftGUI.PanelType.Black); + new Panel(this, boxX + 24 + geneBoxWidth, 32.0f, 14.0f, 120.0f, MinecraftGUI.PanelType.Gray); + ControlScrollableContent scroll = + new ControlScrollableContent(this, boxX + 24 + 2, 34.0f, geneBoxWidth + 10, 116.0f, 12.0f); + ControlTextEdit edit = new ControlTextEdit(this, boxX + 27 + geneBoxWidth - 70, 18.0f, 80.0f, 12.0f); + addEventHandler( + new EventTextEdit.Handler() { + @Override + public void onEvent(EventTextEdit event) { + genes.setFilter(event.getValue()); + } + }.setOrigin(EventHandler.Origin.Self, edit)); + scroll.setScrollableContent(genes = new ControlGeneScroll(scroll, 1.0f, 1.0f, geneBoxWidth, 116.0f)); + genes.setGenes(Binnie.Genetics.beeBreedingSystem); + ControlTabBar tabBar = + new ControlTabBar(this, boxX, 32.0f, 24.0f, 120.0f, Position.LEFT) { + @Override + public ControlTab createTab( + float x, float y, float w, float h, BreedingSystem value) { + return new ControlTabIcon(this, x, y, w, h, value) { + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.add(getValue().toString()); + int totalGenes = 0; + int seqGenes = 0; + GeneTracker tracker = GeneTracker.getTracker(getWorld(), getUsername()); + Map> genes = Binnie.Genetics.getChromosomeMap( + getValue().getSpeciesRoot()); + for (Map.Entry> entry : genes.entrySet()) { + totalGenes += entry.getValue().size(); + for (IAllele allele : entry.getValue()) { + Gene gene = new Gene( + allele, + entry.getKey(), + getValue().getSpeciesRoot()); + if (tracker.isSequenced(gene)) { + seqGenes++; + } + } + } + tooltip.add(I18N.localise( + "genetics.gui.geneBank.sequencedGenes.short", seqGenes, totalGenes)); + } + }; + } + }; - tabBar.setValues(Binnie.Genetics.getActiveSystems()); - tabBar.setValue(Binnie.Genetics.beeBreedingSystem); - boxX -= 8; - ControlTabBar infoTabs = new ControlTabBar<>(this, boxX + 8, 160.0f, 16.0f, 50.0f, Position.LEFT); - infoTabs.setValues(Arrays.asList( - I18N.localise("genetics.gui.geneBank.stats"), - I18N.localise("genetics.gui.geneBank.ranking") - )); - infoTabs.setValue(I18N.localise("genetics.gui.geneBank.info")); - Panel panelProject = new Panel(this, boxX + 24, 160.0f, geneBoxWidth + 20, 50.0f, MinecraftGUI.PanelType.Black); - int totalGenes = 0; - int seqGenes = 0; + tabBar.setValues(Binnie.Genetics.getActiveSystems()); + tabBar.setValue(Binnie.Genetics.beeBreedingSystem); + boxX -= 8; + ControlTabBar infoTabs = new ControlTabBar<>(this, boxX + 8, 160.0f, 16.0f, 50.0f, Position.LEFT); + infoTabs.setValues(Arrays.asList( + I18N.localise("genetics.gui.geneBank.stats"), I18N.localise("genetics.gui.geneBank.ranking"))); + infoTabs.setValue(I18N.localise("genetics.gui.geneBank.info")); + Panel panelProject = new Panel(this, boxX + 24, 160.0f, geneBoxWidth + 20, 50.0f, MinecraftGUI.PanelType.Black); + int totalGenes = 0; + int seqGenes = 0; - for (BreedingSystem system : Binnie.Genetics.getActiveSystems()) { - GeneTracker tracker = GeneTracker.getTracker(getWorld(), getUsername()); - Map> genes = Binnie.Genetics.getChromosomeMap(system.getSpeciesRoot()); - for (Map.Entry> entry : genes.entrySet()) { - totalGenes += entry.getValue().size(); - for (IAllele allele : entry.getValue()) { - Gene gene = new Gene(allele, entry.getKey(), system.getSpeciesRoot()); - if (tracker.isSequenced(gene)) { - ++seqGenes; - } - } - } - } + for (BreedingSystem system : Binnie.Genetics.getActiveSystems()) { + GeneTracker tracker = GeneTracker.getTracker(getWorld(), getUsername()); + Map> genes = Binnie.Genetics.getChromosomeMap(system.getSpeciesRoot()); + for (Map.Entry> entry : genes.entrySet()) { + totalGenes += entry.getValue().size(); + for (IAllele allele : entry.getValue()) { + Gene gene = new Gene(allele, entry.getKey(), system.getSpeciesRoot()); + if (tracker.isSequenced(gene)) { + ++seqGenes; + } + } + } + } - new ControlText(panelProject, new IPoint(4.0f, 4.0f), EnumChatFormatting.UNDERLINE + I18N.localise("genetics.gui.geneBank.project")); - new ControlText(panelProject, new IPoint(4.0f, 18.0f), EnumChatFormatting.ITALIC.toString() + EnumChatFormatting.YELLOW + I18N.localise("genetics.gui.geneBank.sequencedGenes", seqGenes, totalGenes)); - } + new ControlText( + panelProject, + new IPoint(4.0f, 4.0f), + EnumChatFormatting.UNDERLINE + I18N.localise("genetics.gui.geneBank.project")); + new ControlText( + panelProject, + new IPoint(4.0f, 18.0f), + EnumChatFormatting.ITALIC.toString() + + EnumChatFormatting.YELLOW + + I18N.localise("genetics.gui.geneBank.sequencedGenes", seqGenes, totalGenes)); + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.geneBank"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.geneBank"); + } - @Override - protected AbstractMod getMod() { - return Genetics.instance; - } + @Override + protected AbstractMod getMod() { + return Genetics.instance; + } - @Override - protected String getName() { - return "GeneBank"; - } + @Override + protected String getName() { + return "GeneBank"; + } } diff --git a/src/main/java/binnie/genetics/craftgui/WindowGeneBankNEI.java b/src/main/java/binnie/genetics/craftgui/WindowGeneBankNEI.java index b3bbc830..9fd218f3 100644 --- a/src/main/java/binnie/genetics/craftgui/WindowGeneBankNEI.java +++ b/src/main/java/binnie/genetics/craftgui/WindowGeneBankNEI.java @@ -6,7 +6,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowGeneBankNEI { - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowGeneBank(player, inventory, side, true); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowGeneBank(player, inventory, side, true); + } } diff --git a/src/main/java/binnie/genetics/craftgui/WindowGenepool.java b/src/main/java/binnie/genetics/craftgui/WindowGenepool.java index 6021c7f5..e45a8bad 100644 --- a/src/main/java/binnie/genetics/craftgui/WindowGenepool.java +++ b/src/main/java/binnie/genetics/craftgui/WindowGenepool.java @@ -24,57 +24,57 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowGenepool extends WindowMachine { - static Texture progressBase = new StandardTexture(64, 0, 130, 21, ExtraBeeTexture.GUIProgress.getTexture()); - static Texture progress = new StandardTexture(64, 21, 130, 21, ExtraBeeTexture.GUIProgress.getTexture()); + static Texture progressBase = new StandardTexture(64, 0, 130, 21, ExtraBeeTexture.GUIProgress.getTexture()); + static Texture progress = new StandardTexture(64, 21, 130, 21, ExtraBeeTexture.GUIProgress.getTexture()); - public WindowGenepool(EntityPlayer player, IInventory inventory, Side side) { - super(280, 198, player, inventory, side); - } + public WindowGenepool(EntityPlayer player, IInventory inventory, Side side) { + super(280, 198, player, inventory, side); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowGenepool(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowGenepool(player, inventory, side); + } - @Override - public void initialiseClient() { - super.initialiseClient(); - int x = 16; - int y = 32; - new ControlLiquidTank(this, x, y).setTankID(Genepool.TANK_ETHANOL); + @Override + public void initialiseClient() { + super.initialiseClient(); + int x = 16; + int y = 32; + new ControlLiquidTank(this, x, y).setTankID(Genepool.TANK_ETHANOL); - x += 26; - new ControlSlotArray(this, x, y + 3, 2, 3).create(Genepool.SLOT_RESERVE); + x += 26; + new ControlSlotArray(this, x, y + 3, 2, 3).create(Genepool.SLOT_RESERVE); - x += 38; - new ControlIconDisplay(this, x, y + 22, GUIIcon.ArrowRight.getIcon()); + x += 38; + new ControlIconDisplay(this, x, y + 22, GUIIcon.ArrowRight.getIcon()); - x += 18; - new ControlSlot(this, x, y + 21).assign(Genepool.SLOT_BEE); + x += 18; + new ControlSlot(this, x, y + 21).assign(Genepool.SLOT_BEE); - x += 18; - new ControlMachineProgress(this, x, y + 19, progressBase, progress, Position.LEFT); + x += 18; + new ControlMachineProgress(this, x, y + 19, progressBase, progress, Position.LEFT); - x += 130; - new ControlLiquidTank(this, x, y).setTankID(Genepool.TANK_DNA); - new ControlEnergyBar(this, 21, 115, 16, 60, Position.BOTTOM); - new ControlSlot(this, 121.0f, 82.0f).assign(Genepool.SLOT_ENZYME); - new ControlSlotCharge(this, 143, 82, 7).setColor(0xefe8af); - new ControlErrorState(this, 181.0f, 83.0f); - new ControlPlayerInventory(this); - } + x += 130; + new ControlLiquidTank(this, x, y).setTankID(Genepool.TANK_DNA); + new ControlEnergyBar(this, 21, 115, 16, 60, Position.BOTTOM); + new ControlSlot(this, 121.0f, 82.0f).assign(Genepool.SLOT_ENZYME); + new ControlSlotCharge(this, 143, 82, 7).setColor(0xefe8af); + new ControlErrorState(this, 181.0f, 83.0f); + new ControlPlayerInventory(this); + } - @Override - public String getTitle() { - return I18N.localise("genetics.machine.labMachine.genepool"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.machine.labMachine.genepool"); + } - @Override - protected AbstractMod getMod() { - return Genetics.instance; - } + @Override + protected AbstractMod getMod() { + return Genetics.instance; + } - @Override - protected String getName() { - return "Genepool"; - } + @Override + protected String getName() { + return "Genepool"; + } } diff --git a/src/main/java/binnie/genetics/craftgui/WindowIncubator.java b/src/main/java/binnie/genetics/craftgui/WindowIncubator.java index 69db12ed..abb68bf9 100644 --- a/src/main/java/binnie/genetics/craftgui/WindowIncubator.java +++ b/src/main/java/binnie/genetics/craftgui/WindowIncubator.java @@ -23,54 +23,55 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowIncubator extends WindowMachine { - protected static Texture progressBase = new StandardTexture(0, 91, 38, 32, GeneticsTexture.GUIProcess); - protected static Texture progress = new StandardTexture(38, 91, 38, 32, GeneticsTexture.GUIProcess); + protected static Texture progressBase = new StandardTexture(0, 91, 38, 32, GeneticsTexture.GUIProcess); + protected static Texture progress = new StandardTexture(38, 91, 38, 32, GeneticsTexture.GUIProcess); - public WindowIncubator(EntityPlayer player, IInventory inventory, Side side) { - super(228, 196, player, inventory, side); - } + public WindowIncubator(EntityPlayer player, IInventory inventory, Side side) { + super(228, 196, player, inventory, side); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowIncubator(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowIncubator(player, inventory, side); + } - @Override - public void initialiseClient() { - super.initialiseClient(); - int x = 16; - int y = 32; - new ControlLiquidTank(this, x, y).setTankID(Incubator.TANK_INPUT); - x += 26; - new ControlSlotArray(this, x, y + 3, 1, 3).create(Incubator.SLOT_QUEUE); - x += 20; - new ControlIconDisplay(this, x, y + 3 + 10, GUIIcon.ArrowRight.getIcon()); - x += 18; - new ControlMachineProgress(this, x, y + 6, WindowIncubator.progressBase, WindowIncubator.progress, Position.LEFT); - new ControlSlot(this, x + 10, y + 3 + 10).assign(Incubator.SLOT_INCUBATOR); - x += 40; - new ControlIconDisplay(this, x, y + 3 + 10, GUIIcon.ArrowRight.getIcon()); - x += 18; - new ControlSlotArray(this, x, y + 3, 1, 3).create(Incubator.SLOT_OUTPUT); - x += 26; - new ControlLiquidTank(this, x, y).setTankID(Incubator.TANK_OUTPUT); - x += 34; - new ControlEnergyBar(this, x, y + 3, 16, 54, Position.BOTTOM); - new ControlErrorState(this, 91.0f, 82.0f); - new ControlPlayerInventory(this); - } + @Override + public void initialiseClient() { + super.initialiseClient(); + int x = 16; + int y = 32; + new ControlLiquidTank(this, x, y).setTankID(Incubator.TANK_INPUT); + x += 26; + new ControlSlotArray(this, x, y + 3, 1, 3).create(Incubator.SLOT_QUEUE); + x += 20; + new ControlIconDisplay(this, x, y + 3 + 10, GUIIcon.ArrowRight.getIcon()); + x += 18; + new ControlMachineProgress( + this, x, y + 6, WindowIncubator.progressBase, WindowIncubator.progress, Position.LEFT); + new ControlSlot(this, x + 10, y + 3 + 10).assign(Incubator.SLOT_INCUBATOR); + x += 40; + new ControlIconDisplay(this, x, y + 3 + 10, GUIIcon.ArrowRight.getIcon()); + x += 18; + new ControlSlotArray(this, x, y + 3, 1, 3).create(Incubator.SLOT_OUTPUT); + x += 26; + new ControlLiquidTank(this, x, y).setTankID(Incubator.TANK_OUTPUT); + x += 34; + new ControlEnergyBar(this, x, y + 3, 16, 54, Position.BOTTOM); + new ControlErrorState(this, 91.0f, 82.0f); + new ControlPlayerInventory(this); + } - @Override - public String getTitle() { - return I18N.localise("genetics.machine.labMachine.incubator"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.machine.labMachine.incubator"); + } - @Override - protected AbstractMod getMod() { - return Genetics.instance; - } + @Override + protected AbstractMod getMod() { + return Genetics.instance; + } - @Override - protected String getName() { - return "Incubator"; - } + @Override + protected String getName() { + return "Incubator"; + } } diff --git a/src/main/java/binnie/genetics/craftgui/WindowInoculator.java b/src/main/java/binnie/genetics/craftgui/WindowInoculator.java index c4e0142d..f16804c8 100644 --- a/src/main/java/binnie/genetics/craftgui/WindowInoculator.java +++ b/src/main/java/binnie/genetics/craftgui/WindowInoculator.java @@ -25,47 +25,62 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowInoculator extends WindowMachine { - static Texture ProgressBase = new StandardTexture(0, 72, 142, 72, GeneticsTexture.GUIProcess2.getTexture()); - static Texture Progress = new StandardTexture(0, 0, 142, 72, GeneticsTexture.GUIProcess2.getTexture()); + static Texture ProgressBase = new StandardTexture(0, 72, 142, 72, GeneticsTexture.GUIProcess2.getTexture()); + static Texture Progress = new StandardTexture(0, 0, 142, 72, GeneticsTexture.GUIProcess2.getTexture()); - public WindowInoculator(EntityPlayer player, IInventory inventory, Side side) { - super(266, 240, player, inventory, side); - } + public WindowInoculator(EntityPlayer player, IInventory inventory, Side side) { + super(266, 240, player, inventory, side); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowInoculator(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowInoculator(player, inventory, side); + } - @Override - public void initialiseClient() { - super.initialiseClient(); - int x = 16; - int y = 32; - new ControlLiquidTank(this, x, y + 18 + 16).setTankID(0); - CraftGUIUtil.horizontalGrid(x, y, new ControlSlotArray(this, 0, 0, 2, 1).create(Inoculator.SLOT_SERUM_RESERVE), new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowRight.getIcon()), new ControlSlot(this, 0.0f, 0.0f).assign(0), new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowRight.getIcon()), new ControlSlotArray(this, 0, 0, 2, 1).create(Inoculator.SLOT_SERUM_EXPENDED)); - x += 18; - new ControlMachineProgress(this, x, y + 24, WindowInoculator.ProgressBase, WindowInoculator.Progress, Position.LEFT); - new ControlEnergyBar(this, 91, 118, 60, 16, Position.LEFT); - new ControlErrorState(this, 161.0f, 118.0f); - x += 142; - CraftGUIUtil.verticalGrid(x, y, TextJustification.MIDDLE_LEFT, 8.0f, new ControlSlotArray(this, x, y, 4, 1).create(Inoculator.SLOT_RESERVE), new ControlSlot(this, x, y + 18 + 8).assign(9), new ControlSlotArray(this, x, y + 18 + 8 + 18 + 8, 4, 1).create(Inoculator.SLOT_FINISHED)); - new ControlIconDisplay(this, x + 18, y + 18 + 2, GUIIcon.ArrowUpLeft.getIcon()); - new ControlIconDisplay(this, x + 18, y + 18 + 18, GUIIcon.ArrowLeftDown.getIcon()); - new ControlPlayerInventory(this); - } + @Override + public void initialiseClient() { + super.initialiseClient(); + int x = 16; + int y = 32; + new ControlLiquidTank(this, x, y + 18 + 16).setTankID(0); + CraftGUIUtil.horizontalGrid( + x, + y, + new ControlSlotArray(this, 0, 0, 2, 1).create(Inoculator.SLOT_SERUM_RESERVE), + new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowRight.getIcon()), + new ControlSlot(this, 0.0f, 0.0f).assign(0), + new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowRight.getIcon()), + new ControlSlotArray(this, 0, 0, 2, 1).create(Inoculator.SLOT_SERUM_EXPENDED)); + x += 18; + new ControlMachineProgress( + this, x, y + 24, WindowInoculator.ProgressBase, WindowInoculator.Progress, Position.LEFT); + new ControlEnergyBar(this, 91, 118, 60, 16, Position.LEFT); + new ControlErrorState(this, 161.0f, 118.0f); + x += 142; + CraftGUIUtil.verticalGrid( + x, + y, + TextJustification.MIDDLE_LEFT, + 8.0f, + new ControlSlotArray(this, x, y, 4, 1).create(Inoculator.SLOT_RESERVE), + new ControlSlot(this, x, y + 18 + 8).assign(9), + new ControlSlotArray(this, x, y + 18 + 8 + 18 + 8, 4, 1).create(Inoculator.SLOT_FINISHED)); + new ControlIconDisplay(this, x + 18, y + 18 + 2, GUIIcon.ArrowUpLeft.getIcon()); + new ControlIconDisplay(this, x + 18, y + 18 + 18, GUIIcon.ArrowLeftDown.getIcon()); + new ControlPlayerInventory(this); + } - @Override - public String getTitle() { - return I18N.localise("genetics.machine.machine.inoculator"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.machine.machine.inoculator"); + } - @Override - protected AbstractMod getMod() { - return Genetics.instance; - } + @Override + protected AbstractMod getMod() { + return Genetics.instance; + } - @Override - protected String getName() { - return "Inoculator"; - } + @Override + protected String getName() { + return "Inoculator"; + } } diff --git a/src/main/java/binnie/genetics/craftgui/WindowIsolator.java b/src/main/java/binnie/genetics/craftgui/WindowIsolator.java index 70404d90..bd592de1 100644 --- a/src/main/java/binnie/genetics/craftgui/WindowIsolator.java +++ b/src/main/java/binnie/genetics/craftgui/WindowIsolator.java @@ -24,58 +24,58 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowIsolator extends WindowMachine { - static Texture ProgressBase = new StandardTexture(0, 218, 142, 17, ExtraBeeTexture.GUIProgress.getTexture()); - static Texture Progress = new StandardTexture(0, 201, 142, 17, ExtraBeeTexture.GUIProgress.getTexture()); + static Texture ProgressBase = new StandardTexture(0, 218, 142, 17, ExtraBeeTexture.GUIProgress.getTexture()); + static Texture Progress = new StandardTexture(0, 201, 142, 17, ExtraBeeTexture.GUIProgress.getTexture()); - public WindowIsolator(EntityPlayer player, IInventory inventory, Side side) { - super(330, 208, player, inventory, side); - } + public WindowIsolator(EntityPlayer player, IInventory inventory, Side side) { + super(330, 208, player, inventory, side); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowIsolator(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowIsolator(player, inventory, side); + } - @Override - public void initialiseClient() { - super.initialiseClient(); - int x = 16; - int y = 32; - new ControlLiquidTank(this, x, y).setTankID(Isolator.TANK_ETHANOL); - x += 26; - new ControlSlotArray(this, x, y + 3, 1, 3).create(Isolator.SLOT_RESERVE); - x += 20; - new ControlIconDisplay(this, x, y + 3 + 1, GUIIcon.ArrowRight.getIcon()); - x += 18; - new ControlSlot(this, x, y + 3).assign(Isolator.SLOT_TARGET); - new ControlSlot(this, x, y + 36 + 3).assign(Isolator.SLOT_ENZYME); - new ControlSlotCharge(this, x + 18 + 2, y + 36 + 3, 0).setColor(0xefe8af); - x += 18; - new ControlProgress(this, x, y + 3, WindowIsolator.ProgressBase, WindowIsolator.Progress, Position.LEFT); - x += 142; - new ControlSlot(this, x, y + 3).assign(Isolator.SLOT_RESULT); - new ControlSlot(this, x, y + 3 + 36).assign(Isolator.SLOT_SEQUENCER_VIAL); - new ControlIconDisplay(this, x + 1, y + 3 + 19, GUIIcon.ArrowUp.getIcon()); - x += 20; - new ControlIconDisplay(this, x, y + 3 + 1, GUIIcon.ArrowRight.getIcon()); - x += 18; - new ControlSlotArray(this, x, y + 3, 2, 3).create(Isolator.SLOT_FINISHED); - new ControlEnergyBar(this, 260, 130, 16, 60, Position.BOTTOM); - new ControlErrorState(this, 153.0f, 81.0f); - new ControlPlayerInventory(this); - } + @Override + public void initialiseClient() { + super.initialiseClient(); + int x = 16; + int y = 32; + new ControlLiquidTank(this, x, y).setTankID(Isolator.TANK_ETHANOL); + x += 26; + new ControlSlotArray(this, x, y + 3, 1, 3).create(Isolator.SLOT_RESERVE); + x += 20; + new ControlIconDisplay(this, x, y + 3 + 1, GUIIcon.ArrowRight.getIcon()); + x += 18; + new ControlSlot(this, x, y + 3).assign(Isolator.SLOT_TARGET); + new ControlSlot(this, x, y + 36 + 3).assign(Isolator.SLOT_ENZYME); + new ControlSlotCharge(this, x + 18 + 2, y + 36 + 3, 0).setColor(0xefe8af); + x += 18; + new ControlProgress(this, x, y + 3, WindowIsolator.ProgressBase, WindowIsolator.Progress, Position.LEFT); + x += 142; + new ControlSlot(this, x, y + 3).assign(Isolator.SLOT_RESULT); + new ControlSlot(this, x, y + 3 + 36).assign(Isolator.SLOT_SEQUENCER_VIAL); + new ControlIconDisplay(this, x + 1, y + 3 + 19, GUIIcon.ArrowUp.getIcon()); + x += 20; + new ControlIconDisplay(this, x, y + 3 + 1, GUIIcon.ArrowRight.getIcon()); + x += 18; + new ControlSlotArray(this, x, y + 3, 2, 3).create(Isolator.SLOT_FINISHED); + new ControlEnergyBar(this, 260, 130, 16, 60, Position.BOTTOM); + new ControlErrorState(this, 153.0f, 81.0f); + new ControlPlayerInventory(this); + } - @Override - public String getTitle() { - return I18N.localise("genetics.machine.machine.isolator"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.machine.machine.isolator"); + } - @Override - protected AbstractMod getMod() { - return Genetics.instance; - } + @Override + protected AbstractMod getMod() { + return Genetics.instance; + } - @Override - protected String getName() { - return "Isolator"; - } + @Override + protected String getName() { + return "Isolator"; + } } diff --git a/src/main/java/binnie/genetics/craftgui/WindowMachine.java b/src/main/java/binnie/genetics/craftgui/WindowMachine.java index a429683f..9c9fb2d3 100644 --- a/src/main/java/binnie/genetics/craftgui/WindowMachine.java +++ b/src/main/java/binnie/genetics/craftgui/WindowMachine.java @@ -6,14 +6,14 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public abstract class WindowMachine extends Window { - public WindowMachine(int width, int height, EntityPlayer player, IInventory inventory, Side side) { - super(width, height, player, inventory, side); - } + public WindowMachine(int width, int height, EntityPlayer player, IInventory inventory, Side side) { + super(width, height, player, inventory, side); + } - public abstract String getTitle(); + public abstract String getTitle(); - @Override - public void initialiseClient() { - setTitle(getTitle()); - } + @Override + public void initialiseClient() { + setTitle(getTitle()); + } } diff --git a/src/main/java/binnie/genetics/craftgui/WindowPolymeriser.java b/src/main/java/binnie/genetics/craftgui/WindowPolymeriser.java index 763cd875..90523099 100644 --- a/src/main/java/binnie/genetics/craftgui/WindowPolymeriser.java +++ b/src/main/java/binnie/genetics/craftgui/WindowPolymeriser.java @@ -24,51 +24,52 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowPolymeriser extends WindowMachine { - protected static Texture progressBase = new StandardTexture(76, 170, 160, 79, GeneticsTexture.GUIProcess.getTexture()); - protected static Texture progress = new StandardTexture(76, 91, 160, 79, GeneticsTexture.GUIProcess.getTexture()); + protected static Texture progressBase = + new StandardTexture(76, 170, 160, 79, GeneticsTexture.GUIProcess.getTexture()); + protected static Texture progress = new StandardTexture(76, 91, 160, 79, GeneticsTexture.GUIProcess.getTexture()); - public WindowPolymeriser(EntityPlayer player, IInventory inventory, Side side) { - super(278, 212, player, inventory, side); - } + public WindowPolymeriser(EntityPlayer player, IInventory inventory, Side side) { + super(278, 212, player, inventory, side); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowPolymeriser(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowPolymeriser(player, inventory, side); + } - @Override - public void initialiseClient() { - super.initialiseClient(); - int x = 16; - int y = 38; - new ControlSlotArray(this, x, y, 1, 4).create(Polymeriser.SLOT_SERUM_RESERVE); - new ControlIconDisplay(this, x + 18, y + 1, GUIIcon.ArrowRight.getIcon()); - x += 34; - new ControlMachineProgress(this, x + 18, y - 6, progressBase, progress, Position.LEFT); - new ControlSlot(this, x, y).assign(Polymeriser.SLOT_SERUM); - new ControlLiquidTank(this, x, y + 18 + 16, true).setTankID(Polymeriser.TANK_BACTERIA); - new ControlLiquidTank(this, x, y + 18 + 16 + 18 + 8, true).setTankID(Polymeriser.TANK_DNA); - new ControlEnergyBar(this, x + 120, 96, 64, 16, Position.LEFT); - x += 40; - new ControlSlot(this, x + 30, y + 18 + 8).assign(Polymeriser.SLOT_GOLD); - new ControlSlotCharge(this, x + 30 + 20, y + 18 + 8, 1).setColor(0xffd800); - x += 138; - new ControlSlotArray(this, x, y + 9, 2, 2).create(Polymeriser.SLOT_SERUM_FINISHED); - new ControlErrorState(this, 244.0f, 97.0f); - new ControlPlayerInventory(this); - } + @Override + public void initialiseClient() { + super.initialiseClient(); + int x = 16; + int y = 38; + new ControlSlotArray(this, x, y, 1, 4).create(Polymeriser.SLOT_SERUM_RESERVE); + new ControlIconDisplay(this, x + 18, y + 1, GUIIcon.ArrowRight.getIcon()); + x += 34; + new ControlMachineProgress(this, x + 18, y - 6, progressBase, progress, Position.LEFT); + new ControlSlot(this, x, y).assign(Polymeriser.SLOT_SERUM); + new ControlLiquidTank(this, x, y + 18 + 16, true).setTankID(Polymeriser.TANK_BACTERIA); + new ControlLiquidTank(this, x, y + 18 + 16 + 18 + 8, true).setTankID(Polymeriser.TANK_DNA); + new ControlEnergyBar(this, x + 120, 96, 64, 16, Position.LEFT); + x += 40; + new ControlSlot(this, x + 30, y + 18 + 8).assign(Polymeriser.SLOT_GOLD); + new ControlSlotCharge(this, x + 30 + 20, y + 18 + 8, 1).setColor(0xffd800); + x += 138; + new ControlSlotArray(this, x, y + 9, 2, 2).create(Polymeriser.SLOT_SERUM_FINISHED); + new ControlErrorState(this, 244.0f, 97.0f); + new ControlPlayerInventory(this); + } - @Override - public String getTitle() { - return I18N.localise("genetics.machine.machine.polymeriser"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.machine.machine.polymeriser"); + } - @Override - protected AbstractMod getMod() { - return Genetics.instance; - } + @Override + protected AbstractMod getMod() { + return Genetics.instance; + } - @Override - protected String getName() { - return "Polymeriser"; - } + @Override + protected String getName() { + return "Polymeriser"; + } } diff --git a/src/main/java/binnie/genetics/craftgui/WindowSequencer.java b/src/main/java/binnie/genetics/craftgui/WindowSequencer.java index 77c13c45..332bf0c9 100644 --- a/src/main/java/binnie/genetics/craftgui/WindowSequencer.java +++ b/src/main/java/binnie/genetics/craftgui/WindowSequencer.java @@ -28,65 +28,77 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; public class WindowSequencer extends WindowMachine { - protected static Texture progressBase = new StandardTexture(64, 114, 98, 9, ExtraBeeTexture.GUIProgress.getTexture()); - protected static Texture progress = new StandardTexture(64, 123, 98, 9, ExtraBeeTexture.GUIProgress.getTexture()); + protected static Texture progressBase = + new StandardTexture(64, 114, 98, 9, ExtraBeeTexture.GUIProgress.getTexture()); + protected static Texture progress = new StandardTexture(64, 123, 98, 9, ExtraBeeTexture.GUIProgress.getTexture()); - protected ControlText slotText; + protected ControlText slotText; - public WindowSequencer(EntityPlayer player, IInventory inventory, Side side) { - super(226, 224, player, inventory, side); - } + public WindowSequencer(EntityPlayer player, IInventory inventory, Side side) { + super(226, 224, player, inventory, side); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowSequencer(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowSequencer(player, inventory, side); + } - @Override - public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { - if (side == Side.CLIENT && name.equals("username")) { - slotText.setValue( - EnumChatFormatting.DARK_GRAY - + I18N.localise("genetics.machine.sequencer.gui.sequensedBy", nbt.getString("username")) - ); - } - super.recieveGuiNBT(side, player, name, nbt); - } + @Override + public void recieveGuiNBT(Side side, EntityPlayer player, String name, NBTTagCompound nbt) { + if (side == Side.CLIENT && name.equals("username")) { + slotText.setValue(EnumChatFormatting.DARK_GRAY + + I18N.localise("genetics.machine.sequencer.gui.sequensedBy", nbt.getString("username"))); + } + super.recieveGuiNBT(side, player, name, nbt); + } - @Override - public void initialiseClient() { - super.initialiseClient(); - int x = 16; - int y = 32; - CraftGUIUtil.horizontalGrid(x, y, TextJustification.MIDDLE_CENTER, 2.0f, new ControlSlotArray(this, 0, 0, 2, 2).create(Sequencer.SLOT_RESERVE), new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowRight.getIcon()), new ControlSequencerProgress(this, 0, 0), new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowRight.getIcon()), new ControlSlot(this, 0.0f, 0.0f).assign(6)); - ControlSlot slotTarget = new ControlSlot(this, x + 96, y + 16); - slotTarget.assign(5); - x = 34; - y = 92; - slotText = new ControlText(this, new IArea(0.0f, y, w(), 12.0f), EnumChatFormatting.DARK_GRAY + I18N.localise("genetics.machine.sequencer.gui.willNotSave"), TextJustification.MIDDLE_CENTER); - y += 20; - ControlSlot slotDye = new ControlSlot(this, x, y); - slotDye.assign(0); - x += 20; - new ControlSlotCharge(this, x, y, 0).setColor(16750848); - x += 32; - new ControlEnergyBar(this, x, y, 60, 16, Position.LEFT); - x += 92; - new ControlErrorState(this, x, y + 1); - new ControlPlayerInventory(this); - } + @Override + public void initialiseClient() { + super.initialiseClient(); + int x = 16; + int y = 32; + CraftGUIUtil.horizontalGrid( + x, + y, + TextJustification.MIDDLE_CENTER, + 2.0f, + new ControlSlotArray(this, 0, 0, 2, 2).create(Sequencer.SLOT_RESERVE), + new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowRight.getIcon()), + new ControlSequencerProgress(this, 0, 0), + new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowRight.getIcon()), + new ControlSlot(this, 0.0f, 0.0f).assign(6)); + ControlSlot slotTarget = new ControlSlot(this, x + 96, y + 16); + slotTarget.assign(5); + x = 34; + y = 92; + slotText = new ControlText( + this, + new IArea(0.0f, y, w(), 12.0f), + EnumChatFormatting.DARK_GRAY + I18N.localise("genetics.machine.sequencer.gui.willNotSave"), + TextJustification.MIDDLE_CENTER); + y += 20; + ControlSlot slotDye = new ControlSlot(this, x, y); + slotDye.assign(0); + x += 20; + new ControlSlotCharge(this, x, y, 0).setColor(16750848); + x += 32; + new ControlEnergyBar(this, x, y, 60, 16, Position.LEFT); + x += 92; + new ControlErrorState(this, x, y + 1); + new ControlPlayerInventory(this); + } - @Override - public String getTitle() { - return I18N.localise("genetics.machine.machine.sequencer"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.machine.machine.sequencer"); + } - @Override - protected AbstractMod getMod() { - return Genetics.instance; - } + @Override + protected AbstractMod getMod() { + return Genetics.instance; + } - @Override - protected String getName() { - return "Sequencer"; - } + @Override + protected String getName() { + return "Sequencer"; + } } diff --git a/src/main/java/binnie/genetics/craftgui/WindowSplicer.java b/src/main/java/binnie/genetics/craftgui/WindowSplicer.java index 91ad704b..fec77508 100644 --- a/src/main/java/binnie/genetics/craftgui/WindowSplicer.java +++ b/src/main/java/binnie/genetics/craftgui/WindowSplicer.java @@ -24,64 +24,58 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; public class WindowSplicer extends WindowMachine { - protected static Texture progressBase = new StandardTexture(0, 72, 142, 72, GeneticsTexture.GUIProcess2.getTexture()); - protected static Texture progress = new StandardTexture(0, 0, 142, 72, GeneticsTexture.GUIProcess2.getTexture()); + protected static Texture progressBase = + new StandardTexture(0, 72, 142, 72, GeneticsTexture.GUIProcess2.getTexture()); + protected static Texture progress = new StandardTexture(0, 0, 142, 72, GeneticsTexture.GUIProcess2.getTexture()); - public WindowSplicer(EntityPlayer player, IInventory inventory, Side side) { - super(280, 240, player, inventory, side); - } + public WindowSplicer(EntityPlayer player, IInventory inventory, Side side) { + super(280, 240, player, inventory, side); + } - public static Window create(EntityPlayer player, IInventory inventory, Side side) { - return new WindowSplicer(player, inventory, side); - } + public static Window create(EntityPlayer player, IInventory inventory, Side side) { + return new WindowSplicer(player, inventory, side); + } - @Override - public void initialiseClient() { - super.initialiseClient(); - int x = 16; - new ControlSplicerProgress(this, 84.0f, 32.0f, w() - 172.0f, 102.0f); - CraftGUIUtil.horizontalGrid( - x, - 62.0f, - new ControlSlotArray(this, 0, 0, 2, 1) - .create(Splicer.SLOT_SERUM_RESERVE), - new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowRight.getIcon()), - new ControlSlot(this, 0.0f, 0.0f) - .assign(Splicer.SLOT_SERUM_VIAL) - ); - new ControlSlotArray(this, x + 12, 84, 2, 1) - .create(Splicer.SLOT_SERUM_EXPENDED); - new ControlIconDisplay(this, x + 12 + 36 + 4, 86.0f, GUIIcon.ArrowUpLeft.getIcon()); - new ControlEnergyBar(this, 196, 64, 60, 16, Position.LEFT); - new ControlErrorState(this, 218.0f, 86.0f); - CraftGUIUtil.verticalGrid( - (w() - 72.0f) / 2.0f, - 32.0f, - TextJustification.MIDDLE_CENTER, - 4.0f, - new ControlSlotArray(this, 0, 0, 4, 1) - .create(Inoculator.SLOT_RESERVE), - new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowDown.getIcon()), - new ControlSlot(this, 0.0f, 0.0f) - .assign(Splicer.SLOT_TARGET), - new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowDown.getIcon()), - new ControlSlotArray(this, 0, 0, 4, 1) - .create(Inoculator.SLOT_FINISHED)); - new ControlPlayerInventory(this); - } + @Override + public void initialiseClient() { + super.initialiseClient(); + int x = 16; + new ControlSplicerProgress(this, 84.0f, 32.0f, w() - 172.0f, 102.0f); + CraftGUIUtil.horizontalGrid( + x, + 62.0f, + new ControlSlotArray(this, 0, 0, 2, 1).create(Splicer.SLOT_SERUM_RESERVE), + new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowRight.getIcon()), + new ControlSlot(this, 0.0f, 0.0f).assign(Splicer.SLOT_SERUM_VIAL)); + new ControlSlotArray(this, x + 12, 84, 2, 1).create(Splicer.SLOT_SERUM_EXPENDED); + new ControlIconDisplay(this, x + 12 + 36 + 4, 86.0f, GUIIcon.ArrowUpLeft.getIcon()); + new ControlEnergyBar(this, 196, 64, 60, 16, Position.LEFT); + new ControlErrorState(this, 218.0f, 86.0f); + CraftGUIUtil.verticalGrid( + (w() - 72.0f) / 2.0f, + 32.0f, + TextJustification.MIDDLE_CENTER, + 4.0f, + new ControlSlotArray(this, 0, 0, 4, 1).create(Inoculator.SLOT_RESERVE), + new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowDown.getIcon()), + new ControlSlot(this, 0.0f, 0.0f).assign(Splicer.SLOT_TARGET), + new ControlIconDisplay(this, 0.0f, 0.0f, GUIIcon.ArrowDown.getIcon()), + new ControlSlotArray(this, 0, 0, 4, 1).create(Inoculator.SLOT_FINISHED)); + new ControlPlayerInventory(this); + } - @Override - public String getTitle() { - return I18N.localise("genetics.machine.advMachine.splicer"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.machine.advMachine.splicer"); + } - @Override - protected AbstractMod getMod() { - return Genetics.instance; - } + @Override + protected AbstractMod getMod() { + return Genetics.instance; + } - @Override - protected String getName() { - return "Splicer"; - } + @Override + protected String getName() { + return "Splicer"; + } } diff --git a/src/main/java/binnie/genetics/genetics/AlleleHelper.java b/src/main/java/binnie/genetics/genetics/AlleleHelper.java index 8b46becf..82a14a43 100644 --- a/src/main/java/binnie/genetics/genetics/AlleleHelper.java +++ b/src/main/java/binnie/genetics/genetics/AlleleHelper.java @@ -11,209 +11,208 @@ import forestry.api.genetics.AlleleManager; import forestry.api.genetics.EnumTolerance; import forestry.api.genetics.IAllele; import forestry.core.genetics.alleles.EnumAllele; +import java.util.Locale; import org.apache.commons.lang3.text.WordUtils; -import java.util.Locale; - public class AlleleHelper extends forestry.core.genetics.alleles.AlleleHelper { - public static IAllele getAllele(EnumTemperature temperature) { - return getAllele(getUid(temperature)); - } + public static IAllele getAllele(EnumTemperature temperature) { + return getAllele(getUid(temperature)); + } - public static IAllele getAllele(EnumHumidity humidity) { - return getAllele(getUid(humidity)); - } + public static IAllele getAllele(EnumHumidity humidity) { + return getAllele(getUid(humidity)); + } - public static IAllele getAllele(EnumTolerance tolerance) { - return getAllele(getUid(tolerance)); - } + public static IAllele getAllele(EnumTolerance tolerance) { + return getAllele(getUid(tolerance)); + } - public static IAllele getAllele(EnumAllele.Fertility fertility) { - return getAllele(getUid(fertility)); - } + public static IAllele getAllele(EnumAllele.Fertility fertility) { + return getAllele(getUid(fertility)); + } - public static IAllele getAllele(EnumAllele.Territory territory) { - return getAllele(getUid(territory)); - } + public static IAllele getAllele(EnumAllele.Territory territory) { + return getAllele(getUid(territory)); + } - public static IAllele getAllele(EnumAllele.Lifespan lifespan) { - return getAllele(getUid(lifespan)); - } + public static IAllele getAllele(EnumAllele.Lifespan lifespan) { + return getAllele(getUid(lifespan)); + } - public static IAllele getAllele(EnumAllele.Sappiness sappiness) { - return getAllele(getUid(sappiness)); - } + public static IAllele getAllele(EnumAllele.Sappiness sappiness) { + return getAllele(getUid(sappiness)); + } - public static IAllele getAllele(EnumAllele.Speed speed) { - return getAllele(getUid(speed)); - } + public static IAllele getAllele(EnumAllele.Speed speed) { + return getAllele(getUid(speed)); + } - public static IAllele getAllele(EnumAllele.Flowering flowering) { - return getAllele(getUid(flowering)); - } + public static IAllele getAllele(EnumAllele.Flowering flowering) { + return getAllele(getUid(flowering)); + } - public static IAllele getAllele(EnumAllele.Height height) { - return getAllele(getUid(height)); - } + public static IAllele getAllele(EnumAllele.Height height) { + return getAllele(getUid(height)); + } - public static IAllele getAllele(EnumAllele.Maturation maturation) { - return getAllele(getUid(maturation)); - } + public static IAllele getAllele(EnumAllele.Maturation maturation) { + return getAllele(getUid(maturation)); + } - public static IAllele getAllele(EnumAllele.Yield yield) { - return getAllele(getUid(yield)); - } + public static IAllele getAllele(EnumAllele.Yield yield) { + return getAllele(getUid(yield)); + } - public static IAllele getAllele(EnumAllele.Saplings saplings) { - return getAllele(getUid(saplings)); - } + public static IAllele getAllele(EnumAllele.Saplings saplings) { + return getAllele(getUid(saplings)); + } - public static IAllele getAllele(EnumFlowerColor color) { - return color.getAllele(); - } + public static IAllele getAllele(EnumFlowerColor color) { + return color.getAllele(); + } - public static IAllele getAllele(int number) { - return getAllele("forestry.i" + number + "d"); - } + public static IAllele getAllele(int number) { + return getAllele("forestry.i" + number + "d"); + } - public static IAllele getAllele(boolean bool) { - if (bool) { - return getAllele("forestry.boolTrue"); - } - return getAllele("forestry.boolFalse"); - } + public static IAllele getAllele(boolean bool) { + if (bool) { + return getAllele("forestry.boolTrue"); + } + return getAllele("forestry.boolFalse"); + } - public static IAllele getAllele(String uid) { - return AlleleManager.alleleRegistry.getAllele(uid); - } + public static IAllele getAllele(String uid) { + return AlleleManager.alleleRegistry.getAllele(uid); + } - public static String toDisplay(EnumTemperature temperature) { - return AlleleManager.climateHelper.toDisplay(temperature); - } + public static String toDisplay(EnumTemperature temperature) { + return AlleleManager.climateHelper.toDisplay(temperature); + } - public static String toDisplay(EnumHumidity humidity) { - return AlleleManager.climateHelper.toDisplay(humidity); - } + public static String toDisplay(EnumHumidity humidity) { + return AlleleManager.climateHelper.toDisplay(humidity); + } - public static String toDisplay(EnumMoisture moisture) { - return I18N.localise("botany.moisture." + moisture.getID()); - } + public static String toDisplay(EnumMoisture moisture) { + return I18N.localise("botany.moisture." + moisture.getID()); + } - public static String toDisplay(EnumAcidity acidity) { - return I18N.localise("botany.ph." + acidity.getID()); - } + public static String toDisplay(EnumAcidity acidity) { + return I18N.localise("botany.ph." + acidity.getID()); + } - public static String toDisplay(EnumSoilType soilType) { - return I18N.localise("botany.soil." + soilType.getID()); - } + public static String toDisplay(EnumSoilType soilType) { + return I18N.localise("botany.soil." + soilType.getID()); + } - public static String toDisplay(EnumTolerance tolerance) { - return toAlleleDisplay("tolerance", tolerance.name()); - } + public static String toDisplay(EnumTolerance tolerance) { + return toAlleleDisplay("tolerance", tolerance.name()); + } - public static String toDisplay(EnumAllele.Flowering flowering) { - if (flowering == EnumAllele.Flowering.AVERAGE) { - return toAlleleDisplay("flowering", "normal"); - } - return toAlleleDisplay(null, flowering.name()); - } + public static String toDisplay(EnumAllele.Flowering flowering) { + if (flowering == EnumAllele.Flowering.AVERAGE) { + return toAlleleDisplay("flowering", "normal"); + } + return toAlleleDisplay(null, flowering.name()); + } - public static String toDisplay(EnumAllele.Speed speed) { - return toAlleleDisplay(null, speed.name()); - } + public static String toDisplay(EnumAllele.Speed speed) { + return toAlleleDisplay(null, speed.name()); + } - public static String toDisplay(EnumAllele.Lifespan lifespan) { - return toAlleleDisplay("lifespan", lifespan.name()); - } + public static String toDisplay(EnumAllele.Lifespan lifespan) { + return toAlleleDisplay("lifespan", lifespan.name()); + } - public static String getUid(EnumAllele.Fertility fertility) { - return getUid("fertility", fertility.name()); - } + public static String getUid(EnumAllele.Fertility fertility) { + return getUid("fertility", fertility.name()); + } - public static String getUid(EnumAllele.Lifespan lifespan) { - return getUid("lifespan", lifespan.name()); - } + public static String getUid(EnumAllele.Lifespan lifespan) { + return getUid("lifespan", lifespan.name()); + } - public static String getUid(EnumAllele.Sappiness sappiness) { - return getUid("sappiness", sappiness.name()); - } + public static String getUid(EnumAllele.Sappiness sappiness) { + return getUid("sappiness", sappiness.name()); + } - private static String getUid(EnumTemperature temperature) { - return getUid("temperature", temperature.name()); - } + private static String getUid(EnumTemperature temperature) { + return getUid("temperature", temperature.name()); + } - private static String getUid(EnumHumidity humidity) { - return getUid("humidity", humidity.name()); - } + private static String getUid(EnumHumidity humidity) { + return getUid("humidity", humidity.name()); + } - public static String getUid(EnumAllele.Saplings saplings) { - if (saplings == EnumAllele.Saplings.AVERAGE) { - return getUid("saplings", "Default"); - } - if (saplings == EnumAllele.Saplings.HIGH) { - return getUid("saplings", "Double"); - } - if (saplings == EnumAllele.Saplings.HIGHER) { - return getUid("saplings", "Triple"); - } - return getUid("saplings", saplings.name()); - } + public static String getUid(EnumAllele.Saplings saplings) { + if (saplings == EnumAllele.Saplings.AVERAGE) { + return getUid("saplings", "Default"); + } + if (saplings == EnumAllele.Saplings.HIGH) { + return getUid("saplings", "Double"); + } + if (saplings == EnumAllele.Saplings.HIGHER) { + return getUid("saplings", "Triple"); + } + return getUid("saplings", saplings.name()); + } - public static String getUid(EnumAllele.Height height) { - if (height == EnumAllele.Height.AVERAGE) { - return getUid("height", "Max10", false); - } - return getUid("height", height.name()); - } + public static String getUid(EnumAllele.Height height) { + if (height == EnumAllele.Height.AVERAGE) { + return getUid("height", "Max10", false); + } + return getUid("height", height.name()); + } - public static String getUid(EnumAllele.Maturation maturation) { - return getUid("maturation", maturation.name()); - } + public static String getUid(EnumAllele.Maturation maturation) { + return getUid("maturation", maturation.name()); + } - public static String getUid(EnumAllele.Territory territory) { - return getUid("territory", territory.name()); - } + public static String getUid(EnumAllele.Territory territory) { + return getUid("territory", territory.name()); + } - public static String getUid(EnumAllele.Yield yield) { - if (yield == EnumAllele.Yield.AVERAGE) { - return getUid("yield", "Default", false); - } - return getUid("yield", yield.name()); - } + public static String getUid(EnumAllele.Yield yield) { + if (yield == EnumAllele.Yield.AVERAGE) { + return getUid("yield", "Default", false); + } + return getUid("yield", yield.name()); + } - public static String getUid(EnumAllele.Fireproof fireproof) { - return getUid("bool", fireproof.name()); - } + public static String getUid(EnumAllele.Fireproof fireproof) { + return getUid("bool", fireproof.name()); + } - public static String getUid(EnumAllele.Flowering flowering) { - return getUid("flowering", flowering.name()); - } + public static String getUid(EnumAllele.Flowering flowering) { + return getUid("flowering", flowering.name()); + } - public static String getUid(EnumTolerance tolerance) { - return getUid("tolerance", tolerance.name()); - } + public static String getUid(EnumTolerance tolerance) { + return getUid("tolerance", tolerance.name()); + } - public static String getUid(EnumAllele.Speed speed) { - return getUid("speed", speed.name()); - } + public static String getUid(EnumAllele.Speed speed) { + return getUid("speed", speed.name()); + } - protected static String getUid(String key, String valueName) { - return getUid(key, valueName, true); - } + protected static String getUid(String key, String valueName) { + return getUid(key, valueName, true); + } - private static String getUid(String key, String valueName, boolean needCapitalize) { - if (needCapitalize) { - valueName = WordUtils.capitalize(valueName.toLowerCase(Locale.ENGLISH)); - } - valueName = valueName.replace("_", ""); - return "forestry." + key + valueName; - } + private static String getUid(String key, String valueName, boolean needCapitalize) { + if (needCapitalize) { + valueName = WordUtils.capitalize(valueName.toLowerCase(Locale.ENGLISH)); + } + valueName = valueName.replace("_", ""); + return "forestry." + key + valueName; + } - private static String toAlleleDisplay(String key, String valueName) { - String name = valueName.toLowerCase().replace("_", ""); - if (key == null) { - return I18N.localise("forestry.allele." + name); - } - return I18N.localise("forestry.allele." + key + "." + name); - } + private static String toAlleleDisplay(String key, String valueName) { + String name = valueName.toLowerCase().replace("_", ""); + if (key == null) { + return I18N.localise("forestry.allele." + name); + } + return I18N.localise("forestry.allele." + key + "." + name); + } } diff --git a/src/main/java/binnie/genetics/genetics/Engineering.java b/src/main/java/binnie/genetics/genetics/Engineering.java index f4694353..7cf8bb06 100644 --- a/src/main/java/binnie/genetics/genetics/Engineering.java +++ b/src/main/java/binnie/genetics/genetics/Engineering.java @@ -10,58 +10,59 @@ import binnie.genetics.item.ItemSerumArray; import net.minecraft.item.ItemStack; public class Engineering { - public static boolean isGeneAcceptor(ItemStack stack) { - if (stack == null) { - return false; - } - if (stack.getItem() instanceof IItemSerum) { - return ((IItemSerum) stack.getItem()).getCharges(stack) == 0; - } - return stack.getItem() == Genetics.itemGenetics - && (stack.getItemDamage() == GeneticsItems.EmptySerum.ordinal() || stack.getItemDamage() == GeneticsItems.EmptyGenome.ordinal()); - } + public static boolean isGeneAcceptor(ItemStack stack) { + if (stack == null) { + return false; + } + if (stack.getItem() instanceof IItemSerum) { + return ((IItemSerum) stack.getItem()).getCharges(stack) == 0; + } + return stack.getItem() == Genetics.itemGenetics + && (stack.getItemDamage() == GeneticsItems.EmptySerum.ordinal() + || stack.getItemDamage() == GeneticsItems.EmptyGenome.ordinal()); + } - public static boolean canAcceptGene(ItemStack stack, IGene gene) { - if (stack.getItem() instanceof ItemSerum) { - return true; - } - if (stack.getItem() instanceof IItemSerum) { - return ((IItemSerum) stack.getItem()).getSpeciesRoot(stack) == gene.getSpeciesRoot(); - } - return isGeneAcceptor(stack); - } + public static boolean canAcceptGene(ItemStack stack, IGene gene) { + if (stack.getItem() instanceof ItemSerum) { + return true; + } + if (stack.getItem() instanceof IItemSerum) { + return ((IItemSerum) stack.getItem()).getSpeciesRoot(stack) == gene.getSpeciesRoot(); + } + return isGeneAcceptor(stack); + } - public static IGene getGene(ItemStack stack, int chromosome) { - if (stack.getItem() instanceof IItemSerum) { - return ((IItemSerum) stack.getItem()).getGene(stack, chromosome); - } - return null; - } + public static IGene getGene(ItemStack stack, int chromosome) { + if (stack.getItem() instanceof IItemSerum) { + return ((IItemSerum) stack.getItem()).getGene(stack, chromosome); + } + return null; + } - public static ItemStack addGene(ItemStack stack, IGene gene) { - if (stack.getItem() instanceof IItemSerum) { - ((IItemSerum) stack.getItem()).addGene(stack, gene); - } - if (stack.getItem() == Genetics.itemGenetics && stack.getItemDamage() == GeneticsItems.EmptySerum.ordinal()) { - return ItemSerum.create(gene); - } - if (stack.getItem() == Genetics.itemGenetics && stack.getItemDamage() == GeneticsItems.EmptyGenome.ordinal()) { - return ItemSerumArray.create(gene); - } - return stack; - } + public static ItemStack addGene(ItemStack stack, IGene gene) { + if (stack.getItem() instanceof IItemSerum) { + ((IItemSerum) stack.getItem()).addGene(stack, gene); + } + if (stack.getItem() == Genetics.itemGenetics && stack.getItemDamage() == GeneticsItems.EmptySerum.ordinal()) { + return ItemSerum.create(gene); + } + if (stack.getItem() == Genetics.itemGenetics && stack.getItemDamage() == GeneticsItems.EmptyGenome.ordinal()) { + return ItemSerumArray.create(gene); + } + return stack; + } - public static IGene[] getGenes(ItemStack serum) { - if (serum.getItem() instanceof IItemSerum) { - return ((IItemSerum) serum.getItem()).getGenes(serum); - } - if (serum.getItem() == Genetics.itemSequencer) { - return new IGene[]{new SequencerItem(serum).gene}; - } - return new IGene[0]; - } + public static IGene[] getGenes(ItemStack serum) { + if (serum.getItem() instanceof IItemSerum) { + return ((IItemSerum) serum.getItem()).getGenes(serum); + } + if (serum.getItem() == Genetics.itemSequencer) { + return new IGene[] {new SequencerItem(serum).gene}; + } + return new IGene[0]; + } - public static int getCharges(ItemStack serum) { - return ((IItemChargable) serum.getItem()).getCharges(serum); - } + public static int getCharges(ItemStack serum) { + return ((IItemChargable) serum.getItem()).getCharges(serum); + } } diff --git a/src/main/java/binnie/genetics/genetics/GeneArrayItem.java b/src/main/java/binnie/genetics/genetics/GeneArrayItem.java index 5503843f..bca52f24 100644 --- a/src/main/java/binnie/genetics/genetics/GeneArrayItem.java +++ b/src/main/java/binnie/genetics/genetics/GeneArrayItem.java @@ -8,132 +8,132 @@ import binnie.core.util.I18N; import binnie.genetics.api.IGene; import forestry.api.core.INBTTagable; import forestry.api.genetics.ISpeciesRoot; +import java.util.ArrayList; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.util.EnumChatFormatting; -import java.util.ArrayList; -import java.util.List; - public class GeneArrayItem implements INBTTagable, IGeneItem { - protected List genes; + protected List genes; - public GeneArrayItem(ItemStack stack) { - genes = new ArrayList<>(); - if (stack == null) { - return; - } - readFromNBT(stack.getTagCompound()); - } + public GeneArrayItem(ItemStack stack) { + genes = new ArrayList<>(); + if (stack == null) { + return; + } + readFromNBT(stack.getTagCompound()); + } - public GeneArrayItem(IGene gene) { - genes = new ArrayList<>(); - addGene(gene); - } + public GeneArrayItem(IGene gene) { + genes = new ArrayList<>(); + addGene(gene); + } - public GeneArrayItem() { - genes = new ArrayList<>(); - } + public GeneArrayItem() { + genes = new ArrayList<>(); + } - @Override - public int getColour(int color) { - if (color == 2) { - return getBreedingSystem().getColor(); - } - return 0xffffff; - } + @Override + public int getColour(int color) { + if (color == 2) { + return getBreedingSystem().getColor(); + } + return 0xffffff; + } - @Override - public void getInfo(List tooltip) { - List totalList = new ArrayList<>(); - for (IGene gene : genes) { - String chromosomeName = getBreedingSystem().getChromosomeName(gene.getChromosome()); - totalList.add(EnumChatFormatting.GOLD + chromosomeName + EnumChatFormatting.GRAY + ": " + gene.getName()); - } + @Override + public void getInfo(List tooltip) { + List totalList = new ArrayList<>(); + for (IGene gene : genes) { + String chromosomeName = getBreedingSystem().getChromosomeName(gene.getChromosome()); + totalList.add(EnumChatFormatting.GOLD + chromosomeName + EnumChatFormatting.GRAY + ": " + gene.getName()); + } - if (totalList.size() < 4 || BinnieCore.proxy.isShiftDown()) { - tooltip.addAll(totalList); - } else { - tooltip.add(totalList.get(0)); - tooltip.add(totalList.get(1)); - tooltip.add(I18N.localise("genetics.gene.more", totalList.size() - 2)); - } - } + if (totalList.size() < 4 || BinnieCore.proxy.isShiftDown()) { + tooltip.addAll(totalList); + } else { + tooltip.add(totalList.get(0)); + tooltip.add(totalList.get(1)); + tooltip.add(I18N.localise("genetics.gene.more", totalList.size() - 2)); + } + } - public BreedingSystem getBreedingSystem() { - if (genes.size() == 0) { - return null; - } - BreedingSystem system = Binnie.Genetics.getSystem(genes.get(0).getSpeciesRoot().getUID()); - return (system == null) ? Binnie.Genetics.getActiveSystems().iterator().next() : system; - } + public BreedingSystem getBreedingSystem() { + if (genes.size() == 0) { + return null; + } + BreedingSystem system = + Binnie.Genetics.getSystem(genes.get(0).getSpeciesRoot().getUID()); + return (system == null) ? Binnie.Genetics.getActiveSystems().iterator().next() : system; + } - public List getGenes() { - return genes; - } + public List getGenes() { + return genes; + } - @Override - public void readFromNBT(NBTTagCompound nbt) { - genes.clear(); - if (nbt == null) { - return; - } + @Override + public void readFromNBT(NBTTagCompound nbt) { + genes.clear(); + if (nbt == null) { + return; + } - NBTTagList list = nbt.getTagList("genes", 10); - for (int i = 0; i < list.tagCount(); ++i) { - Gene gene = Gene.create(list.getCompoundTagAt(i)); - genes.add(gene); - } - } + NBTTagList list = nbt.getTagList("genes", 10); + for (int i = 0; i < list.tagCount(); ++i) { + Gene gene = Gene.create(list.getCompoundTagAt(i)); + genes.add(gene); + } + } - @Override - public void writeToNBT(NBTTagCompound nbt) { - if (genes.size() == 0) { - return; - } + @Override + public void writeToNBT(NBTTagCompound nbt) { + if (genes.size() == 0) { + return; + } - NBTTagList list = new NBTTagList(); - for (IGene gene : genes) { - NBTTagCompound geneNBT = gene.getNBTTagCompound(); - list.appendTag(geneNBT); - } - nbt.setTag("genes", list); - } + NBTTagList list = new NBTTagList(); + for (IGene gene : genes) { + NBTTagCompound geneNBT = gene.getNBTTagCompound(); + list.appendTag(geneNBT); + } + nbt.setTag("genes", list); + } - @Override - public ISpeciesRoot getSpeciesRoot() { - if (genes.size() == 0) { - return null; - } - return genes.get(0).getSpeciesRoot(); - } + @Override + public ISpeciesRoot getSpeciesRoot() { + if (genes.size() == 0) { + return null; + } + return genes.get(0).getSpeciesRoot(); + } - public IGene getGene(int chromosome) { - for (IGene gene : genes) { - if (gene.getChromosome().ordinal() == chromosome) { - return gene; - } - } - return null; - } + public IGene getGene(int chromosome) { + for (IGene gene : genes) { + if (gene.getChromosome().ordinal() == chromosome) { + return gene; + } + } + return null; + } - @Override - public void writeToItem(ItemStack stack) { - if (stack == null) { - return; - } + @Override + public void writeToItem(ItemStack stack) { + if (stack == null) { + return; + } - NBTTagCompound nbt = stack.hasTagCompound() ? stack.getTagCompound() : new NBTTagCompound(); - writeToNBT(nbt); - stack.setTagCompound(nbt); - } + NBTTagCompound nbt = stack.hasTagCompound() ? stack.getTagCompound() : new NBTTagCompound(); + writeToNBT(nbt); + stack.setTagCompound(nbt); + } - @Override - public void addGene(IGene gene) { - if (getGene(gene.getChromosome().ordinal()) != null) { - genes.remove(getGene(gene.getChromosome().ordinal())); - } - genes.add(gene); - } + @Override + public void addGene(IGene gene) { + if (getGene(gene.getChromosome().ordinal()) != null) { + genes.remove(getGene(gene.getChromosome().ordinal())); + } + genes.add(gene); + } } diff --git a/src/main/java/binnie/genetics/genetics/GeneItem.java b/src/main/java/binnie/genetics/genetics/GeneItem.java index ae0502a0..0ac146c3 100644 --- a/src/main/java/binnie/genetics/genetics/GeneItem.java +++ b/src/main/java/binnie/genetics/genetics/GeneItem.java @@ -1,100 +1,97 @@ package binnie.genetics.genetics; -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; - -import forestry.api.core.INBTTagable; -import forestry.api.genetics.ISpeciesRoot; - import binnie.Binnie; import binnie.core.genetics.BreedingSystem; import binnie.core.genetics.Gene; import binnie.genetics.api.IGene; +import forestry.api.core.INBTTagable; +import forestry.api.genetics.ISpeciesRoot; +import java.util.List; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; public class GeneItem implements INBTTagable, IGeneItem { - protected IGene gene; + protected IGene gene; - public GeneItem(ItemStack stack) { - if (stack == null) { - return; - } - readFromNBT(stack.getTagCompound()); - } + public GeneItem(ItemStack stack) { + if (stack == null) { + return; + } + readFromNBT(stack.getTagCompound()); + } - public GeneItem(IGene gene) { - this.gene = gene; - } + public GeneItem(IGene gene) { + this.gene = gene; + } - public boolean isCorrupted() { - return gene == null; - } + public boolean isCorrupted() { + return gene == null; + } - @Override - public void writeToItem(ItemStack stack) { - if (gene == null || stack == null) { - return; - } + @Override + public void writeToItem(ItemStack stack) { + if (gene == null || stack == null) { + return; + } - NBTTagCompound nbt = stack.hasTagCompound() ? stack.getTagCompound() : new NBTTagCompound(); - writeToNBT(nbt); - stack.setTagCompound(nbt); - } + NBTTagCompound nbt = stack.hasTagCompound() ? stack.getTagCompound() : new NBTTagCompound(); + writeToNBT(nbt); + stack.setTagCompound(nbt); + } - @Override - public int getColour(int color) { - if (color == 2 && getBreedingSystem() != null) { - return getBreedingSystem().getColor(); - } - return 0xffffff; - } + @Override + public int getColour(int color) { + if (color == 2 && getBreedingSystem() != null) { + return getBreedingSystem().getColor(); + } + return 0xffffff; + } - @Override - public void getInfo(List tooltip) { - String chromosomeName = getBreedingSystem().getChromosomeName(gene.getChromosome()); - tooltip.add(EnumChatFormatting.GOLD + chromosomeName + EnumChatFormatting.GRAY + ": " + gene.getName()); - } + @Override + public void getInfo(List tooltip) { + String chromosomeName = getBreedingSystem().getChromosomeName(gene.getChromosome()); + tooltip.add(EnumChatFormatting.GOLD + chromosomeName + EnumChatFormatting.GRAY + ": " + gene.getName()); + } - public BreedingSystem getBreedingSystem() { - if (gene == null) { - return null; - } - return Binnie.Genetics.getSystem(gene.getSpeciesRoot().getUID()); - } + public BreedingSystem getBreedingSystem() { + if (gene == null) { + return null; + } + return Binnie.Genetics.getSystem(gene.getSpeciesRoot().getUID()); + } - public IGene getGene() { - return gene; - } + public IGene getGene() { + return gene; + } - @Override - public void readFromNBT(NBTTagCompound nbt) { - if (nbt != null) { - gene = Gene.create(nbt.getCompoundTag("gene")); - } - } + @Override + public void readFromNBT(NBTTagCompound nbt) { + if (nbt != null) { + gene = Gene.create(nbt.getCompoundTag("gene")); + } + } - @Override - public void writeToNBT(NBTTagCompound nbt) { - if (gene == null) { - return; - } + @Override + public void writeToNBT(NBTTagCompound nbt) { + if (gene == null) { + return; + } - NBTTagCompound geneNBT = gene.getNBTTagCompound(); - nbt.setTag("gene", geneNBT); - } + NBTTagCompound geneNBT = gene.getNBTTagCompound(); + nbt.setTag("gene", geneNBT); + } - @Override - public ISpeciesRoot getSpeciesRoot() { - if (gene != null) { - return gene.getSpeciesRoot(); - } - return null; - } + @Override + public ISpeciesRoot getSpeciesRoot() { + if (gene != null) { + return gene.getSpeciesRoot(); + } + return null; + } - @Override - public void addGene(IGene gene) { - this.gene = gene; - } + @Override + public void addGene(IGene gene) { + this.gene = gene; + } } diff --git a/src/main/java/binnie/genetics/genetics/GeneTracker.java b/src/main/java/binnie/genetics/genetics/GeneTracker.java index 70b3d373..05455de4 100644 --- a/src/main/java/binnie/genetics/genetics/GeneTracker.java +++ b/src/main/java/binnie/genetics/genetics/GeneTracker.java @@ -10,6 +10,7 @@ import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAllele; import forestry.api.genetics.IChromosomeType; import forestry.api.genetics.ISpeciesRoot; +import java.util.ArrayList; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; @@ -17,99 +18,97 @@ import net.minecraft.nbt.NBTTagString; import net.minecraft.world.World; import net.minecraft.world.WorldSavedData; -import java.util.ArrayList; - public class GeneTracker extends WorldSavedData { - GameProfile username; - private ArrayList discoveredGenes; + GameProfile username; + private ArrayList discoveredGenes; - public GeneTracker(String s, GameProfile username) { - super(s); - discoveredGenes = new ArrayList<>(); - this.username = username; - } + public GeneTracker(String s, GameProfile username) { + super(s); + discoveredGenes = new ArrayList<>(); + this.username = username; + } - public GeneTracker(String s) { - super(s); - discoveredGenes = new ArrayList<>(); - } + public GeneTracker(String s) { + super(s); + discoveredGenes = new ArrayList<>(); + } - protected static GeneTracker getCommonTracker(EntityPlayer player) { - return getTracker(player.worldObj, null); - } + protected static GeneTracker getCommonTracker(EntityPlayer player) { + return getTracker(player.worldObj, null); + } - public static GeneTracker getTracker(World world, GameProfile player) { - String filename = "GeneTracker." + ((player == null) ? "common" : player.getId()); - GeneTracker tracker = (GeneTracker) world.loadItemData(GeneTracker.class, filename); - if (tracker == null) { - tracker = new GeneTracker(filename, player); - world.setItemData(filename, tracker); - } else { - tracker.username = player; - } - return tracker; - } + public static GeneTracker getTracker(World world, GameProfile player) { + String filename = "GeneTracker." + ((player == null) ? "common" : player.getId()); + GeneTracker tracker = (GeneTracker) world.loadItemData(GeneTracker.class, filename); + if (tracker == null) { + tracker = new GeneTracker(filename, player); + world.setItemData(filename, tracker); + } else { + tracker.username = player; + } + return tracker; + } - public void synchToPlayer(EntityPlayer player) { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - writeToNBT(nbttagcompound); - Genetics.proxy.sendToPlayer(new MessageNBT(GeneticsPacket.GeneTrackerSync.ordinal(), nbttagcompound), player); - } + public void synchToPlayer(EntityPlayer player) { + NBTTagCompound nbttagcompound = new NBTTagCompound(); + writeToNBT(nbttagcompound); + Genetics.proxy.sendToPlayer(new MessageNBT(GeneticsPacket.GeneTrackerSync.ordinal(), nbttagcompound), player); + } - @Override - public void readFromNBT(NBTTagCompound nbt) { - for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { - if (!nbt.hasKey(root.getUID())) { - continue; - } - NBTTagCompound nbtRoot = nbt.getCompoundTag(root.getUID()); - for (IChromosomeType chromo : root.getKaryotype()) { - if (!nbtRoot.hasKey("" + chromo.ordinal())) { - continue; - } + @Override + public void readFromNBT(NBTTagCompound nbt) { + for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { + if (!nbt.hasKey(root.getUID())) { + continue; + } + NBTTagCompound nbtRoot = nbt.getCompoundTag(root.getUID()); + for (IChromosomeType chromo : root.getKaryotype()) { + if (!nbtRoot.hasKey("" + chromo.ordinal())) { + continue; + } - NBTTagList nbtChromo = nbtRoot.getTagList("" + chromo.ordinal(), 8); - for (int i = 0; i < nbtChromo.tagCount(); ++i) { - String uid = nbtChromo.getStringTagAt(i); - IAllele allele = AlleleManager.alleleRegistry.getAllele(uid); - Gene gene = new Gene(allele, chromo, root); - if (allele != null && !discoveredGenes.contains(gene)) { - discoveredGenes.add(gene); - } - } - } - } - } + NBTTagList nbtChromo = nbtRoot.getTagList("" + chromo.ordinal(), 8); + for (int i = 0; i < nbtChromo.tagCount(); ++i) { + String uid = nbtChromo.getStringTagAt(i); + IAllele allele = AlleleManager.alleleRegistry.getAllele(uid); + Gene gene = new Gene(allele, chromo, root); + if (allele != null && !discoveredGenes.contains(gene)) { + discoveredGenes.add(gene); + } + } + } + } + } - @Override - public void writeToNBT(NBTTagCompound nbt) { - for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { - NBTTagCompound nbtRoot = new NBTTagCompound(); - for (IChromosomeType chromo : root.getKaryotype()) { - NBTTagList nbtChromo = new NBTTagList(); - for (IGene gene : discoveredGenes) { - if (gene.getSpeciesRoot() == root && gene.getChromosome() == chromo) { - nbtChromo.appendTag(new NBTTagString(gene.getAllele().getUID())); - } - } - nbtRoot.setTag("" + chromo.ordinal(), nbtChromo); - } - nbt.setTag(root.getUID(), nbtRoot); - } - } + @Override + public void writeToNBT(NBTTagCompound nbt) { + for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { + NBTTagCompound nbtRoot = new NBTTagCompound(); + for (IChromosomeType chromo : root.getKaryotype()) { + NBTTagList nbtChromo = new NBTTagList(); + for (IGene gene : discoveredGenes) { + if (gene.getSpeciesRoot() == root && gene.getChromosome() == chromo) { + nbtChromo.appendTag(new NBTTagString(gene.getAllele().getUID())); + } + } + nbtRoot.setTag("" + chromo.ordinal(), nbtChromo); + } + nbt.setTag(root.getUID(), nbtRoot); + } + } - public void registerGene(IGene iGene) { - if (!discoveredGenes.contains(iGene)) { - discoveredGenes.add(iGene); - } - markDirty(); - } + public void registerGene(IGene iGene) { + if (!discoveredGenes.contains(iGene)) { + discoveredGenes.add(iGene); + } + markDirty(); + } - public int getGenesSequenced() { - return discoveredGenes.size(); - } + public int getGenesSequenced() { + return discoveredGenes.size(); + } - public boolean isSequenced(Gene gene) { - return discoveredGenes.contains(gene); - } + public boolean isSequenced(Gene gene) { + return discoveredGenes.contains(gene); + } } diff --git a/src/main/java/binnie/genetics/genetics/IGeneItem.java b/src/main/java/binnie/genetics/genetics/IGeneItem.java index 01da598f..54ec42fa 100644 --- a/src/main/java/binnie/genetics/genetics/IGeneItem.java +++ b/src/main/java/binnie/genetics/genetics/IGeneItem.java @@ -2,18 +2,17 @@ package binnie.genetics.genetics; import binnie.genetics.api.IGene; import forestry.api.genetics.ISpeciesRoot; +import java.util.List; import net.minecraft.item.ItemStack; -import java.util.List; - public interface IGeneItem { - ISpeciesRoot getSpeciesRoot(); + ISpeciesRoot getSpeciesRoot(); - void getInfo(List tooltip); + void getInfo(List tooltip); - int getColour(int color); + int getColour(int color); - void writeToItem(ItemStack stack); + void writeToItem(ItemStack stack); - void addGene(IGene gene); + void addGene(IGene gene); } diff --git a/src/main/java/binnie/genetics/genetics/SequencerItem.java b/src/main/java/binnie/genetics/genetics/SequencerItem.java index e950099a..ed724b41 100644 --- a/src/main/java/binnie/genetics/genetics/SequencerItem.java +++ b/src/main/java/binnie/genetics/genetics/SequencerItem.java @@ -5,30 +5,30 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; public class SequencerItem extends GeneItem { - public int sequenced; - public boolean analysed; + public int sequenced; + public boolean analysed; - public SequencerItem(ItemStack stack) { - super(stack); - } + public SequencerItem(ItemStack stack) { + super(stack); + } - public SequencerItem(IGene gene) { - super(gene); - sequenced = 0; - analysed = false; - } + public SequencerItem(IGene gene) { + super(gene); + sequenced = 0; + analysed = false; + } - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - sequenced = nbt.getByte("seq"); - analysed = nbt.getBoolean("ana"); - } + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + sequenced = nbt.getByte("seq"); + analysed = nbt.getBoolean("ana"); + } - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setByte("seq", (byte) sequenced); - nbt.setBoolean("ana", analysed); - } + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setByte("seq", (byte) sequenced); + nbt.setBoolean("ana", analysed); + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageAppearance.java b/src/main/java/binnie/genetics/gui/AnalystPageAppearance.java index 0cefba3c..cbf5b1ed 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageAppearance.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageAppearance.java @@ -14,62 +14,70 @@ import net.minecraft.util.EnumChatFormatting; import org.lwjgl.opengl.GL11; public class AnalystPageAppearance extends ControlAnalystPage { - public AnalystPageAppearance(IWidget parent, IArea area, IFlower ind) { - super(parent, area); - setColor(0x333333); - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()) - .setColor(getColor()); - y += 12; + public AnalystPageAppearance(IWidget parent, IArea area, IFlower ind) { + super(parent, area); + setColor(0x333333); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); + y += 12; - ControlColorDisplay a = new ControlColorDisplay(this, w() / 2.0f - 28.0f, y); - a.setValue(ind.getGenome().getPrimaryColor()); - a.addTooltip(I18N.localise("genetics.gui.analyst.primaryColor")); + ControlColorDisplay a = new ControlColorDisplay(this, w() / 2.0f - 28.0f, y); + a.setValue(ind.getGenome().getPrimaryColor()); + a.addTooltip(I18N.localise("genetics.gui.analyst.primaryColor")); - ControlColorDisplay b = new ControlColorDisplay(this, w() / 2.0f - 8.0f, y); - b.setValue(ind.getGenome().getSecondaryColor()); - b.addTooltip(I18N.localise("genetics.gui.analyst.secondaryColor")); + ControlColorDisplay b = new ControlColorDisplay(this, w() / 2.0f - 8.0f, y); + b.setValue(ind.getGenome().getSecondaryColor()); + b.addTooltip(I18N.localise("genetics.gui.analyst.secondaryColor")); - ControlColorDisplay c = new ControlColorDisplay(this, w() / 2.0f + 12.0f, y); - c.setValue(ind.getGenome().getStemColor()); - c.addTooltip(I18N.localise("genetics.gui.analyst.stemColor")); - y += 26; + ControlColorDisplay c = new ControlColorDisplay(this, w() / 2.0f + 12.0f, y); + c.setValue(ind.getGenome().getStemColor()); + c.addTooltip(I18N.localise("genetics.gui.analyst.stemColor")); + y += 26; - int sections = ind.getGenome().getType().getSections(); - int w = (sections > 1) ? 50 : 100; + int sections = ind.getGenome().getType().getSections(); + int w = (sections > 1) ? 50 : 100; - new ControlIconDisplay(this, (w() - w) / 2.0f, y - ((sections == 1) ? 0 : 0), null) { - @Override - public void onRenderForeground() { - GL11.glPushMatrix(); - float scale = w / 16.0f; - float dy = (sections > 1) ? 16.0f : 0.0f; - GL11.glScalef(scale, scale, 1.0f); - CraftGUI.render.color(ind.getGenome().getStemColor().getColor(false)); - if (sections > 1) { - CraftGUI.render.iconBlock(new IPoint(0.0f, 0.0f), ind.getGenome().getType().getStem(EnumFlowerStage.FLOWER, true, 1)); - } + new ControlIconDisplay(this, (w() - w) / 2.0f, y - ((sections == 1) ? 0 : 0), null) { + @Override + public void onRenderForeground() { + GL11.glPushMatrix(); + float scale = w / 16.0f; + float dy = (sections > 1) ? 16.0f : 0.0f; + GL11.glScalef(scale, scale, 1.0f); + CraftGUI.render.color(ind.getGenome().getStemColor().getColor(false)); + if (sections > 1) { + CraftGUI.render.iconBlock( + new IPoint(0.0f, 0.0f), ind.getGenome().getType().getStem(EnumFlowerStage.FLOWER, true, 1)); + } - CraftGUI.render.iconBlock(new IPoint(0.0f, dy), ind.getGenome().getType().getStem(EnumFlowerStage.FLOWER, true, 0)); - CraftGUI.render.color(ind.getGenome().getPrimaryColor().getColor(false)); - if (sections > 1) { - CraftGUI.render.iconBlock(new IPoint(0.0f, 0.0f), ind.getGenome().getType().getPetalIcon(EnumFlowerStage.FLOWER, true, 1)); - } + CraftGUI.render.iconBlock( + new IPoint(0.0f, dy), ind.getGenome().getType().getStem(EnumFlowerStage.FLOWER, true, 0)); + CraftGUI.render.color(ind.getGenome().getPrimaryColor().getColor(false)); + if (sections > 1) { + CraftGUI.render.iconBlock( + new IPoint(0.0f, 0.0f), + ind.getGenome().getType().getPetalIcon(EnumFlowerStage.FLOWER, true, 1)); + } - CraftGUI.render.iconBlock(new IPoint(0.0f, dy), ind.getGenome().getType().getPetalIcon(EnumFlowerStage.FLOWER, true, 0)); - CraftGUI.render.color(ind.getGenome().getSecondaryColor().getColor(false)); - if (sections > 1) { - CraftGUI.render.iconBlock(new IPoint(0.0f, 0.0f), ind.getGenome().getType().getVariantIcon(EnumFlowerStage.FLOWER, true, 1)); - } + CraftGUI.render.iconBlock( + new IPoint(0.0f, dy), ind.getGenome().getType().getPetalIcon(EnumFlowerStage.FLOWER, true, 0)); + CraftGUI.render.color(ind.getGenome().getSecondaryColor().getColor(false)); + if (sections > 1) { + CraftGUI.render.iconBlock( + new IPoint(0.0f, 0.0f), + ind.getGenome().getType().getVariantIcon(EnumFlowerStage.FLOWER, true, 1)); + } - CraftGUI.render.iconBlock(new IPoint(0.0f, dy), ind.getGenome().getType().getVariantIcon(EnumFlowerStage.FLOWER, true, 0)); - GL11.glPopMatrix(); - } - }; - } + CraftGUI.render.iconBlock( + new IPoint(0.0f, dy), + ind.getGenome().getType().getVariantIcon(EnumFlowerStage.FLOWER, true, 0)); + GL11.glPopMatrix(); + } + }; + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.appearance"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.appearance"); + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageBehaviour.java b/src/main/java/binnie/genetics/gui/AnalystPageBehaviour.java index 7b8333d8..672f2625 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageBehaviour.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageBehaviour.java @@ -18,77 +18,99 @@ import forestry.plugins.PluginApiculture; import net.minecraft.util.EnumChatFormatting; public class AnalystPageBehaviour extends ControlAnalystPage { - public AnalystPageBehaviour(IWidget parent, IArea area, IIndividual ind) { - super(parent, area); - setColor(0x660033); - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()) - .setColor(getColor()); - y += 12; + public AnalystPageBehaviour(IWidget parent, IArea area, IIndividual ind) { + super(parent, area); + setColor(0x660033); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); + y += 12; - if (ind instanceof IBee) { - IBee bee = (IBee) ind; - y += 8; - int fertility = bee.getGenome().getFlowering(); - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.behaviour.pollinatesNearby") + "\n" + bee.getGenome().getFlowerProvider().getDescription()) - .setColor(getColor()); - y += 20; + if (ind instanceof IBee) { + IBee bee = (IBee) ind; + y += 8; + int fertility = bee.getGenome().getFlowering(); + new ControlTextCentered( + this, + y, + I18N.localise("genetics.gui.analyst.behaviour.pollinatesNearby") + "\n" + + bee.getGenome().getFlowerProvider().getDescription()) + .setColor(getColor()); + y += 20; - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.behaviour.everyTime", getTimeString(PluginApiculture.ticksPerBeeWorkCycle * 100.0f / fertility))) - .setColor(getColor()); - y += 22; + new ControlTextCentered( + this, + y, + I18N.localise( + "genetics.gui.analyst.behaviour.everyTime", + getTimeString(PluginApiculture.ticksPerBeeWorkCycle * 100.0f / fertility))) + .setColor(getColor()); + y += 22; - IAlleleBeeEffect effect = bee.getGenome().getEffect(); - int[] t = bee.getGenome().getTerritory(); - if (!effect.getUID().contains("None")) { - String effectDesc = I18N.localiseOrBlank("binniecore.allele." + effect.getUID() + ".desc"); - String loc = effectDesc.isEmpty() - ? I18N.localise("genetics.gui.analyst.behaviour.effect", effect.getName()) - : effectDesc; + IAlleleBeeEffect effect = bee.getGenome().getEffect(); + int[] t = bee.getGenome().getTerritory(); + if (!effect.getUID().contains("None")) { + String effectDesc = I18N.localiseOrBlank("binniecore.allele." + effect.getUID() + ".desc"); + String loc = effectDesc.isEmpty() + ? I18N.localise("genetics.gui.analyst.behaviour.effect", effect.getName()) + : effectDesc; - new ControlText(this, new IArea(4.0f, y, w() - 8.0f, 0.0f), loc, TextJustification.TOP_CENTER) - .setColor(getColor()); - y += (int) (CraftGUI.render.textHeight(loc, w() - 8.0f) + 1.0f); + new ControlText(this, new IArea(4.0f, y, w() - 8.0f, 0.0f), loc, TextJustification.TOP_CENTER) + .setColor(getColor()); + y += (int) (CraftGUI.render.textHeight(loc, w() - 8.0f) + 1.0f); - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.behaviour.withinBlocks", (int) (t[0] / 2.0f))) - .setColor(getColor()); - y += 22; - } + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.behaviour.withinBlocks", (int) + (t[0] / 2.0f))) + .setColor(getColor()); + y += 22; + } - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.behaviour.territory", t[0], t[1], t[2])) - .setColor(getColor()); - y += 22; - } + new ControlTextCentered( + this, y, I18N.localise("genetics.gui.analyst.behaviour.territory", t[0], t[1], t[2])) + .setColor(getColor()); + y += 22; + } - if (ind instanceof IButterfly) { - IButterfly bee2 = (IButterfly) ind; - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.behaviour.metabolism", Binnie.Genetics.mothBreedingSystem.getAlleleName(EnumButterflyChromosome.METABOLISM, ind.getGenome().getActiveAllele(EnumButterflyChromosome.METABOLISM)))) - .setColor(getColor()); - y += 20; + if (ind instanceof IButterfly) { + IButterfly bee2 = (IButterfly) ind; + new ControlTextCentered( + this, + y, + I18N.localise( + "genetics.gui.analyst.behaviour.metabolism", + Binnie.Genetics.mothBreedingSystem.getAlleleName( + EnumButterflyChromosome.METABOLISM, + ind.getGenome().getActiveAllele(EnumButterflyChromosome.METABOLISM)))) + .setColor(getColor()); + y += 20; - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.behaviour.pollinatesNearby") + "\n" + bee2.getGenome().getFlowerProvider().getDescription()) - .setColor(getColor()); - y += 20; + new ControlTextCentered( + this, + y, + I18N.localise("genetics.gui.analyst.behaviour.pollinatesNearby") + "\n" + + bee2.getGenome().getFlowerProvider().getDescription()) + .setColor(getColor()); + y += 20; - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.behaviour.everyTime", getTimeString(1500.0f))) - .setColor(getColor()); - y += 22; + new ControlTextCentered( + this, y, I18N.localise("genetics.gui.analyst.behaviour.everyTime", getTimeString(1500.0f))) + .setColor(getColor()); + y += 22; - IAlleleButterflyEffect effect2 = bee2.getGenome().getEffect(); - if (!effect2.getUID().contains("None")) { - String effectDesc2 = I18N.localiseOrBlank("binniecore.allele." + effect2.getUID() + ".desc"); - String loc2 = effectDesc2.isEmpty() - ? I18N.localise("genetics.gui.analyst.behaviour.effect", effect2.getName()) - : effectDesc2; + IAlleleButterflyEffect effect2 = bee2.getGenome().getEffect(); + if (!effect2.getUID().contains("None")) { + String effectDesc2 = I18N.localiseOrBlank("binniecore.allele." + effect2.getUID() + ".desc"); + String loc2 = effectDesc2.isEmpty() + ? I18N.localise("genetics.gui.analyst.behaviour.effect", effect2.getName()) + : effectDesc2; - new ControlText(this, new IArea(4.0f, y, w() - 8.0f, 0.0f), loc2, TextJustification.TOP_CENTER) - .setColor(getColor()); - } - } - } + new ControlText(this, new IArea(4.0f, y, w() - 8.0f, 0.0f), loc2, TextJustification.TOP_CENTER) + .setColor(getColor()); + } + } + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.behaviour"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.behaviour"); + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageBiology.java b/src/main/java/binnie/genetics/gui/AnalystPageBiology.java index a29bfea4..907c0e68 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageBiology.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageBiology.java @@ -15,233 +15,270 @@ import forestry.api.arboriculture.ITree; import forestry.api.genetics.IIndividual; import forestry.api.lepidopterology.IButterfly; import forestry.plugins.PluginApiculture; +import java.text.DecimalFormat; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.EnumPlantType; -import java.text.DecimalFormat; - public class AnalystPageBiology extends ControlAnalystPage { - private static final float SPAWN_KOEF = 1365.3999f; - - public AnalystPageBiology(IWidget parent, IArea area, IIndividual ind) { - super(parent, area); - setColor(0x006666); - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()) - .setColor(getColor()); - y += 12; + private static final float SPAWN_KOEF = 1365.3999f; - if (ind instanceof IBee) { - IBee bee = (IBee) ind; - if (bee.getGenome().getNocturnal()) { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f, y, ModuleItem.iconAllDay.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.allDay")); - } else if (bee.getGenome().getPrimary().isNocturnal()) { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f, y, ModuleItem.iconNight.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.night")); - } else { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f, y, ModuleItem.iconDaytime.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.day")); - } + public AnalystPageBiology(IWidget parent, IArea area, IIndividual ind) { + super(parent, area); + setColor(0x006666); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); + y += 12; - if (!bee.getGenome().getTolerantFlyer()) { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 24.0f, y, ModuleItem.iconNoRain.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.notRain")); - } else { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 24.0f, y, ModuleItem.iconRain.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.rain")); - } + if (ind instanceof IBee) { + IBee bee = (IBee) ind; + if (bee.getGenome().getNocturnal()) { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f, y, ModuleItem.iconAllDay.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.allDay")); + } else if (bee.getGenome().getPrimary().isNocturnal()) { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f, y, ModuleItem.iconNight.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.night")); + } else { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f, y, ModuleItem.iconDaytime.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.day")); + } - if (bee.getGenome().getCaveDwelling()) { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 48.0f, y, ModuleItem.iconNoSky.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.underground")); - } else { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 48.0f, y, ModuleItem.iconSky.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.notUnderground")); - } - y += 30; - } else if (ind instanceof IButterfly) { - IButterfly moth = (IButterfly) ind; - if (moth.getGenome().getNocturnal()) { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f, y, ModuleItem.iconAllDay.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.allDay")); - } else if (moth.getGenome().getPrimary().isNocturnal()) { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f, y, ModuleItem.iconNight.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.night")); - } else { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f, y, ModuleItem.iconDaytime.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.day")); - } + if (!bee.getGenome().getTolerantFlyer()) { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 24.0f, y, ModuleItem.iconNoRain.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.notRain")); + } else { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 24.0f, y, ModuleItem.iconRain.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.rain")); + } - if (!moth.getGenome().getTolerantFlyer()) { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 24.0f, y, ModuleItem.iconNoRain.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.notRain")); - } else { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 24.0f, y, ModuleItem.iconRain.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.rain")); - } + if (bee.getGenome().getCaveDwelling()) { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 48.0f, y, ModuleItem.iconNoSky.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.underground")); + } else { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 48.0f, y, ModuleItem.iconSky.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.notUnderground")); + } + y += 30; + } else if (ind instanceof IButterfly) { + IButterfly moth = (IButterfly) ind; + if (moth.getGenome().getNocturnal()) { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f, y, ModuleItem.iconAllDay.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.allDay")); + } else if (moth.getGenome().getPrimary().isNocturnal()) { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f, y, ModuleItem.iconNight.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.night")); + } else { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f, y, ModuleItem.iconDaytime.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.day")); + } - if (moth.getGenome().getFireResist()) { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 48.0f, y, ModuleItem.iconNoFire.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.nonflammable")); - } else { - new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 48.0f, y, ModuleItem.iconFire.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.biology.flammable")); - } - y += 30; - } else if (ind instanceof ITree) { - String alleleName = Binnie.Genetics.treeBreedingSystem.getAlleleName(EnumTreeChromosome.SAPPINESS, ind.getGenome().getActiveAllele(EnumTreeChromosome.SAPPINESS)); - new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.biology.sappiness", alleleName)) - .setColor(getColor()); - y += 20; - } else { - y += 10; - } + if (!moth.getGenome().getTolerantFlyer()) { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 24.0f, y, ModuleItem.iconNoRain.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.notRain")); + } else { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 24.0f, y, ModuleItem.iconRain.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.rain")); + } - if (ind instanceof IBee) { - IBee bee = (IBee) ind; - int fertility = bee.getGenome().getFertility(); - if (fertility > 1) { - new ControlTextCentered(this, y, EnumChatFormatting.BOLD + I18N.localise("genetics.gui.analyst.biology.fertility.drones", fertility)) - .setColor(getColor()); - } else { - new ControlTextCentered(this, y, EnumChatFormatting.BOLD + I18N.localise("genetics.gui.analyst.biology.fertility.drone")) - .setColor(getColor()); - } + if (moth.getGenome().getFireResist()) { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 48.0f, y, ModuleItem.iconNoFire.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.nonflammable")); + } else { + new ControlIconDisplay(this, (w() - 64.0f) / 2.0f + 48.0f, y, ModuleItem.iconFire.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.biology.flammable")); + } + y += 30; + } else if (ind instanceof ITree) { + String alleleName = Binnie.Genetics.treeBreedingSystem.getAlleleName( + EnumTreeChromosome.SAPPINESS, ind.getGenome().getActiveAllele(EnumTreeChromosome.SAPPINESS)); + new ControlTextCentered( + this, + y, + EnumChatFormatting.ITALIC + + I18N.localise("genetics.gui.analyst.biology.sappiness", alleleName)) + .setColor(getColor()); + y += 20; + } else { + y += 10; + } - y += 22; - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.averageLifespan")) - .setColor(getColor()); + if (ind instanceof IBee) { + IBee bee = (IBee) ind; + int fertility = bee.getGenome().getFertility(); + if (fertility > 1) { + new ControlTextCentered( + this, + y, + EnumChatFormatting.BOLD + + I18N.localise("genetics.gui.analyst.biology.fertility.drones", fertility)) + .setColor(getColor()); + } else { + new ControlTextCentered( + this, + y, + EnumChatFormatting.BOLD + I18N.localise("genetics.gui.analyst.biology.fertility.drone")) + .setColor(getColor()); + } - y += 12; - int lifespan = bee.getGenome().getLifespan() * PluginApiculture.ticksPerBeeWorkCycle; - new ControlTextCentered(this, y, EnumChatFormatting.BOLD + getMCDayString(lifespan * (bee.getGenome().getNocturnal() ? 1.0f : 2.0f))) - .setColor(getColor()); - y += 22; - } + y += 22; + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.averageLifespan")) + .setColor(getColor()); - if (ind instanceof IButterfly) { - IButterfly bee2 = (IButterfly) ind; - int fertility = bee2.getGenome().getFertility(); - if (fertility > 1) { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.fertility.moths", fertility)) - .setColor(getColor()); - } else { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.fertility.moth")) - .setColor(getColor()); - } + y += 12; + int lifespan = bee.getGenome().getLifespan() * PluginApiculture.ticksPerBeeWorkCycle; + new ControlTextCentered( + this, + y, + EnumChatFormatting.BOLD + + getMCDayString(lifespan * (bee.getGenome().getNocturnal() ? 1.0f : 2.0f))) + .setColor(getColor()); + y += 22; + } - y += 32; - float caterpillarMatureTime = SPAWN_KOEF * Math.round(bee2.getGenome().getLifespan() / (bee2.getGenome().getFertility() * 2)); - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.caterpillarGestation")) - .setColor(getColor()); + if (ind instanceof IButterfly) { + IButterfly bee2 = (IButterfly) ind; + int fertility = bee2.getGenome().getFertility(); + if (fertility > 1) { + new ControlTextCentered( + this, y, I18N.localise("genetics.gui.analyst.biology.fertility.moths", fertility)) + .setColor(getColor()); + } else { + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.fertility.moth")) + .setColor(getColor()); + } - y += 12; - new ControlTextCentered(this, y, EnumChatFormatting.BOLD + getMCDayString(caterpillarMatureTime)) - .setColor(getColor()); + y += 32; + float caterpillarMatureTime = SPAWN_KOEF + * Math.round( + bee2.getGenome().getLifespan() / (bee2.getGenome().getFertility() * 2)); + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.caterpillarGestation")) + .setColor(getColor()); - y += 22; - int speed = (int) (20.0f * bee2.getGenome().getSpeed()); - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.flightSpeed")) - .setColor(getColor()); + y += 12; + new ControlTextCentered(this, y, EnumChatFormatting.BOLD + getMCDayString(caterpillarMatureTime)) + .setColor(getColor()); - y += 12; - new ControlTextCentered(this, y, EnumChatFormatting.BOLD + I18N.localise("genetics.gui.analyst.biology.blocksPerSec", speed)) - .setColor(getColor()); - y += 22; - } + y += 22; + int speed = (int) (20.0f * bee2.getGenome().getSpeed()); + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.flightSpeed")) + .setColor(getColor()); - if (ind instanceof ITree) { - ITree tree = (ITree) ind; - int fertility = (int) (1.0f / tree.getGenome().getFertility()); - if (fertility > 1) { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.fertility.leaves", fertility)) - .setColor(getColor()); - } else { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.fertility.leaf")) - .setColor(getColor()); - } + y += 12; + new ControlTextCentered( + this, + y, + EnumChatFormatting.BOLD + I18N.localise("genetics.gui.analyst.biology.blocksPerSec", speed)) + .setColor(getColor()); + y += 22; + } - y += 22; - float butterflySpawn = SPAWN_KOEF / (tree.getGenome().getSappiness() * tree.getGenome().getYield() * 0.5f); - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.mothSpawn.perLeaf", getTimeString(butterflySpawn))) - .setColor(getColor()); + if (ind instanceof ITree) { + ITree tree = (ITree) ind; + int fertility = (int) (1.0f / tree.getGenome().getFertility()); + if (fertility > 1) { + new ControlTextCentered( + this, y, I18N.localise("genetics.gui.analyst.biology.fertility.leaves", fertility)) + .setColor(getColor()); + } else { + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.fertility.leaf")) + .setColor(getColor()); + } - y += 34; - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.planTypes")) - .setColor(getColor()); + y += 22; + float butterflySpawn = SPAWN_KOEF + / (tree.getGenome().getSappiness() * tree.getGenome().getYield() * 0.5f); + new ControlTextCentered( + this, + y, + I18N.localise( + "genetics.gui.analyst.biology.mothSpawn.perLeaf", getTimeString(butterflySpawn))) + .setColor(getColor()); - y += 12; - for (EnumPlantType type : tree.getGenome().getPlantTypes()) { - new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + type.name()) - .setColor(getColor()); - y += 12; - } - } - if (ind instanceof IFlower) { - IFlower flower = (IFlower) ind; - float butterflySpawn2 = SPAWN_KOEF / (flower.getGenome().getSappiness() * 0.2f); - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.mothSpawn", getTimeString(butterflySpawn2))) - .setColor(getColor()); - y += 30; + y += 34; + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.planTypes")) + .setColor(getColor()); - int fertility = flower.getGenome().getFertility(); - float chanceDispersal = 0.8f; - chanceDispersal += 0.2f * fertility; - if (chanceDispersal > 1.0f) { - chanceDispersal = 1.0f; - } + y += 12; + for (EnumPlantType type : tree.getGenome().getPlantTypes()) { + new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + type.name()).setColor(getColor()); + y += 12; + } + } + if (ind instanceof IFlower) { + IFlower flower = (IFlower) ind; + float butterflySpawn2 = SPAWN_KOEF / (flower.getGenome().getSappiness() * 0.2f); + new ControlTextCentered( + this, + y, + I18N.localise("genetics.gui.analyst.biology.mothSpawn", getTimeString(butterflySpawn2))) + .setColor(getColor()); + y += 30; - float chancePollinate = 0.6f; - chancePollinate += 0.25f * fertility; - if (chancePollinate > 1.0f) { - chancePollinate = 1.0f; - } + int fertility = flower.getGenome().getFertility(); + float chanceDispersal = 0.8f; + chanceDispersal += 0.2f * fertility; + if (chanceDispersal > 1.0f) { + chanceDispersal = 1.0f; + } - float maxAge = flower.getMaxAge(); - float ageChance = flower.getGenome().getAgeChance(); - float dispersalTime = SPAWN_KOEF / chanceDispersal; - float pollinateTime = SPAWN_KOEF / chancePollinate; - float lifespan2 = maxAge * 20.0f * 68.27f / ageChance; - float floweringLifespan = (maxAge - 1) * 20.0f * 68.27f / ageChance - SPAWN_KOEF; + float chancePollinate = 0.6f; + chancePollinate += 0.25f * fertility; + if (chancePollinate > 1.0f) { + chancePollinate = 1.0f; + } - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.averageLifespan")) - .setColor(getColor()); - y += 12; + float maxAge = flower.getMaxAge(); + float ageChance = flower.getGenome().getAgeChance(); + float dispersalTime = SPAWN_KOEF / chanceDispersal; + float pollinateTime = SPAWN_KOEF / chancePollinate; + float lifespan2 = maxAge * 20.0f * 68.27f / ageChance; + float floweringLifespan = (maxAge - 1) * 20.0f * 68.27f / ageChance - SPAWN_KOEF; - new ControlTextCentered(this, y, EnumChatFormatting.BOLD + getMCDayString(lifespan2)) - .setColor(getColor()); - y += 22; + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.averageLifespan")) + .setColor(getColor()); + y += 12; - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.seedDispersal")) - .setColor(getColor()); - y += 12; + new ControlTextCentered(this, y, EnumChatFormatting.BOLD + getMCDayString(lifespan2)).setColor(getColor()); + y += 22; - new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.biology.perLifetime", (int) (floweringLifespan / dispersalTime))) - .setColor(getColor()); - y += 22; + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.seedDispersal")) + .setColor(getColor()); + y += 12; - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.pollination")) - .setColor(getColor()); - y += 12; + new ControlTextCentered( + this, + y, + EnumChatFormatting.ITALIC + + I18N.localise("genetics.gui.analyst.biology.perLifetime", (int) + (floweringLifespan / dispersalTime))) + .setColor(getColor()); + y += 22; - new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.biology.perLifetime", (int) (floweringLifespan / pollinateTime))) - .setColor(getColor()); - y += 22; - } - setSize(new IPoint(w(), y)); - } + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.biology.pollination")) + .setColor(getColor()); + y += 12; - private String getMCDayString(float time) { - float seconds = time / 20.0f; - float minutes = seconds / 60.0f; - float days = minutes / 20.0f; - DecimalFormat df = new DecimalFormat("#.#"); - return I18N.localise("genetics.gui.analyst.biology.mcDays", df.format(days)); - } + new ControlTextCentered( + this, + y, + EnumChatFormatting.ITALIC + + I18N.localise("genetics.gui.analyst.biology.perLifetime", (int) + (floweringLifespan / pollinateTime))) + .setColor(getColor()); + y += 22; + } + setSize(new IPoint(w(), y)); + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.biology"); - } + private String getMCDayString(float time) { + float seconds = time / 20.0f; + float minutes = seconds / 60.0f; + float days = minutes / 20.0f; + DecimalFormat df = new DecimalFormat("#.#"); + return I18N.localise("genetics.gui.analyst.biology.mcDays", df.format(days)); + } + + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.biology"); + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageClimate.java b/src/main/java/binnie/genetics/gui/AnalystPageClimate.java index e2427aa3..adcf7c48 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageClimate.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageClimate.java @@ -19,127 +19,147 @@ import forestry.api.genetics.IAlleleTolerance; import forestry.api.genetics.IIndividual; import forestry.api.lepidopterology.EnumButterflyChromosome; import forestry.api.lepidopterology.IButterfly; +import java.util.ArrayList; +import java.util.List; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.BiomeDictionary; -import java.util.ArrayList; -import java.util.List; - public class AnalystPageClimate extends ControlAnalystPage { - public AnalystPageClimate(IWidget parent, IArea area, IIndividual ind) { - super(parent, area); - setColor(0x006633); - EnumTemperature temp = ind.getGenome().getPrimary().getTemperature(); - EnumTolerance tempTol = EnumTolerance.NONE; - EnumHumidity humid = ind.getGenome().getPrimary().getHumidity(); - EnumTolerance humidTol = EnumTolerance.NONE; + public AnalystPageClimate(IWidget parent, IArea area, IIndividual ind) { + super(parent, area); + setColor(0x006633); + EnumTemperature temp = ind.getGenome().getPrimary().getTemperature(); + EnumTolerance tempTol = EnumTolerance.NONE; + EnumHumidity humid = ind.getGenome().getPrimary().getHumidity(); + EnumTolerance humidTol = EnumTolerance.NONE; - if (ind instanceof IBee) { - tempTol = ((IAlleleTolerance) ind.getGenome().getActiveAllele(EnumBeeChromosome.TEMPERATURE_TOLERANCE)).getValue(); - humidTol = ((IAlleleTolerance) ind.getGenome().getActiveAllele(EnumBeeChromosome.HUMIDITY_TOLERANCE)).getValue(); - } + if (ind instanceof IBee) { + tempTol = ((IAlleleTolerance) ind.getGenome().getActiveAllele(EnumBeeChromosome.TEMPERATURE_TOLERANCE)) + .getValue(); + humidTol = ((IAlleleTolerance) ind.getGenome().getActiveAllele(EnumBeeChromosome.HUMIDITY_TOLERANCE)) + .getValue(); + } - if (ind instanceof IFlower) { - tempTol = ((IAlleleTolerance) ind.getGenome().getActiveAllele(EnumFlowerChromosome.TEMPERATURE_TOLERANCE)).getValue(); - humidTol = EnumTolerance.BOTH_5; - } + if (ind instanceof IFlower) { + tempTol = ((IAlleleTolerance) ind.getGenome().getActiveAllele(EnumFlowerChromosome.TEMPERATURE_TOLERANCE)) + .getValue(); + humidTol = EnumTolerance.BOTH_5; + } - if (ind instanceof IButterfly) { - tempTol = ((IAlleleTolerance) ind.getGenome().getActiveAllele(EnumButterflyChromosome.TEMPERATURE_TOLERANCE)).getValue(); - humidTol = ((IAlleleTolerance) ind.getGenome().getActiveAllele(EnumButterflyChromosome.HUMIDITY_TOLERANCE)).getValue(); - } + if (ind instanceof IButterfly) { + tempTol = ((IAlleleTolerance) + ind.getGenome().getActiveAllele(EnumButterflyChromosome.TEMPERATURE_TOLERANCE)) + .getValue(); + humidTol = ((IAlleleTolerance) ind.getGenome().getActiveAllele(EnumButterflyChromosome.HUMIDITY_TOLERANCE)) + .getValue(); + } - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()) - .setColor(getColor()); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); - y += 16; - new ControlText(this, new IArea(4.0f, y, w() - 8.0f, 14.0f), I18N.localise("genetics.gui.analyst.climate.temperature"), TextJustification.MIDDLE_CENTER) - .setColor(getColor()); - y += 12; - createTemperatureBar(this, (w() - 100.0f) / 2.0f, y, 100.0f, 10.0f, temp, tempTol); - y += 16; + y += 16; + new ControlText( + this, + new IArea(4.0f, y, w() - 8.0f, 14.0f), + I18N.localise("genetics.gui.analyst.climate.temperature"), + TextJustification.MIDDLE_CENTER) + .setColor(getColor()); + y += 12; + createTemperatureBar(this, (w() - 100.0f) / 2.0f, y, 100.0f, 10.0f, temp, tempTol); + y += 16; - if (!(ind instanceof IFlower)) { - new ControlText(this, new IArea(4.0f, y, w() - 8.0f, 14.0f), I18N.localise("genetics.gui.analyst.climate.humidity"), TextJustification.MIDDLE_CENTER) - .setColor(getColor()); - y += 12; - createHumidity(this, (w() - 100.0f) / 2.0f, y, 100.0f, 10.0f, humid, humidTol); - y += 16; - } - new ControlText(this, new IArea(4.0f, y, w() - 8.0f, 14.0f), I18N.localise("genetics.gui.analyst.climate.biomes"), TextJustification.MIDDLE_CENTER) - .setColor(getColor()); + if (!(ind instanceof IFlower)) { + new ControlText( + this, + new IArea(4.0f, y, w() - 8.0f, 14.0f), + I18N.localise("genetics.gui.analyst.climate.humidity"), + TextJustification.MIDDLE_CENTER) + .setColor(getColor()); + y += 12; + createHumidity(this, (w() - 100.0f) / 2.0f, y, 100.0f, 10.0f, humid, humidTol); + y += 16; + } + new ControlText( + this, + new IArea(4.0f, y, w() - 8.0f, 14.0f), + I18N.localise("genetics.gui.analyst.climate.biomes"), + TextJustification.MIDDLE_CENTER) + .setColor(getColor()); - y += 12; - List biomes = new ArrayList<>(); - for (BiomeGenBase biome : BiomeGenBase.getBiomeGenArray()) { - if (biome == null || !BiomeDictionary.isBiomeRegistered(biome) || biome == BiomeGenBase.frozenOcean) { - continue; - } + y += 12; + List biomes = new ArrayList<>(); + for (BiomeGenBase biome : BiomeGenBase.getBiomeGenArray()) { + if (biome == null || !BiomeDictionary.isBiomeRegistered(biome) || biome == BiomeGenBase.frozenOcean) { + continue; + } - if (!Tolerance.canTolerate(temp, EnumTemperature.getFromBiome(biome), tempTol) || - !Tolerance.canTolerate(humid, EnumHumidity.getFromValue(biome.rainfall), humidTol)) { - continue; - } + if (!Tolerance.canTolerate(temp, EnumTemperature.getFromBiome(biome), tempTol) + || !Tolerance.canTolerate(humid, EnumHumidity.getFromValue(biome.rainfall), humidTol)) { + continue; + } - boolean match = false; - for (BiomeGenBase eBiome : biomes) { - if (biome.biomeName.contains(eBiome.biomeName) && EnumHumidity.getFromValue(eBiome.rainfall) == EnumHumidity.getFromValue(biome.rainfall) && EnumTemperature.getFromBiome(eBiome) == EnumTemperature.getFromBiome(biome)) { - match = true; - } - } + boolean match = false; + for (BiomeGenBase eBiome : biomes) { + if (biome.biomeName.contains(eBiome.biomeName) + && EnumHumidity.getFromValue(eBiome.rainfall) == EnumHumidity.getFromValue(biome.rainfall) + && EnumTemperature.getFromBiome(eBiome) == EnumTemperature.getFromBiome(biome)) { + match = true; + } + } - if (!match) { - biomes.add(biome); - } - } + if (!match) { + biomes.add(biome); + } + } - int maxBiomePerLine = (int) ((w() + 2.0f - 16.0f) / 18.0f); - float biomeListX = (w() - (Math.min(maxBiomePerLine, biomes.size()) * 18 - 2)) / 2.0f; - int dx = 0; - int dy = 0; - for (BiomeGenBase biome2 : biomes) { - new ControlBiome(this, biomeListX + dx, y + dy, 16.0f, 16.0f, biome2); - dx += 18; - if (dx >= 18 * maxBiomePerLine) { - dx = 0; - dy += 18; - } - } - setSize(new IPoint(w(), y + dy + 18 + 8)); - } + int maxBiomePerLine = (int) ((w() + 2.0f - 16.0f) / 18.0f); + float biomeListX = (w() - (Math.min(maxBiomePerLine, biomes.size()) * 18 - 2)) / 2.0f; + int dx = 0; + int dy = 0; + for (BiomeGenBase biome2 : biomes) { + new ControlBiome(this, biomeListX + dx, y + dy, 16.0f, 16.0f, biome2); + dx += 18; + if (dx >= 18 * maxBiomePerLine) { + dx = 0; + dy += 18; + } + } + setSize(new IPoint(w(), y + dy + 18 + 8)); + } - protected void createTemperatureBar(IWidget parent, float x, float y, float w, float h, EnumTemperature value, EnumTolerance tol) { - new ControlToleranceBar(parent, x, y, w, h, EnumTemperature.class) { - @Override - protected String getName(EnumTemperature value) { - return value.name; - } + protected void createTemperatureBar( + IWidget parent, float x, float y, float w, float h, EnumTemperature value, EnumTolerance tol) { + new ControlToleranceBar(parent, x, y, w, h, EnumTemperature.class) { + @Override + protected String getName(EnumTemperature value) { + return value.name; + } - @Override - protected int getColor(EnumTemperature value) { - return (new int[]{0x00fffb, 0x78bbff, 0x4fff30, 0xffff00, 0xffa200, 0xff0000})[value.ordinal() - 1]; - } - }.setValues(value, tol); - } + @Override + protected int getColor(EnumTemperature value) { + return (new int[] {0x00fffb, 0x78bbff, 0x4fff30, 0xffff00, 0xffa200, 0xff0000})[value.ordinal() - 1]; + } + }.setValues(value, tol); + } - protected void createHumidity(IWidget parent, float x, float y, float w, float h, EnumHumidity value, EnumTolerance tol) { - new ControlToleranceBar(parent, x, y, w, h, EnumHumidity.class) { - @Override - protected String getName(EnumHumidity value) { - return value.name; - } + protected void createHumidity( + IWidget parent, float x, float y, float w, float h, EnumHumidity value, EnumTolerance tol) { + new ControlToleranceBar(parent, x, y, w, h, EnumHumidity.class) { + @Override + protected String getName(EnumHumidity value) { + return value.name; + } - @Override - protected int getColor(EnumHumidity value) { - return (new int[]{0xffe7a3, 0x1aff00, 0x307cff})[value.ordinal()]; - } - }.setValues(value, tol); - } + @Override + protected int getColor(EnumHumidity value) { + return (new int[] {0xffe7a3, 0x1aff00, 0x307cff})[value.ordinal()]; + } + }.setValues(value, tol); + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.climate"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.climate"); + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageDatabase.java b/src/main/java/binnie/genetics/gui/AnalystPageDatabase.java index 02dc48d1..0e7531ae 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageDatabase.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageDatabase.java @@ -20,161 +20,185 @@ import binnie.core.util.I18N; import forestry.api.arboriculture.EnumTreeChromosome; import forestry.api.genetics.IAlleleSpecies; import forestry.api.genetics.IIndividual; -import net.minecraft.util.EnumChatFormatting; - import java.util.ArrayList; import java.util.Collection; +import net.minecraft.util.EnumChatFormatting; public class AnalystPageDatabase extends ControlAnalystPage { - ControlScrollableContent scroll; - boolean isMaster; + ControlScrollableContent scroll; + boolean isMaster; - public AnalystPageDatabase(IWidget parent, IArea area, BreedingSystem system, boolean isMaster) { - super(parent, area); - scroll = null; - this.isMaster = isMaster; - int cOfSystem = system.getColor(); - int cr = (0xFF0000 & cOfSystem) >> 16; - int cg = (0xFF00 & cOfSystem) >> 8; - int cb = 0xFF & cOfSystem; - float brightness = 0.1f * cb / 255.0f + 0.35f * cr / 255.0f + 0.55f * cg / 255.0f; - brightness = 0.3f / brightness; - if (brightness > 1.0f) { - brightness = 1.0f; - } - int newColour = (int) (cr * brightness) * 65536 + (int) (cg * brightness) * 256 + (int) (cb * brightness); - setColor(newColour); - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); - y += 16; - new ControlTextEdit(this, 20.0f, y, w() - 40.0f, 16.0f) { - @Override - public void onTextEdit(String value) { - Collection options = new ArrayList<>(); - getSpecies(system); - for (IAlleleSpecies species : getSpecies(system)) { - if (value != null && !value.isEmpty() && !species.getName().toLowerCase().contains(value.toLowerCase())) { - continue; - } - options.add(species); - } - scroll.deleteAllChildren(); - scroll.setScrollableContent(getItemScrollList(system, options)); - } + public AnalystPageDatabase(IWidget parent, IArea area, BreedingSystem system, boolean isMaster) { + super(parent, area); + scroll = null; + this.isMaster = isMaster; + int cOfSystem = system.getColor(); + int cr = (0xFF0000 & cOfSystem) >> 16; + int cg = (0xFF00 & cOfSystem) >> 8; + int cb = 0xFF & cOfSystem; + float brightness = 0.1f * cb / 255.0f + 0.35f * cr / 255.0f + 0.55f * cg / 255.0f; + brightness = 0.3f / brightness; + if (brightness > 1.0f) { + brightness = 1.0f; + } + int newColour = (int) (cr * brightness) * 65536 + (int) (cg * brightness) * 256 + (int) (cb * brightness); + setColor(newColour); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); + y += 16; + new ControlTextEdit(this, 20.0f, y, w() - 40.0f, 16.0f) { + @Override + public void onTextEdit(String value) { + Collection options = new ArrayList<>(); + getSpecies(system); + for (IAlleleSpecies species : getSpecies(system)) { + if (value != null + && !value.isEmpty() + && !species.getName().toLowerCase().contains(value.toLowerCase())) { + continue; + } + options.add(species); + } + scroll.deleteAllChildren(); + scroll.setScrollableContent(getItemScrollList(system, options)); + } - @Override - public void onRenderBackground() { - CraftGUI.render.color(0x555555); - CraftGUI.render.texture(CraftGUITexture.TabSolid, getArea().inset(1)); - CraftGUI.render.color(AnalystPageDatabase.this.getColor()); - CraftGUI.render.texture(CraftGUITexture.TabOutline, getArea()); - super.renderTextField(); - } - }; - y += 22; - new Panel(this, 3.0f, y - 1, w() - 6.0f, h() - y - 8.0f + 2.0f, MinecraftGUI.PanelType.TabOutline).setColor(getColor()); - boolean textView = false; - Collection options = getSpecies(system); - for (IAlleleSpecies species : options) { - String height = system.getAlleleName(EnumTreeChromosome.HEIGHT, system.getIndividual(species.getUID()).getGenome().getActiveAllele(EnumTreeChromosome.HEIGHT)); - String fertility = system.getAlleleName(EnumTreeChromosome.FERTILITY, system.getIndividual(species.getUID()).getGenome().getActiveAllele(EnumTreeChromosome.FERTILITY)); - String yield = system.getAlleleName(EnumTreeChromosome.YIELD, system.getIndividual(species.getUID()).getGenome().getActiveAllele(EnumTreeChromosome.YIELD)); - String sappiness = system.getAlleleName(EnumTreeChromosome.SAPPINESS, system.getIndividual(species.getUID()).getGenome().getActiveAllele(EnumTreeChromosome.SAPPINESS)); - String maturation = system.getAlleleName(EnumTreeChromosome.MATURATION, system.getIndividual(species.getUID()).getGenome().getActiveAllele(EnumTreeChromosome.MATURATION)); - } + @Override + public void onRenderBackground() { + CraftGUI.render.color(0x555555); + CraftGUI.render.texture(CraftGUITexture.TabSolid, getArea().inset(1)); + CraftGUI.render.color(AnalystPageDatabase.this.getColor()); + CraftGUI.render.texture(CraftGUITexture.TabOutline, getArea()); + super.renderTextField(); + } + }; + y += 22; + new Panel(this, 3.0f, y - 1, w() - 6.0f, h() - y - 8.0f + 2.0f, MinecraftGUI.PanelType.TabOutline) + .setColor(getColor()); + boolean textView = false; + Collection options = getSpecies(system); + for (IAlleleSpecies species : options) { + String height = system.getAlleleName( + EnumTreeChromosome.HEIGHT, + system.getIndividual(species.getUID()).getGenome().getActiveAllele(EnumTreeChromosome.HEIGHT)); + String fertility = system.getAlleleName( + EnumTreeChromosome.FERTILITY, + system.getIndividual(species.getUID()).getGenome().getActiveAllele(EnumTreeChromosome.FERTILITY)); + String yield = system.getAlleleName( + EnumTreeChromosome.YIELD, + system.getIndividual(species.getUID()).getGenome().getActiveAllele(EnumTreeChromosome.YIELD)); + String sappiness = system.getAlleleName( + EnumTreeChromosome.SAPPINESS, + system.getIndividual(species.getUID()).getGenome().getActiveAllele(EnumTreeChromosome.SAPPINESS)); + String maturation = system.getAlleleName( + EnumTreeChromosome.MATURATION, + system.getIndividual(species.getUID()).getGenome().getActiveAllele(EnumTreeChromosome.MATURATION)); + } - if (textView) { - scroll = new ControlListBox(this, 4.0f, y, w() - 8.0f, h() - y - 8.0f - 20.0f, 0.0f) { - @Override - public void initialise() { - super.initialise(); - setOptions(options); - } + if (textView) { + scroll = new ControlListBox(this, 4.0f, y, w() - 8.0f, h() - y - 8.0f - 20.0f, 0.0f) { + @Override + public void initialise() { + super.initialise(); + setOptions(options); + } - @Override - public IWidget createOption(IAlleleSpecies v, int y) { - return new Control(getContent(), 0.0f, y, w(), 12.0f) { - IAlleleSpecies value = v; + @Override + public IWidget createOption(IAlleleSpecies v, int y) { + return new Control(getContent(), 0.0f, y, w(), 12.0f) { + IAlleleSpecies value = v; - @Override - public void onRenderBackground() { - CraftGUI.render.text(getArea(), TextJustification.MIDDLE_CENTER, value.getName(), 0xffffff); - } - }; - } - }; - } else { - scroll = new ControlScrollableContent(this, 4.0f, y, w() - 8.0f, h() - y - 8.0f, 0.0f); - scroll.setScrollableContent(getItemScrollList(system, options)); - } - new ControlScrollBar(this, scroll.x() + scroll.w() - 6.0f, scroll.y() + 3.0f, 3.0f, scroll.h() - 6.0f, scroll) { - @Override - public void onRenderBackground() { - if (!isEnabled()) { - return; - } - CraftGUI.render.gradientRect(getArea(), 0x44000000 + AnalystPageDatabase.this.getColor(), 0x44000000 + AnalystPageDatabase.this.getColor()); - CraftGUI.render.solid(getRenderArea(), AnalystPageDatabase.this.getColor()); - } - }; - } + @Override + public void onRenderBackground() { + CraftGUI.render.text(getArea(), TextJustification.MIDDLE_CENTER, value.getName(), 0xffffff); + } + }; + } + }; + } else { + scroll = new ControlScrollableContent(this, 4.0f, y, w() - 8.0f, h() - y - 8.0f, 0.0f); + scroll.setScrollableContent(getItemScrollList(system, options)); + } + new ControlScrollBar(this, scroll.x() + scroll.w() - 6.0f, scroll.y() + 3.0f, 3.0f, scroll.h() - 6.0f, scroll) { + @Override + public void onRenderBackground() { + if (!isEnabled()) { + return; + } + CraftGUI.render.gradientRect( + getArea(), + 0x44000000 + AnalystPageDatabase.this.getColor(), + 0x44000000 + AnalystPageDatabase.this.getColor()); + CraftGUI.render.solid(getRenderArea(), AnalystPageDatabase.this.getColor()); + } + }; + } - private IWidget getItemScrollList(BreedingSystem system, Collection options) { - return new Control(scroll, 0.0f, 0.0f, scroll.w(), scroll.h()) { - @Override - public void initialise() { - int maxBiomePerLine = (int) ((w() - 4.0f + 2.0f) / 18.0f); - float biomeListX = -6.0f + (w() - (maxBiomePerLine * 18 - 2)) / 2.0f; - int dx = 0; - int dy = 0; - for (IAlleleSpecies species : options) { - IIndividual ind = system.getSpeciesRoot().templateAsIndividual(system.getSpeciesRoot().getTemplate(species.getUID())); - new ControlIndividualDisplay(this, biomeListX + dx, 2 + dy, ind) { - @Override - public void initialise() { - addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - WindowAnalyst window = (WindowAnalyst) AnalystPageDatabase.this.getSuperParent(); - window.setIndividual(ind); - } - }); - } + private IWidget getItemScrollList(BreedingSystem system, Collection options) { + return new Control(scroll, 0.0f, 0.0f, scroll.w(), scroll.h()) { + @Override + public void initialise() { + int maxBiomePerLine = (int) ((w() - 4.0f + 2.0f) / 18.0f); + float biomeListX = -6.0f + (w() - (maxBiomePerLine * 18 - 2)) / 2.0f; + int dx = 0; + int dy = 0; + for (IAlleleSpecies species : options) { + IIndividual ind = system.getSpeciesRoot() + .templateAsIndividual(system.getSpeciesRoot().getTemplate(species.getUID())); + new ControlIndividualDisplay(this, biomeListX + dx, 2 + dy, ind) { + @Override + public void initialise() { + addSelfEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + WindowAnalyst window = (WindowAnalyst) AnalystPageDatabase.this.getSuperParent(); + window.setIndividual(ind); + } + }); + } - @Override - public void onRenderBackground() { - WindowAnalyst window = (WindowAnalyst) AnalystPageDatabase.this.getSuperParent(); - if (window.getIndividual() != null && window.getIndividual().getGenome().getPrimary() == species) { - CraftGUI.render.color(0xeeeeee); - CraftGUI.render.texture(CraftGUITexture.TabSolid, getArea().outset(1)); - CraftGUI.render.color(AnalystPageDatabase.this.getColor()); - CraftGUI.render.texture(CraftGUITexture.TabOutline, getArea().outset(1)); - } else if (calculateIsMouseOver()) { - CraftGUI.render.color(0xeeeeee); - CraftGUI.render.texture(CraftGUITexture.TabSolid, getArea().outset(1)); - } - super.onRenderBackground(); - } - }; - dx += 18; - if (dx >= 18 * maxBiomePerLine) { - dx = 0; - dy += 18; - } - } - setSize(new IPoint(w(), 4 + dy + 18)); - } - }; - } + @Override + public void onRenderBackground() { + WindowAnalyst window = (WindowAnalyst) AnalystPageDatabase.this.getSuperParent(); + if (window.getIndividual() != null + && window.getIndividual().getGenome().getPrimary() == species) { + CraftGUI.render.color(0xeeeeee); + CraftGUI.render.texture( + CraftGUITexture.TabSolid, getArea().outset(1)); + CraftGUI.render.color(AnalystPageDatabase.this.getColor()); + CraftGUI.render.texture( + CraftGUITexture.TabOutline, getArea().outset(1)); + } else if (calculateIsMouseOver()) { + CraftGUI.render.color(0xeeeeee); + CraftGUI.render.texture( + CraftGUITexture.TabSolid, getArea().outset(1)); + } + super.onRenderBackground(); + } + }; + dx += 18; + if (dx >= 18 * maxBiomePerLine) { + dx = 0; + dy += 18; + } + } + setSize(new IPoint(w(), 4 + dy + 18)); + } + }; + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.registry"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.registry"); + } - private Collection getSpecies(BreedingSystem system) { - Collection species = new ArrayList<>(); - species.addAll(isMaster ? system.getAllSpecies() : system.getDiscoveredSpecies(getWindow().getWorld(), getWindow().getPlayer().getGameProfile())); - return species; - } + private Collection getSpecies(BreedingSystem system) { + Collection species = new ArrayList<>(); + species.addAll( + isMaster + ? system.getAllSpecies() + : system.getDiscoveredSpecies( + getWindow().getWorld(), getWindow().getPlayer().getGameProfile())); + return species; + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageDescription.java b/src/main/java/binnie/genetics/gui/AnalystPageDescription.java index 12c73d9c..7fa36411 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageDescription.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageDescription.java @@ -13,73 +13,96 @@ import forestry.api.genetics.IIndividual; import net.minecraft.util.EnumChatFormatting; public class AnalystPageDescription extends ControlAnalystPage { - public AnalystPageDescription(IWidget parent, IArea area, IIndividual ind) { - super(parent, area); - setColor(0x333333); - int y = 4; + public AnalystPageDescription(IWidget parent, IArea area, IIndividual ind) { + super(parent, area); + setColor(0x333333); + int y = 4; - IAlleleSpecies species = ind.getGenome().getPrimary(); - String branchBinomial = (species.getBranch() != null) - ? species.getBranch().getScientific() - : I18N.localise("genetics.gui.analyst.description.unknown"); - String desc = species.getDescription(); - StringBuilder descBody = new StringBuilder(EnumChatFormatting.ITALIC.toString()); - String descSig = ""; - if (desc == null || desc.isEmpty() || desc.matches("(\\w+\\.?)+")) { - descBody.append(""); - } else { - String[] descStrings = desc.split("\\|"); - descBody.append(descStrings[0]); - for (int i = 1; i < descStrings.length - 1; ++i) { - descBody.append(" ").append(descStrings[i]); - } - if (descStrings.length > 1) { - descSig += descStrings[descStrings.length - 1]; - } - } + IAlleleSpecies species = ind.getGenome().getPrimary(); + String branchBinomial = (species.getBranch() != null) + ? species.getBranch().getScientific() + : I18N.localise("genetics.gui.analyst.description.unknown"); + String desc = species.getDescription(); + StringBuilder descBody = new StringBuilder(EnumChatFormatting.ITALIC.toString()); + String descSig = ""; + if (desc == null || desc.isEmpty() || desc.matches("(\\w+\\.?)+")) { + descBody.append(""); + } else { + String[] descStrings = desc.split("\\|"); + descBody.append(descStrings[0]); + for (int i = 1; i < descStrings.length - 1; ++i) { + descBody.append(" ").append(descStrings[i]); + } + if (descStrings.length > 1) { + descSig += descStrings[descStrings.length - 1]; + } + } - String authority = species.getAuthority(); - if (authority.contains("Binnie")) { - authority = EnumChatFormatting.DARK_BLUE.toString() + authority; - } - if (authority.contains("Sengir")) { - authority = EnumChatFormatting.DARK_GREEN.toString() + authority; - } - if (authority.contains("MysteriousAges")) { - authority = EnumChatFormatting.DARK_PURPLE.toString() + authority; - } + String authority = species.getAuthority(); + if (authority.contains("Binnie")) { + authority = EnumChatFormatting.DARK_BLUE.toString() + authority; + } + if (authority.contains("Sengir")) { + authority = EnumChatFormatting.DARK_GREEN.toString() + authority; + } + if (authority.contains("MysteriousAges")) { + authority = EnumChatFormatting.DARK_PURPLE.toString() + authority; + } - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()) - .setColor(getColor()); + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); - y += 16; - new ControlTextCentered(this, y, species.getName() + EnumChatFormatting.RESET) - .setColor(getColor()); + y += 16; + new ControlTextCentered(this, y, species.getName() + EnumChatFormatting.RESET).setColor(getColor()); - y += 10; - new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + branchBinomial + " " + species.getBinomial() + EnumChatFormatting.RESET) - .setColor(getColor()); + y += 10; + new ControlTextCentered( + this, + y, + EnumChatFormatting.ITALIC + branchBinomial + " " + species.getBinomial() + + EnumChatFormatting.RESET) + .setColor(getColor()); - y += 20; - new ControlTextCentered(this, y, EnumChatFormatting.BOLD + I18N.localise("genetics.gui.analyst.description.discoveredBy", authority) + EnumChatFormatting.RESET) - .setColor(getColor()); + y += 20; + new ControlTextCentered( + this, + y, + EnumChatFormatting.BOLD + + I18N.localise("genetics.gui.analyst.description.discoveredBy", authority) + + EnumChatFormatting.RESET) + .setColor(getColor()); - y += (int) (3.0f + CraftGUI.render.textHeight(EnumChatFormatting.BOLD + I18N.localise("genetics.gui.analyst.description.discoveredBy", authority) + EnumChatFormatting.RESET, w())); - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.description.complexity", species.getComplexity())) - .setColor(getColor()); + y += (int) (3.0f + + CraftGUI.render.textHeight( + EnumChatFormatting.BOLD + + I18N.localise("genetics.gui.analyst.description.discoveredBy", authority) + + EnumChatFormatting.RESET, + w())); + new ControlTextCentered( + this, y, I18N.localise("genetics.gui.analyst.description.complexity", species.getComplexity())) + .setColor(getColor()); - y += 26; - ControlText descText = new ControlText(this, new IArea(8.0f, y, w() - 16.0f, 0.0f), descBody.toString() + EnumChatFormatting.RESET, TextJustification.TOP_CENTER); - IWidget signatureText = new ControlText(this, new IArea(8.0f, y, w() - 16.0f, 0.0f), descSig + EnumChatFormatting.RESET, TextJustification.BOTTOM_RIGHT); - descText.setColor(getColor()); - signatureText.setColor(getColor()); - float descHeight = CraftGUI.render.textHeight(descText.getValue(), descText.getSize().x()); - signatureText.setPosition(new IPoint(signatureText.pos().x(), descText.getPosition().y() + descHeight + 10.0f)); - setSize(new IPoint(w(), 20.0f + signatureText.y())); - } + y += 26; + ControlText descText = new ControlText( + this, + new IArea(8.0f, y, w() - 16.0f, 0.0f), + descBody.toString() + EnumChatFormatting.RESET, + TextJustification.TOP_CENTER); + IWidget signatureText = new ControlText( + this, + new IArea(8.0f, y, w() - 16.0f, 0.0f), + descSig + EnumChatFormatting.RESET, + TextJustification.BOTTOM_RIGHT); + descText.setColor(getColor()); + signatureText.setColor(getColor()); + float descHeight = CraftGUI.render.textHeight( + descText.getValue(), descText.getSize().x()); + signatureText.setPosition( + new IPoint(signatureText.pos().x(), descText.getPosition().y() + descHeight + 10.0f)); + setSize(new IPoint(w(), 20.0f + signatureText.y())); + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.description"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.description"); + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageFruit.java b/src/main/java/binnie/genetics/gui/AnalystPageFruit.java index 5e132aa8..be4350e6 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageFruit.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageFruit.java @@ -14,126 +14,126 @@ import forestry.api.arboriculture.ITree; import forestry.api.genetics.IAllele; import forestry.api.genetics.IFruitFamily; import forestry.arboriculture.FruitProviderPod; +import java.lang.reflect.Field; +import java.util.Collection; +import java.util.Collections; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.lang.reflect.Field; -import java.util.Collection; -import java.util.Collections; - public class AnalystPageFruit extends AnalystPageProduce { - public AnalystPageFruit(IWidget parent, IArea area, ITree ind) { - super(parent, area); - setColor(0xcc3300); - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()) - .setColor(getColor()); + public AnalystPageFruit(IWidget parent, IArea area, ITree ind) { + super(parent, area); + setColor(0xcc3300); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); - y += 12; - String alleleName = Binnie.Genetics.treeBreedingSystem.getAlleleName(EnumTreeChromosome.YIELD, ind.getGenome().getActiveAllele(EnumTreeChromosome.YIELD)); - new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.fruit.yield", alleleName)) - .setColor(getColor()); + y += 12; + String alleleName = Binnie.Genetics.treeBreedingSystem.getAlleleName( + EnumTreeChromosome.YIELD, ind.getGenome().getActiveAllele(EnumTreeChromosome.YIELD)); + new ControlTextCentered( + this, + y, + EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.fruit.yield", alleleName)) + .setColor(getColor()); - y += 20; - Collection products = new UniqueItemStackSet(); - Collection specialties = new UniqueItemStackSet(); - Collections.addAll(products, ind.getProduceList()); - Collections.addAll(specialties, ind.getSpecialtyList()); + y += 20; + Collection products = new UniqueItemStackSet(); + Collection specialties = new UniqueItemStackSet(); + Collections.addAll(products, ind.getProduceList()); + Collections.addAll(specialties, ind.getSpecialtyList()); - try { - if (ind.getGenome().getFruitProvider() instanceof FruitProviderPod) { - FruitProviderPod pod = (FruitProviderPod) ind.getGenome().getFruitProvider(); - Field f = FruitProviderPod.class.getDeclaredField("drop"); - f.setAccessible(true); - Collections.addAll(products, (ItemStack[]) f.get(pod)); - } - } catch (Exception e) { - e.printStackTrace(); - } + try { + if (ind.getGenome().getFruitProvider() instanceof FruitProviderPod) { + FruitProviderPod pod = (FruitProviderPod) ind.getGenome().getFruitProvider(); + Field f = FruitProviderPod.class.getDeclaredField("drop"); + f.setAccessible(true); + Collections.addAll(products, (ItemStack[]) f.get(pod)); + } + } catch (Exception e) { + e.printStackTrace(); + } - if (products.size() > 0) { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.fruit.natural")) - .setColor(getColor()); + if (products.size() > 0) { + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.fruit.natural")).setColor(getColor()); - y += 10; - int w = products.size() * 18 - 2; - int i = 0; - for (ItemStack stack : products) { - ControlItemDisplay d = new ControlItemDisplay(this, (w() - w) / 2.0f + 18 * i, y); - d.setTooltip(); - d.setItemStack(stack); - } - y += 26; - } + y += 10; + int w = products.size() * 18 - 2; + int i = 0; + for (ItemStack stack : products) { + ControlItemDisplay d = new ControlItemDisplay(this, (w() - w) / 2.0f + 18 * i, y); + d.setTooltip(); + d.setItemStack(stack); + } + y += 26; + } - if (specialties.size() > 0) { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.fruit.speciality")) - .setColor(getColor()); + if (specialties.size() > 0) { + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.fruit.speciality")) + .setColor(getColor()); - y += 10; - int w = products.size() * 18 - 2; - int i = 0; - for (ItemStack stack : specialties) { - ControlItemDisplay d = new ControlItemDisplay(this, (w() - w) / 2.0f + 18 * i, y); - d.setTooltip(); - d.setItemStack(stack); - } - y += 26; - } + y += 10; + int w = products.size() * 18 - 2; + int i = 0; + for (ItemStack stack : specialties) { + ControlItemDisplay d = new ControlItemDisplay(this, (w() - w) / 2.0f + 18 * i, y); + d.setTooltip(); + d.setItemStack(stack); + } + y += 26; + } - Collection allProducts = new UniqueItemStackSet(); - allProducts.addAll(products); - allProducts.addAll(specialties); + Collection allProducts = new UniqueItemStackSet(); + allProducts.addAll(products); + allProducts.addAll(specialties); - Collection refinedProducts = new UniqueItemStackSet(); - refinedProducts.addAll(getAllProductsAndFluids(allProducts)); - if (refinedProducts.size() > 0) { - y = getRefined(I18N.localise("genetics.gui.analyst.fruit.refined"), y, refinedProducts); - y += 8; - } + Collection refinedProducts = new UniqueItemStackSet(); + refinedProducts.addAll(getAllProductsAndFluids(allProducts)); + if (refinedProducts.size() > 0) { + y = getRefined(I18N.localise("genetics.gui.analyst.fruit.refined"), y, refinedProducts); + y += 8; + } - if (products.size() == 0 && specialties.size() == 0) { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.fruit.none")) - .setColor(getColor()); - y += 28; - } + if (products.size() == 0 && specialties.size() == 0) { + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.fruit.none")).setColor(getColor()); + y += 28; + } - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.fruit.possible")) - .setColor(getColor()); + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.fruit.possible")).setColor(getColor()); - y += 12; - Collection fruitAlleles = Binnie.Genetics.getChromosomeMap(Binnie.Genetics.getTreeRoot()).get(EnumTreeChromosome.FRUITS); - for (IFruitFamily fam : ind.getGenome().getPrimary().getSuitableFruit()) { - Collection stacks = new UniqueItemStackSet(); - for (IAllele a : fruitAlleles) { - if (((IAlleleFruit) a).getProvider().getFamily() == fam) { - Collections.addAll(stacks, ((IAlleleFruit) a).getProvider().getProducts()); - Collections.addAll(stacks, ((IAlleleFruit) a).getProvider().getSpecialty()); - try { - if (a.getUID().contains("fruitCocoa")) { - stacks.add(new ItemStack(Items.dye, 1, 3)); - } else { - if (!(((IAlleleFruit) a).getProvider() instanceof FruitProviderPod)) { - continue; - } - FruitProviderPod pod2 = (FruitProviderPod) ((IAlleleFruit) a).getProvider(); - Field field = FruitProviderPod.class.getDeclaredField("drop"); - field.setAccessible(true); - Collections.addAll(stacks, (ItemStack[]) field.get(pod2)); - } - } catch (Exception ex) { - // ignored - } - } - } - y = getRefined(EnumChatFormatting.ITALIC + fam.getName(), y, stacks) + 2; - } - setSize(new IPoint(w(), y + 8)); - } + y += 12; + Collection fruitAlleles = + Binnie.Genetics.getChromosomeMap(Binnie.Genetics.getTreeRoot()).get(EnumTreeChromosome.FRUITS); + for (IFruitFamily fam : ind.getGenome().getPrimary().getSuitableFruit()) { + Collection stacks = new UniqueItemStackSet(); + for (IAllele a : fruitAlleles) { + if (((IAlleleFruit) a).getProvider().getFamily() == fam) { + Collections.addAll(stacks, ((IAlleleFruit) a).getProvider().getProducts()); + Collections.addAll(stacks, ((IAlleleFruit) a).getProvider().getSpecialty()); + try { + if (a.getUID().contains("fruitCocoa")) { + stacks.add(new ItemStack(Items.dye, 1, 3)); + } else { + if (!(((IAlleleFruit) a).getProvider() instanceof FruitProviderPod)) { + continue; + } + FruitProviderPod pod2 = (FruitProviderPod) ((IAlleleFruit) a).getProvider(); + Field field = FruitProviderPod.class.getDeclaredField("drop"); + field.setAccessible(true); + Collections.addAll(stacks, (ItemStack[]) field.get(pod2)); + } + } catch (Exception ex) { + // ignored + } + } + } + y = getRefined(EnumChatFormatting.ITALIC + fam.getName(), y, stacks) + 2; + } + setSize(new IPoint(w(), y + 8)); + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.fruit"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.fruit"); + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageGenome.java b/src/main/java/binnie/genetics/gui/AnalystPageGenome.java index 1247f5f2..f7555945 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageGenome.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageGenome.java @@ -20,49 +20,59 @@ import net.minecraft.util.EnumChatFormatting; import org.lwjgl.opengl.GL11; public class AnalystPageGenome extends ControlAnalystPage { - boolean active; + boolean active; - public AnalystPageGenome(IWidget parent, IArea area, boolean active, IIndividual ind) { - super(parent, area); - this.active = active; - setColor(0x006699); - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); - y += 16; - ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(ind.getClass()); - BreedingSystem system = Binnie.Genetics.getSystem(root); - Control scaled = new Control(this, 0.0f, y, 0.0f, 0.0f) { - @Override - public void onRenderBackground() { - GL11.glPushMatrix(); - GL11.glTranslatef(10.0f, -15.0f, 0.0f); - GL11.glScalef(0.9f, 0.95f, 1.0f); - } + public AnalystPageGenome(IWidget parent, IArea area, boolean active, IIndividual ind) { + super(parent, area); + this.active = active; + setColor(0x006699); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); + y += 16; + ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(ind.getClass()); + BreedingSystem system = Binnie.Genetics.getSystem(root); + Control scaled = new Control(this, 0.0f, y, 0.0f, 0.0f) { + @Override + public void onRenderBackground() { + GL11.glPushMatrix(); + GL11.glTranslatef(10.0f, -15.0f, 0.0f); + GL11.glScalef(0.9f, 0.95f, 1.0f); + } - @Override - public void onRenderForeground() { - GL11.glPopMatrix(); - } - }; + @Override + public void onRenderForeground() { + GL11.glPopMatrix(); + } + }; - for (IChromosomeType chromo : system.getActiveKaryotype()) { - IAllele allele = active ? ind.getGenome().getActiveAllele(chromo) : ind.getGenome().getInactiveAllele(chromo); - String alleleName = system.getAlleleName(chromo, allele); - float height = CraftGUI.render.textHeight(alleleName, w() / 2.0f - 2.0f); - new ControlText(scaled, new IArea(0.0f, y + (height - 9.0f) / 2.0f, w() / 2.0f - 2.0f, 0.0f), system.getChromosomeShortName(chromo) + " :", TextJustification.TOP_RIGHT) - .setColor(getColor()); - new ControlText(scaled, new IArea(w() / 2.0f + 2.0f, y, w() / 2.0f - 2.0f, 0.0f), alleleName, TextJustification.TOP_LEFT) - .setColor(getColor()); - y += (int) (3.0f + height); - } - setSize(new IPoint(w(), y + 8)); - } + for (IChromosomeType chromo : system.getActiveKaryotype()) { + IAllele allele = active + ? ind.getGenome().getActiveAllele(chromo) + : ind.getGenome().getInactiveAllele(chromo); + String alleleName = system.getAlleleName(chromo, allele); + float height = CraftGUI.render.textHeight(alleleName, w() / 2.0f - 2.0f); + new ControlText( + scaled, + new IArea(0.0f, y + (height - 9.0f) / 2.0f, w() / 2.0f - 2.0f, 0.0f), + system.getChromosomeShortName(chromo) + " :", + TextJustification.TOP_RIGHT) + .setColor(getColor()); + new ControlText( + scaled, + new IArea(w() / 2.0f + 2.0f, y, w() / 2.0f - 2.0f, 0.0f), + alleleName, + TextJustification.TOP_LEFT) + .setColor(getColor()); + y += (int) (3.0f + height); + } + setSize(new IPoint(w(), y + 8)); + } - @Override - public String getTitle() { - if (active) { - return I18N.localise("genetics.gui.analyst.genome.active"); - } - return I18N.localise("genetics.gui.analyst.genome.inactive"); - } + @Override + public String getTitle() { + if (active) { + return I18N.localise("genetics.gui.analyst.genome.active"); + } + return I18N.localise("genetics.gui.analyst.genome.inactive"); + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageGrowth.java b/src/main/java/binnie/genetics/gui/AnalystPageGrowth.java index a281c9cf..5bf90ce9 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageGrowth.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageGrowth.java @@ -11,53 +11,62 @@ import forestry.api.genetics.IIndividual; import net.minecraft.util.EnumChatFormatting; public class AnalystPageGrowth extends ControlAnalystPage { - public AnalystPageGrowth(IWidget parent, IArea area, IIndividual ind) { - super(parent, area); - setColor(0x333333); - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()) - .setColor(getColor()); + public AnalystPageGrowth(IWidget parent, IArea area, IIndividual ind) { + super(parent, area); + setColor(0x333333); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); - y += 12; - if (ind instanceof ITree) { - ITree tree = (ITree) ind; - int mat = tree.getGenome().getMaturationTime(); - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.growth.mature")) - .setColor(getColor()); + y += 12; + if (ind instanceof ITree) { + ITree tree = (ITree) ind; + int mat = tree.getGenome().getMaturationTime(); + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.growth.mature")).setColor(getColor()); - y += 12; - new ControlTextCentered(this, y, EnumChatFormatting.BOLD + getTimeString(1373.3999f * mat)) - .setColor(getColor()); + y += 12; + new ControlTextCentered(this, y, EnumChatFormatting.BOLD + getTimeString(1373.3999f * mat)) + .setColor(getColor()); - y += 22; - String alleleName = Binnie.Genetics.treeBreedingSystem.getAlleleName(EnumTreeChromosome.HEIGHT, ind.getGenome().getActiveAllele(EnumTreeChromosome.HEIGHT)); - new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.growth.height", alleleName)) - .setColor(getColor()); + y += 22; + String alleleName = Binnie.Genetics.treeBreedingSystem.getAlleleName( + EnumTreeChromosome.HEIGHT, ind.getGenome().getActiveAllele(EnumTreeChromosome.HEIGHT)); + new ControlTextCentered( + this, + y, + EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.growth.height", alleleName)) + .setColor(getColor()); - y += 12; - alleleName = Binnie.Genetics.treeBreedingSystem.getAlleleName(EnumTreeChromosome.GIRTH, ind.getGenome().getActiveAllele(EnumTreeChromosome.GIRTH)); - new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.growth.girth", alleleName)) - .setColor(getColor()); + y += 12; + alleleName = Binnie.Genetics.treeBreedingSystem.getAlleleName( + EnumTreeChromosome.GIRTH, ind.getGenome().getActiveAllele(EnumTreeChromosome.GIRTH)); + new ControlTextCentered( + this, + y, + EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.growth.girth", alleleName)) + .setColor(getColor()); - y += 20; - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.growth.conditions")) - .setColor(getColor()); + y += 20; + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.growth.conditions")) + .setColor(getColor()); - y += 12; - new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + tree.getGenome().getGrowthProvider().getDescription()) - .setColor(getColor()); + y += 12; + new ControlTextCentered( + this, + y, + EnumChatFormatting.ITALIC + + tree.getGenome().getGrowthProvider().getDescription()) + .setColor(getColor()); - y += 12; - for (String s : tree.getGenome().getGrowthProvider().getInfo()) { - new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + s) - .setColor(getColor()); - y += 12; - } - } - } + y += 12; + for (String s : tree.getGenome().getGrowthProvider().getInfo()) { + new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + s).setColor(getColor()); + y += 12; + } + } + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.growth"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.growth"); + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageKaryogram.java b/src/main/java/binnie/genetics/gui/AnalystPageKaryogram.java index 008a7376..747c8a22 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageKaryogram.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageKaryogram.java @@ -13,37 +13,44 @@ import forestry.api.genetics.ISpeciesRoot; import net.minecraft.util.EnumChatFormatting; public class AnalystPageKaryogram extends ControlAnalystPage { - public AnalystPageKaryogram(IWidget parent, IArea area, IIndividual ind) { - super(parent, area); - setColor(0x9933ff); - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()) - .setColor(getColor()); + public AnalystPageKaryogram(IWidget parent, IArea area, IIndividual ind) { + super(parent, area); + setColor(0x9933ff); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); - y += 24; - ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(ind.getClass()); - BreedingSystem system = Binnie.Genetics.getSystem(root); - int maxBiomePerLine = (int) ((w() + 4.0f - 16.0f) / 22.0f); - float karygramX = (w() - (Math.min(maxBiomePerLine, system.getActiveKaryotype().size()) * 18 - 4)) / 2.0f; - int dx = 0; - int dy = 0; - int rem = system.getActiveKaryotype().size(); - for (IChromosomeType type : system.getActiveKaryotype()) { - new ControlAnalystChromosome(this, karygramX + dx, y + dy, root, type, ind.getGenome().getActiveAllele(type), ind.getGenome().getInactiveAllele(type)); - dx += 22; - if (dx >= 22 * maxBiomePerLine - 22) { - rem -= maxBiomePerLine - 1; - if (rem < maxBiomePerLine) { - karygramX += (maxBiomePerLine - 1 - rem) * 22 / 2.0f; - } - dx = 0; - dy += 28; - } - } - } + y += 24; + ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(ind.getClass()); + BreedingSystem system = Binnie.Genetics.getSystem(root); + int maxBiomePerLine = (int) ((w() + 4.0f - 16.0f) / 22.0f); + float karygramX = + (w() - (Math.min(maxBiomePerLine, system.getActiveKaryotype().size()) * 18 - 4)) / 2.0f; + int dx = 0; + int dy = 0; + int rem = system.getActiveKaryotype().size(); + for (IChromosomeType type : system.getActiveKaryotype()) { + new ControlAnalystChromosome( + this, + karygramX + dx, + y + dy, + root, + type, + ind.getGenome().getActiveAllele(type), + ind.getGenome().getInactiveAllele(type)); + dx += 22; + if (dx >= 22 * maxBiomePerLine - 22) { + rem -= maxBiomePerLine - 1; + if (rem < maxBiomePerLine) { + karygramX += (maxBiomePerLine - 1 - rem) * 22 / 2.0f; + } + dx = 0; + dy += 28; + } + } + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.karyogram"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.karyogram"); + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageMutations.java b/src/main/java/binnie/genetics/gui/AnalystPageMutations.java index bb91ec77..6d7cf301 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageMutations.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageMutations.java @@ -23,255 +23,293 @@ import forestry.api.genetics.IAlleleSpecies; import forestry.api.genetics.IIndividual; import forestry.api.genetics.IMutation; import forestry.apiculture.genetics.BeeDefinition; +import java.util.Collection; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import java.util.Collection; - public class AnalystPageMutations extends ControlAnalystPage { - public AnalystPageMutations(IWidget parent, IArea area, IIndividual ind, boolean isMaster) { - super(parent, area); - setColor(0x333300); - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()) - .setColor(getColor()); + public AnalystPageMutations(IWidget parent, IArea area, IIndividual ind, boolean isMaster) { + super(parent, area); + setColor(0x333300); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); - y += 18; - BreedingSystem system = Binnie.Genetics.getSystem(ind.getGenome().getSpeciesRoot()); - IAlleleSpecies speciesCurrent = ind.getGenome().getPrimary(); - Collection resultant = system.getResultantMutations(speciesCurrent); - Collection further = system.getFurtherMutations(speciesCurrent); - if (ind instanceof IBee) { - ItemStack hive = null; - IAlleleSpecies primary = ind.getGenome().getPrimary(); - if (primary == ExtraBeeDefinition.WATER) { - hive = new ItemStack(ExtraBees.hive, 1, 0); - } else if (primary == ExtraBeeDefinition.ROCK) { - hive = new ItemStack(ExtraBees.hive, 1, 1); - } else if (primary == ExtraBeeDefinition.BASALT) { - hive = new ItemStack(ExtraBees.hive, 1, 2); - } else if (primary == BeeDefinition.FOREST.getGenome().getPrimary()) { - hive = new ItemStack(Mods.forestry.block("beehives"), 1, 1); - } else if (primary == BeeDefinition.MEADOWS.getGenome().getPrimary()) { - hive = new ItemStack(Mods.forestry.block("beehives"), 1, 2); - } else if (primary == BeeDefinition.MODEST.getGenome().getPrimary()) { - hive = new ItemStack(Mods.forestry.block("beehives"), 1, 3); - } else if (primary == BeeDefinition.TROPICAL.getGenome().getPrimary()) { - hive = new ItemStack(Mods.forestry.block("beehives"), 1, 4); - } else if (primary == BeeDefinition.ENDED.getGenome().getPrimary()) { - hive = new ItemStack(Mods.forestry.block("beehives"), 1, 5); - } else if (primary == BeeDefinition.WINTRY.getGenome().getPrimary()) { - hive = new ItemStack(Mods.forestry.block("beehives"), 1, 6); - } else if (primary == BeeDefinition.MARSHY.getGenome().getPrimary()) { - hive = new ItemStack(Mods.forestry.block("beehives"), 1, 7); - } else if (primary == BeeDefinition.STEADFAST.getGenome().getPrimary()) { - hive = new ItemStack(Blocks.chest); - } + y += 18; + BreedingSystem system = Binnie.Genetics.getSystem(ind.getGenome().getSpeciesRoot()); + IAlleleSpecies speciesCurrent = ind.getGenome().getPrimary(); + Collection resultant = system.getResultantMutations(speciesCurrent); + Collection further = system.getFurtherMutations(speciesCurrent); + if (ind instanceof IBee) { + ItemStack hive = null; + IAlleleSpecies primary = ind.getGenome().getPrimary(); + if (primary == ExtraBeeDefinition.WATER) { + hive = new ItemStack(ExtraBees.hive, 1, 0); + } else if (primary == ExtraBeeDefinition.ROCK) { + hive = new ItemStack(ExtraBees.hive, 1, 1); + } else if (primary == ExtraBeeDefinition.BASALT) { + hive = new ItemStack(ExtraBees.hive, 1, 2); + } else if (primary == BeeDefinition.FOREST.getGenome().getPrimary()) { + hive = new ItemStack(Mods.forestry.block("beehives"), 1, 1); + } else if (primary == BeeDefinition.MEADOWS.getGenome().getPrimary()) { + hive = new ItemStack(Mods.forestry.block("beehives"), 1, 2); + } else if (primary == BeeDefinition.MODEST.getGenome().getPrimary()) { + hive = new ItemStack(Mods.forestry.block("beehives"), 1, 3); + } else if (primary == BeeDefinition.TROPICAL.getGenome().getPrimary()) { + hive = new ItemStack(Mods.forestry.block("beehives"), 1, 4); + } else if (primary == BeeDefinition.ENDED.getGenome().getPrimary()) { + hive = new ItemStack(Mods.forestry.block("beehives"), 1, 5); + } else if (primary == BeeDefinition.WINTRY.getGenome().getPrimary()) { + hive = new ItemStack(Mods.forestry.block("beehives"), 1, 6); + } else if (primary == BeeDefinition.MARSHY.getGenome().getPrimary()) { + hive = new ItemStack(Mods.forestry.block("beehives"), 1, 7); + } else if (primary == BeeDefinition.STEADFAST.getGenome().getPrimary()) { + hive = new ItemStack(Blocks.chest); + } - if (ind.getGenome().getPrimary() == BeeDefinition.VALIANT.getGenome().getPrimary()) { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.mutations.habitat")) - .setColor(getColor()); + if (ind.getGenome().getPrimary() + == BeeDefinition.VALIANT.getGenome().getPrimary()) { + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.mutations.habitat")) + .setColor(getColor()); - y += 10; - new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.mutations.habitat.any")) - .setColor(getColor()); - y += 22; - } else if (ind.getGenome().getPrimary() == BeeDefinition.MONASTIC.getGenome().getPrimary()) { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.mutations.habitat")) - .setColor(getColor()); + y += 10; + new ControlTextCentered( + this, + y, + EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.mutations.habitat.any")) + .setColor(getColor()); + y += 22; + } else if (ind.getGenome().getPrimary() + == BeeDefinition.MONASTIC.getGenome().getPrimary()) { + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.mutations.habitat")) + .setColor(getColor()); - y += 10; - new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.mutations.habitat.villagers")) - .setColor(getColor()); - y += 22; - } else if (hive != null) { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.mutations.habitat")) - .setColor(getColor()); + y += 10; + new ControlTextCentered( + this, + y, + EnumChatFormatting.ITALIC + + I18N.localise("genetics.gui.analyst.mutations.habitat.villagers")) + .setColor(getColor()); + y += 22; + } else if (hive != null) { + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.mutations.habitat")) + .setColor(getColor()); - y += 10; - ControlItemDisplay display = new ControlItemDisplay(this, (w() - 16.0f) / 2.0f, y); - if (ind.getGenome().getPrimary() == BeeDefinition.STEADFAST.getGenome().getPrimary()) { - display.addTooltip(I18N.localise("genetics.gui.analyst.mutations.habitat.chest")); - } else { - display.setTooltip(); - } + y += 10; + ControlItemDisplay display = new ControlItemDisplay(this, (w() - 16.0f) / 2.0f, y); + if (ind.getGenome().getPrimary() + == BeeDefinition.STEADFAST.getGenome().getPrimary()) { + display.addTooltip(I18N.localise("genetics.gui.analyst.mutations.habitat.chest")); + } else { + display.setTooltip(); + } - display.setItemStack(hive); - y += 24; - } - } + display.setItemStack(hive); + y += 24; + } + } - float ox = (w() - 88.0f - 8.0f) / 2.0f; - float dx = 0.0f; + float ox = (w() - 88.0f - 8.0f) / 2.0f; + float dx = 0.0f; - if (!resultant.isEmpty()) { - if (resultant.size() == 1) { - ox = (w() - 44.0f) / 2.0f; - } - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.mutations.resultantMutations")) - .setColor(getColor()); + if (!resultant.isEmpty()) { + if (resultant.size() == 1) { + ox = (w() - 44.0f) / 2.0f; + } + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.mutations.resultantMutations")) + .setColor(getColor()); - y += 10; - for (IMutation mutation : resultant) { - float specificChance = getSpecificChance(mutation, system); - if (!isMaster && !isKnown(system, mutation)) { - new ControlUnknownMutation(this, ox + dx, y, 44.0f, 16.0f); - } else { - new Control(this, ox + dx, y, 44.0f, 16.0f) { - @Override - public void initialise() { - IAlleleSpecies species0 = mutation.getAllele0(); - IAlleleSpecies species2 = mutation.getAllele1(); - String comb = species0.getName() + " + " + species2.getName(); - addTooltip(comb); - String chance = getMutationColor(mutation.getBaseChance()).getCode() + I18N.localise("genetics.gui.analyst.mutations.chance", (int) mutation.getBaseChance()); - if (specificChance != mutation.getBaseChance()) { - chance += getMutationColor(specificChance).getCode() + " " + I18N.localise("genetics.gui.analyst.mutations.chance", (int) specificChance); - } + y += 10; + for (IMutation mutation : resultant) { + float specificChance = getSpecificChance(mutation, system); + if (!isMaster && !isKnown(system, mutation)) { + new ControlUnknownMutation(this, ox + dx, y, 44.0f, 16.0f); + } else { + new Control(this, ox + dx, y, 44.0f, 16.0f) { + @Override + public void initialise() { + IAlleleSpecies species0 = mutation.getAllele0(); + IAlleleSpecies species2 = mutation.getAllele1(); + String comb = species0.getName() + " + " + species2.getName(); + addTooltip(comb); + String chance = + getMutationColor(mutation.getBaseChance()).getCode() + + I18N.localise("genetics.gui.analyst.mutations.chance", (int) + mutation.getBaseChance()); + if (specificChance != mutation.getBaseChance()) { + chance += getMutationColor(specificChance).getCode() + " " + + I18N.localise("genetics.gui.analyst.mutations.chance", (int) specificChance); + } - addTooltip(chance); - for (String s : mutation.getSpecialConditions()) { - addTooltip(s); - } - } + addTooltip(chance); + for (String s : mutation.getSpecialConditions()) { + addTooltip(s); + } + } - @Override - public void onRenderBackground() { - CraftGUI.render.item(new IPoint(0.0f, 0.0f), system.getDefaultMember(mutation.getAllele0().getUID())); - CraftGUI.render.item(new IPoint(28.0f, 0.0f), system.getDefaultMember(mutation.getAllele1().getUID())); - if (specificChance != mutation.getBaseChance()) { - CraftGUI.render.color(getMutationColor(mutation.getBaseChance()).getColor()); - CraftGUI.render.iconItem(new IPoint(14.0f, 0.0f), ModuleItem.iconAdd0.getIcon()); - CraftGUI.render.color(getMutationColor(specificChance).getColor()); - CraftGUI.render.iconItem(new IPoint(14.0f, 0.0f), ModuleItem.iconAdd1.getIcon()); - } else { - CraftGUI.render.color(getMutationColor(mutation.getBaseChance()).getColor()); - CraftGUI.render.iconItem(new IPoint(14.0f, 0.0f), ModuleItem.iconAdd.getIcon()); - } - } - }; - } - dx = 52.0f - dx; - if (dx == 0.0f || resultant.size() == 1) { - y += 18; - } - } + @Override + public void onRenderBackground() { + CraftGUI.render.item( + new IPoint(0.0f, 0.0f), + system.getDefaultMember( + mutation.getAllele0().getUID())); + CraftGUI.render.item( + new IPoint(28.0f, 0.0f), + system.getDefaultMember( + mutation.getAllele1().getUID())); + if (specificChance != mutation.getBaseChance()) { + CraftGUI.render.color(getMutationColor(mutation.getBaseChance()) + .getColor()); + CraftGUI.render.iconItem(new IPoint(14.0f, 0.0f), ModuleItem.iconAdd0.getIcon()); + CraftGUI.render.color( + getMutationColor(specificChance).getColor()); + CraftGUI.render.iconItem(new IPoint(14.0f, 0.0f), ModuleItem.iconAdd1.getIcon()); + } else { + CraftGUI.render.color(getMutationColor(mutation.getBaseChance()) + .getColor()); + CraftGUI.render.iconItem(new IPoint(14.0f, 0.0f), ModuleItem.iconAdd.getIcon()); + } + } + }; + } + dx = 52.0f - dx; + if (dx == 0.0f || resultant.size() == 1) { + y += 18; + } + } - if (dx != 0.0f && resultant.size() != 1) { - y += 18; - } - y += 10; - } + if (dx != 0.0f && resultant.size() != 1) { + y += 18; + } + y += 10; + } - ox = (w() - 88.0f - 8.0f) / 2.0f; - dx = 0.0f; - if (!further.isEmpty()) { - if (further.size() == 1) { - ox = (w() - 44.0f) / 2.0f; - } - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.mutations.furtherMutations")) - .setColor(getColor()); + ox = (w() - 88.0f - 8.0f) / 2.0f; + dx = 0.0f; + if (!further.isEmpty()) { + if (further.size() == 1) { + ox = (w() - 44.0f) / 2.0f; + } + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.mutations.furtherMutations")) + .setColor(getColor()); - y += 10; - for (IMutation mutation : further) { - IAllele speciesComb = mutation.getPartner(speciesCurrent); - float specificChance2 = getSpecificChance(mutation, system); - if (!isMaster && !isKnown(system, mutation)) { - new ControlUnknownMutation(this, ox + dx, y, 44.0f, 16.0f); - } else { - new Control(this, ox + dx, y, 44.0f, 16.0f) { - @Override - public void initialise() { - IAlleleSpecies species0 = (IAlleleSpecies) speciesComb; - IAlleleSpecies species2 = (IAlleleSpecies) mutation.getTemplate()[0]; - addTooltip(species2.getName()); - String comb = speciesCurrent.getName() + " + " + species0.getName(); - addTooltip(comb); - String chance = getMutationColor(mutation.getBaseChance()).getCode() + I18N.localise("genetics.gui.analyst.mutations.chance", (int) mutation.getBaseChance()); - if (specificChance2 != mutation.getBaseChance()) { - chance = chance + getMutationColor(specificChance2).getCode() + " " + I18N.localise("genetics.gui.analyst.mutations.chance", (int) specificChance2); - } - addTooltip(chance); - for (String s : mutation.getSpecialConditions()) { - addTooltip(s); - } - } + y += 10; + for (IMutation mutation : further) { + IAllele speciesComb = mutation.getPartner(speciesCurrent); + float specificChance2 = getSpecificChance(mutation, system); + if (!isMaster && !isKnown(system, mutation)) { + new ControlUnknownMutation(this, ox + dx, y, 44.0f, 16.0f); + } else { + new Control(this, ox + dx, y, 44.0f, 16.0f) { + @Override + public void initialise() { + IAlleleSpecies species0 = (IAlleleSpecies) speciesComb; + IAlleleSpecies species2 = (IAlleleSpecies) mutation.getTemplate()[0]; + addTooltip(species2.getName()); + String comb = speciesCurrent.getName() + " + " + species0.getName(); + addTooltip(comb); + String chance = + getMutationColor(mutation.getBaseChance()).getCode() + + I18N.localise("genetics.gui.analyst.mutations.chance", (int) + mutation.getBaseChance()); + if (specificChance2 != mutation.getBaseChance()) { + chance = chance + + getMutationColor(specificChance2).getCode() + " " + + I18N.localise("genetics.gui.analyst.mutations.chance", (int) specificChance2); + } + addTooltip(chance); + for (String s : mutation.getSpecialConditions()) { + addTooltip(s); + } + } - @Override - public void onRenderBackground() { - CraftGUI.render.item(new IPoint(0.0f, 0.0f), system.getDefaultMember(speciesComb.getUID())); - CraftGUI.render.item(new IPoint(28.0f, 0.0f), system.getDefaultMember(mutation.getTemplate()[0].getUID())); - CraftGUI.render.color(getMutationColor(mutation.getBaseChance()).getColor()); - if (specificChance2 != mutation.getBaseChance()) { - CraftGUI.render.color(getMutationColor(mutation.getBaseChance()).getColor()); - CraftGUI.render.iconItem(new IPoint(14.0f, 0.0f), ModuleItem.iconArrow0.getIcon()); - CraftGUI.render.color(getMutationColor(specificChance2).getColor()); - CraftGUI.render.iconItem(new IPoint(14.0f, 0.0f), ModuleItem.iconArrow1.getIcon()); - } else { - CraftGUI.render.color(getMutationColor(mutation.getBaseChance()).getColor()); - CraftGUI.render.iconItem(new IPoint(14.0f, 0.0f), ModuleItem.iconArrow.getIcon()); - } - } - }; - } + @Override + public void onRenderBackground() { + CraftGUI.render.item(new IPoint(0.0f, 0.0f), system.getDefaultMember(speciesComb.getUID())); + CraftGUI.render.item( + new IPoint(28.0f, 0.0f), + system.getDefaultMember(mutation.getTemplate()[0].getUID())); + CraftGUI.render.color( + getMutationColor(mutation.getBaseChance()).getColor()); + if (specificChance2 != mutation.getBaseChance()) { + CraftGUI.render.color(getMutationColor(mutation.getBaseChance()) + .getColor()); + CraftGUI.render.iconItem(new IPoint(14.0f, 0.0f), ModuleItem.iconArrow0.getIcon()); + CraftGUI.render.color( + getMutationColor(specificChance2).getColor()); + CraftGUI.render.iconItem(new IPoint(14.0f, 0.0f), ModuleItem.iconArrow1.getIcon()); + } else { + CraftGUI.render.color(getMutationColor(mutation.getBaseChance()) + .getColor()); + CraftGUI.render.iconItem(new IPoint(14.0f, 0.0f), ModuleItem.iconArrow.getIcon()); + } + } + }; + } - dx = 52.0f - dx; - if (dx == 0.0f || further.size() == 1) { - y += 18; - } - } + dx = 52.0f - dx; + if (dx == 0.0f || further.size() == 1) { + y += 18; + } + } - if (dx != 0.0f && further.size() != 1) { - y += 18; - } - } - y += 8; - setSize(new IPoint(w(), y)); - } + if (dx != 0.0f && further.size() != 1) { + y += 18; + } + } + y += 8; + setSize(new IPoint(w(), y)); + } - private boolean isKnown(BreedingSystem system, IMutation mutation) { - return system.getDiscoveredMutations(getWindow().getWorld(), getWindow().getPlayer().getGameProfile()).contains(mutation); - } + private boolean isKnown(BreedingSystem system, IMutation mutation) { + return system.getDiscoveredMutations( + getWindow().getWorld(), getWindow().getPlayer().getGameProfile()) + .contains(mutation); + } - private float getSpecificChance(IMutation mutation, BreedingSystem system) { - return system.getChance(mutation, getWindow().getPlayer(), mutation.getAllele0(), mutation.getAllele1()); - } + private float getSpecificChance(IMutation mutation, BreedingSystem system) { + return system.getChance(mutation, getWindow().getPlayer(), mutation.getAllele0(), mutation.getAllele1()); + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.mutations"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.mutations"); + } - protected EnumColor getMutationColor(float percent) { - if (percent >= 20.0f) { - return EnumColor.DarkGreen; - } - if (percent >= 15.0f) { - return EnumColor.Green; - } - if (percent >= 10.0f) { - return EnumColor.Yellow; - } - if (percent >= 5.0f) { - return EnumColor.Gold; - } - if (percent > 0.0f) { - return EnumColor.Red; - } - return EnumColor.DarkRed; - } + protected EnumColor getMutationColor(float percent) { + if (percent >= 20.0f) { + return EnumColor.DarkGreen; + } + if (percent >= 15.0f) { + return EnumColor.Green; + } + if (percent >= 10.0f) { + return EnumColor.Yellow; + } + if (percent >= 5.0f) { + return EnumColor.Gold; + } + if (percent > 0.0f) { + return EnumColor.Red; + } + return EnumColor.DarkRed; + } - static class ControlUnknownMutation extends Control { - public ControlUnknownMutation(IWidget parent, float x, float y, float w, float h) { - super(parent, x, y, w, h); - addAttribute(WidgetAttribute.MOUSE_OVER); - addTooltip(I18N.localise("genetics.gui.analyst.mutations.unknownMutation")); - } + static class ControlUnknownMutation extends Control { + public ControlUnknownMutation(IWidget parent, float x, float y, float w, float h) { + super(parent, x, y, w, h); + addAttribute(WidgetAttribute.MOUSE_OVER); + addTooltip(I18N.localise("genetics.gui.analyst.mutations.unknownMutation")); + } - @Override - public void onRenderBackground() { - CraftGUI.render.text(getArea(), TextJustification.MIDDLE_CENTER, I18N.localise("genetics.gui.analyst.mutations.unknown"), 0xaaaaaa); - } - } + @Override + public void onRenderBackground() { + CraftGUI.render.text( + getArea(), + TextJustification.MIDDLE_CENTER, + I18N.localise("genetics.gui.analyst.mutations.unknown"), + 0xaaaaaa); + } + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageProduce.java b/src/main/java/binnie/genetics/gui/AnalystPageProduce.java index 95e5f329..1bd39cd6 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageProduce.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageProduce.java @@ -7,6 +7,10 @@ import binnie.core.craftgui.minecraft.control.ControlItemDisplay; import binnie.core.util.UniqueFluidStackSet; import binnie.core.util.UniqueItemStackSet; import forestry.api.recipes.RecipeManagers; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; @@ -17,232 +21,233 @@ import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.ShapelessOreRecipe; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; - public abstract class AnalystPageProduce extends ControlAnalystPage { - public AnalystPageProduce(IWidget parent, IArea area) { - super(parent, area); - } + public AnalystPageProduce(IWidget parent, IArea area) { + super(parent, area); + } - protected Collection getAllProducts(ItemStack key) { - Collection products = new UniqueItemStackSet(); - products.addAll(getCentrifuge(key)); - products.addAll(getSqueezer(key)); - products.add(FurnaceRecipes.smelting().getSmeltingResult(key)); - products.addAll(getCrafting(key)); - return products; - } + protected Collection getAllProducts(ItemStack key) { + Collection products = new UniqueItemStackSet(); + products.addAll(getCentrifuge(key)); + products.addAll(getSqueezer(key)); + products.add(FurnaceRecipes.smelting().getSmeltingResult(key)); + products.addAll(getCrafting(key)); + return products; + } - public Collection getCentrifuge(ItemStack stack) { - List products = new ArrayList<>(); - for (Map.Entry recipe : RecipeManagers.centrifugeManager.getRecipes().entrySet()) { - boolean isRecipe = false; - for (Object obj : recipe.getKey()) { - if (obj instanceof ItemStack && stack.isItemEqual((ItemStack) obj)) { - isRecipe = true; - } - } + public Collection getCentrifuge(ItemStack stack) { + List products = new ArrayList<>(); + for (Map.Entry recipe : + RecipeManagers.centrifugeManager.getRecipes().entrySet()) { + boolean isRecipe = false; + for (Object obj : recipe.getKey()) { + if (obj instanceof ItemStack && stack.isItemEqual((ItemStack) obj)) { + isRecipe = true; + } + } - if (isRecipe) { - for (Object obj : recipe.getValue()) { - if (obj instanceof ItemStack) { - products.add((ItemStack) obj); - } - } - } - } - return products; - } + if (isRecipe) { + for (Object obj : recipe.getValue()) { + if (obj instanceof ItemStack) { + products.add((ItemStack) obj); + } + } + } + } + return products; + } - public Collection getSqueezer(ItemStack stack) { - List products = new ArrayList<>(); - for (Map.Entry recipe : RecipeManagers.squeezerManager.getRecipes().entrySet()) { - boolean isRecipe = false; - for (Object obj : recipe.getKey()) { - if (obj instanceof ItemStack && stack.isItemEqual((ItemStack) obj)) { - isRecipe = true; - } - } + public Collection getSqueezer(ItemStack stack) { + List products = new ArrayList<>(); + for (Map.Entry recipe : + RecipeManagers.squeezerManager.getRecipes().entrySet()) { + boolean isRecipe = false; + for (Object obj : recipe.getKey()) { + if (obj instanceof ItemStack && stack.isItemEqual((ItemStack) obj)) { + isRecipe = true; + } + } - if (isRecipe) { - for (Object obj : recipe.getValue()) { - if (obj instanceof ItemStack) { - products.add((ItemStack) obj); - } - } - } - } - return products; - } + if (isRecipe) { + for (Object obj : recipe.getValue()) { + if (obj instanceof ItemStack) { + products.add((ItemStack) obj); + } + } + } + } + return products; + } - public Collection getCrafting(ItemStack stack) { - List products = new ArrayList<>(); - for (Object recipeO : CraftingManager.getInstance().getRecipeList()) { - if (recipeO instanceof ShapelessRecipes) { - ShapelessRecipes recipe = (ShapelessRecipes) recipeO; - boolean match = true; - for (Object rec : recipe.recipeItems) { - if (rec != null && (!(rec instanceof ItemStack) || !stack.isItemEqual((ItemStack) rec))) { - match = false; - } - } + public Collection getCrafting(ItemStack stack) { + List products = new ArrayList<>(); + for (Object recipeO : CraftingManager.getInstance().getRecipeList()) { + if (recipeO instanceof ShapelessRecipes) { + ShapelessRecipes recipe = (ShapelessRecipes) recipeO; + boolean match = true; + for (Object rec : recipe.recipeItems) { + if (rec != null && (!(rec instanceof ItemStack) || !stack.isItemEqual((ItemStack) rec))) { + match = false; + } + } - if (match) { - products.add(recipe.getRecipeOutput()); - } - } + if (match) { + products.add(recipe.getRecipeOutput()); + } + } - if (recipeO instanceof ShapedRecipes) { - ShapedRecipes recipe2 = (ShapedRecipes) recipeO; - boolean match = true; - for (Object rec2 : recipe2.recipeItems) { - if (rec2 != null && (!(rec2 instanceof ItemStack) || !stack.isItemEqual((ItemStack) rec2))) { - match = false; - } - } + if (recipeO instanceof ShapedRecipes) { + ShapedRecipes recipe2 = (ShapedRecipes) recipeO; + boolean match = true; + for (Object rec2 : recipe2.recipeItems) { + if (rec2 != null && (!(rec2 instanceof ItemStack) || !stack.isItemEqual((ItemStack) rec2))) { + match = false; + } + } - if (match) { - products.add(recipe2.getRecipeOutput()); - } - } + if (match) { + products.add(recipe2.getRecipeOutput()); + } + } - if (recipeO instanceof ShapelessOreRecipe) { - ShapelessOreRecipe recipe3 = (ShapelessOreRecipe) recipeO; - boolean match = true; - for (Object rec : recipe3.getInput()) { - if (rec != null && (!(rec instanceof ItemStack) || !stack.isItemEqual((ItemStack) rec))) { - match = false; - } - } + if (recipeO instanceof ShapelessOreRecipe) { + ShapelessOreRecipe recipe3 = (ShapelessOreRecipe) recipeO; + boolean match = true; + for (Object rec : recipe3.getInput()) { + if (rec != null && (!(rec instanceof ItemStack) || !stack.isItemEqual((ItemStack) rec))) { + match = false; + } + } - if (!match) { - continue; - } - products.add(recipe3.getRecipeOutput()); - } - } - return products; - } + if (!match) { + continue; + } + products.add(recipe3.getRecipeOutput()); + } + } + return products; + } - public Collection getAllFluids(ItemStack stack) { - List products = new ArrayList<>(); - products.addAll(getSqueezerFluid(stack)); - return products; - } + public Collection getAllFluids(ItemStack stack) { + List products = new ArrayList<>(); + products.addAll(getSqueezerFluid(stack)); + return products; + } - public Collection getSqueezerFluid(ItemStack stack) { - List products = new ArrayList<>(); - for (Map.Entry recipe : RecipeManagers.squeezerManager.getRecipes().entrySet()) { - boolean isRecipe = false; - for (Object obj : recipe.getKey()) { - if (obj instanceof ItemStack && stack.isItemEqual((ItemStack) obj)) { - isRecipe = true; - } - } + public Collection getSqueezerFluid(ItemStack stack) { + List products = new ArrayList<>(); + for (Map.Entry recipe : + RecipeManagers.squeezerManager.getRecipes().entrySet()) { + boolean isRecipe = false; + for (Object obj : recipe.getKey()) { + if (obj instanceof ItemStack && stack.isItemEqual((ItemStack) obj)) { + isRecipe = true; + } + } - if (isRecipe) { - for (Object obj : recipe.getValue()) { - if (obj instanceof FluidStack) { - products.add((FluidStack) obj); - } - } - } - } - return products; - } + if (isRecipe) { + for (Object obj : recipe.getValue()) { + if (obj instanceof FluidStack) { + products.add((FluidStack) obj); + } + } + } + } + return products; + } - protected Collection getAllProducts(FluidStack stack) { - return new UniqueFluidStackSet(); - } + protected Collection getAllProducts(FluidStack stack) { + return new UniqueFluidStackSet(); + } - protected Collection getAllProductsAndFluids(Collection collection) { - Collection products = new UniqueItemStackSet(); - for (ItemStack stack : collection) { - products.addAll(getAllProducts(stack)); - } + protected Collection getAllProductsAndFluids(Collection collection) { + Collection products = new UniqueItemStackSet(); + for (ItemStack stack : collection) { + products.addAll(getAllProducts(stack)); + } - Collection products2 = new UniqueItemStackSet(); - for (ItemStack stack2 : products) { - products2.addAll(getAllProducts(stack2)); - } + Collection products2 = new UniqueItemStackSet(); + for (ItemStack stack2 : products) { + products2.addAll(getAllProducts(stack2)); + } - Collection products3 = new UniqueItemStackSet(); - for (ItemStack stack3 : products2) { - products3.addAll(getAllProducts(stack3)); - } + Collection products3 = new UniqueItemStackSet(); + for (ItemStack stack3 : products2) { + products3.addAll(getAllProducts(stack3)); + } - products.addAll(products2); - products.addAll(products3); - Collection allFluids = new UniqueFluidStackSet(); - for (ItemStack stack4 : collection) { - allFluids.addAll(getAllFluids(stack4)); - } + products.addAll(products2); + products.addAll(products3); + Collection allFluids = new UniqueFluidStackSet(); + for (ItemStack stack4 : collection) { + allFluids.addAll(getAllFluids(stack4)); + } - Collection fluids2 = new UniqueFluidStackSet(); - for (FluidStack stack5 : allFluids) { - fluids2.addAll(getAllProducts(stack5)); - } + Collection fluids2 = new UniqueFluidStackSet(); + for (FluidStack stack5 : allFluids) { + fluids2.addAll(getAllProducts(stack5)); + } - Collection fluids3 = new UniqueFluidStackSet(); - for (FluidStack stack6 : fluids2) { - fluids3.addAll(getAllProducts(stack6)); - } + Collection fluids3 = new UniqueFluidStackSet(); + for (FluidStack stack6 : fluids2) { + fluids3.addAll(getAllProducts(stack6)); + } - allFluids.addAll(fluids2); - allFluids.addAll(fluids3); - for (FluidStack fluid : allFluids) { - ItemStack container = null; - for (FluidContainerRegistry.FluidContainerData data : FluidContainerRegistry.getRegisteredFluidContainerData()) { - if (data.emptyContainer.isItemEqual(new ItemStack(Items.glass_bottle)) && data.fluid.isFluidEqual(fluid)) { - container = data.filledContainer; - break; - } + allFluids.addAll(fluids2); + allFluids.addAll(fluids3); + for (FluidStack fluid : allFluids) { + ItemStack container = null; + for (FluidContainerRegistry.FluidContainerData data : + FluidContainerRegistry.getRegisteredFluidContainerData()) { + if (data.emptyContainer.isItemEqual(new ItemStack(Items.glass_bottle)) + && data.fluid.isFluidEqual(fluid)) { + container = data.filledContainer; + break; + } - if (data.emptyContainer.isItemEqual(new ItemStack(Items.bucket)) && data.fluid.isFluidEqual(fluid)) { - container = data.filledContainer; - break; - } + if (data.emptyContainer.isItemEqual(new ItemStack(Items.bucket)) && data.fluid.isFluidEqual(fluid)) { + container = data.filledContainer; + break; + } - if (data.fluid.isFluidEqual(fluid)) { - container = data.filledContainer; - break; - } - } - if (container != null) { - products.add(container); - } - } - return products; - } + if (data.fluid.isFluidEqual(fluid)) { + container = data.filledContainer; + break; + } + } + if (container != null) { + products.add(container); + } + } + return products; + } - protected int getRefined(String string, int y, Collection products) { - new ControlTextCentered(this, y, string).setColor(getColor()); - y += 10; - int maxBiomePerLine = (int) ((w() + 2.0f - 16.0f) / 18.0f); - float biomeListX = (w() - (Math.min(maxBiomePerLine, products.size()) * 18 - 2)) / 2.0f; - int dx = 0; - int dy = 0; - for (ItemStack soilStack : products) { - if (dx >= 18 * maxBiomePerLine) { - dx = 0; - dy += 18; - } + protected int getRefined(String string, int y, Collection products) { + new ControlTextCentered(this, y, string).setColor(getColor()); + y += 10; + int maxBiomePerLine = (int) ((w() + 2.0f - 16.0f) / 18.0f); + float biomeListX = (w() - (Math.min(maxBiomePerLine, products.size()) * 18 - 2)) / 2.0f; + int dx = 0; + int dy = 0; + for (ItemStack soilStack : products) { + if (dx >= 18 * maxBiomePerLine) { + dx = 0; + dy += 18; + } - FluidStack fluid = FluidContainerRegistry.getFluidForFilledItem(soilStack); - soilStack.stackSize = 1; - ControlItemDisplay display = new ControlItemDisplay(this, biomeListX + dx, y + dy, soilStack, fluid == null); - if (fluid != null) { - display.addTooltip(fluid.getLocalizedName()); - } - dx += 18; - } + FluidStack fluid = FluidContainerRegistry.getFluidForFilledItem(soilStack); + soilStack.stackSize = 1; + ControlItemDisplay display = + new ControlItemDisplay(this, biomeListX + dx, y + dy, soilStack, fluid == null); + if (fluid != null) { + display.addTooltip(fluid.getLocalizedName()); + } + dx += 18; + } - if (dx != 0) { - dy += 18; - } - return y + dy; - } + if (dx != 0) { + dy += 18; + } + return y + dy; + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageProducts.java b/src/main/java/binnie/genetics/gui/AnalystPageProducts.java index 16588a08..737b8f20 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageProducts.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageProducts.java @@ -17,6 +17,10 @@ import forestry.api.apiculture.EnumBeeChromosome; import forestry.api.apiculture.IBee; import forestry.api.apiculture.IBeeGenome; import forestry.plugins.PluginApiculture; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -24,183 +28,188 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - public class AnalystPageProducts extends AnalystPageProduce { - public AnalystPageProducts(IWidget parent, IArea area, IBee ind) { - super(parent, area); - setColor(0xcc3300); - IBeeGenome genome = ind.getGenome(); - float speed = genome.getSpeed(); - float modeSpeed = Binnie.Genetics.getBeeRoot().getBeekeepingMode(BinnieCore.proxy.getWorld()).getBeeModifier().getProductionModifier(genome, 1.0f); - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()) - .setColor(getColor()); + public AnalystPageProducts(IWidget parent, IArea area, IBee ind) { + super(parent, area); + setColor(0xcc3300); + IBeeGenome genome = ind.getGenome(); + float speed = genome.getSpeed(); + float modeSpeed = Binnie.Genetics.getBeeRoot() + .getBeekeepingMode(BinnieCore.proxy.getWorld()) + .getBeeModifier() + .getProductionModifier(genome, 1.0f); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); - y += 12; - String alleleName = Binnie.Genetics.beeBreedingSystem.getAlleleName(EnumBeeChromosome.SPEED, ind.getGenome().getActiveAllele(EnumBeeChromosome.SPEED)); - new ControlTextCentered(this, y, EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.produce.rate", alleleName)) - .setColor(getColor()); + y += 12; + String alleleName = Binnie.Genetics.beeBreedingSystem.getAlleleName( + EnumBeeChromosome.SPEED, ind.getGenome().getActiveAllele(EnumBeeChromosome.SPEED)); + new ControlTextCentered( + this, + y, + EnumChatFormatting.ITALIC + I18N.localise("genetics.gui.analyst.produce.rate", alleleName)) + .setColor(getColor()); - y += 20; - Collection refinedProducts = new UniqueItemStackSet(); - Collection productList = new UniqueItemStackSet(); - Map products = new HashMap<>(); - products.putAll(genome.getPrimary().getProductChances()); - products.putAll(genome.getSecondary().getProductChances()); - if (!products.isEmpty()) { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.produce.natural")) - .setColor(getColor()); + y += 20; + Collection refinedProducts = new UniqueItemStackSet(); + Collection productList = new UniqueItemStackSet(); + Map products = new HashMap<>(); + products.putAll(genome.getPrimary().getProductChances()); + products.putAll(genome.getSecondary().getProductChances()); + if (!products.isEmpty()) { + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.produce.natural")) + .setColor(getColor()); - y += 12; - for (Map.Entry entry : products.entrySet()) { - if (!productList.add(entry.getKey())) { - continue; - } - refinedProducts.addAll(getAllProducts(entry.getKey())); - createProductEntry(entry.getKey(), entry.getValue(), y, speed * modeSpeed); - y += 18; - } - y += 12; - } + y += 12; + for (Map.Entry entry : products.entrySet()) { + if (!productList.add(entry.getKey())) { + continue; + } + refinedProducts.addAll(getAllProducts(entry.getKey())); + createProductEntry(entry.getKey(), entry.getValue(), y, speed * modeSpeed); + y += 18; + } + y += 12; + } - products = genome.getPrimary().getSpecialtyChances(); - if (!products.isEmpty()) { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.produce.speciality")).setColor(getColor()); - y += 12; - for (Map.Entry entry : products.entrySet()) { - refinedProducts.addAll(getAllProducts(entry.getKey())); - createProductEntry(entry.getKey(), entry.getValue(), y, speed * modeSpeed); - y += 18; - } - y += 12; - } + products = genome.getPrimary().getSpecialtyChances(); + if (!products.isEmpty()) { + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.produce.speciality")) + .setColor(getColor()); + y += 12; + for (Map.Entry entry : products.entrySet()) { + refinedProducts.addAll(getAllProducts(entry.getKey())); + createProductEntry(entry.getKey(), entry.getValue(), y, speed * modeSpeed); + y += 18; + } + y += 12; + } - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.produce.refined")) - .setColor(getColor()); + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.produce.refined")).setColor(getColor()); - y += 12; - Collection level2Products = new UniqueItemStackSet(); - for (ItemStack stack : refinedProducts) { - level2Products.addAll(getAllProducts(stack)); - } + y += 12; + Collection level2Products = new UniqueItemStackSet(); + for (ItemStack stack : refinedProducts) { + level2Products.addAll(getAllProducts(stack)); + } - refinedProducts.addAll(level2Products); - level2Products = new UniqueItemStackSet(); - for (ItemStack stack : refinedProducts) { - level2Products.addAll(getAllProducts(stack)); - } + refinedProducts.addAll(level2Products); + level2Products = new UniqueItemStackSet(); + for (ItemStack stack : refinedProducts) { + level2Products.addAll(getAllProducts(stack)); + } - refinedProducts.addAll(level2Products); - Collection allFluids = new ArrayList<>(); - for (ItemStack stack2 : refinedProducts) { - for (FluidStack addition : getAllFluids(stack2)) { - boolean alreadyIn = false; - for (FluidStack existing : allFluids) { - if (existing.isFluidEqual(addition)) { - alreadyIn = true; - } - } - if (!alreadyIn) { - allFluids.add(addition); - } - } - } + refinedProducts.addAll(level2Products); + Collection allFluids = new ArrayList<>(); + for (ItemStack stack2 : refinedProducts) { + for (FluidStack addition : getAllFluids(stack2)) { + boolean alreadyIn = false; + for (FluidStack existing : allFluids) { + if (existing.isFluidEqual(addition)) { + alreadyIn = true; + } + } + if (!alreadyIn) { + allFluids.add(addition); + } + } + } - int maxBiomePerLine = (int) ((w() + 2.0f - 16.0f) / 18.0f); - float biomeListX = (w() - (Math.min(maxBiomePerLine, allFluids.size() + refinedProducts.size()) * 18 - 2)) / 2.0f; - int dx = 0; - int dy = 0; - for (ItemStack soilStack : refinedProducts) { - if (dx >= 18 * maxBiomePerLine) { - dx = 0; - dy += 18; - } - ControlItemDisplay display = new ControlItemDisplay(this, biomeListX + dx, y + dy); - display.setItemStack(soilStack); - display.setTooltip(); - dx += 18; - } + int maxBiomePerLine = (int) ((w() + 2.0f - 16.0f) / 18.0f); + float biomeListX = + (w() - (Math.min(maxBiomePerLine, allFluids.size() + refinedProducts.size()) * 18 - 2)) / 2.0f; + int dx = 0; + int dy = 0; + for (ItemStack soilStack : refinedProducts) { + if (dx >= 18 * maxBiomePerLine) { + dx = 0; + dy += 18; + } + ControlItemDisplay display = new ControlItemDisplay(this, biomeListX + dx, y + dy); + display.setItemStack(soilStack); + display.setTooltip(); + dx += 18; + } - for (FluidStack soilStack2 : allFluids) { - if (dx >= 18 * maxBiomePerLine) { - dx = 0; - dy += 18; - } + for (FluidStack soilStack2 : allFluids) { + if (dx >= 18 * maxBiomePerLine) { + dx = 0; + dy += 18; + } - ItemStack container = null; - for (FluidContainerRegistry.FluidContainerData data : FluidContainerRegistry.getRegisteredFluidContainerData()) { - if (data.emptyContainer.isItemEqual(new ItemStack(Items.glass_bottle)) && data.fluid.isFluidEqual(soilStack2)) { - container = data.filledContainer; - break; - } + ItemStack container = null; + for (FluidContainerRegistry.FluidContainerData data : + FluidContainerRegistry.getRegisteredFluidContainerData()) { + if (data.emptyContainer.isItemEqual(new ItemStack(Items.glass_bottle)) + && data.fluid.isFluidEqual(soilStack2)) { + container = data.filledContainer; + break; + } - if (data.emptyContainer.isItemEqual(new ItemStack(Items.bucket)) && data.fluid.isFluidEqual(soilStack2)) { - container = data.filledContainer; - break; - } + if (data.emptyContainer.isItemEqual(new ItemStack(Items.bucket)) + && data.fluid.isFluidEqual(soilStack2)) { + container = data.filledContainer; + break; + } - if (data.fluid.isFluidEqual(soilStack2)) { - container = data.filledContainer; - break; - } - } + if (data.fluid.isFluidEqual(soilStack2)) { + container = data.filledContainer; + break; + } + } - if (container == null) { - ControlFluidDisplay display2 = new ControlFluidDisplay(this, biomeListX + dx, y + dy); - display2.setItemStack(soilStack2); - display2.setTooltip(); - } else { - ControlItemDisplay display3 = new ControlItemDisplay(this, biomeListX + dx, y + dy); - display3.setItemStack(container); - display3.setTooltip(); - } - dx += 18; - } - setSize(new IPoint(w(), y + dy + 18 + 8)); - } + if (container == null) { + ControlFluidDisplay display2 = new ControlFluidDisplay(this, biomeListX + dx, y + dy); + display2.setItemStack(soilStack2); + display2.setTooltip(); + } else { + ControlItemDisplay display3 = new ControlItemDisplay(this, biomeListX + dx, y + dy); + display3.setItemStack(container); + display3.setTooltip(); + } + dx += 18; + } + setSize(new IPoint(w(), y + dy + 18 + 8)); + } - private void createProductEntry(ItemStack key, Float value, int y, float speed) { - ControlItemDisplay item = new ControlItemDisplay(this, 16.0f, y) { - @Override - public void getTooltip(Tooltip tooltip) { - super.getTooltip(tooltip); - Collection products = getCentrifuge(key); - if (!products.isEmpty()) { - tooltip.add(I18N.localise("genetics.gui.analyst.produce.centrifuge") + " "); - for (ItemStack prod : products) { - NBTTagCompound nbt = new NBTTagCompound(); - prod.writeToNBT(nbt); - tooltip.add(prod, prod.getDisplayName()); - } - } + private void createProductEntry(ItemStack key, Float value, int y, float speed) { + ControlItemDisplay item = new ControlItemDisplay(this, 16.0f, y) { + @Override + public void getTooltip(Tooltip tooltip) { + super.getTooltip(tooltip); + Collection products = getCentrifuge(key); + if (!products.isEmpty()) { + tooltip.add(I18N.localise("genetics.gui.analyst.produce.centrifuge") + " "); + for (ItemStack prod : products) { + NBTTagCompound nbt = new NBTTagCompound(); + prod.writeToNBT(nbt); + tooltip.add(prod, prod.getDisplayName()); + } + } - Collection liquids = getSqueezer(key); - if (!liquids.isEmpty()) { - tooltip.add(I18N.localise("genetics.gui.analyst.produce.squeezes") + " "); - for (ItemStack prod2 : liquids) { - NBTTagCompound nbt2 = new NBTTagCompound(); - prod2.writeToNBT(nbt2); - tooltip.add(prod2, prod2.getDisplayName()); - } - } - } - }; + Collection liquids = getSqueezer(key); + if (!liquids.isEmpty()) { + tooltip.add(I18N.localise("genetics.gui.analyst.produce.squeezes") + " "); + for (ItemStack prod2 : liquids) { + NBTTagCompound nbt2 = new NBTTagCompound(); + prod2.writeToNBT(nbt2); + tooltip.add(prod2, prod2.getDisplayName()); + } + } + } + }; - item.setTooltip(); - ControlText textWidget = new ControlTextCentered(this, y + 4, ""); - textWidget.setColor(getColor()); - CraftGUIUtil.moveWidget(textWidget, new IPoint(12.0f, 0.0f)); - item.setItemStack(key); - float time = (int) (PluginApiculture.ticksPerBeeWorkCycle / (speed * value)); - textWidget.setValue(I18N.localise("genetics.gui.analyst.produce.everyTime", getTimeString(time))); - } + item.setTooltip(); + ControlText textWidget = new ControlTextCentered(this, y + 4, ""); + textWidget.setColor(getColor()); + CraftGUIUtil.moveWidget(textWidget, new IPoint(12.0f, 0.0f)); + item.setItemStack(key); + float time = (int) (PluginApiculture.ticksPerBeeWorkCycle / (speed * value)); + textWidget.setValue(I18N.localise("genetics.gui.analyst.produce.everyTime", getTimeString(time))); + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.produce"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.produce"); + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageSoil.java b/src/main/java/binnie/genetics/gui/AnalystPageSoil.java index 573cfd4a..f5287e3f 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageSoil.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageSoil.java @@ -15,139 +15,157 @@ import binnie.core.genetics.Tolerance; import binnie.core.util.I18N; import binnie.genetics.genetics.AlleleHelper; import forestry.api.genetics.EnumTolerance; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - import java.util.ArrayList; import java.util.EnumSet; import java.util.List; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; public class AnalystPageSoil extends ControlAnalystPage { - public AnalystPageSoil(IWidget parent, IArea area, IFlower flower) { - super(parent, area); - setColor(0x663300); - EnumMoisture moisture = flower.getGenome().getPrimary().getMoisture(); - EnumTolerance moistureTol = flower.getGenome().getToleranceMoisture(); - EnumAcidity pH = flower.getGenome().getPrimary().getPH(); - EnumTolerance pHTol = flower.getGenome().getTolerancePH(); - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()) - .setColor(getColor()); + public AnalystPageSoil(IWidget parent, IArea area, IFlower flower) { + super(parent, area); + setColor(0x663300); + EnumMoisture moisture = flower.getGenome().getPrimary().getMoisture(); + EnumTolerance moistureTol = flower.getGenome().getToleranceMoisture(); + EnumAcidity pH = flower.getGenome().getPrimary().getPH(); + EnumTolerance pHTol = flower.getGenome().getTolerancePH(); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); - y += 16; - new ControlText(this, new IArea(4.0f, y, w() - 8.0f, 14.0f), I18N.localise("genetics.gui.analyst.soil.moistureTolerance"), TextJustification.MIDDLE_CENTER) - .setColor(getColor()); + y += 16; + new ControlText( + this, + new IArea(4.0f, y, w() - 8.0f, 14.0f), + I18N.localise("genetics.gui.analyst.soil.moistureTolerance"), + TextJustification.MIDDLE_CENTER) + .setColor(getColor()); - y += 12; - createMoisture(this, (w() - 100.0f) / 2.0f, y, 100.0f, 10.0f, moisture, moistureTol); + y += 12; + createMoisture(this, (w() - 100.0f) / 2.0f, y, 100.0f, 10.0f, moisture, moistureTol); - y += 16; - new ControlText(this, new IArea(4.0f, y, w() - 8.0f, 14.0f), I18N.localise("genetics.gui.analyst.soil.pHTolerance"), TextJustification.MIDDLE_CENTER) - .setColor(getColor()); + y += 16; + new ControlText( + this, + new IArea(4.0f, y, w() - 8.0f, 14.0f), + I18N.localise("genetics.gui.analyst.soil.pHTolerance"), + TextJustification.MIDDLE_CENTER) + .setColor(getColor()); - y += 12; - createAcidity(this, (w() - 100.0f) / 2.0f, y, 100.0f, 10.0f, pH, pHTol); + y += 12; + createAcidity(this, (w() - 100.0f) / 2.0f, y, 100.0f, 10.0f, pH, pHTol); - y += 16; - new ControlText(this, new IArea(4.0f, y, w() - 8.0f, 14.0f), I18N.localise("genetics.gui.analyst.soil.recommendedSoil"), TextJustification.MIDDLE_CENTER) - .setColor(getColor()); + y += 16; + new ControlText( + this, + new IArea(4.0f, y, w() - 8.0f, 14.0f), + I18N.localise("genetics.gui.analyst.soil.recommendedSoil"), + TextJustification.MIDDLE_CENTER) + .setColor(getColor()); - y += 12; - EnumMoisture recomMoisture = EnumMoisture.NORMAL; - boolean canTolNormal = Tolerance.canTolerate(moisture, EnumMoisture.NORMAL, moistureTol); - boolean canTolDamp = Tolerance.canTolerate(moisture, EnumMoisture.DAMP, moistureTol); - boolean canTolDry = Tolerance.canTolerate(moisture, EnumMoisture.DRY, moistureTol); - if (canTolNormal) { - if (canTolDamp && !canTolDry) { - recomMoisture = EnumMoisture.DAMP; - } else if (canTolDry && !canTolDamp) { - recomMoisture = EnumMoisture.DRY; - } - } else { - if (canTolDry) { - recomMoisture = EnumMoisture.DRY; - } else if (canTolDamp) { - recomMoisture = EnumMoisture.DAMP; - } - } + y += 12; + EnumMoisture recomMoisture = EnumMoisture.NORMAL; + boolean canTolNormal = Tolerance.canTolerate(moisture, EnumMoisture.NORMAL, moistureTol); + boolean canTolDamp = Tolerance.canTolerate(moisture, EnumMoisture.DAMP, moistureTol); + boolean canTolDry = Tolerance.canTolerate(moisture, EnumMoisture.DRY, moistureTol); + if (canTolNormal) { + if (canTolDamp && !canTolDry) { + recomMoisture = EnumMoisture.DAMP; + } else if (canTolDry && !canTolDamp) { + recomMoisture = EnumMoisture.DRY; + } + } else { + if (canTolDry) { + recomMoisture = EnumMoisture.DRY; + } else if (canTolDamp) { + recomMoisture = EnumMoisture.DAMP; + } + } - EnumAcidity recomPH = EnumAcidity.NEUTRAL; - boolean canTolNeutral = Tolerance.canTolerate(pH, EnumAcidity.NEUTRAL, pHTol); - boolean canTolAcid = Tolerance.canTolerate(pH, EnumAcidity.ACID, pHTol); - boolean canTolAlkaline = Tolerance.canTolerate(pH, EnumAcidity.ALKALINE, pHTol); - if (canTolNeutral) { - if (canTolAcid && !canTolAlkaline) { - recomPH = EnumAcidity.ACID; - } else if (canTolAlkaline && !canTolAcid) { - recomPH = EnumAcidity.ALKALINE; - } - } else { - if (canTolAcid) { - recomPH = EnumAcidity.ACID; - } - if (canTolAlkaline) { - recomPH = EnumAcidity.ALKALINE; - } - } + EnumAcidity recomPH = EnumAcidity.NEUTRAL; + boolean canTolNeutral = Tolerance.canTolerate(pH, EnumAcidity.NEUTRAL, pHTol); + boolean canTolAcid = Tolerance.canTolerate(pH, EnumAcidity.ACID, pHTol); + boolean canTolAlkaline = Tolerance.canTolerate(pH, EnumAcidity.ALKALINE, pHTol); + if (canTolNeutral) { + if (canTolAcid && !canTolAlkaline) { + recomPH = EnumAcidity.ACID; + } else if (canTolAlkaline && !canTolAcid) { + recomPH = EnumAcidity.ALKALINE; + } + } else { + if (canTolAcid) { + recomPH = EnumAcidity.ACID; + } + if (canTolAlkaline) { + recomPH = EnumAcidity.ALKALINE; + } + } - ItemStack stack = new ItemStack(Botany.soil, 1, BlockSoil.getMeta(recomPH, recomMoisture)); - ControlItemDisplay recomSoil = new ControlItemDisplay(this, (w() - 24.0f) / 2.0f, y, 24.0f); - recomSoil.setItemStack(stack); - recomSoil.setTooltip(); - y += 32; - new ControlText(this, new IArea(4.0f, y, w() - 8.0f, 14.0f), I18N.localise("genetics.gui.analyst.soil.otherSoils"), TextJustification.MIDDLE_CENTER) - .setColor(getColor()); + ItemStack stack = new ItemStack(Botany.soil, 1, BlockSoil.getMeta(recomPH, recomMoisture)); + ControlItemDisplay recomSoil = new ControlItemDisplay(this, (w() - 24.0f) / 2.0f, y, 24.0f); + recomSoil.setItemStack(stack); + recomSoil.setTooltip(); + y += 32; + new ControlText( + this, + new IArea(4.0f, y, w() - 8.0f, 14.0f), + I18N.localise("genetics.gui.analyst.soil.otherSoils"), + TextJustification.MIDDLE_CENTER) + .setColor(getColor()); - y += 12; - List stacks = new ArrayList<>(); - for (EnumAcidity a : EnumSet.range(EnumAcidity.ACID, EnumAcidity.ALKALINE)) { - for (EnumMoisture b : EnumSet.range(EnumMoisture.DRY, EnumMoisture.DAMP)) { - if (Tolerance.canTolerate(pH, a, pHTol) && Tolerance.canTolerate(moisture, b, moistureTol) && (a != recomPH || b != recomMoisture)) { - stacks.add(new ItemStack(Botany.soil, 1, BlockSoil.getMeta(a, b))); - } - } - } + y += 12; + List stacks = new ArrayList<>(); + for (EnumAcidity a : EnumSet.range(EnumAcidity.ACID, EnumAcidity.ALKALINE)) { + for (EnumMoisture b : EnumSet.range(EnumMoisture.DRY, EnumMoisture.DAMP)) { + if (Tolerance.canTolerate(pH, a, pHTol) + && Tolerance.canTolerate(moisture, b, moistureTol) + && (a != recomPH || b != recomMoisture)) { + stacks.add(new ItemStack(Botany.soil, 1, BlockSoil.getMeta(a, b))); + } + } + } - float soilListWidth = 17 * stacks.size() - 1; - float soilListX = (w() - soilListWidth) / 2.0f; - int t = 0; - for (ItemStack soilStack : stacks) { - ControlItemDisplay display = new ControlItemDisplay(this, soilListX + 17 * t++, y); - display.setItemStack(soilStack); - display.setTooltip(); - } - } + float soilListWidth = 17 * stacks.size() - 1; + float soilListX = (w() - soilListWidth) / 2.0f; + int t = 0; + for (ItemStack soilStack : stacks) { + ControlItemDisplay display = new ControlItemDisplay(this, soilListX + 17 * t++, y); + display.setItemStack(soilStack); + display.setTooltip(); + } + } - protected void createMoisture(IWidget parent, float x, float y, float w, float h, EnumMoisture value, EnumTolerance tol) { - new ControlToleranceBar(parent, x, y, w, h, EnumMoisture.class) { - @Override - protected String getName(EnumMoisture value) { - return AlleleHelper.toDisplay(value); - } + protected void createMoisture( + IWidget parent, float x, float y, float w, float h, EnumMoisture value, EnumTolerance tol) { + new ControlToleranceBar(parent, x, y, w, h, EnumMoisture.class) { + @Override + protected String getName(EnumMoisture value) { + return AlleleHelper.toDisplay(value); + } - @Override - protected int getColor(EnumMoisture value) { - return (new int[]{0xccffcc, 0x66ccff, 0x3366ff})[value.ordinal()]; - } - }.setValues(value, tol); - } + @Override + protected int getColor(EnumMoisture value) { + return (new int[] {0xccffcc, 0x66ccff, 0x3366ff})[value.ordinal()]; + } + }.setValues(value, tol); + } - protected void createAcidity(IWidget parent, float x, float y, float w, float h, EnumAcidity value, EnumTolerance tol) { - new ControlToleranceBar(parent, x, y, w, h, EnumAcidity.class) { - @Override - protected String getName(EnumAcidity value) { - return AlleleHelper.toDisplay(value); - } + protected void createAcidity( + IWidget parent, float x, float y, float w, float h, EnumAcidity value, EnumTolerance tol) { + new ControlToleranceBar(parent, x, y, w, h, EnumAcidity.class) { + @Override + protected String getName(EnumAcidity value) { + return AlleleHelper.toDisplay(value); + } - @Override - protected int getColor(EnumAcidity value) { - return (new int[]{0xff0066, 0x00ff00, 0x0066ff})[value.ordinal()]; - } - }.setValues(value, tol); - } + @Override + protected int getColor(EnumAcidity value) { + return (new int[] {0xff0066, 0x00ff00, 0x0066ff})[value.ordinal()]; + } + }.setValues(value, tol); + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.soil"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.soil"); + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageSpecimen.java b/src/main/java/binnie/genetics/gui/AnalystPageSpecimen.java index a7524e26..8244a72e 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageSpecimen.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageSpecimen.java @@ -8,20 +8,19 @@ import forestry.api.lepidopterology.IButterfly; import net.minecraft.util.EnumChatFormatting; public class AnalystPageSpecimen extends ControlAnalystPage { - public AnalystPageSpecimen(IWidget parent, IArea area, IButterfly ind) { - super(parent, area); - setColor(0x333333); - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()) - .setColor(getColor()); + public AnalystPageSpecimen(IWidget parent, IArea area, IButterfly ind) { + super(parent, area); + setColor(0x333333); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); - y += 12; - float w = (w() - 16.0f) * ind.getSize(); - new ControlIndividualDisplay(this, (w() - w) / 2.0f, y + (w() - w) / 2.0f, w, ind); - } + y += 12; + float w = (w() - 16.0f) * ind.getSize(); + new ControlIndividualDisplay(this, (w() - w) / 2.0f, y + (w() - w) / 2.0f, w, ind); + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.specimen"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.specimen"); + } } diff --git a/src/main/java/binnie/genetics/gui/AnalystPageWood.java b/src/main/java/binnie/genetics/gui/AnalystPageWood.java index 3a1642ed..cf46eab7 100644 --- a/src/main/java/binnie/genetics/gui/AnalystPageWood.java +++ b/src/main/java/binnie/genetics/gui/AnalystPageWood.java @@ -14,77 +14,73 @@ import forestry.api.arboriculture.EnumTreeChromosome; import forestry.api.arboriculture.ITree; import forestry.api.arboriculture.ITreeGenome; import forestry.api.genetics.IAlleleBoolean; +import java.util.Collection; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; -import java.util.Collection; - public class AnalystPageWood extends AnalystPageProduce { - public AnalystPageWood(IWidget parent, IArea area, ITree ind) { - super(parent, area); - setColor(0x663300); - ITreeGenome genome = ind.getGenome(); - int y = 4; - new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()) - .setColor(getColor()); - y += 12; + public AnalystPageWood(IWidget parent, IArea area, ITree ind) { + super(parent, area); + setColor(0x663300); + ITreeGenome genome = ind.getGenome(); + int y = 4; + new ControlTextCentered(this, y, EnumChatFormatting.UNDERLINE + getTitle()).setColor(getColor()); + y += 12; - if (((IAlleleBoolean) ind.getGenome().getActiveAllele(EnumTreeChromosome.FIREPROOF)).getValue()) { - new ControlIconDisplay(this, (w() - 16.0f) / 2.0f, y, ModuleItem.iconNoFire.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.wood.fireproof")); - } else { - new ControlIconDisplay(this, (w() - 16.0f) / 2.0f, y, ModuleItem.iconFire.getIcon()) - .addTooltip(I18N.localise("genetics.gui.analyst.wood.flammable")); - } - y += 30; - Collection products = new UniqueItemStackSet(); + if (((IAlleleBoolean) ind.getGenome().getActiveAllele(EnumTreeChromosome.FIREPROOF)).getValue()) { + new ControlIconDisplay(this, (w() - 16.0f) / 2.0f, y, ModuleItem.iconNoFire.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.wood.fireproof")); + } else { + new ControlIconDisplay(this, (w() - 16.0f) / 2.0f, y, ModuleItem.iconFire.getIcon()) + .addTooltip(I18N.localise("genetics.gui.analyst.wood.flammable")); + } + y += 30; + Collection products = new UniqueItemStackSet(); - genome.getPrimary().getGenerator().setLogBlock(genome, FakeWorld.instance, 0, 0, 0, ForgeDirection.UP); - ItemStack stackWood = FakeWorld.instance.getWooLog(); - if (stackWood != null) { - products.add(stackWood); - } + genome.getPrimary().getGenerator().setLogBlock(genome, FakeWorld.instance, 0, 0, 0, ForgeDirection.UP); + ItemStack stackWood = FakeWorld.instance.getWooLog(); + if (stackWood != null) { + products.add(stackWood); + } - // for (ItemStack stack : - // ind.getGenome().getFruitProvider().getProducts()) { - // products.add(stack); - // } + // for (ItemStack stack : + // ind.getGenome().getFruitProvider().getProducts()) { + // products.add(stack); + // } - if (products.size() > 0) { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.wood.logs")) - .setColor(getColor()); - y += 10; - int w = products.size() * 18 - 2; - int i = 0; - for (ItemStack stack : products) { - ControlItemDisplay d = new ControlItemDisplay(this, (w() - w) / 2.0f + 18 * i, y); - d.setTooltip(); - d.setItemStack(stack); - } - y += 26; - } + if (products.size() > 0) { + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.wood.logs")).setColor(getColor()); + y += 10; + int w = products.size() * 18 - 2; + int i = 0; + for (ItemStack stack : products) { + ControlItemDisplay d = new ControlItemDisplay(this, (w() - w) / 2.0f + 18 * i, y); + d.setTooltip(); + d.setItemStack(stack); + } + y += 26; + } - Collection allProducts = new UniqueItemStackSet(); - allProducts.addAll(products); + Collection allProducts = new UniqueItemStackSet(); + allProducts.addAll(products); - Collection refinedProducts = new UniqueItemStackSet(); - refinedProducts.addAll(getAllProductsAndFluids(allProducts)); - if (refinedProducts.size() > 0) { - y = getRefined(I18N.localise("genetics.gui.analyst.wood.products"), y, refinedProducts); - y += 8; - } + Collection refinedProducts = new UniqueItemStackSet(); + refinedProducts.addAll(getAllProductsAndFluids(allProducts)); + if (refinedProducts.size() > 0) { + y = getRefined(I18N.localise("genetics.gui.analyst.wood.products"), y, refinedProducts); + y += 8; + } - if (products.size() == 0) { - new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.wood.noFruits")) - .setColor(getColor()); - y += 28; - } - setSize(new IPoint(w(), y + 8)); - } + if (products.size() == 0) { + new ControlTextCentered(this, y, I18N.localise("genetics.gui.analyst.wood.noFruits")).setColor(getColor()); + y += 28; + } + setSize(new IPoint(w(), y + 8)); + } - @Override - public String getTitle() { - return I18N.localise("genetics.gui.analyst.wood"); - } + @Override + public String getTitle() { + return I18N.localise("genetics.gui.analyst.wood"); + } } diff --git a/src/main/java/binnie/genetics/gui/ControlAnalystChromosome.java b/src/main/java/binnie/genetics/gui/ControlAnalystChromosome.java index 89314859..ea806374 100644 --- a/src/main/java/binnie/genetics/gui/ControlAnalystChromosome.java +++ b/src/main/java/binnie/genetics/gui/ControlAnalystChromosome.java @@ -18,43 +18,52 @@ import forestry.api.genetics.IChromosomeType; import forestry.api.genetics.ISpeciesRoot; public class ControlAnalystChromosome extends Control implements ITooltip { - IAllele allele0; - IAllele allele1; - IChromosomeType chromosomeType; - ISpeciesRoot root; - Texture Homozygous; - Texture Heterozygous; + IAllele allele0; + IAllele allele1; + IChromosomeType chromosomeType; + ISpeciesRoot root; + Texture Homozygous; + Texture Heterozygous; - public ControlAnalystChromosome(IWidget parent, float x, float y, ISpeciesRoot root, IChromosomeType type, IAllele allele0, IAllele allele1) { - super(parent, x, y, 16.0f, 22.0f); - Homozygous = new StandardTexture(0, 0, 16, 22, BinnieCoreTexture.GUIAnalyst); - Heterozygous = new StandardTexture(16, 0, 16, 22, BinnieCoreTexture.GUIAnalyst); - addAttribute(WidgetAttribute.MOUSE_OVER); - this.root = root; - chromosomeType = type; - this.allele0 = allele0; - this.allele1 = allele1; - } + public ControlAnalystChromosome( + IWidget parent, + float x, + float y, + ISpeciesRoot root, + IChromosomeType type, + IAllele allele0, + IAllele allele1) { + super(parent, x, y, 16.0f, 22.0f); + Homozygous = new StandardTexture(0, 0, 16, 22, BinnieCoreTexture.GUIAnalyst); + Heterozygous = new StandardTexture(16, 0, 16, 22, BinnieCoreTexture.GUIAnalyst); + addAttribute(WidgetAttribute.MOUSE_OVER); + this.root = root; + chromosomeType = type; + this.allele0 = allele0; + this.allele1 = allele1; + } - public boolean isHomozygous() { - return allele0.getUID().equals(allele1.getUID()); - } + public boolean isHomozygous() { + return allele0.getUID().equals(allele1.getUID()); + } - @Override - public void onRenderBackground() { - super.onRenderBackground(); - CraftGUI.render.texture(isHomozygous() ? Homozygous : Heterozygous, IPoint.ZERO); - } + @Override + public void onRenderBackground() { + super.onRenderBackground(); + CraftGUI.render.texture(isHomozygous() ? Homozygous : Heterozygous, IPoint.ZERO); + } - @Override - public void getTooltip(Tooltip tooltip) { - BreedingSystem system = Binnie.Genetics.getSystem(root); - tooltip.add(system.getChromosomeName(chromosomeType)); - if (isHomozygous()) { - tooltip.add(system.getAlleleName(chromosomeType, allele0)); - } else { - tooltip.add(I18N.localise("genetics.gui.analyst.chromosome.active", system.getAlleleName(chromosomeType, allele0))); - tooltip.add(I18N.localise("genetics.gui.analyst.chromosome.inactive", system.getAlleleName(chromosomeType, allele1))); - } - } + @Override + public void getTooltip(Tooltip tooltip) { + BreedingSystem system = Binnie.Genetics.getSystem(root); + tooltip.add(system.getChromosomeName(chromosomeType)); + if (isHomozygous()) { + tooltip.add(system.getAlleleName(chromosomeType, allele0)); + } else { + tooltip.add(I18N.localise( + "genetics.gui.analyst.chromosome.active", system.getAlleleName(chromosomeType, allele0))); + tooltip.add(I18N.localise( + "genetics.gui.analyst.chromosome.inactive", system.getAlleleName(chromosomeType, allele1))); + } + } } diff --git a/src/main/java/binnie/genetics/gui/ControlAnalystPage.java b/src/main/java/binnie/genetics/gui/ControlAnalystPage.java index a53fbe17..a1a69b5f 100644 --- a/src/main/java/binnie/genetics/gui/ControlAnalystPage.java +++ b/src/main/java/binnie/genetics/gui/ControlAnalystPage.java @@ -4,33 +4,32 @@ import binnie.core.craftgui.IWidget; import binnie.core.craftgui.controls.core.Control; import binnie.core.craftgui.geometry.IArea; import binnie.core.util.I18N; - import java.text.DecimalFormat; public abstract class ControlAnalystPage extends Control { - public ControlAnalystPage(IWidget parent, IArea area) { - super(parent, area); - hide(); - } + public ControlAnalystPage(IWidget parent, IArea area) { + super(parent, area); + hide(); + } - @Override - public void onRenderBackground() { - // ignored - } + @Override + public void onRenderBackground() { + // ignored + } - public abstract String getTitle(); + public abstract String getTitle(); - protected String getTimeString(float time) { - float seconds = time / 20.0f; - float minutes = seconds / 60.0f; - float hours = minutes / 60.0f; - DecimalFormat df = new DecimalFormat("#.#"); - if (hours > 1.0f) { - return I18N.localise("genetics.gui.analyst.page.hours", df.format(hours)); - } - if (minutes > 1.0f) { - return I18N.localise("genetics.gui.analyst.page.minutes", df.format(minutes)); - } - return I18N.localise("genetics.gui.analyst.page.seconds", df.format(seconds)); - } + protected String getTimeString(float time) { + float seconds = time / 20.0f; + float minutes = seconds / 60.0f; + float hours = minutes / 60.0f; + DecimalFormat df = new DecimalFormat("#.#"); + if (hours > 1.0f) { + return I18N.localise("genetics.gui.analyst.page.hours", df.format(hours)); + } + if (minutes > 1.0f) { + return I18N.localise("genetics.gui.analyst.page.minutes", df.format(minutes)); + } + return I18N.localise("genetics.gui.analyst.page.seconds", df.format(seconds)); + } } diff --git a/src/main/java/binnie/genetics/gui/ControlBiome.java b/src/main/java/binnie/genetics/gui/ControlBiome.java index 52b84c31..63cf4679 100644 --- a/src/main/java/binnie/genetics/gui/ControlBiome.java +++ b/src/main/java/binnie/genetics/gui/ControlBiome.java @@ -12,59 +12,59 @@ import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.BiomeDictionary; public class ControlBiome extends Control implements ITooltip { - BiomeGenBase biome; - String iconCategory; + BiomeGenBase biome; + String iconCategory; - public ControlBiome(IWidget parent, float x, float y, float w, float h, BiomeGenBase biome) { - super(parent, x, y, w, h); - this.biome = null; - iconCategory = "plains"; - this.biome = biome; - } + public ControlBiome(IWidget parent, float x, float y, float w, float h, BiomeGenBase biome) { + super(parent, x, y, w, h); + this.biome = null; + iconCategory = "plains"; + this.biome = biome; + } - @Override - public void onRenderBackground() { - if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.MOUNTAIN) || - BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.HILLS)) { - iconCategory = "hills"; - } - if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.SANDY)) { - iconCategory = "desert"; - } - if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.SNOWY)) { - iconCategory = "snow"; - } - if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.FOREST)) { - iconCategory = "forest"; - } - if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.SWAMP)) { - iconCategory = "swamp"; - } - if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.JUNGLE)) { - iconCategory = "jungle"; - } - if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.COLD) && - BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.FOREST)) { - iconCategory = "taiga"; - } - if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.MUSHROOM)) { - iconCategory = "mushroom"; - } - if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.OCEAN)) { - iconCategory = "ocean"; - } - if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.NETHER)) { - iconCategory = "nether"; - } - if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.END)) { - iconCategory = "end"; - } - IIcon icon = TextureManager.getInstance().getDefault("habitats/" + iconCategory); - CraftGUI.render.iconItem(IPoint.ZERO, icon); - } + @Override + public void onRenderBackground() { + if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.MOUNTAIN) + || BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.HILLS)) { + iconCategory = "hills"; + } + if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.SANDY)) { + iconCategory = "desert"; + } + if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.SNOWY)) { + iconCategory = "snow"; + } + if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.FOREST)) { + iconCategory = "forest"; + } + if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.SWAMP)) { + iconCategory = "swamp"; + } + if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.JUNGLE)) { + iconCategory = "jungle"; + } + if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.COLD) + && BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.FOREST)) { + iconCategory = "taiga"; + } + if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.MUSHROOM)) { + iconCategory = "mushroom"; + } + if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.OCEAN)) { + iconCategory = "ocean"; + } + if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.NETHER)) { + iconCategory = "nether"; + } + if (BiomeDictionary.isBiomeOfType(biome, BiomeDictionary.Type.END)) { + iconCategory = "end"; + } + IIcon icon = TextureManager.getInstance().getDefault("habitats/" + iconCategory); + CraftGUI.render.iconItem(IPoint.ZERO, icon); + } - @Override - public void getTooltip(Tooltip tooltip) { - tooltip.add(biome.biomeName.replaceAll("(\\p{Ll})(\\p{Lu})", "$1 $2")); - } + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.add(biome.biomeName.replaceAll("(\\p{Ll})(\\p{Lu})", "$1 $2")); + } } diff --git a/src/main/java/binnie/genetics/gui/ControlChromoPicker.java b/src/main/java/binnie/genetics/gui/ControlChromoPicker.java index c3cd186b..bf1f1d82 100644 --- a/src/main/java/binnie/genetics/gui/ControlChromoPicker.java +++ b/src/main/java/binnie/genetics/gui/ControlChromoPicker.java @@ -15,42 +15,42 @@ import binnie.extrabees.core.ExtraBeeTexture; import forestry.api.genetics.IChromosomeType; public class ControlChromoPicker extends Control implements ITooltip { - Texture Selected; - Texture Texture; - IChromosomeType type; - ControlChromosome parent; + Texture Selected; + Texture Texture; + IChromosomeType type; + ControlChromosome parent; - public ControlChromoPicker(ControlChromosome parent, float x, float y, IChromosomeType chromo) { - super(parent, x, y, 16.0f, 16.0f); - Selected = new StandardTexture(160, 18, 16, 16, ExtraBeeTexture.GUIPunnett); - Texture = new StandardTexture(160, 34, 16, 16, ExtraBeeTexture.GUIPunnett); - type = chromo; - addAttribute(WidgetAttribute.MOUSE_OVER); - this.parent = parent; - addSelfEventHandler(new EventWidget.StartMouseOver.Handler() { - @Override - public void onEvent(EventWidget.StartMouseOver event) { - callEvent(new EventValueChanged(getWidget(), type)); - } - }); - addSelfEventHandler(new EventWidget.EndMouseOver.Handler() { - @Override - public void onEvent(EventWidget.EndMouseOver event) { - callEvent(new EventValueChanged<>(getWidget(), null)); - } - }); - } + public ControlChromoPicker(ControlChromosome parent, float x, float y, IChromosomeType chromo) { + super(parent, x, y, 16.0f, 16.0f); + Selected = new StandardTexture(160, 18, 16, 16, ExtraBeeTexture.GUIPunnett); + Texture = new StandardTexture(160, 34, 16, 16, ExtraBeeTexture.GUIPunnett); + type = chromo; + addAttribute(WidgetAttribute.MOUSE_OVER); + this.parent = parent; + addSelfEventHandler(new EventWidget.StartMouseOver.Handler() { + @Override + public void onEvent(EventWidget.StartMouseOver event) { + callEvent(new EventValueChanged(getWidget(), type)); + } + }); + addSelfEventHandler(new EventWidget.EndMouseOver.Handler() { + @Override + public void onEvent(EventWidget.EndMouseOver event) { + callEvent(new EventValueChanged<>(getWidget(), null)); + } + }); + } - @Override - public void onRenderBackground() { - super.onRenderBackground(); - boolean selected = isMouseOver(); - Texture text = selected ? Selected : Texture; - CraftGUI.render.texture(text, IPoint.ZERO); - } + @Override + public void onRenderBackground() { + super.onRenderBackground(); + boolean selected = isMouseOver(); + Texture text = selected ? Selected : Texture; + CraftGUI.render.texture(text, IPoint.ZERO); + } - @Override - public void getTooltip(Tooltip tooltip) { - tooltip.add(Binnie.Genetics.getSystem(parent.getRoot()).getChromosomeName(type)); - } + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.add(Binnie.Genetics.getSystem(parent.getRoot()).getChromosomeName(type)); + } } diff --git a/src/main/java/binnie/genetics/gui/ControlChromosome.java b/src/main/java/binnie/genetics/gui/ControlChromosome.java index 6dcfce35..936dbef8 100644 --- a/src/main/java/binnie/genetics/gui/ControlChromosome.java +++ b/src/main/java/binnie/genetics/gui/ControlChromosome.java @@ -17,124 +17,124 @@ import forestry.api.genetics.ISpeciesRoot; import forestry.api.lepidopterology.EnumButterflyChromosome; public class ControlChromosome extends Control implements IControlValue { - Texture BeeTexture; - Texture TreeTexture; - Texture MothTexture; - Texture FlowerTexture; - IChromosomeType chromo; - ISpeciesRoot species; + Texture BeeTexture; + Texture TreeTexture; + Texture MothTexture; + Texture FlowerTexture; + IChromosomeType chromo; + ISpeciesRoot species; - public ControlChromosome(IWidget parent, float x, float y) { - super(parent, x, y, 96.0f, 96.0f); - BeeTexture = new StandardTexture(0, 0, 96, 96, BinnieCoreTexture.GUIBreeding); - TreeTexture = new StandardTexture(96, 0, 96, 96, BinnieCoreTexture.GUIBreeding); - MothTexture = new StandardTexture(96, 96, 96, 96, BinnieCoreTexture.GUIBreeding); - FlowerTexture = new StandardTexture(0, 96, 96, 96, BinnieCoreTexture.GUIBreeding); - chromo = null; - species = null; - } + public ControlChromosome(IWidget parent, float x, float y) { + super(parent, x, y, 96.0f, 96.0f); + BeeTexture = new StandardTexture(0, 0, 96, 96, BinnieCoreTexture.GUIBreeding); + TreeTexture = new StandardTexture(96, 0, 96, 96, BinnieCoreTexture.GUIBreeding); + MothTexture = new StandardTexture(96, 96, 96, 96, BinnieCoreTexture.GUIBreeding); + FlowerTexture = new StandardTexture(0, 96, 96, 96, BinnieCoreTexture.GUIBreeding); + chromo = null; + species = null; + } - public ISpeciesRoot getRoot() { - return species; - } + public ISpeciesRoot getRoot() { + return species; + } - public void setRoot(ISpeciesRoot root) { - if (root != species) { - species = root; - deleteAllChildren(); - if (root == Binnie.Genetics.getBeeRoot()) { - new ControlChromoPicker(this, 28.0f, 47.0f, EnumBeeChromosome.SPECIES); - new ControlChromoPicker(this, 28.0f, 72.0f, EnumBeeChromosome.SPEED); - new ControlChromoPicker(this, 19.0f, 20.0f, EnumBeeChromosome.LIFESPAN); - new ControlChromoPicker(this, 55.0f, 65.0f, EnumBeeChromosome.FERTILITY); - new ControlChromoPicker(this, 28.0f, 1.0f, EnumBeeChromosome.TEMPERATURE_TOLERANCE); - new ControlChromoPicker(this, 61.0f, 37.0f, EnumBeeChromosome.NOCTURNAL); - new ControlChromoPicker(this, 81.0f, 76.0f, EnumBeeChromosome.HUMIDITY_TOLERANCE); - new ControlChromoPicker(this, 44.0f, 21.0f, EnumBeeChromosome.TOLERANT_FLYER); - new ControlChromoPicker(this, 3.0f, 37.0f, EnumBeeChromosome.CAVE_DWELLING); - new ControlChromoPicker(this, 4.0f, 65.0f, EnumBeeChromosome.FLOWER_PROVIDER); - new ControlChromoPicker(this, 83.0f, 27.0f, EnumBeeChromosome.FLOWERING); - new ControlChromoPicker(this, 71.0f, 10.0f, EnumBeeChromosome.TERRITORY); - new ControlChromoPicker(this, 84.0f, 54.0f, EnumBeeChromosome.EFFECT); - } else if (root == Binnie.Genetics.getTreeRoot()) { - new ControlChromoPicker(this, 48.0f, 48.0f, EnumTreeChromosome.SPECIES); - new ControlChromoPicker(this, 43.0f, 12.0f, EnumTreeChromosome.GROWTH); - new ControlChromoPicker(this, 43.0f, 84.0f, EnumTreeChromosome.HEIGHT); - new ControlChromoPicker(this, 25.0f, 63.0f, EnumTreeChromosome.FERTILITY); - new ControlChromoPicker(this, 72.0f, 57.0f, EnumTreeChromosome.FRUITS); - new ControlChromoPicker(this, 21.0f, 43.0f, EnumTreeChromosome.YIELD); - new ControlChromoPicker(this, 38.0f, 32.0f, EnumTreeChromosome.PLANT); - new ControlChromoPicker(this, 15.0f, 17.0f, EnumTreeChromosome.SAPPINESS); - new ControlChromoPicker(this, 75.0f, 78.0f, EnumTreeChromosome.TERRITORY); - new ControlChromoPicker(this, 67.0f, 15.0f, EnumTreeChromosome.EFFECT); - new ControlChromoPicker(this, 70.0f, 34.0f, EnumTreeChromosome.MATURATION); - new ControlChromoPicker(this, 45.0f, 67.0f, EnumTreeChromosome.GIRTH); - new ControlChromoPicker(this, 5.0f, 70.0f, EnumTreeChromosome.FIREPROOF); - } else if (root == Binnie.Genetics.getFlowerRoot()) { - new ControlChromoPicker(this, 35.0f, 81.0f, EnumFlowerChromosome.SPECIES); - new ControlChromoPicker(this, 36.0f, 28.0f, EnumFlowerChromosome.PRIMARY); - new ControlChromoPicker(this, 27.0f, 13.0f, EnumFlowerChromosome.SECONDARY); - new ControlChromoPicker(this, 47.0f, 15.0f, EnumFlowerChromosome.FERTILITY); - new ControlChromoPicker(this, 54.0f, 31.0f, EnumFlowerChromosome.TERRITORY); - new ControlChromoPicker(this, 15.0f, 55.0f, EnumFlowerChromosome.EFFECT); - new ControlChromoPicker(this, 23.0f, 38.0f, EnumFlowerChromosome.LIFESPAN); - new ControlChromoPicker(this, 17.0f, 77.0f, EnumFlowerChromosome.TEMPERATURE_TOLERANCE); - new ControlChromoPicker(this, 52.0f, 51.0f, EnumFlowerChromosome.HUMIDITY_TOLERANCE); - new ControlChromoPicker(this, 54.0f, 80.0f, EnumFlowerChromosome.PH_TOLERANCE); - new ControlChromoPicker(this, 41.0f, 42.0f, EnumFlowerChromosome.SAPPINESS); - new ControlChromoPicker(this, 37.0f, 63.0f, EnumFlowerChromosome.STEM); - } else if (root == Binnie.Genetics.getButterflyRoot()) { - new ControlChromoPicker(this, 40.0f, 40.0f, EnumButterflyChromosome.SPECIES); - new ControlChromoPicker(this, 63.0f, 32.0f, EnumButterflyChromosome.SIZE); - new ControlChromoPicker(this, 32.0f, 63.0f, EnumButterflyChromosome.SPEED); - new ControlChromoPicker(this, 11.0f, 27.0f, EnumButterflyChromosome.LIFESPAN); - new ControlChromoPicker(this, 16.0f, 12.0f, EnumButterflyChromosome.METABOLISM); - new ControlChromoPicker(this, 17.0f, 63.0f, EnumButterflyChromosome.FERTILITY); - new ControlChromoPicker(this, 34.0f, 12.0f, EnumButterflyChromosome.TEMPERATURE_TOLERANCE); - new ControlChromoPicker(this, 22.0f, 46.0f, EnumButterflyChromosome.HUMIDITY_TOLERANCE); - new ControlChromoPicker(this, 53.0f, 26.0f, EnumButterflyChromosome.NOCTURNAL); - new ControlChromoPicker(this, 71.0f, 53.0f, EnumButterflyChromosome.TOLERANT_FLYER); - new ControlChromoPicker(this, 78.0f, 12.0f, EnumButterflyChromosome.FIRE_RESIST); - new ControlChromoPicker(this, 55.0f, 55.0f, EnumButterflyChromosome.FLOWER_PROVIDER); - new ControlChromoPicker(this, 27.0f, 31.0f, EnumButterflyChromosome.EFFECT); - new ControlChromoPicker(this, 87.0f, 45.0f, EnumButterflyChromosome.TERRITORY); - } - } - } + public void setRoot(ISpeciesRoot root) { + if (root != species) { + species = root; + deleteAllChildren(); + if (root == Binnie.Genetics.getBeeRoot()) { + new ControlChromoPicker(this, 28.0f, 47.0f, EnumBeeChromosome.SPECIES); + new ControlChromoPicker(this, 28.0f, 72.0f, EnumBeeChromosome.SPEED); + new ControlChromoPicker(this, 19.0f, 20.0f, EnumBeeChromosome.LIFESPAN); + new ControlChromoPicker(this, 55.0f, 65.0f, EnumBeeChromosome.FERTILITY); + new ControlChromoPicker(this, 28.0f, 1.0f, EnumBeeChromosome.TEMPERATURE_TOLERANCE); + new ControlChromoPicker(this, 61.0f, 37.0f, EnumBeeChromosome.NOCTURNAL); + new ControlChromoPicker(this, 81.0f, 76.0f, EnumBeeChromosome.HUMIDITY_TOLERANCE); + new ControlChromoPicker(this, 44.0f, 21.0f, EnumBeeChromosome.TOLERANT_FLYER); + new ControlChromoPicker(this, 3.0f, 37.0f, EnumBeeChromosome.CAVE_DWELLING); + new ControlChromoPicker(this, 4.0f, 65.0f, EnumBeeChromosome.FLOWER_PROVIDER); + new ControlChromoPicker(this, 83.0f, 27.0f, EnumBeeChromosome.FLOWERING); + new ControlChromoPicker(this, 71.0f, 10.0f, EnumBeeChromosome.TERRITORY); + new ControlChromoPicker(this, 84.0f, 54.0f, EnumBeeChromosome.EFFECT); + } else if (root == Binnie.Genetics.getTreeRoot()) { + new ControlChromoPicker(this, 48.0f, 48.0f, EnumTreeChromosome.SPECIES); + new ControlChromoPicker(this, 43.0f, 12.0f, EnumTreeChromosome.GROWTH); + new ControlChromoPicker(this, 43.0f, 84.0f, EnumTreeChromosome.HEIGHT); + new ControlChromoPicker(this, 25.0f, 63.0f, EnumTreeChromosome.FERTILITY); + new ControlChromoPicker(this, 72.0f, 57.0f, EnumTreeChromosome.FRUITS); + new ControlChromoPicker(this, 21.0f, 43.0f, EnumTreeChromosome.YIELD); + new ControlChromoPicker(this, 38.0f, 32.0f, EnumTreeChromosome.PLANT); + new ControlChromoPicker(this, 15.0f, 17.0f, EnumTreeChromosome.SAPPINESS); + new ControlChromoPicker(this, 75.0f, 78.0f, EnumTreeChromosome.TERRITORY); + new ControlChromoPicker(this, 67.0f, 15.0f, EnumTreeChromosome.EFFECT); + new ControlChromoPicker(this, 70.0f, 34.0f, EnumTreeChromosome.MATURATION); + new ControlChromoPicker(this, 45.0f, 67.0f, EnumTreeChromosome.GIRTH); + new ControlChromoPicker(this, 5.0f, 70.0f, EnumTreeChromosome.FIREPROOF); + } else if (root == Binnie.Genetics.getFlowerRoot()) { + new ControlChromoPicker(this, 35.0f, 81.0f, EnumFlowerChromosome.SPECIES); + new ControlChromoPicker(this, 36.0f, 28.0f, EnumFlowerChromosome.PRIMARY); + new ControlChromoPicker(this, 27.0f, 13.0f, EnumFlowerChromosome.SECONDARY); + new ControlChromoPicker(this, 47.0f, 15.0f, EnumFlowerChromosome.FERTILITY); + new ControlChromoPicker(this, 54.0f, 31.0f, EnumFlowerChromosome.TERRITORY); + new ControlChromoPicker(this, 15.0f, 55.0f, EnumFlowerChromosome.EFFECT); + new ControlChromoPicker(this, 23.0f, 38.0f, EnumFlowerChromosome.LIFESPAN); + new ControlChromoPicker(this, 17.0f, 77.0f, EnumFlowerChromosome.TEMPERATURE_TOLERANCE); + new ControlChromoPicker(this, 52.0f, 51.0f, EnumFlowerChromosome.HUMIDITY_TOLERANCE); + new ControlChromoPicker(this, 54.0f, 80.0f, EnumFlowerChromosome.PH_TOLERANCE); + new ControlChromoPicker(this, 41.0f, 42.0f, EnumFlowerChromosome.SAPPINESS); + new ControlChromoPicker(this, 37.0f, 63.0f, EnumFlowerChromosome.STEM); + } else if (root == Binnie.Genetics.getButterflyRoot()) { + new ControlChromoPicker(this, 40.0f, 40.0f, EnumButterflyChromosome.SPECIES); + new ControlChromoPicker(this, 63.0f, 32.0f, EnumButterflyChromosome.SIZE); + new ControlChromoPicker(this, 32.0f, 63.0f, EnumButterflyChromosome.SPEED); + new ControlChromoPicker(this, 11.0f, 27.0f, EnumButterflyChromosome.LIFESPAN); + new ControlChromoPicker(this, 16.0f, 12.0f, EnumButterflyChromosome.METABOLISM); + new ControlChromoPicker(this, 17.0f, 63.0f, EnumButterflyChromosome.FERTILITY); + new ControlChromoPicker(this, 34.0f, 12.0f, EnumButterflyChromosome.TEMPERATURE_TOLERANCE); + new ControlChromoPicker(this, 22.0f, 46.0f, EnumButterflyChromosome.HUMIDITY_TOLERANCE); + new ControlChromoPicker(this, 53.0f, 26.0f, EnumButterflyChromosome.NOCTURNAL); + new ControlChromoPicker(this, 71.0f, 53.0f, EnumButterflyChromosome.TOLERANT_FLYER); + new ControlChromoPicker(this, 78.0f, 12.0f, EnumButterflyChromosome.FIRE_RESIST); + new ControlChromoPicker(this, 55.0f, 55.0f, EnumButterflyChromosome.FLOWER_PROVIDER); + new ControlChromoPicker(this, 27.0f, 31.0f, EnumButterflyChromosome.EFFECT); + new ControlChromoPicker(this, 87.0f, 45.0f, EnumButterflyChromosome.TERRITORY); + } + } + } - @Override - public IChromosomeType getValue() { - return chromo; - } + @Override + public IChromosomeType getValue() { + return chromo; + } - @Override - public void setValue(IChromosomeType value) { - chromo = value; - } + @Override + public void setValue(IChromosomeType value) { + chromo = value; + } - @Override - public void onRenderBackground() { - if (species == null) { - return; - } - super.onRenderBackground(); - Texture text = getTypeTexture(); - CraftGUI.render.texture(text, IPoint.ZERO); - } + @Override + public void onRenderBackground() { + if (species == null) { + return; + } + super.onRenderBackground(); + Texture text = getTypeTexture(); + CraftGUI.render.texture(text, IPoint.ZERO); + } - private Texture getTypeTexture() { - if (species == Binnie.Genetics.getBeeRoot()) { - return BeeTexture; - } - if (species == Binnie.Genetics.getTreeRoot()) { - return TreeTexture; - } - if (species == Binnie.Genetics.getButterflyRoot()) { - return MothTexture; - } - if (species == Binnie.Genetics.getFlowerRoot()) { - return FlowerTexture; - } - return null; - } + private Texture getTypeTexture() { + if (species == Binnie.Genetics.getBeeRoot()) { + return BeeTexture; + } + if (species == Binnie.Genetics.getTreeRoot()) { + return TreeTexture; + } + if (species == Binnie.Genetics.getButterflyRoot()) { + return MothTexture; + } + if (species == Binnie.Genetics.getFlowerRoot()) { + return FlowerTexture; + } + return null; + } } diff --git a/src/main/java/binnie/genetics/gui/ControlGenesisOption.java b/src/main/java/binnie/genetics/gui/ControlGenesisOption.java index 0ed8751f..66636bb1 100644 --- a/src/main/java/binnie/genetics/gui/ControlGenesisOption.java +++ b/src/main/java/binnie/genetics/gui/ControlGenesisOption.java @@ -8,23 +8,25 @@ import binnie.core.craftgui.geometry.TextJustification; import binnie.core.genetics.Gene; public class ControlGenesisOption extends ControlOption { - public ControlGenesisOption(ControlList parent, Gene gene, int y) { - super(parent, gene, y); - } + public ControlGenesisOption(ControlList parent, Gene gene, int y) { + super(parent, gene, y); + } - String getAlleleName() { - return getValue().getAlleleName(); - } + String getAlleleName() { + return getValue().getAlleleName(); + } - String getChromosomeName() { - return getValue().getShortChromosomeName(); - } + String getChromosomeName() { + return getValue().getShortChromosomeName(); + } - @Override - public void onRenderBackground() { - super.onRenderBackground(); - CraftGUI.render.text(new IArea(0.0f, 0.0f, 70.0f, 22.0f), TextJustification.MIDDLE_CENTER, getChromosomeName(), getColor()); - CraftGUI.render.text(new IArea(75.0f, 0.0f, 80.0f, 22.0f), TextJustification.MIDDLE_CENTER, getAlleleName(), getColor()); - CraftGUI.render.solid(new IArea(70.0f, 2.0f, 1.0f, 16.0f), 0xff000000 + getColor()); - } + @Override + public void onRenderBackground() { + super.onRenderBackground(); + CraftGUI.render.text( + new IArea(0.0f, 0.0f, 70.0f, 22.0f), TextJustification.MIDDLE_CENTER, getChromosomeName(), getColor()); + CraftGUI.render.text( + new IArea(75.0f, 0.0f, 80.0f, 22.0f), TextJustification.MIDDLE_CENTER, getAlleleName(), getColor()); + CraftGUI.render.solid(new IArea(70.0f, 2.0f, 1.0f, 16.0f), 0xff000000 + getColor()); + } } diff --git a/src/main/java/binnie/genetics/gui/ControlIndividualDisplay.java b/src/main/java/binnie/genetics/gui/ControlIndividualDisplay.java index 8d3329b2..68dff52b 100644 --- a/src/main/java/binnie/genetics/gui/ControlIndividualDisplay.java +++ b/src/main/java/binnie/genetics/gui/ControlIndividualDisplay.java @@ -11,28 +11,28 @@ import forestry.api.genetics.IIndividual; import net.minecraft.item.ItemStack; public class ControlIndividualDisplay extends ControlItemDisplay implements ITooltip { - public ControlIndividualDisplay(IWidget parent, float x, float y, IIndividual ind) { - this(parent, x, y, 16.0f, ind); - } + public ControlIndividualDisplay(IWidget parent, float x, float y, IIndividual ind) { + this(parent, x, y, 16.0f, ind); + } - public ControlIndividualDisplay(IWidget parent, float x, float y, float size, IIndividual ind) { - super(parent, x, y, size); - BreedingSystem system = Binnie.Genetics.getSystem(ind.getGenome().getSpeciesRoot()); - setItemStack(system.getSpeciesRoot().getMemberStack(ind, system.getDefaultType())); - setTooltip(); - } + public ControlIndividualDisplay(IWidget parent, float x, float y, float size, IIndividual ind) { + super(parent, x, y, size); + BreedingSystem system = Binnie.Genetics.getSystem(ind.getGenome().getSpeciesRoot()); + setItemStack(system.getSpeciesRoot().getMemberStack(ind, system.getDefaultType())); + setTooltip(); + } - @Override - public void getTooltip(Tooltip tooltip) { - ItemStack stack = getItemStack(); - if (stack == null) { - return; - } + @Override + public void getTooltip(Tooltip tooltip) { + ItemStack stack = getItemStack(); + if (stack == null) { + return; + } - IIndividual ind = AlleleManager.alleleRegistry.getIndividual(stack); - if (ind == null) { - return; - } - tooltip.add(ind.getGenome().getPrimary().getName()); - } + IIndividual ind = AlleleManager.alleleRegistry.getIndividual(stack); + if (ind == null) { + return; + } + tooltip.add(ind.getGenome().getPrimary().getName()); + } } diff --git a/src/main/java/binnie/genetics/gui/ControlToleranceBar.java b/src/main/java/binnie/genetics/gui/ControlToleranceBar.java index 5073d3ae..52f8e507 100644 --- a/src/main/java/binnie/genetics/gui/ControlToleranceBar.java +++ b/src/main/java/binnie/genetics/gui/ControlToleranceBar.java @@ -11,65 +11,64 @@ import binnie.core.craftgui.geometry.IBorder; import binnie.core.genetics.Tolerance; import forestry.api.core.EnumTemperature; import forestry.api.genetics.EnumTolerance; +import java.util.EnumSet; import net.minecraft.util.EnumChatFormatting; -import java.util.EnumSet; - public abstract class ControlToleranceBar> extends Control implements ITooltip { - EnumSet tolerated; - EnumSet fullSet; - private Class enumClass; + EnumSet tolerated; + EnumSet fullSet; + private Class enumClass; - public ControlToleranceBar(IWidget parent, float x, float y, float width, float height, Class clss) { - super(parent, x, y, width, height); - addAttribute(WidgetAttribute.MOUSE_OVER); - enumClass = clss; - tolerated = EnumSet.noneOf(enumClass); - fullSet = EnumSet.allOf(enumClass); - if (enumClass == EnumTemperature.class) { - fullSet.remove(EnumTemperature.NONE); - } - } + public ControlToleranceBar(IWidget parent, float x, float y, float width, float height, Class clss) { + super(parent, x, y, width, height); + addAttribute(WidgetAttribute.MOUSE_OVER); + enumClass = clss; + tolerated = EnumSet.noneOf(enumClass); + fullSet = EnumSet.allOf(enumClass); + if (enumClass == EnumTemperature.class) { + fullSet.remove(EnumTemperature.NONE); + } + } - @Override - public void getTooltip(Tooltip tooltip) { - int types = fullSet.size(); - int type = (int) ((int) getRelativeMousePosition().x() / (getSize().x() / types)); - for (T tol : fullSet) { - if (tol.ordinal() - ((enumClass == EnumTemperature.class) ? 1 : 0) == type) { - tooltip.add((tolerated.contains(tol) ? "" : EnumChatFormatting.DARK_GRAY) + getName(tol)); - } - } - } + @Override + public void getTooltip(Tooltip tooltip) { + int types = fullSet.size(); + int type = (int) ((int) getRelativeMousePosition().x() / (getSize().x() / types)); + for (T tol : fullSet) { + if (tol.ordinal() - ((enumClass == EnumTemperature.class) ? 1 : 0) == type) { + tooltip.add((tolerated.contains(tol) ? "" : EnumChatFormatting.DARK_GRAY) + getName(tol)); + } + } + } - protected abstract String getName(T p0); + protected abstract String getName(T p0); - protected abstract int getColor(T p0); + protected abstract int getColor(T p0); - @Override - public void onRenderBackground() { - CraftGUI.render.gradientRect(getArea(), 0xaaaaaaaa, 0xaaaaaaaa); - float w = getArea().w() / fullSet.size(); - int t = 0; - for (T value : fullSet) { - int col = (tolerated.contains(value) ? 0xff000000 : 0x33000000) + getColor(value); - IBorder inset = new IBorder(tolerated.contains(value) ? 1.0f : 3.0f); - CraftGUI.render.gradientRect(new IArea(w * t, 0.0f, w, h()).inset(inset), col, col); - ++t; - } - } + @Override + public void onRenderBackground() { + CraftGUI.render.gradientRect(getArea(), 0xaaaaaaaa, 0xaaaaaaaa); + float w = getArea().w() / fullSet.size(); + int t = 0; + for (T value : fullSet) { + int col = (tolerated.contains(value) ? 0xff000000 : 0x33000000) + getColor(value); + IBorder inset = new IBorder(tolerated.contains(value) ? 1.0f : 3.0f); + CraftGUI.render.gradientRect(new IArea(w * t, 0.0f, w, h()).inset(inset), col, col); + ++t; + } + } - public void setValues(T value, EnumTolerance enumTol) { - tolerated.clear(); - Tolerance tol = Tolerance.get(enumTol); - for (T full : fullSet) { - if (full.ordinal() > value.ordinal() + tol.getBounds()[1]) { - continue; - } - if (full.ordinal() < value.ordinal() + tol.getBounds()[0]) { - continue; - } - tolerated.add(full); - } - } + public void setValues(T value, EnumTolerance enumTol) { + tolerated.clear(); + Tolerance tol = Tolerance.get(enumTol); + for (T full : fullSet) { + if (full.ordinal() > value.ordinal() + tol.getBounds()[1]) { + continue; + } + if (full.ordinal() < value.ordinal() + tol.getBounds()[0]) { + continue; + } + tolerated.add(full); + } + } } diff --git a/src/main/java/binnie/genetics/gui/ControlTooltip.java b/src/main/java/binnie/genetics/gui/ControlTooltip.java index c4fb7555..e10380b1 100644 --- a/src/main/java/binnie/genetics/gui/ControlTooltip.java +++ b/src/main/java/binnie/genetics/gui/ControlTooltip.java @@ -6,12 +6,12 @@ import binnie.core.craftgui.Tooltip; import binnie.core.craftgui.controls.core.Control; public class ControlTooltip extends Control implements ITooltip { - public ControlTooltip(IWidget parent, float x, float y, float w, float h) { - super(parent, x, y, w, h); - } + public ControlTooltip(IWidget parent, float x, float y, float w, float h) { + super(parent, x, y, w, h); + } - @Override - public void getTooltip(Tooltip tooltip) { - // ignored - } + @Override + public void getTooltip(Tooltip tooltip) { + // ignored + } } diff --git a/src/main/java/binnie/genetics/gui/WindowAnalyst.java b/src/main/java/binnie/genetics/gui/WindowAnalyst.java index 8a9a38bc..3f19d276 100644 --- a/src/main/java/binnie/genetics/gui/WindowAnalyst.java +++ b/src/main/java/binnie/genetics/gui/WindowAnalyst.java @@ -39,458 +39,498 @@ import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IBreedingTracker; import forestry.api.genetics.IIndividual; import forestry.api.lepidopterology.IButterfly; +import java.util.ArrayList; +import java.util.List; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; -import java.util.ArrayList; -import java.util.List; - public class WindowAnalyst extends Window { - protected IWidget baseWidget; - protected ControlScrollableContent leftPage; - protected ControlScrollableContent rightPage; - protected Control tabBar; - protected Panel analystPanel; - protected List analystPages; - protected IArea analystPageSize; - protected boolean isDatabase; - protected boolean isMaster; - protected boolean lockedSearch; - protected IIndividual current; - protected BreedingSystem currentSystem; + protected IWidget baseWidget; + protected ControlScrollableContent leftPage; + protected ControlScrollableContent rightPage; + protected Control tabBar; + protected Panel analystPanel; + protected List analystPages; + protected IArea analystPageSize; + protected boolean isDatabase; + protected boolean isMaster; + protected boolean lockedSearch; + protected IIndividual current; + protected BreedingSystem currentSystem; - private Control analystNone; - private ControlSlide slideUpInv; + private Control analystNone; + private ControlSlide slideUpInv; - public WindowAnalyst(EntityPlayer player, IInventory inventory, Side side, boolean database, boolean master) { - super(312.0f, 230.0f, player, inventory, side); - baseWidget = null; - tabBar = null; - analystPages = new ArrayList<>(); - analystPageSize = null; - isDatabase = false; - isMaster = false; - lockedSearch = false; - current = null; - currentSystem = null; - isDatabase = database; - isMaster = master; - lockedSearch = isDatabase; - } + public WindowAnalyst(EntityPlayer player, IInventory inventory, Side side, boolean database, boolean master) { + super(312.0f, 230.0f, player, inventory, side); + baseWidget = null; + tabBar = null; + analystPages = new ArrayList<>(); + analystPageSize = null; + isDatabase = false; + isMaster = false; + lockedSearch = false; + current = null; + currentSystem = null; + isDatabase = database; + isMaster = master; + lockedSearch = isDatabase; + } - @Override - protected AbstractMod getMod() { - return Genetics.instance; - } + @Override + protected AbstractMod getMod() { + return Genetics.instance; + } - @Override - protected String getName() { - return "Analyst"; - } + @Override + protected String getName() { + return "Analyst"; + } - private void setupValidators() { - if (!isDatabase) { - getWindowInventory().setValidator(0, new SlotValidator.Individual() { - @Override - public boolean isValid(ItemStack itemStack) { - return Analyser.isAnalysed(itemStack) || (Analyser.isAnalysable(itemStack) && getWindowInventory().getStackInSlot(1) != null); - } - }); - getWindowInventory().setValidator(1, new SlotValidator.Item(GeneticsItems.DNADye.get(1), ModuleMachine.IconDye)); - } - } + private void setupValidators() { + if (!isDatabase) { + getWindowInventory().setValidator(0, new SlotValidator.Individual() { + @Override + public boolean isValid(ItemStack itemStack) { + return Analyser.isAnalysed(itemStack) + || (Analyser.isAnalysable(itemStack) + && getWindowInventory().getStackInSlot(1) != null); + } + }); + getWindowInventory() + .setValidator(1, new SlotValidator.Item(GeneticsItems.DNADye.get(1), ModuleMachine.IconDye)); + } + } - @Override - public void initialiseServer() { - for (BreedingSystem system : Binnie.Genetics.getActiveSystems()) { - IBreedingTracker tracker = system.getSpeciesRoot().getBreedingTracker(getWorld(), getUsername()); - if (tracker != null) { - tracker.synchToPlayer(getPlayer()); - } - } - setupValidators(); - } + @Override + public void initialiseServer() { + for (BreedingSystem system : Binnie.Genetics.getActiveSystems()) { + IBreedingTracker tracker = system.getSpeciesRoot().getBreedingTracker(getWorld(), getUsername()); + if (tracker != null) { + tracker.synchToPlayer(getPlayer()); + } + } + setupValidators(); + } - @Override - public void initialiseClient() { - if (isDatabase) { - if (isMaster) { - setTitle(I18N.localise("genetics.item.registry.1.name")); - } else { - setTitle(I18N.localise("genetics.item.registry.0.name")); - } - } else { - setTitle(I18N.localise("genetics.item.analyst.name")); - } + @Override + public void initialiseClient() { + if (isDatabase) { + if (isMaster) { + setTitle(I18N.localise("genetics.item.registry.1.name")); + } else { + setTitle(I18N.localise("genetics.item.registry.0.name")); + } + } else { + setTitle(I18N.localise("genetics.item.analyst.name")); + } - getWindowInventory().createSlot(0); - baseWidget = new Widget(this); - int x = 16; - int y = 28; + getWindowInventory().createSlot(0); + baseWidget = new Widget(this); + int x = 16; + int y = 28; - if (isDatabase) { - for (BreedingSystem syst : Binnie.Genetics.getActiveSystems()) { - new Control(this, x, y, 20.0f, 20.0f) { - @Override - public void initialise() { - addAttribute(WidgetAttribute.MOUSE_OVER); - addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - setSystem(syst); - } - }); - } + if (isDatabase) { + for (BreedingSystem syst : Binnie.Genetics.getActiveSystems()) { + new Control(this, x, y, 20.0f, 20.0f) { + @Override + public void initialise() { + addAttribute(WidgetAttribute.MOUSE_OVER); + addSelfEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + setSystem(syst); + } + }); + } - @Override - public void getTooltip(Tooltip tooltip) { - tooltip.add(syst.getName()); - } + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.add(syst.getName()); + } - @Override - public void onRenderBackground() { - CraftGUI.render.color(syst.getColor()); - int outset = (getSystem() == syst) ? 1 : 0; - CraftGUI.render.texture(CraftGUITexture.TabOutline, getArea().outset(outset)); - if (getSystem() == syst) { - CraftGUI.render.color(1140850688 + syst.getColor()); - CraftGUI.render.texture(CraftGUITexture.TabSolid, getArea().outset(outset)); - } - CraftGUI.render.item(new IPoint(2.0f, 2.0f), syst.getItemStackRepresentative()); - } - }; - x += 22; - } - } else { - new ControlSlot(this, x, y + 1).assign(InventoryType.Window, 0); - x += 22; - new ControlSlot(this, x, y + 1).assign(InventoryType.Window, 1); - x += 26; - setupValidators(); - } - tabBar = new Control(this, x, 28.0f, w() - 16.0f - x, 20.0f); - analystPanel = new Panel(this, 16.0f, 54.0f, 280.0f, 164.0f, MinecraftGUI.PanelType.Outline) { - @Override - public void onRenderBackground() { - CraftGUI.render.gradientRect(getArea(), 0x44ffffff, 0x66ffffff); - super.onRenderBackground(); - } + @Override + public void onRenderBackground() { + CraftGUI.render.color(syst.getColor()); + int outset = (getSystem() == syst) ? 1 : 0; + CraftGUI.render.texture( + CraftGUITexture.TabOutline, getArea().outset(outset)); + if (getSystem() == syst) { + CraftGUI.render.color(1140850688 + syst.getColor()); + CraftGUI.render.texture( + CraftGUITexture.TabSolid, getArea().outset(outset)); + } + CraftGUI.render.item(new IPoint(2.0f, 2.0f), syst.getItemStackRepresentative()); + } + }; + x += 22; + } + } else { + new ControlSlot(this, x, y + 1).assign(InventoryType.Window, 0); + x += 22; + new ControlSlot(this, x, y + 1).assign(InventoryType.Window, 1); + x += 26; + setupValidators(); + } + tabBar = new Control(this, x, 28.0f, w() - 16.0f - x, 20.0f); + analystPanel = new Panel(this, 16.0f, 54.0f, 280.0f, 164.0f, MinecraftGUI.PanelType.Outline) { + @Override + public void onRenderBackground() { + CraftGUI.render.gradientRect(getArea(), 0x44ffffff, 0x66ffffff); + super.onRenderBackground(); + } - @Override - public void initialise() { - setColor(0x444444); - float sectionWidth = (w() - 8.0f - 4.0f) / 2.0f; - leftPage = new ControlScrollableContent(this, 3.0f, 3.0f, sectionWidth + 2.0f, h() - 8.0f + 2.0f, 0.0f) { - @Override - public void onRenderBackground() { - if (getContent() == null) { - return; - } - CraftGUI.render.color(getContent().getColor()); - CraftGUI.render.texture(CraftGUITexture.TabOutline, getArea()); - } - }; - new ControlScrollBar(this, sectionWidth + 2.0f - 3.0f, 6.0f, 3.0f, h() - 8.0f + 2.0f - 6.0f, leftPage) { - @Override - public void onRenderBackground() { - if (!isEnabled()) { - return; - } - if (leftPage.getContent() == null) { - return; - } - CraftGUI.render.gradientRect(getArea(), 1140850688 + leftPage.getContent().getColor(), 0x44000000 + leftPage.getContent().getColor()); - CraftGUI.render.solid(getRenderArea(), leftPage.getContent().getColor()); - } - }; - rightPage = new ControlScrollableContent(this, 3.0f + sectionWidth + 4.0f, 3.0f, sectionWidth + 2.0f, h() - 8.0f + 2.0f, 0.0f) { - @Override - public void onRenderBackground() { - if (getContent() == null) { - return; - } - CraftGUI.render.color(getContent().getColor()); - CraftGUI.render.texture(CraftGUITexture.TabOutline, getArea()); - } - }; - new ControlScrollBar(this, sectionWidth + 2.0f - 3.0f + sectionWidth + 4.0f, 6.0f, 3.0f, h() - 8.0f + 2.0f - 6.0f, rightPage) { - @Override - public void onRenderBackground() { - if (!isEnabled()) { - return; - } - if (rightPage.getContent() == null) { - return; - } - CraftGUI.render.gradientRect(getArea(), 1140850688 + rightPage.getContent().getColor(), 0x44000000 + rightPage.getContent().getColor()); - CraftGUI.render.solid(getRenderArea(), rightPage.getContent().getColor()); - } - }; - analystPageSize = new IArea(1.0f, 1.0f, sectionWidth, h() - 8.0f); - } - }; + @Override + public void initialise() { + setColor(0x444444); + float sectionWidth = (w() - 8.0f - 4.0f) / 2.0f; + leftPage = + new ControlScrollableContent( + this, 3.0f, 3.0f, sectionWidth + 2.0f, h() - 8.0f + 2.0f, 0.0f) { + @Override + public void onRenderBackground() { + if (getContent() == null) { + return; + } + CraftGUI.render.color(getContent().getColor()); + CraftGUI.render.texture(CraftGUITexture.TabOutline, getArea()); + } + }; + new ControlScrollBar(this, sectionWidth + 2.0f - 3.0f, 6.0f, 3.0f, h() - 8.0f + 2.0f - 6.0f, leftPage) { + @Override + public void onRenderBackground() { + if (!isEnabled()) { + return; + } + if (leftPage.getContent() == null) { + return; + } + CraftGUI.render.gradientRect( + getArea(), + 1140850688 + leftPage.getContent().getColor(), + 0x44000000 + leftPage.getContent().getColor()); + CraftGUI.render.solid( + getRenderArea(), leftPage.getContent().getColor()); + } + }; + rightPage = + new ControlScrollableContent( + this, 3.0f + sectionWidth + 4.0f, 3.0f, sectionWidth + 2.0f, h() - 8.0f + 2.0f, 0.0f) { + @Override + public void onRenderBackground() { + if (getContent() == null) { + return; + } + CraftGUI.render.color(getContent().getColor()); + CraftGUI.render.texture(CraftGUITexture.TabOutline, getArea()); + } + }; + new ControlScrollBar( + this, + sectionWidth + 2.0f - 3.0f + sectionWidth + 4.0f, + 6.0f, + 3.0f, + h() - 8.0f + 2.0f - 6.0f, + rightPage) { + @Override + public void onRenderBackground() { + if (!isEnabled()) { + return; + } + if (rightPage.getContent() == null) { + return; + } + CraftGUI.render.gradientRect( + getArea(), + 1140850688 + rightPage.getContent().getColor(), + 0x44000000 + rightPage.getContent().getColor()); + CraftGUI.render.solid( + getRenderArea(), rightPage.getContent().getColor()); + } + }; + analystPageSize = new IArea(1.0f, 1.0f, sectionWidth, h() - 8.0f); + } + }; - if (!isDatabase) { - slideUpInv = new ControlSlide(this, (getSize().x() - 244.0f) / 2.0f, getSize().y() - 80.0f + 1.0f, 244.0f, 80.0f, Position.BOTTOM); - new ControlPlayerInventory(slideUpInv, true); - slideUpInv.setSlide(false); - } - addEventHandler(new EventKey.Down.Handler() { - @Override - public void onEvent(EventKey.Down event) { - if (event.getKey() == 205) { - shiftPages(true); - } - if (event.getKey() == 203) { - shiftPages(false); - } - } - }); + if (!isDatabase) { + slideUpInv = new ControlSlide( + this, + (getSize().x() - 244.0f) / 2.0f, + getSize().y() - 80.0f + 1.0f, + 244.0f, + 80.0f, + Position.BOTTOM); + new ControlPlayerInventory(slideUpInv, true); + slideUpInv.setSlide(false); + } + addEventHandler(new EventKey.Down.Handler() { + @Override + public void onEvent(EventKey.Down event) { + if (event.getKey() == 205) { + shiftPages(true); + } + if (event.getKey() == 203) { + shiftPages(false); + } + } + }); - if (!isDatabase) { - analystNone = new Control(analystPanel, 0.0f, 0.0f, analystPanel.w(), analystPanel.h()) { - @Override - public void initialise() { - new ControlTextCentered(this, 20.0f, I18N.localise("genetics.gui.analyst.info")).setColor(0x444444); - new ControlPlayerInventory(this); - } - }; - } - setIndividual(null); - setSystem(Binnie.Genetics.beeBreedingSystem); - } + if (!isDatabase) { + analystNone = new Control(analystPanel, 0.0f, 0.0f, analystPanel.w(), analystPanel.h()) { + @Override + public void initialise() { + new ControlTextCentered(this, 20.0f, I18N.localise("genetics.gui.analyst.info")).setColor(0x444444); + new ControlPlayerInventory(this); + } + }; + } + setIndividual(null); + setSystem(Binnie.Genetics.beeBreedingSystem); + } - public void updatePages(boolean systemChange) { - int oldLeft = -1; - int oldRight = -1; - if (!systemChange) { - oldLeft = analystPages.indexOf(leftPage.getContent()); - oldRight = analystPages.indexOf(rightPage.getContent()); - } + public void updatePages(boolean systemChange) { + int oldLeft = -1; + int oldRight = -1; + if (!systemChange) { + oldLeft = analystPages.indexOf(leftPage.getContent()); + oldRight = analystPages.indexOf(rightPage.getContent()); + } - ControlAnalystPage databasePage = null; - if (isDatabase && !systemChange) { - databasePage = ((analystPages.size() > 0) ? analystPages.get(0) : null); - } + ControlAnalystPage databasePage = null; + if (isDatabase && !systemChange) { + databasePage = ((analystPages.size() > 0) ? analystPages.get(0) : null); + } - analystPages.clear(); - setPage(leftPage, null); - setPage(rightPage, null); - if (isDatabase) { - analystPages.add((databasePage != null) ? databasePage : new AnalystPageDatabase(analystPanel, analystPageSize, currentSystem, isMaster)); - } + analystPages.clear(); + setPage(leftPage, null); + setPage(rightPage, null); + if (isDatabase) { + analystPages.add( + (databasePage != null) + ? databasePage + : new AnalystPageDatabase(analystPanel, analystPageSize, currentSystem, isMaster)); + } - if (current != null) { - analystPages.add(new AnalystPageDescription(analystPanel, analystPageSize, current)); - analystPages.add(new AnalystPageGenome(analystPanel, analystPageSize, true, current)); - if (!isDatabase) { - analystPages.add(new AnalystPageGenome(analystPanel, analystPageSize, false, current)); - analystPages.add(new AnalystPageKaryogram(analystPanel, analystPageSize, current)); - } + if (current != null) { + analystPages.add(new AnalystPageDescription(analystPanel, analystPageSize, current)); + analystPages.add(new AnalystPageGenome(analystPanel, analystPageSize, true, current)); + if (!isDatabase) { + analystPages.add(new AnalystPageGenome(analystPanel, analystPageSize, false, current)); + analystPages.add(new AnalystPageKaryogram(analystPanel, analystPageSize, current)); + } - if (!(current instanceof ITree)) { - analystPages.add(new AnalystPageClimate(analystPanel, analystPageSize, current)); - } + if (!(current instanceof ITree)) { + analystPages.add(new AnalystPageClimate(analystPanel, analystPageSize, current)); + } - if (current instanceof IBee) { - analystPages.add(new AnalystPageProducts(analystPanel, analystPageSize, (IBee) current)); - } else if (current instanceof ITree) { - analystPages.add(new AnalystPageFruit(analystPanel, analystPageSize, (ITree) current)); - analystPages.add(new AnalystPageWood(analystPanel, analystPageSize, (ITree) current)); - } else if (current instanceof IFlower) { - analystPages.add(new AnalystPageSoil(analystPanel, analystPageSize, (IFlower) current)); - } else if (current instanceof IButterfly) { - analystPages.add(new AnalystPageSpecimen(analystPanel, analystPageSize, (IButterfly) current)); - } + if (current instanceof IBee) { + analystPages.add(new AnalystPageProducts(analystPanel, analystPageSize, (IBee) current)); + } else if (current instanceof ITree) { + analystPages.add(new AnalystPageFruit(analystPanel, analystPageSize, (ITree) current)); + analystPages.add(new AnalystPageWood(analystPanel, analystPageSize, (ITree) current)); + } else if (current instanceof IFlower) { + analystPages.add(new AnalystPageSoil(analystPanel, analystPageSize, (IFlower) current)); + } else if (current instanceof IButterfly) { + analystPages.add(new AnalystPageSpecimen(analystPanel, analystPageSize, (IButterfly) current)); + } - analystPages.add(new AnalystPageBiology(analystPanel, analystPageSize, current)); - if (current instanceof IBee || current instanceof IButterfly) { - analystPages.add(new AnalystPageBehaviour(analystPanel, analystPageSize, current)); - } else if (current instanceof ITree) { - analystPages.add(new AnalystPageGrowth(analystPanel, analystPageSize, current)); - } else if (current instanceof IFlower) { - analystPages.add(new AnalystPageAppearance(analystPanel, analystPageSize, (IFlower) current)); - } - analystPages.add(new AnalystPageMutations(analystPanel, analystPageSize, current, isMaster)); - } + analystPages.add(new AnalystPageBiology(analystPanel, analystPageSize, current)); + if (current instanceof IBee || current instanceof IButterfly) { + analystPages.add(new AnalystPageBehaviour(analystPanel, analystPageSize, current)); + } else if (current instanceof ITree) { + analystPages.add(new AnalystPageGrowth(analystPanel, analystPageSize, current)); + } else if (current instanceof IFlower) { + analystPages.add(new AnalystPageAppearance(analystPanel, analystPageSize, (IFlower) current)); + } + analystPages.add(new AnalystPageMutations(analystPanel, analystPageSize, current, isMaster)); + } - tabBar.deleteAllChildren(); - float width = tabBar.w() / analystPages.size(); - float x = 0.0f; + tabBar.deleteAllChildren(); + float width = tabBar.w() / analystPages.size(); + float x = 0.0f; - for (ControlAnalystPage page : analystPages) { - new ControlTooltip(tabBar, x, 0.0f, width, tabBar.h()) { - ControlAnalystPage value; + for (ControlAnalystPage page : analystPages) { + new ControlTooltip(tabBar, x, 0.0f, width, tabBar.h()) { + ControlAnalystPage value; - @Override - public void getTooltip(Tooltip tooltip) { - tooltip.add(value.getTitle()); - } + @Override + public void getTooltip(Tooltip tooltip) { + tooltip.add(value.getTitle()); + } - @Override - protected void initialise() { - super.initialise(); - addAttribute(WidgetAttribute.MOUSE_OVER); - value = page; - addSelfEventHandler(new EventMouse.Down.Handler() { - @Override - public void onEvent(EventMouse.Down event) { - int currentIndex = analystPages.indexOf(rightPage.getContent()); - int clickedIndex = analystPages.indexOf(value); - if (isDatabase) { - if (clickedIndex != 0 && clickedIndex != currentIndex) { - setPage(rightPage, value); - } - } else { - if (clickedIndex < 0) { - clickedIndex = 0; - } - if (clickedIndex < currentIndex) { - ++clickedIndex; - } - setPage(rightPage, null); - setPage(leftPage, null); - setPage(rightPage, analystPages.get(clickedIndex)); - setPage(leftPage, analystPages.get(clickedIndex - 1)); - } - } - }); - } + @Override + protected void initialise() { + super.initialise(); + addAttribute(WidgetAttribute.MOUSE_OVER); + value = page; + addSelfEventHandler(new EventMouse.Down.Handler() { + @Override + public void onEvent(EventMouse.Down event) { + int currentIndex = analystPages.indexOf(rightPage.getContent()); + int clickedIndex = analystPages.indexOf(value); + if (isDatabase) { + if (clickedIndex != 0 && clickedIndex != currentIndex) { + setPage(rightPage, value); + } + } else { + if (clickedIndex < 0) { + clickedIndex = 0; + } + if (clickedIndex < currentIndex) { + ++clickedIndex; + } + setPage(rightPage, null); + setPage(leftPage, null); + setPage(rightPage, analystPages.get(clickedIndex)); + setPage(leftPage, analystPages.get(clickedIndex - 1)); + } + } + }); + } - @Override - public void onRenderBackground() { - boolean active = value == leftPage.getContent() || value == rightPage.getContent(); - CraftGUI.render.color((active ? 0xff000000 : 0x44000000) + value.getColor()); - CraftGUI.render.texture(CraftGUITexture.TabSolid, getArea().inset(1)); - CraftGUI.render.color(value.getColor()); - CraftGUI.render.texture(CraftGUITexture.TabOutline, getArea().inset(1)); - super.onRenderBackground(); - } - }; - x += width; - } + @Override + public void onRenderBackground() { + boolean active = value == leftPage.getContent() || value == rightPage.getContent(); + CraftGUI.render.color((active ? 0xff000000 : 0x44000000) + value.getColor()); + CraftGUI.render.texture(CraftGUITexture.TabSolid, getArea().inset(1)); + CraftGUI.render.color(value.getColor()); + CraftGUI.render.texture( + CraftGUITexture.TabOutline, getArea().inset(1)); + super.onRenderBackground(); + } + }; + x += width; + } - if (analystPages.size() > 0) { - setPage(leftPage, analystPages.get((oldLeft >= 0) ? oldLeft : 0)); - } - if (analystPages.size() > 1) { - setPage(rightPage, analystPages.get((oldRight >= 0) ? oldRight : 1)); - } - } + if (analystPages.size() > 0) { + setPage(leftPage, analystPages.get((oldLeft >= 0) ? oldLeft : 0)); + } + if (analystPages.size() > 1) { + setPage(rightPage, analystPages.get((oldRight >= 0) ? oldRight : 1)); + } + } - public void shiftPages(boolean right) { - if (analystPages.size() < 2) { - return; - } - int leftIndex = analystPages.indexOf(leftPage.getContent()); - int rightIndex = analystPages.indexOf(rightPage.getContent()); - if (right && rightIndex + 1 >= analystPages.size()) { - return; - } - if (!lockedSearch && !right && leftIndex <= 0) { - return; - } - if (!lockedSearch && !right && rightIndex <= 1) { - return; - } - int newRightIndex = rightIndex + (right ? 1 : -1); - int newLeftIndex = lockedSearch ? 0 : (newRightIndex - 1); - float oldRightPercent = 0.0f; - float oldLeftPercent = 0.0f; - if (newLeftIndex == rightIndex) { - oldRightPercent = rightPage.getPercentageIndex(); - } - if (newRightIndex == leftIndex) { - oldLeftPercent = leftPage.getPercentageIndex(); - } - setPage(leftPage, null); - setPage(rightPage, null); - setPage(leftPage, analystPages.get(newLeftIndex)); - setPage(rightPage, analystPages.get(newRightIndex)); - analystPages.get(newLeftIndex).show(); - if (oldRightPercent != 0.0f) { - leftPage.setPercentageIndex(oldRightPercent); - } - if (oldLeftPercent != 0.0f) { - rightPage.setPercentageIndex(oldLeftPercent); - } - } + public void shiftPages(boolean right) { + if (analystPages.size() < 2) { + return; + } + int leftIndex = analystPages.indexOf(leftPage.getContent()); + int rightIndex = analystPages.indexOf(rightPage.getContent()); + if (right && rightIndex + 1 >= analystPages.size()) { + return; + } + if (!lockedSearch && !right && leftIndex <= 0) { + return; + } + if (!lockedSearch && !right && rightIndex <= 1) { + return; + } + int newRightIndex = rightIndex + (right ? 1 : -1); + int newLeftIndex = lockedSearch ? 0 : (newRightIndex - 1); + float oldRightPercent = 0.0f; + float oldLeftPercent = 0.0f; + if (newLeftIndex == rightIndex) { + oldRightPercent = rightPage.getPercentageIndex(); + } + if (newRightIndex == leftIndex) { + oldLeftPercent = leftPage.getPercentageIndex(); + } + setPage(leftPage, null); + setPage(rightPage, null); + setPage(leftPage, analystPages.get(newLeftIndex)); + setPage(rightPage, analystPages.get(newRightIndex)); + analystPages.get(newLeftIndex).show(); + if (oldRightPercent != 0.0f) { + leftPage.setPercentageIndex(oldRightPercent); + } + if (oldLeftPercent != 0.0f) { + rightPage.setPercentageIndex(oldLeftPercent); + } + } - public void setPage(ControlScrollableContent side, ControlAnalystPage page) { - ControlAnalystPage existingPage = (ControlAnalystPage) side.getContent(); - if (existingPage != null) { - existingPage.hide(); - side.setScrollableContent(null); - } - if (page != null) { - page.show(); - side.setScrollableContent(page); - side.setPercentageIndex(0.0f); - page.setPosition(side.pos().add(1.0f, 1.0f)); - } - } + public void setPage(ControlScrollableContent side, ControlAnalystPage page) { + ControlAnalystPage existingPage = (ControlAnalystPage) side.getContent(); + if (existingPage != null) { + existingPage.hide(); + side.setScrollableContent(null); + } + if (page != null) { + page.show(); + side.setScrollableContent(page); + side.setPercentageIndex(0.0f); + page.setPosition(side.pos().add(1.0f, 1.0f)); + } + } - @Override - public void onWindowInventoryChanged() { - super.onWindowInventoryChanged(); - if (getWindowInventory().getStackInSlot(0) != null && !Analyser.isAnalysed(getWindowInventory().getStackInSlot(0))) { - getWindowInventory().setInventorySlotContents(0, Analyser.analyse(getWindowInventory().getStackInSlot(0))); - getWindowInventory().decrStackSize(1, 1); - } + @Override + public void onWindowInventoryChanged() { + super.onWindowInventoryChanged(); + if (getWindowInventory().getStackInSlot(0) != null + && !Analyser.isAnalysed(getWindowInventory().getStackInSlot(0))) { + getWindowInventory() + .setInventorySlotContents( + 0, Analyser.analyse(getWindowInventory().getStackInSlot(0))); + getWindowInventory().decrStackSize(1, 1); + } - IIndividual ind = AlleleManager.alleleRegistry.getIndividual(getWindowInventory().getStackInSlot(0)); - if (ind != null) { - ind.getGenome().getSpeciesRoot().getBreedingTracker(getWorld(), getUsername()).registerBirth(ind); - } + IIndividual ind = + AlleleManager.alleleRegistry.getIndividual(getWindowInventory().getStackInSlot(0)); + if (ind != null) { + ind.getGenome() + .getSpeciesRoot() + .getBreedingTracker(getWorld(), getUsername()) + .registerBirth(ind); + } - if (isClient()) { - setStack(getWindowInventory().getStackInSlot(0)); - } - } + if (isClient()) { + setStack(getWindowInventory().getStackInSlot(0)); + } + } - public void setStack(ItemStack stack) { - IIndividual ind = AlleleManager.alleleRegistry.getIndividual(stack); - setIndividual(ind); - } + public void setStack(ItemStack stack) { + IIndividual ind = AlleleManager.alleleRegistry.getIndividual(stack); + setIndividual(ind); + } - public IIndividual getIndividual() { - return current; - } + public IIndividual getIndividual() { + return current; + } - public void setIndividual(IIndividual ind) { - if (!isDatabase) { - if (ind == null) { - analystNone.show(); - slideUpInv.hide(); - } else { - analystNone.hide(); - slideUpInv.show(); - } - } + public void setIndividual(IIndividual ind) { + if (!isDatabase) { + if (ind == null) { + analystNone.show(); + slideUpInv.hide(); + } else { + analystNone.hide(); + slideUpInv.show(); + } + } - if (ind == current || (ind != null && current != null && ind.isGeneticEqual(current))) { - return; - } + if (ind == current || (ind != null && current != null && ind.isGeneticEqual(current))) { + return; + } - boolean systemChange = (current = ind) != null && ind.getGenome().getSpeciesRoot() != getSystem().getSpeciesRoot(); - if (systemChange) { - currentSystem = Binnie.Genetics.getSystem(ind.getGenome().getSpeciesRoot()); - } - updatePages(systemChange); - } + boolean systemChange = (current = ind) != null + && ind.getGenome().getSpeciesRoot() != getSystem().getSpeciesRoot(); + if (systemChange) { + currentSystem = Binnie.Genetics.getSystem(ind.getGenome().getSpeciesRoot()); + } + updatePages(systemChange); + } - public BreedingSystem getSystem() { - return currentSystem; - } + public BreedingSystem getSystem() { + return currentSystem; + } - public void setSystem(BreedingSystem system) { - if (system == currentSystem) { - return; - } + public void setSystem(BreedingSystem system) { + if (system == currentSystem) { + return; + } - currentSystem = system; - current = null; - updatePages(true); - } + currentSystem = system; + current = null; + updatePages(true); + } } diff --git a/src/main/java/binnie/genetics/item/GeneticLiquid.java b/src/main/java/binnie/genetics/item/GeneticLiquid.java index f666a4d8..3d398172 100644 --- a/src/main/java/binnie/genetics/item/GeneticLiquid.java +++ b/src/main/java/binnie/genetics/item/GeneticLiquid.java @@ -10,78 +10,77 @@ import net.minecraft.util.IIcon; import net.minecraftforge.fluids.FluidStack; public enum GeneticLiquid implements IFluidType { - GrowthMedium("growthMedium", 0xebe8b5), - Bacteria("bacteria", 0xd8ba81), - BacteriaPoly("bacteriaPoly", 0xae9cc4), - RawDNA("dna.raw", 0xe63de9), - BacteriaVector("bacteriaVector", 0xf38b7e); + GrowthMedium("growthMedium", 0xebe8b5), + Bacteria("bacteria", 0xd8ba81), + BacteriaPoly("bacteriaPoly", 0xae9cc4), + RawDNA("dna.raw", 0xe63de9), + BacteriaVector("bacteriaVector", 0xf38b7e); - protected String name; - protected String ident; - protected IIcon icon; - protected int color; - protected float transparency; + protected String name; + protected String ident; + protected IIcon icon; + protected int color; + protected float transparency; - GeneticLiquid(String name, int color) { - this.name = name; - this.ident = name; - this.color = color; - transparency = 1.0f; - } + GeneticLiquid(String name, int color) { + this.name = name; + this.ident = name; + this.color = color; + transparency = 1.0f; + } - @Override - public String toString() { - return name; - } + @Override + public String toString() { + return name; + } - @Override - public IIcon getIcon() { - return icon; - } + @Override + public IIcon getIcon() { + return icon; + } - @Override - public void registerIcon(IIconRegister register) { - icon = Genetics.proxy.getIcon(register, "liquids/" + ident); - } + @Override + public void registerIcon(IIconRegister register) { + icon = Genetics.proxy.getIcon(register, "liquids/" + ident); + } - @Override - public String getName() { - return I18N.localise("fluid.binnie." + name); - } + @Override + public String getName() { + return I18N.localise("fluid.binnie." + name); + } - @Override - public String getIdentifier() { - return "binnie." + ident; - } + @Override + public String getIdentifier() { + return "binnie." + ident; + } - @Override - public int getColor() { - return 0xffffff; - } + @Override + public int getColor() { + return 0xffffff; + } - @Override - public int getContainerColor() { - return color; - } + @Override + public int getContainerColor() { + return color; + } - @Override - public FluidStack get(int amount) { - return Binnie.Liquid.getLiquidStack(getIdentifier(), amount); - } + @Override + public FluidStack get(int amount) { + return Binnie.Liquid.getLiquidStack(getIdentifier(), amount); + } - @Override - public int getTransparency() { - return 0; - } + @Override + public int getTransparency() { + return 0; + } - @Override - public boolean canPlaceIn(FluidContainer container) { - return this == GeneticLiquid.GrowthMedium - || container == FluidContainer.Cylinder; - } + @Override + public boolean canPlaceIn(FluidContainer container) { + return this == GeneticLiquid.GrowthMedium || container == FluidContainer.Cylinder; + } - @Override - public boolean showInCreative(FluidContainer container) { - return container == FluidContainer.Cylinder; - } + @Override + public boolean showInCreative(FluidContainer container) { + return container == FluidContainer.Cylinder; + } } diff --git a/src/main/java/binnie/genetics/item/GeneticsItems.java b/src/main/java/binnie/genetics/item/GeneticsItems.java index f02375b0..a4e1ee0f 100644 --- a/src/main/java/binnie/genetics/item/GeneticsItems.java +++ b/src/main/java/binnie/genetics/item/GeneticsItems.java @@ -3,65 +3,64 @@ package binnie.genetics.item; import binnie.core.item.IItemMisc; import binnie.core.util.I18N; import binnie.genetics.Genetics; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import java.util.List; - public enum GeneticsItems implements IItemMisc { - LaboratoryCasing("casingIron"), - DNADye("dnaDye"), - FluorescentDye("dyeFluor"), - Enzyme("enzyme"), - GrowthMedium("growthMedium"), - EmptySequencer("sequencerEmpty"), - EmptySerum("serumEmpty"), - EmptyGenome("genomeEmpty"), - Cylinder("cylinderEmpty"), - IntegratedCircuit("integratedCircuit"), - IntegratedCPU("integratedCPU"), - IntegratedCasing("casingCircuit"); + LaboratoryCasing("casingIron"), + DNADye("dnaDye"), + FluorescentDye("dyeFluor"), + Enzyme("enzyme"), + GrowthMedium("growthMedium"), + EmptySequencer("sequencerEmpty"), + EmptySerum("serumEmpty"), + EmptyGenome("genomeEmpty"), + Cylinder("cylinderEmpty"), + IntegratedCircuit("integratedCircuit"), + IntegratedCPU("integratedCPU"), + IntegratedCasing("casingCircuit"); - protected IIcon icon; - protected String name; - protected String iconPath; + protected IIcon icon; + protected String name; + protected String iconPath; - GeneticsItems(String name) { - this.name = name; - this.iconPath = name; - } + GeneticsItems(String name) { + this.name = name; + this.iconPath = name; + } - @Override - public IIcon getIcon(ItemStack itemStack) { - return icon; - } + @Override + public IIcon getIcon(ItemStack itemStack) { + return icon; + } - @Override - public void registerIcons(IIconRegister register) { - icon = Genetics.proxy.getIcon(register, iconPath); - } + @Override + public void registerIcons(IIconRegister register) { + icon = Genetics.proxy.getIcon(register, iconPath); + } - @Override - public void addInformation(List data) { - // ignored - } + @Override + public void addInformation(List data) { + // ignored + } - @Override - public String getName(ItemStack itemStack) { - return I18N.localise("genetics.item." + name + ".name"); - } + @Override + public String getName(ItemStack itemStack) { + return I18N.localise("genetics.item." + name + ".name"); + } - @Override - public ItemStack get(int count) { - if (Genetics.itemGenetics == null) { - return null; - } - return new ItemStack(Genetics.itemGenetics, count, ordinal()); - } + @Override + public ItemStack get(int count) { + if (Genetics.itemGenetics == null) { + return null; + } + return new ItemStack(Genetics.itemGenetics, count, ordinal()); + } - @Override - public boolean isActive() { - return true; - } + @Override + public boolean isActive() { + return true; + } } diff --git a/src/main/java/binnie/genetics/item/ItemAnalyst.java b/src/main/java/binnie/genetics/item/ItemAnalyst.java index 62fce600..330a3fb6 100644 --- a/src/main/java/binnie/genetics/item/ItemAnalyst.java +++ b/src/main/java/binnie/genetics/item/ItemAnalyst.java @@ -13,26 +13,26 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ItemAnalyst extends Item { - public ItemAnalyst() { - setCreativeTab(GeneticsCreativeTab.instance); - setUnlocalizedName("analyst"); - setMaxStackSize(1); - } + public ItemAnalyst() { + setCreativeTab(GeneticsCreativeTab.instance); + setUnlocalizedName("analyst"); + setMaxStackSize(1); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - itemIcon = Genetics.proxy.getIcon(register, "analyst"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = Genetics.proxy.getIcon(register, "analyst"); + } - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - Genetics.proxy.openGui(GeneticsGUI.Analyst, player, (int) player.posX, (int) player.posY, (int) player.posZ); - return stack; - } + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + Genetics.proxy.openGui(GeneticsGUI.Analyst, player, (int) player.posX, (int) player.posY, (int) player.posZ); + return stack; + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return I18N.localise("genetics.item.analyst.name"); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return I18N.localise("genetics.item.analyst.name"); + } } diff --git a/src/main/java/binnie/genetics/item/ItemDatabase.java b/src/main/java/binnie/genetics/item/ItemDatabase.java index 90fd9d22..7436cc32 100644 --- a/src/main/java/binnie/genetics/item/ItemDatabase.java +++ b/src/main/java/binnie/genetics/item/ItemDatabase.java @@ -6,6 +6,7 @@ import binnie.genetics.GeneticsCreativeTab; import binnie.genetics.core.GeneticsGUI; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -14,57 +15,57 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import java.util.List; - public class ItemDatabase extends Item { - protected IIcon iconMaster; + protected IIcon iconMaster; - public ItemDatabase() { - setCreativeTab(GeneticsCreativeTab.instance); - setUnlocalizedName("database"); - setMaxStackSize(1); - } + public ItemDatabase() { + setCreativeTab(GeneticsCreativeTab.instance); + setUnlocalizedName("database"); + setMaxStackSize(1); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - itemIcon = Genetics.proxy.getIcon(register, "geneDatabase"); - iconMaster = Genetics.proxy.getIcon(register, "masterGeneDatabase"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = Genetics.proxy.getIcon(register, "geneDatabase"); + iconMaster = Genetics.proxy.getIcon(register, "masterGeneDatabase"); + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int damage) { - return (damage == 0) ? itemIcon : iconMaster; - } + @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 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 + @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) { - Genetics.proxy.openGui(GeneticsGUI.Database, player, (int) player.posX, (int) player.posY, (int) player.posZ); - } else { - Genetics.proxy.openGui(GeneticsGUI.DatabaseNEI, player, (int) player.posX, (int) player.posY, (int) player.posZ); - } - return stack; - } + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if (stack.getItemDamage() == 0) { + Genetics.proxy.openGui( + GeneticsGUI.Database, player, (int) player.posX, (int) player.posY, (int) player.posZ); + } else { + Genetics.proxy.openGui( + GeneticsGUI.DatabaseNEI, player, (int) player.posX, (int) player.posY, (int) player.posZ); + } + return stack; + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return (stack.getItemDamage() == 0) ? - I18N.localise("genetics.item.database.0.name") : - I18N.localise("genetics.item.database.1.name"); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return (stack.getItemDamage() == 0) + ? I18N.localise("genetics.item.database.0.name") + : I18N.localise("genetics.item.database.1.name"); + } } diff --git a/src/main/java/binnie/genetics/item/ItemFieldKit.java b/src/main/java/binnie/genetics/item/ItemFieldKit.java index 869533c3..ffeea9fb 100644 --- a/src/main/java/binnie/genetics/item/ItemFieldKit.java +++ b/src/main/java/binnie/genetics/item/ItemFieldKit.java @@ -7,6 +7,7 @@ import binnie.core.util.I18N; import binnie.genetics.GeneticsCreativeTab; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -14,72 +15,71 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; -import java.util.List; - public class ItemFieldKit extends Item { - private IIcon fieldKit0; - private IIcon fieldKit1; - private IIcon fieldKit2; - private IIcon fieldKit3; + private IIcon fieldKit0; + private IIcon fieldKit1; + private IIcon fieldKit2; + private IIcon fieldKit3; - public ItemFieldKit() { - setUnlocalizedName("fieldKit"); - setCreativeTab(GeneticsCreativeTab.instance); - setMaxStackSize(1); - setMaxDamage(64); - } + public ItemFieldKit() { + setUnlocalizedName("fieldKit"); + setCreativeTab(GeneticsCreativeTab.instance); + setMaxStackSize(1); + setMaxDamage(64); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - fieldKit0 = Botany.proxy.getIcon(register, "fieldKit"); - fieldKit1 = Botany.proxy.getIcon(register, "fieldKit1"); - fieldKit2 = Botany.proxy.getIcon(register, "fieldKit2"); - fieldKit3 = Botany.proxy.getIcon(register, "fieldKit3"); - itemIcon = fieldKit0; - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + fieldKit0 = Botany.proxy.getIcon(register, "fieldKit"); + fieldKit1 = Botany.proxy.getIcon(register, "fieldKit1"); + fieldKit2 = Botany.proxy.getIcon(register, "fieldKit2"); + fieldKit3 = Botany.proxy.getIcon(register, "fieldKit3"); + itemIcon = fieldKit0; + } - @Override - public IIcon getIcon(ItemStack stack, int pass) { - int damage = stack.getItemDamage(); - if (damage < 24) { - return fieldKit3; - } - if (damage < 48) { - return fieldKit2; - } - if (damage < 64) { - return fieldKit1; - } - return fieldKit0; - } + @Override + public IIcon getIcon(ItemStack stack, int pass) { + int damage = stack.getItemDamage(); + if (damage < 24) { + return fieldKit3; + } + if (damage < 48) { + return fieldKit2; + } + if (damage < 64) { + return fieldKit1; + } + return fieldKit0; + } - @Override - public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { - if (!player.isSneaking()) { - BinnieCore.proxy.openGui(BinnieCoreGUI.FieldKit, player, (int) player.posX, (int) player.posY, (int) player.posZ); - } - return itemStack; - } + @Override + public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { + if (!player.isSneaking()) { + BinnieCore.proxy.openGui( + BinnieCoreGUI.FieldKit, player, (int) player.posX, (int) player.posY, (int) player.posZ); + } + return itemStack; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack itemStack, EntityPlayer player, List tooltip, boolean advanced) { - int i = getMaxDamage() - itemStack.getItemDamage(); - if (i == 0) { - tooltip.add(I18N.localise("genetics.item.fieldKit.tooltip.noPaper")); - } else { - if (i > 1) { - tooltip.add(I18N.localise("genetics.item.fieldKit.tooltip.sheetsOfPaper", i)); - } else { - tooltip.add(I18N.localise("genetics.item.fieldKit.tooltip.sheetOfPaper", i)); - } - } - super.addInformation(itemStack, player, tooltip, advanced); - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack itemStack, EntityPlayer player, List tooltip, boolean advanced) { + int i = getMaxDamage() - itemStack.getItemDamage(); + if (i == 0) { + tooltip.add(I18N.localise("genetics.item.fieldKit.tooltip.noPaper")); + } else { + if (i > 1) { + tooltip.add(I18N.localise("genetics.item.fieldKit.tooltip.sheetsOfPaper", i)); + } else { + tooltip.add(I18N.localise("genetics.item.fieldKit.tooltip.sheetOfPaper", i)); + } + } + super.addInformation(itemStack, player, tooltip, advanced); + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return I18N.localise("genetics.item.fieldKit.name"); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return I18N.localise("genetics.item.fieldKit.name"); + } } diff --git a/src/main/java/binnie/genetics/item/ItemGene.java b/src/main/java/binnie/genetics/item/ItemGene.java index c0c32c46..fa925cc6 100644 --- a/src/main/java/binnie/genetics/item/ItemGene.java +++ b/src/main/java/binnie/genetics/item/ItemGene.java @@ -6,6 +6,7 @@ import binnie.genetics.GeneticsCreativeTab; import binnie.genetics.genetics.IGeneItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -13,91 +14,89 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import java.util.List; - public abstract class ItemGene extends Item { - protected IIcon[] icons; + protected IIcon[] icons; - public ItemGene(String unlocName) { - icons = new IIcon[4]; - setMaxStackSize(1); - setMaxDamage(16); - setUnlocalizedName(unlocName); - setCreativeTab(GeneticsCreativeTab.instance); - } + public ItemGene(String unlocName) { + icons = new IIcon[4]; + setMaxStackSize(1); + setMaxDamage(16); + setUnlocalizedName(unlocName); + setCreativeTab(GeneticsCreativeTab.instance); + } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamageForRenderPass(int damage, int pass) { - return icons[pass]; - } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamageForRenderPass(int damage, int pass) { + return icons[pass]; + } - @Override - public boolean getShareTag() { - return true; - } + @Override + public boolean getShareTag() { + return true; + } - @Override - public boolean isRepairable() { - return false; - } + @Override + public boolean isRepairable() { + return false; + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - icons[0] = Genetics.proxy.getIcon(register, "machines/serum.glass"); - icons[1] = Genetics.proxy.getIcon(register, "machines/serum.cap"); - icons[2] = Genetics.proxy.getIcon(register, "machines/serum.edges"); - icons[3] = Genetics.proxy.getIcon(register, "machines/serum.dna"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + icons[0] = Genetics.proxy.getIcon(register, "machines/serum.glass"); + icons[1] = Genetics.proxy.getIcon(register, "machines/serum.cap"); + icons[2] = Genetics.proxy.getIcon(register, "machines/serum.edges"); + icons[3] = Genetics.proxy.getIcon(register, "machines/serum.dna"); + } - @Override - public int getRenderPasses(int metadata) { - return 4; - } + @Override + public int getRenderPasses(int metadata) { + return 4; + } - @Override - public int getColorFromItemStack(ItemStack itemstack, int j) { - IGeneItem gene = getGeneItem(itemstack); - return gene.getColour(j); - } + @Override + public int getColorFromItemStack(ItemStack itemstack, int j) { + IGeneItem gene = getGeneItem(itemstack); + return gene.getColour(j); + } - public int getCharges(ItemStack stack) { - if (stack == null) { - return 0; - } - return stack.getItem().getMaxDamage() - stack.getItemDamage(); - } + public int getCharges(ItemStack stack) { + if (stack == null) { + return 0; + } + return stack.getItem().getMaxDamage() - stack.getItemDamage(); + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { - super.addInformation(stack, player, tooltip, advanced); - int damage = getMaxDamage() - stack.getItemDamage(); - if (damage == 0) { - tooltip.add(I18N.localise("genetics.gene.charge.empty")); - } else if (damage == 1) { - tooltip.add(I18N.localise("genetics.gene.charge.one")); - } else { - tooltip.add(I18N.localise("genetics.gene.charge.many", damage)); - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { + super.addInformation(stack, player, tooltip, advanced); + int damage = getMaxDamage() - stack.getItemDamage(); + if (damage == 0) { + tooltip.add(I18N.localise("genetics.gene.charge.empty")); + } else if (damage == 1) { + tooltip.add(I18N.localise("genetics.gene.charge.one")); + } else { + tooltip.add(I18N.localise("genetics.gene.charge.many", damage)); + } - IGeneItem gene = getGeneItem(stack); - gene.getInfo(tooltip); - } + IGeneItem gene = getGeneItem(stack); + gene.getInfo(tooltip); + } - @Override - public abstract String getItemStackDisplayName(ItemStack stack); + @Override + public abstract String getItemStackDisplayName(ItemStack stack); - @Override - public void getSubItems(Item item, CreativeTabs tab, List itemList) { - // ignored - } + @Override + public void getSubItems(Item item, CreativeTabs tab, List itemList) { + // ignored + } - @Override - public boolean requiresMultipleRenderPasses() { - return true; - } + @Override + public boolean requiresMultipleRenderPasses() { + return true; + } - public abstract IGeneItem getGeneItem(ItemStack stack); + public abstract IGeneItem getGeneItem(ItemStack stack); } diff --git a/src/main/java/binnie/genetics/item/ItemMasterRegistry.java b/src/main/java/binnie/genetics/item/ItemMasterRegistry.java index 3acbf83c..3ffceff8 100644 --- a/src/main/java/binnie/genetics/item/ItemMasterRegistry.java +++ b/src/main/java/binnie/genetics/item/ItemMasterRegistry.java @@ -13,26 +13,27 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ItemMasterRegistry extends Item { - public ItemMasterRegistry() { - setCreativeTab(GeneticsCreativeTab.instance); - setUnlocalizedName("masterRegistry"); - setMaxStackSize(1); - } + public ItemMasterRegistry() { + setCreativeTab(GeneticsCreativeTab.instance); + setUnlocalizedName("masterRegistry"); + setMaxStackSize(1); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - itemIcon = Genetics.proxy.getIcon(register, "masterRegistry"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = Genetics.proxy.getIcon(register, "masterRegistry"); + } - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - Genetics.proxy.openGui(GeneticsGUI.MasterRegistry, player, (int) player.posX, (int) player.posY, (int) player.posZ); - return stack; - } + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + Genetics.proxy.openGui( + GeneticsGUI.MasterRegistry, player, (int) player.posX, (int) player.posY, (int) player.posZ); + return stack; + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return I18N.localise("genetics.item.registry.1.name"); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + return I18N.localise("genetics.item.registry.1.name"); + } } diff --git a/src/main/java/binnie/genetics/item/ItemRegistry.java b/src/main/java/binnie/genetics/item/ItemRegistry.java index c196c329..aac5f2fb 100644 --- a/src/main/java/binnie/genetics/item/ItemRegistry.java +++ b/src/main/java/binnie/genetics/item/ItemRegistry.java @@ -13,26 +13,26 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ItemRegistry extends Item { - public ItemRegistry() { - setCreativeTab(GeneticsCreativeTab.instance); - setUnlocalizedName("registry"); - setMaxStackSize(1); - } + public ItemRegistry() { + setCreativeTab(GeneticsCreativeTab.instance); + setUnlocalizedName("registry"); + setMaxStackSize(1); + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - itemIcon = Genetics.proxy.getIcon(register, "registry"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = Genetics.proxy.getIcon(register, "registry"); + } - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - Genetics.proxy.openGui(GeneticsGUI.Registry, player, (int) player.posX, (int) player.posY, (int) player.posZ); - return stack; - } + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + Genetics.proxy.openGui(GeneticsGUI.Registry, player, (int) player.posX, (int) player.posY, (int) player.posZ); + return stack; + } - @Override - public String getItemStackDisplayName(ItemStack i) { - return I18N.localise("genetics.item.registry.0.name"); - } + @Override + public String getItemStackDisplayName(ItemStack i) { + return I18N.localise("genetics.item.registry.0.name"); + } } diff --git a/src/main/java/binnie/genetics/item/ItemSequence.java b/src/main/java/binnie/genetics/item/ItemSequence.java index 348e733b..8c0393f2 100644 --- a/src/main/java/binnie/genetics/item/ItemSequence.java +++ b/src/main/java/binnie/genetics/item/ItemSequence.java @@ -15,102 +15,103 @@ import cpw.mods.fml.relauncher.SideOnly; import forestry.api.apiculture.EnumBeeChromosome; import forestry.api.apiculture.IAlleleBeeSpecies; import forestry.api.genetics.AlleleManager; +import java.util.List; 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 java.util.List; - public class ItemSequence extends Item implements IItemAnalysable, IItemChargable { - public ItemSequence() { - setMaxStackSize(1); - setMaxDamage(5); - setUnlocalizedName("sequence"); - setCreativeTab(GeneticsCreativeTab.instance); - } + public ItemSequence() { + setMaxStackSize(1); + setMaxDamage(5); + setUnlocalizedName("sequence"); + setCreativeTab(GeneticsCreativeTab.instance); + } - public static ItemStack create(IGene gene) { - return create(gene, false); - } + public static ItemStack create(IGene gene) { + return create(gene, false); + } - public static ItemStack create(IGene gene, boolean sequenced) { - ItemStack item = new ItemStack(Genetics.itemSequencer); - item.setItemDamage(sequenced ? 0 : item.getMaxDamage()); - SequencerItem seq = new SequencerItem(gene); - seq.writeToItem(item); - return item; - } + public static ItemStack create(IGene gene, boolean sequenced) { + ItemStack item = new ItemStack(Genetics.itemSequencer); + item.setItemDamage(sequenced ? 0 : item.getMaxDamage()); + SequencerItem seq = new SequencerItem(gene); + seq.writeToItem(item); + return item; + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - GeneItem gene = new GeneItem(stack); - if (gene.isCorrupted()) { - return I18N.localise("genetics.sequence.corrupted"); - } - return I18N.localise("genetics.sequence.descriptor", gene.getBreedingSystem().getDescriptor()); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + GeneItem gene = new GeneItem(stack); + if (gene.isCorrupted()) { + return I18N.localise("genetics.sequence.corrupted"); + } + return I18N.localise( + "genetics.sequence.descriptor", gene.getBreedingSystem().getDescriptor()); + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { - super.addInformation(stack, player, tooltip, advanced); - tooltip.add(I18N.localise("genetics.item.sequence." + (5 - stack.getItemDamage() % 6))); - SequencerItem gene = new SequencerItem(stack); - if (gene.isCorrupted()) { - return; - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { + super.addInformation(stack, player, tooltip, advanced); + tooltip.add(I18N.localise("genetics.item.sequence." + (5 - stack.getItemDamage() % 6))); + SequencerItem gene = new SequencerItem(stack); + if (gene.isCorrupted()) { + return; + } - if (gene.analysed) { - gene.getInfo(tooltip); - } else { - tooltip.add(I18N.localise("genetics.sequence.unknown")); - } + if (gene.analysed) { + gene.getInfo(tooltip); + } else { + tooltip.add(I18N.localise("genetics.sequence.unknown")); + } - int seq = gene.sequenced; - if (seq == 0) { - tooltip.add(I18N.localise("genetics.sequence.unsequenced")); - } else if (seq < 100) { - tooltip.add(I18N.localise("genetics.sequence.partially", seq)); - } else { - tooltip.add(I18N.localise("genetics.sequence.fully")); - } - } + int seq = gene.sequenced; + if (seq == 0) { + tooltip.add(I18N.localise("genetics.sequence.unsequenced")); + } else if (seq < 100) { + tooltip.add(I18N.localise("genetics.sequence.partially", seq)); + } else { + tooltip.add(I18N.localise("genetics.sequence.fully")); + } + } - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister register) { - itemIcon = Genetics.proxy.getIcon(register, "sequencer"); - } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister register) { + itemIcon = Genetics.proxy.getIcon(register, "sequencer"); + } - @Override - public void getSubItems(Item item, CreativeTabs tab, List list) { - IAlleleBeeSpecies species = (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele("forestry.speciesMeadows"); - list.add(create(new Gene(species, EnumBeeChromosome.SPECIES, Binnie.Genetics.getBeeRoot()), false)); - } + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + IAlleleBeeSpecies species = + (IAlleleBeeSpecies) AlleleManager.alleleRegistry.getAllele("forestry.speciesMeadows"); + list.add(create(new Gene(species, EnumBeeChromosome.SPECIES, Binnie.Genetics.getBeeRoot()), false)); + } - @Override - public boolean isAnalysed(ItemStack stack) { - SequencerItem seq = new SequencerItem(stack); - return seq.isCorrupted() || seq.analysed; - } + @Override + public boolean isAnalysed(ItemStack stack) { + SequencerItem seq = new SequencerItem(stack); + return seq.isCorrupted() || seq.analysed; + } - @Override - public ItemStack analyse(ItemStack stack) { - SequencerItem seq = new SequencerItem(stack); - seq.analysed = true; - seq.writeToItem(stack); - return stack; - } + @Override + public ItemStack analyse(ItemStack stack) { + SequencerItem seq = new SequencerItem(stack); + seq.analysed = true; + seq.writeToItem(stack); + return stack; + } - @Override - public float getAnalyseTimeMult(ItemStack stack) { - return 1.0f; - } + @Override + public float getAnalyseTimeMult(ItemStack stack) { + return 1.0f; + } - @Override - public int getCharges(ItemStack stack) { - return stack.getItem().getMaxDamage() - stack.getItemDamage(); - } + @Override + public int getCharges(ItemStack stack) { + return stack.getItem().getMaxDamage() - stack.getItemDamage(); + } } diff --git a/src/main/java/binnie/genetics/item/ItemSerum.java b/src/main/java/binnie/genetics/item/ItemSerum.java index cd38937e..2dbc8dc4 100644 --- a/src/main/java/binnie/genetics/item/ItemSerum.java +++ b/src/main/java/binnie/genetics/item/ItemSerum.java @@ -1,18 +1,5 @@ package binnie.genetics.item; -import java.util.List; -import java.util.Map; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -import forestry.api.genetics.AlleleManager; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.IChromosomeType; -import forestry.api.genetics.ISpeciesRoot; - import binnie.Binnie; import binnie.core.genetics.BreedingSystem; import binnie.core.genetics.Gene; @@ -24,88 +11,98 @@ import binnie.genetics.genetics.GeneItem; import binnie.genetics.genetics.IGeneItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IChromosomeType; +import forestry.api.genetics.ISpeciesRoot; +import java.util.List; +import java.util.Map; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; public class ItemSerum extends ItemGene implements IItemSerum { - public ItemSerum() { - super("serum"); - setMaxDamage(16); - } + public ItemSerum() { + super("serum"); + setMaxDamage(16); + } - public static ItemStack create(IGene gene) { - ItemStack item = new ItemStack(Genetics.itemSerum); - item.setItemDamage(item.getMaxDamage()); - GeneItem seq = new GeneItem(gene); - seq.writeToItem(item); - return item; - } + public static ItemStack create(IGene gene) { + ItemStack item = new ItemStack(Genetics.itemSerum); + item.setItemDamage(item.getMaxDamage()); + GeneItem seq = new GeneItem(gene); + seq.writeToItem(item); + return item; + } - @SideOnly(Side.CLIENT) - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { - super.addInformation(stack, player, tooltip, advanced); - } + @SideOnly(Side.CLIENT) + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { + super.addInformation(stack, player, tooltip, advanced); + } - @Override - public int getCharges(ItemStack stack) { - return stack.getItem().getMaxDamage() - stack.getItemDamage(); - } + @Override + public int getCharges(ItemStack stack) { + return stack.getItem().getMaxDamage() - stack.getItemDamage(); + } - @Override - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { - Map> chromosomeMap = Binnie.Genetics.getChromosomeMap(root); - for (Map.Entry> entry : chromosomeMap.entrySet()) { - IChromosomeType chromosome = entry.getKey(); - for (IAllele allele : entry.getValue()) { - Gene gene = Gene.create(allele, chromosome, root); - if (gene == null) { - continue; - } + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { + Map> chromosomeMap = Binnie.Genetics.getChromosomeMap(root); + for (Map.Entry> entry : chromosomeMap.entrySet()) { + IChromosomeType chromosome = entry.getKey(); + for (IAllele allele : entry.getValue()) { + Gene gene = Gene.create(allele, chromosome, root); + if (gene == null) { + continue; + } - IGeneItem geneItem = new GeneItem(gene); - ItemStack stack = new ItemStack(this); - geneItem.writeToItem(stack); - list.add(stack); - } - } - } - } + IGeneItem geneItem = new GeneItem(gene); + ItemStack stack = new ItemStack(this); + geneItem.writeToItem(stack); + list.add(stack); + } + } + } + } - @Override - public IGene[] getGenes(ItemStack stack) { - return new IGene[]{getGeneItem(stack).getGene()}; - } + @Override + public IGene[] getGenes(ItemStack stack) { + return new IGene[] {getGeneItem(stack).getGene()}; + } - @Override - public ISpeciesRoot getSpeciesRoot(ItemStack stack) { - return getGeneItem(stack).getSpeciesRoot(); - } + @Override + public ISpeciesRoot getSpeciesRoot(ItemStack stack) { + return getGeneItem(stack).getSpeciesRoot(); + } - @Override - public IGene getGene(ItemStack stack, int chromosome) { - return getGeneItem(stack).getGene(); - } + @Override + public IGene getGene(ItemStack stack, int chromosome) { + return getGeneItem(stack).getGene(); + } - @Override - public GeneItem getGeneItem(ItemStack stack) { - return new GeneItem(stack); - } + @Override + public GeneItem getGeneItem(ItemStack stack) { + return new GeneItem(stack); + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - IGeneItem gene = getGeneItem(stack); - BreedingSystem breedingSystem = Binnie.Genetics.getSystem(gene.getSpeciesRoot()); - if (breedingSystem != null) { - return I18N.localise("genetics.item.serum.name", breedingSystem.getDescriptor()); - } - return I18N.localise("genetics.item.serumEmpty.name"); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + IGeneItem gene = getGeneItem(stack); + BreedingSystem breedingSystem = Binnie.Genetics.getSystem(gene.getSpeciesRoot()); + if (breedingSystem != null) { + return I18N.localise("genetics.item.serum.name", breedingSystem.getDescriptor()); + } + return I18N.localise("genetics.item.serumEmpty.name"); + } - @Override - public ItemStack addGene(ItemStack stack, IGene gene) { - IGeneItem geneItem = getGeneItem(stack); - geneItem.addGene(gene); - geneItem.writeToItem(stack); - return stack; - } + @Override + public ItemStack addGene(ItemStack stack, IGene gene) { + IGeneItem geneItem = getGeneItem(stack); + geneItem.addGene(gene); + geneItem.writeToItem(stack); + return stack; + } } diff --git a/src/main/java/binnie/genetics/item/ItemSerumArray.java b/src/main/java/binnie/genetics/item/ItemSerumArray.java index b2bd95b2..1877e9e4 100644 --- a/src/main/java/binnie/genetics/item/ItemSerumArray.java +++ b/src/main/java/binnie/genetics/item/ItemSerumArray.java @@ -1,20 +1,5 @@ package binnie.genetics.item; -import java.util.List; - -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 forestry.api.genetics.AlleleManager; -import forestry.api.genetics.IAllele; -import forestry.api.genetics.IChromosome; -import forestry.api.genetics.IChromosomeType; -import forestry.api.genetics.IIndividual; -import forestry.api.genetics.ISpeciesRoot; - import binnie.Binnie; import binnie.core.genetics.BreedingSystem; import binnie.core.genetics.Gene; @@ -26,104 +11,116 @@ import binnie.genetics.genetics.GeneArrayItem; import binnie.genetics.genetics.IGeneItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import forestry.api.genetics.AlleleManager; +import forestry.api.genetics.IAllele; +import forestry.api.genetics.IChromosome; +import forestry.api.genetics.IChromosomeType; +import forestry.api.genetics.IIndividual; +import forestry.api.genetics.ISpeciesRoot; +import java.util.List; +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; public class ItemSerumArray extends ItemGene implements IItemSerum { - public ItemSerumArray() { - super("serumArray"); - setMaxDamage(16); - } + public ItemSerumArray() { + super("serumArray"); + setMaxDamage(16); + } - public static ItemStack create(IGene gene) { - ItemStack item = new ItemStack(Genetics.itemSerumArray); - item.setItemDamage(item.getMaxDamage()); - GeneArrayItem seq = new GeneArrayItem(gene); - seq.writeToItem(item); - return item; - } + public static ItemStack create(IGene gene) { + ItemStack item = new ItemStack(Genetics.itemSerumArray); + item.setItemDamage(item.getMaxDamage()); + GeneArrayItem seq = new GeneArrayItem(gene); + seq.writeToItem(item); + return item; + } - @SideOnly(Side.CLIENT) - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { - super.addInformation(stack, player, tooltip, advanced); - } + @SideOnly(Side.CLIENT) + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) { + super.addInformation(stack, player, tooltip, advanced); + } - @Override - public int getCharges(ItemStack stack) { - return stack.getItem().getMaxDamage() - stack.getItemDamage(); - } + @Override + public int getCharges(ItemStack stack) { + return stack.getItem().getMaxDamage() - stack.getItemDamage(); + } - @Override - public IGene[] getGenes(ItemStack stack) { - return getGeneItem(stack).getGenes().toArray(new IGene[0]); - } + @Override + public IGene[] getGenes(ItemStack stack) { + return getGeneItem(stack).getGenes().toArray(new IGene[0]); + } - @Override - public ISpeciesRoot getSpeciesRoot(ItemStack stack) { - return getGeneItem(stack).getSpeciesRoot(); - } + @Override + public ISpeciesRoot getSpeciesRoot(ItemStack stack) { + return getGeneItem(stack).getSpeciesRoot(); + } - @Override - public IGene getGene(ItemStack stack, int chromosome) { - return getGeneItem(stack).getGene(chromosome); - } + @Override + public IGene getGene(ItemStack stack, int chromosome) { + return getGeneItem(stack).getGene(chromosome); + } - @Override - public GeneArrayItem getGeneItem(ItemStack stack) { - return new GeneArrayItem(stack); - } + @Override + public GeneArrayItem getGeneItem(ItemStack stack) { + return new GeneArrayItem(stack); + } - @Override - public void getSubItems(Item item, CreativeTabs tab, List list) { - for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { - for (IIndividual template : root.getIndividualTemplates()) { - if (template.getGenome().getPrimary().isSecret()) { - continue; - } + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (ISpeciesRoot root : AlleleManager.alleleRegistry.getSpeciesRoot().values()) { + for (IIndividual template : root.getIndividualTemplates()) { + if (template.getGenome().getPrimary().isSecret()) { + continue; + } - IGeneItem geneItem = new GeneArrayItem(); - for (IChromosomeType type : root.getKaryotype()) { - IChromosome c = template.getGenome().getChromosomes()[type.ordinal()]; - if (c == null) { - continue; - } + IGeneItem geneItem = new GeneArrayItem(); + for (IChromosomeType type : root.getKaryotype()) { + IChromosome c = template.getGenome().getChromosomes()[type.ordinal()]; + if (c == null) { + continue; + } - IAllele active = c.getActiveAllele(); - if (active != null) { - geneItem.addGene(new Gene(active, type, root)); - } - } + IAllele active = c.getActiveAllele(); + if (active != null) { + geneItem.addGene(new Gene(active, type, root)); + } + } - ItemStack array = new ItemStack(this); - geneItem.writeToItem(array); - list.add(array); - } - } - } + ItemStack array = new ItemStack(this); + geneItem.writeToItem(array); + list.add(array); + } + } + } - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IIconRegister register) { - icons[0] = Genetics.proxy.getIcon(register, "machines/genome.glass"); - icons[1] = Genetics.proxy.getIcon(register, "machines/genome.cap"); - icons[2] = Genetics.proxy.getIcon(register, "machines/genome.edges"); - icons[3] = Genetics.proxy.getIcon(register, "machines/genome.dna"); - } + @SideOnly(Side.CLIENT) + @Override + public void registerIcons(IIconRegister register) { + icons[0] = Genetics.proxy.getIcon(register, "machines/genome.glass"); + icons[1] = Genetics.proxy.getIcon(register, "machines/genome.cap"); + icons[2] = Genetics.proxy.getIcon(register, "machines/genome.edges"); + icons[3] = Genetics.proxy.getIcon(register, "machines/genome.dna"); + } - @Override - public String getItemStackDisplayName(ItemStack stack) { - IGeneItem gene = getGeneItem(stack); - BreedingSystem breedingSystem = Binnie.Genetics.getSystem(gene.getSpeciesRoot()); - if (breedingSystem != null) { - return I18N.localise("genetics.item.serumArray.name", breedingSystem.getDescriptor()); - } - return I18N.localise("genetics.item.genomeEmpty.name"); - } + @Override + public String getItemStackDisplayName(ItemStack stack) { + IGeneItem gene = getGeneItem(stack); + BreedingSystem breedingSystem = Binnie.Genetics.getSystem(gene.getSpeciesRoot()); + if (breedingSystem != null) { + return I18N.localise("genetics.item.serumArray.name", breedingSystem.getDescriptor()); + } + return I18N.localise("genetics.item.genomeEmpty.name"); + } - @Override - public ItemStack addGene(ItemStack stack, IGene gene) { - IGeneItem geneI = getGeneItem(stack); - geneI.addGene(gene); - geneI.writeToItem(stack); - return stack; - } + @Override + public ItemStack addGene(ItemStack stack, IGene gene) { + IGeneItem geneI = getGeneItem(stack); + geneI.addGene(gene); + geneI.writeToItem(stack); + return stack; + } } diff --git a/src/main/java/binnie/genetics/item/ModuleItem.java b/src/main/java/binnie/genetics/item/ModuleItem.java index ff46c19d..cf373495 100644 --- a/src/main/java/binnie/genetics/item/ModuleItem.java +++ b/src/main/java/binnie/genetics/item/ModuleItem.java @@ -21,259 +21,310 @@ import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; public class ModuleItem implements IInitializable { - public static BinnieIcon iconNight; - public static BinnieIcon iconDaytime; - public static BinnieIcon iconAllDay; - public static BinnieIcon iconRain; - public static BinnieIcon iconNoRain; - public static BinnieIcon iconSky; - public static BinnieIcon iconNoSky; - public static BinnieIcon iconFire; - public static BinnieIcon iconNoFire; - public static BinnieIcon iconAdd; - public static BinnieIcon iconArrow; - public static BinnieIcon iconAdd0; - public static BinnieIcon iconArrow0; - public static BinnieIcon iconAdd1; - public static BinnieIcon iconArrow1; + public static BinnieIcon iconNight; + public static BinnieIcon iconDaytime; + public static BinnieIcon iconAllDay; + public static BinnieIcon iconRain; + public static BinnieIcon iconNoRain; + public static BinnieIcon iconSky; + public static BinnieIcon iconNoSky; + public static BinnieIcon iconFire; + public static BinnieIcon iconNoFire; + public static BinnieIcon iconAdd; + public static BinnieIcon iconArrow; + public static BinnieIcon iconAdd0; + public static BinnieIcon iconArrow0; + public static BinnieIcon iconAdd1; + public static BinnieIcon iconArrow1; - @Override - public void preInit() { - Genetics.itemSerum = new ItemSerum(); - Genetics.itemSerumArray = new ItemSerumArray(); - Genetics.itemSequencer = new ItemSequence(); - Genetics.itemGenetics = Binnie.Item.registerMiscItems(GeneticsItems.values(), GeneticsCreativeTab.instance); - Genetics.database = new ItemDatabase(); - Genetics.analyst = new ItemAnalyst(); - Genetics.registry = new ItemRegistry(); - Genetics.masterRegistry = new ItemMasterRegistry(); - Binnie.Liquid.createLiquids(GeneticLiquid.values(), ItemFluidContainer.LiquidGenetics); - } + @Override + public void preInit() { + Genetics.itemSerum = new ItemSerum(); + Genetics.itemSerumArray = new ItemSerumArray(); + Genetics.itemSequencer = new ItemSequence(); + Genetics.itemGenetics = Binnie.Item.registerMiscItems(GeneticsItems.values(), GeneticsCreativeTab.instance); + Genetics.database = new ItemDatabase(); + Genetics.analyst = new ItemAnalyst(); + Genetics.registry = new ItemRegistry(); + Genetics.masterRegistry = new ItemMasterRegistry(); + Binnie.Liquid.createLiquids(GeneticLiquid.values(), ItemFluidContainer.LiquidGenetics); + } - @Override - public void init() { - ModuleItem.iconNight = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.night"); - ModuleItem.iconDaytime = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.day"); - ModuleItem.iconAllDay = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.allday"); - ModuleItem.iconRain = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.rain"); - ModuleItem.iconNoRain = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.norain"); - ModuleItem.iconSky = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.sky"); - ModuleItem.iconNoSky = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.nosky"); - ModuleItem.iconFire = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.fire"); - ModuleItem.iconNoFire = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.nofire"); - ModuleItem.iconAdd = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.add"); - ModuleItem.iconArrow = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.arrow"); - ModuleItem.iconAdd0 = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.add.0"); - ModuleItem.iconArrow0 = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.arrow.0"); - ModuleItem.iconAdd1 = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.add.1"); - ModuleItem.iconArrow1 = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.arrow.1"); - } + @Override + public void init() { + ModuleItem.iconNight = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.night"); + ModuleItem.iconDaytime = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.day"); + ModuleItem.iconAllDay = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.allday"); + ModuleItem.iconRain = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.rain"); + ModuleItem.iconNoRain = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.norain"); + ModuleItem.iconSky = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.sky"); + ModuleItem.iconNoSky = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.nosky"); + ModuleItem.iconFire = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.fire"); + ModuleItem.iconNoFire = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.nofire"); + ModuleItem.iconAdd = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.add"); + ModuleItem.iconArrow = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.arrow"); + ModuleItem.iconAdd0 = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.add.0"); + ModuleItem.iconArrow0 = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.arrow.0"); + ModuleItem.iconAdd1 = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.add.1"); + ModuleItem.iconArrow1 = Binnie.Resource.getItemIcon(BinnieCore.instance, "gui/analyst.arrow.1"); + } - @Override - public void postInit() { - GameRegistry.addShapelessRecipe( - GeneticsItems.DNADye.get(8), - Items.glowstone_dust, - new ItemStack(Items.dye, 1, 5) - ); + @Override + public void postInit() { + GameRegistry.addShapelessRecipe( + GeneticsItems.DNADye.get(8), Items.glowstone_dust, new ItemStack(Items.dye, 1, 5)); - GameRegistry.addRecipe(new ShapedOreRecipe( - GeneticsItems.LaboratoryCasing.get(1), - new Object[]{ - "iii", "iYi", "iii", - 'i', "ingotIron", - 'Y', Mods.forestry.item("sturdyMachine") - } - )); + GameRegistry.addRecipe(new ShapedOreRecipe( + GeneticsItems.LaboratoryCasing.get(1), + new Object[] {"iii", "iYi", "iii", 'i', "ingotIron", 'Y', Mods.forestry.item("sturdyMachine")})); - GameRegistry.addRecipe(new ShapelessOreRecipe( - GeneticsItems.DNADye.get(2), - new Object[]{ - "dyePurple", - "dyeMagenta", - "dyePink" - } - )); + GameRegistry.addRecipe(new ShapelessOreRecipe( + GeneticsItems.DNADye.get(2), new Object[] {"dyePurple", "dyeMagenta", "dyePink"})); - GameRegistry.addRecipe(new ShapelessOreRecipe( - GeneticsItems.FluorescentDye.get(2), - new Object[]{ - "dyeOrange", - "dyeYellow", - "dustGlowstone" - } - )); + GameRegistry.addRecipe(new ShapelessOreRecipe( + GeneticsItems.FluorescentDye.get(2), new Object[] {"dyeOrange", "dyeYellow", "dustGlowstone"})); - GameRegistry.addRecipe(new ShapelessOreRecipe( - GeneticsItems.GrowthMedium.get(2), - new Object[]{ - new ItemStack(Items.dye, 1, 15), - Items.sugar - } - )); + GameRegistry.addRecipe(new ShapelessOreRecipe( + GeneticsItems.GrowthMedium.get(2), new Object[] {new ItemStack(Items.dye, 1, 15), Items.sugar})); - GameRegistry.addRecipe(new ShapedOreRecipe( - GeneticsItems.EmptySequencer.get(1), - new Object[]{ - " p ", "iGi", " p ", - 'i', "ingotGold", - 'G', Blocks.glass_pane, - 'p', Items.paper - } - )); + GameRegistry.addRecipe(new ShapedOreRecipe( + GeneticsItems.EmptySequencer.get(1), + new Object[] {" p ", "iGi", " p ", 'i', "ingotGold", 'G', Blocks.glass_pane, 'p', Items.paper})); - GameRegistry.addRecipe(new ShapedOreRecipe( - GeneticsItems.EmptySerum.get(1), - new Object[]{ - " g ", " G ", "GGG", - 'g', "ingotGold", - 'G', Blocks.glass_pane - } - )); + GameRegistry.addRecipe(new ShapedOreRecipe( + GeneticsItems.EmptySerum.get(1), + new Object[] {" g ", " G ", "GGG", 'g', "ingotGold", 'G', Blocks.glass_pane})); - GameRegistry.addRecipe(new ShapedOreRecipe( - GeneticsItems.EmptyGenome.get(1), - new Object[]{ - "sss", "sss", "sss", - 's', GeneticsItems.EmptySerum.get(1) - } - )); + GameRegistry.addRecipe(new ShapedOreRecipe( + GeneticsItems.EmptyGenome.get(1), + new Object[] {"sss", "sss", "sss", 's', GeneticsItems.EmptySerum.get(1)})); - GameRegistry.addRecipe(new ShapedOreRecipe( - GeneticsItems.Cylinder.get(8), - new Object[]{ - " g ", "g g", " ", - 'g', Blocks.glass_pane - } - )); + GameRegistry.addRecipe(new ShapedOreRecipe( + GeneticsItems.Cylinder.get(8), new Object[] {" g ", "g g", " ", 'g', Blocks.glass_pane})); - GameRegistry.addRecipe(new ShapedOreRecipe( - GeneticsItems.IntegratedCircuit.get(1), - new Object[]{ - "l g", " c ", "g l", - 'c', Mods.forestry.stack("chipsets", 1, 1), - 'l', new ItemStack(Items.dye, 1, 4), - 'g', "dustGlowstone" - } - )); + GameRegistry.addRecipe(new ShapedOreRecipe(GeneticsItems.IntegratedCircuit.get(1), new Object[] { + "l g", + " c ", + "g l", + 'c', + Mods.forestry.stack("chipsets", 1, 1), + 'l', + new ItemStack(Items.dye, 1, 4), + 'g', + "dustGlowstone" + })); - GameRegistry.addRecipe(new ShapedOreRecipe( - GeneticsItems.IntegratedCircuit.get(1), - new Object[]{ - "g l", " c ", "l g", - 'c', Mods.forestry.stack("chipsets", 1, 1), - 'l', new ItemStack(Items.dye, 1, 4), - 'g', "dustGlowstone" - } - )); - GameRegistry.addRecipe(new ShapedOreRecipe( - GeneticsItems.IntegratedCasing.get(1), - new Object[]{ - "ccc", "cdc", "ccc", - 'c', GeneticsItems.IntegratedCircuit.get(1), - 'd', GeneticsItems.LaboratoryCasing.get(1) - } - )); + GameRegistry.addRecipe(new ShapedOreRecipe(GeneticsItems.IntegratedCircuit.get(1), new Object[] { + "g l", + " c ", + "l g", + 'c', + Mods.forestry.stack("chipsets", 1, 1), + 'l', + new ItemStack(Items.dye, 1, 4), + 'g', + "dustGlowstone" + })); + GameRegistry.addRecipe(new ShapedOreRecipe(GeneticsItems.IntegratedCasing.get(1), new Object[] { + "ccc", "cdc", "ccc", 'c', GeneticsItems.IntegratedCircuit.get(1), 'd', GeneticsItems.LaboratoryCasing.get(1) + })); - GameRegistry.addRecipe(new ShapedOreRecipe( - GeneticsItems.IntegratedCPU.get(1), - new Object[]{ - "ccc", "cdc", "ccc", - 'c', GeneticsItems.IntegratedCircuit.get(1), - 'd', Items.diamond - } - )); + GameRegistry.addRecipe(new ShapedOreRecipe( + GeneticsItems.IntegratedCPU.get(1), + new Object[] {"ccc", "cdc", "ccc", 'c', GeneticsItems.IntegratedCircuit.get(1), 'd', Items.diamond})); - RecipeManagers.carpenterManager.addRecipe( - 100, - Binnie.Liquid.getLiquidStack("water", 2000), - null, - new ItemStack(Genetics.database), - "X#X", "YEY", "RDR", - '#', Blocks.glass_pane, - 'X', Items.diamond, - 'Y', Items.diamond, - 'R', Items.redstone, - 'D', Items.ender_eye, - 'E', Blocks.obsidian - ); + RecipeManagers.carpenterManager.addRecipe( + 100, + Binnie.Liquid.getLiquidStack("water", 2000), + null, + new ItemStack(Genetics.database), + "X#X", + "YEY", + "RDR", + '#', + Blocks.glass_pane, + 'X', + Items.diamond, + 'Y', + Items.diamond, + 'R', + Items.redstone, + 'D', + Items.ender_eye, + 'E', + Blocks.obsidian); - GameRegistry.addSmelting(Genetics.itemSequencer, GeneticsItems.EmptySequencer.get(1), 0.0f); - GameRegistry.addSmelting(Genetics.itemSerum, GeneticsItems.EmptySerum.get(1), 0.0f); - GameRegistry.addSmelting(Genetics.itemSerumArray, GeneticsItems.EmptyGenome.get(1), 0.0f); + GameRegistry.addSmelting(Genetics.itemSequencer, GeneticsItems.EmptySequencer.get(1), 0.0f); + GameRegistry.addSmelting(Genetics.itemSerum, GeneticsItems.EmptySerum.get(1), 0.0f); + GameRegistry.addSmelting(Genetics.itemSerumArray, GeneticsItems.EmptyGenome.get(1), 0.0f); - // TODONE refactor refactor refactor this! - // CombatZAK up to the task! - Item beealyzer = Mods.forestry.item("beealyzer"); - Item treealyzer = Mods.forestry.item("treealyzer"); + // TODONE refactor refactor refactor this! + // CombatZAK up to the task! + Item beealyzer = Mods.forestry.item("beealyzer"); + Item treealyzer = Mods.forestry.item("treealyzer"); - //This bit prevents a crash if the Forestry butterflies module is disabled. You can use whatever placeholder item you but a diamond seems reasonable - //theoretically similar checks could be performed for Apiculture and Arboriculture; but I will leave that to the mod owner to decide - Item flutterlyzer = BinnieCore.isLepidopteryActive() ? Mods.forestry.item("flutterlyzer") //grab the forestry flutterlyzer ONLY IF lepidopterology is active - : Items.diamond; //otherwise just replace it with another diamond + // This bit prevents a crash if the Forestry butterflies module is disabled. You can use whatever placeholder + // item you but a diamond seems reasonable + // theoretically similar checks could be performed for Apiculture and Arboriculture; but I will leave that to + // the mod owner to decide + Item flutterlyzer = BinnieCore.isLepidopteryActive() + ? Mods.forestry.item("flutterlyzer") // grab the forestry flutterlyzer ONLY IF lepidopterology is active + : Items.diamond; // otherwise just replace it with another diamond - ItemStack circuit = GeneticsItems.IntegratedCircuit.get(1); //get a reference to Integrated circuit - Item diamond = Items.diamond; //save a reference to diamond + ItemStack circuit = GeneticsItems.IntegratedCircuit.get(1); // get a reference to Integrated circuit + Item diamond = Items.diamond; // save a reference to diamond - ItemStack analyst = new ItemStack(Genetics.analyst); //save a reference to the analyst, will make the next bit easier + ItemStack analyst = + new ItemStack(Genetics.analyst); // save a reference to the analyst, will make the next bit easier - //the following code is a sufficient replacement for the 3 nested loops that preceded it; arguably this is still - //more trouble than it's worth. A single recipe is probably fine, with the analyzers in a specific arrangement, - //but I will leave it to the mod owner to make that call + // the following code is a sufficient replacement for the 3 nested loops that preceded it; arguably this is + // still + // more trouble than it's worth. A single recipe is probably fine, with the analyzers in a specific arrangement, + // but I will leave it to the mod owner to make that call - //there are literally only six permutations for this recipe, so let's just write them all out and save ourselves - //some cycles rather than spinning through an n^3 loop wasting most of the combinations. - //expand the first one out for readability, but the following five are compressed to a single line - GameRegistry.addShapedRecipe(analyst, - " b ", "tcf", " d ", - 'b', beealyzer, - 't', treealyzer, - 'f', flutterlyzer, - 'c', circuit, - 'd', diamond); + // there are literally only six permutations for this recipe, so let's just write them all out and save + // ourselves + // some cycles rather than spinning through an n^3 loop wasting most of the combinations. + // expand the first one out for readability, but the following five are compressed to a single line + GameRegistry.addShapedRecipe( + analyst, + " b ", + "tcf", + " d ", + 'b', + beealyzer, + 't', + treealyzer, + 'f', + flutterlyzer, + 'c', + circuit, + 'd', + diamond); - GameRegistry.addShapedRecipe(analyst, " b ", "fct", " d ", 'b', beealyzer, 't', treealyzer, 'f', flutterlyzer, 'c', circuit, 'd', diamond); - GameRegistry.addShapedRecipe(analyst, " t ", "bcf", " d ", 'b', beealyzer, 't', treealyzer, 'f', flutterlyzer, 'c', circuit, 'd', diamond); - GameRegistry.addShapedRecipe(analyst, " t ", "fcb", " d ", 'b', beealyzer, 't', treealyzer, 'f', flutterlyzer, 'c', circuit, 'd', diamond); - GameRegistry.addShapedRecipe(analyst, " f ", "bct", " d ", 'b', beealyzer, 't', treealyzer, 'f', flutterlyzer, 'c', circuit, 'd', diamond); - GameRegistry.addShapedRecipe(analyst, " f ", "tcb", " d ", 'b', beealyzer, 't', treealyzer, 'f', flutterlyzer, 'c', circuit, 'd', diamond); + GameRegistry.addShapedRecipe( + analyst, + " b ", + "fct", + " d ", + 'b', + beealyzer, + 't', + treealyzer, + 'f', + flutterlyzer, + 'c', + circuit, + 'd', + diamond); + GameRegistry.addShapedRecipe( + analyst, + " t ", + "bcf", + " d ", + 'b', + beealyzer, + 't', + treealyzer, + 'f', + flutterlyzer, + 'c', + circuit, + 'd', + diamond); + GameRegistry.addShapedRecipe( + analyst, + " t ", + "fcb", + " d ", + 'b', + beealyzer, + 't', + treealyzer, + 'f', + flutterlyzer, + 'c', + circuit, + 'd', + diamond); + GameRegistry.addShapedRecipe( + analyst, + " f ", + "bct", + " d ", + 'b', + beealyzer, + 't', + treealyzer, + 'f', + flutterlyzer, + 'c', + circuit, + 'd', + diamond); + GameRegistry.addShapedRecipe( + analyst, + " f ", + "tcb", + " d ", + 'b', + beealyzer, + 't', + treealyzer, + 'f', + flutterlyzer, + 'c', + circuit, + 'd', + diamond); - //get some references to dictionary/databases for the various modules; these names are very inconsistent for like items. - //should be refactored in their respective modules. - ItemStack registry = new ItemStack(Genetics.registry); - Item beeDb = ExtraBees.dictionary; - Item treeDb = ExtraTrees.itemDictionary; - Item flwrDb = Botany.database; + // get some references to dictionary/databases for the various modules; these names are very inconsistent for + // like items. + // should be refactored in their respective modules. + ItemStack registry = new ItemStack(Genetics.registry); + Item beeDb = ExtraBees.dictionary; + Item treeDb = ExtraTrees.itemDictionary; + Item flwrDb = Botany.database; - //do a check to ensure that the butterfly module is enabled before using the butterfly dictionary. - //a similar check could be done for arboriculture and apiculture as well, but that is left to the mod owner - Item lepiDb = BinnieCore.isLepidopteryActive() ? ExtraTrees.itemDictionaryLepi - : Items.diamond; //just use a diamond if Butterflies is disabled - //going to use the circuit reference above as well + // do a check to ensure that the butterfly module is enabled before using the butterfly dictionary. + // a similar check could be done for arboriculture and apiculture as well, but that is left to the mod owner + Item lepiDb = BinnieCore.isLepidopteryActive() + ? ExtraTrees.itemDictionaryLepi + : Items.diamond; // just use a diamond if Butterflies is disabled + // going to use the circuit reference above as well - //as above, there are only 24 permutations here; let's find a way to just get those recipes rather than trying - //256 combinations in an n^4 loop. This will help performance and maybe be a bit more maintainable. - if (BinnieCore.isBotanyActive() && BinnieCore.isExtraBeesActive() && BinnieCore.isExtraTreesActive()) { - //24 full recipe lines is a bit much to maintain; so we'll use a loop here, but we're only going - //to run it 24 times. Start by making an array of all 24 valid dictionary permutations... - String[] permutations = new String[]{ - "btlf", "btfl", "bltf", "blft", "bftl", "bflt", - "tblf", "tbfl", "tlbf", "tlfb", "tfbl", "tflb", - "lbtf", "lbft", "ltbf", "ltfb", "lfbt", "lftb", - "fbtl", "fblt", "ftbl", "ftlb", "flbt", "fltb" - }; + // as above, there are only 24 permutations here; let's find a way to just get those recipes rather than trying + // 256 combinations in an n^4 loop. This will help performance and maybe be a bit more maintainable. + if (BinnieCore.isBotanyActive() && BinnieCore.isExtraBeesActive() && BinnieCore.isExtraTreesActive()) { + // 24 full recipe lines is a bit much to maintain; so we'll use a loop here, but we're only going + // to run it 24 times. Start by making an array of all 24 valid dictionary permutations... + String[] permutations = new String[] { + "btlf", "btfl", "bltf", "blft", "bftl", "bflt", + "tblf", "tbfl", "tlbf", "tlfb", "tfbl", "tflb", + "lbtf", "lbft", "ltbf", "ltfb", "lfbt", "lftb", + "fbtl", "fblt", "ftbl", "ftlb", "flbt", "fltb" + }; - //now go through each of the permutations and create a recipe - for (String p : permutations) { - GameRegistry.addShapedRecipe(registry, //adding the recipe with registry as output - //this line is the 3-string arrangement, with the characters pulled from the current permutation - String.format(" %c ", p.charAt(0)), String.format("%cc%c", p.charAt(1), p.charAt(2)), String.format(" %c ", p.charAt(3)), - 'b', beeDb, - 't', treeDb, - 'l', lepiDb, - 'f', flwrDb, - 'c', circuit); - } - } - } + // now go through each of the permutations and create a recipe + for (String p : permutations) { + GameRegistry.addShapedRecipe( + registry, // adding the recipe with registry as output + // this line is the 3-string arrangement, with the characters pulled from the current + // permutation + String.format(" %c ", p.charAt(0)), + String.format("%cc%c", p.charAt(1), p.charAt(2)), + String.format(" %c ", p.charAt(3)), + 'b', + beeDb, + 't', + treeDb, + 'l', + lepiDb, + 'f', + flwrDb, + 'c', + circuit); + } + } + } } diff --git a/src/main/java/binnie/genetics/machine/AdvGeneticMachine.java b/src/main/java/binnie/genetics/machine/AdvGeneticMachine.java index 5ea9fbf3..0c2e29d5 100644 --- a/src/main/java/binnie/genetics/machine/AdvGeneticMachine.java +++ b/src/main/java/binnie/genetics/machine/AdvGeneticMachine.java @@ -8,31 +8,31 @@ import binnie.genetics.machine.splicer.SplicerPackage; import net.minecraft.item.ItemStack; public enum AdvGeneticMachine implements IMachineType { - Splicer(SplicerPackage.class); + Splicer(SplicerPackage.class); - protected Class cls; + protected Class cls; - AdvGeneticMachine(Class cls) { - this.cls = cls; - } + AdvGeneticMachine(Class cls) { + this.cls = cls; + } - @Override - public Class getPackageClass() { - return cls; - } + @Override + public Class getPackageClass() { + return cls; + } - @Override - public boolean isActive() { - return true; - } + @Override + public boolean isActive() { + return true; + } - public ItemStack get(int i) { - return new ItemStack(Genetics.packageAdvGenetic.getBlock(), i, ordinal()); - } + public ItemStack get(int i) { + return new ItemStack(Genetics.packageAdvGenetic.getBlock(), i, ordinal()); + } - public abstract static class PackageAdvGeneticBase extends PackageGeneticBase { - protected PackageAdvGeneticBase(String uid, IBinnieTexture renderTexture, int flashColor, boolean powered) { - super(uid, renderTexture, flashColor, powered); - } - } + public abstract static class PackageAdvGeneticBase extends PackageGeneticBase { + protected PackageAdvGeneticBase(String uid, IBinnieTexture renderTexture, int flashColor, boolean powered) { + super(uid, renderTexture, flashColor, powered); + } + } } diff --git a/src/main/java/binnie/genetics/machine/ComponentGUIHolder.java b/src/main/java/binnie/genetics/machine/ComponentGUIHolder.java index 7e7429ab..9531b5a1 100644 --- a/src/main/java/binnie/genetics/machine/ComponentGUIHolder.java +++ b/src/main/java/binnie/genetics/machine/ComponentGUIHolder.java @@ -10,6 +10,9 @@ import binnie.extrabees.ExtraBees; import binnie.extratrees.ExtraTrees; import binnie.genetics.Genetics; import buildcraft.api.tools.IToolWrench; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -18,131 +21,128 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - public class ComponentGUIHolder extends MachineComponent implements INetwork.TilePacketSync, IInteraction.RightClick { - private ItemStack stack; + private ItemStack stack; - public ComponentGUIHolder(IMachine machine) { - super(machine); - } + public ComponentGUIHolder(IMachine machine) { + super(machine); + } - public ItemStack getStack() { - return stack; - } + public ItemStack getStack() { + return stack; + } - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - if (nbttagcompound == null) { - return; - } - stack = ItemStack.loadItemStackFromNBT(nbttagcompound.getCompoundTag("Item")); - } + @Override + public void readFromNBT(NBTTagCompound nbttagcompound) { + super.readFromNBT(nbttagcompound); + if (nbttagcompound == null) { + return; + } + stack = ItemStack.loadItemStackFromNBT(nbttagcompound.getCompoundTag("Item")); + } - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - NBTTagCompound nbt = new NBTTagCompound(); - if (stack != null) { - stack.writeToNBT(nbt); - } - nbttagcompound.setTag("Item", nbt); - } + @Override + public void writeToNBT(NBTTagCompound nbttagcompound) { + super.writeToNBT(nbttagcompound); + NBTTagCompound nbt = new NBTTagCompound(); + if (stack != null) { + stack.writeToNBT(nbt); + } + nbttagcompound.setTag("Item", nbt); + } - @Override - public void syncToNBT(NBTTagCompound nbt) { - writeToNBT(nbt); - } + @Override + public void syncToNBT(NBTTagCompound nbt) { + writeToNBT(nbt); + } - @Override - public void syncFromNBT(NBTTagCompound nbt) { - readFromNBT(nbt); - } + @Override + public void syncFromNBT(NBTTagCompound nbt) { + readFromNBT(nbt); + } - @Override - public void onDestruction() { - super.onDestruction(); - if (stack == null) { - return; - } - - IMachine machine = getMachine(); - TileEntity tile = machine.getTileEntity(); - World world = machine.getWorld(); - Random rand = world.rand; - float xOffset = rand.nextFloat() * 0.8f + 0.1f; - float yOffset = rand.nextFloat() * 0.8f + 0.1f; - float zOffset = rand.nextFloat() * 0.8f + 0.1f; - if (stack.stackSize == 0) { - stack.stackSize = 1; - } + @Override + public void onDestruction() { + super.onDestruction(); + if (stack == null) { + return; + } - EntityItem entityitem = new EntityItem(world, tile.xCoord + xOffset, tile.yCoord + yOffset, tile.zCoord + zOffset, stack.copy()); - float accel = 0.05f; - entityitem.motionX = (float) rand.nextGaussian() * accel; - entityitem.motionY = (float) rand.nextGaussian() * accel + 0.2f; - entityitem.motionZ = (float) rand.nextGaussian() * accel; - world.spawnEntityInWorld(entityitem); - } + IMachine machine = getMachine(); + TileEntity tile = machine.getTileEntity(); + World world = machine.getWorld(); + Random rand = world.rand; + float xOffset = rand.nextFloat() * 0.8f + 0.1f; + float yOffset = rand.nextFloat() * 0.8f + 0.1f; + float zOffset = rand.nextFloat() * 0.8f + 0.1f; + if (stack.stackSize == 0) { + stack.stackSize = 1; + } - @Override - public void onRightClick(World world, EntityPlayer player, int x, int y, int z) { - if (BinnieCore.proxy.isSimulating(world) && player.getHeldItem() != null) { - if (stack != null && player.getHeldItem().getItem() instanceof IToolWrench) { - Random rand = world.rand; - float f = 0.7f; - double fOffset = (1.0f - f) * 0.5; - double xOffset = rand.nextFloat() * f + fOffset; - double yOffset = rand.nextFloat() * f + fOffset; - double zOffset = rand.nextFloat() * f + fOffset; + EntityItem entityitem = new EntityItem( + world, tile.xCoord + xOffset, tile.yCoord + yOffset, tile.zCoord + zOffset, stack.copy()); + float accel = 0.05f; + entityitem.motionX = (float) rand.nextGaussian() * accel; + entityitem.motionY = (float) rand.nextGaussian() * accel + 0.2f; + entityitem.motionZ = (float) rand.nextGaussian() * accel; + world.spawnEntityInWorld(entityitem); + } - EntityItem entityitem = new EntityItem(world, x + xOffset, y + yOffset, z + zOffset, stack); - entityitem.delayBeforeCanPickup = 10; - world.spawnEntityInWorld(entityitem); - stack = null; - ((IToolWrench) player.getHeldItem().getItem()).wrenchUsed(player, x, y, z); - getUtil().refreshBlock(); - return; - } + @Override + public void onRightClick(World world, EntityPlayer player, int x, int y, int z) { + if (BinnieCore.proxy.isSimulating(world) && player.getHeldItem() != null) { + if (stack != null && player.getHeldItem().getItem() instanceof IToolWrench) { + Random rand = world.rand; + float f = 0.7f; + double fOffset = (1.0f - f) * 0.5; + double xOffset = rand.nextFloat() * f + fOffset; + double yOffset = rand.nextFloat() * f + fOffset; + double zOffset = rand.nextFloat() * f + fOffset; - List validSelections = new ArrayList<>(); - if (BinnieCore.isBotanyActive()) { - validSelections.add(Botany.database); - } - if (BinnieCore.isExtraBeesActive()) { - validSelections.add(ExtraBees.dictionary); - } - if (BinnieCore.isExtraTreesActive()) { - validSelections.add(ExtraTrees.itemDictionary); - } - if (BinnieCore.isLepidopteryActive()) { - validSelections.add(ExtraTrees.itemDictionaryLepi); - } + EntityItem entityitem = new EntityItem(world, x + xOffset, y + yOffset, z + zOffset, stack); + entityitem.delayBeforeCanPickup = 10; + world.spawnEntityInWorld(entityitem); + stack = null; + ((IToolWrench) player.getHeldItem().getItem()).wrenchUsed(player, x, y, z); + getUtil().refreshBlock(); + return; + } - validSelections.add(Genetics.database); - validSelections.add(Genetics.analyst); - validSelections.add(Genetics.registry); - validSelections.add(Genetics.masterRegistry); - validSelections.add(BinnieCore.genesis); + List validSelections = new ArrayList<>(); + if (BinnieCore.isBotanyActive()) { + validSelections.add(Botany.database); + } + if (BinnieCore.isExtraBeesActive()) { + validSelections.add(ExtraBees.dictionary); + } + if (BinnieCore.isExtraTreesActive()) { + validSelections.add(ExtraTrees.itemDictionary); + } + if (BinnieCore.isLepidopteryActive()) { + validSelections.add(ExtraTrees.itemDictionaryLepi); + } - if (stack == null && validSelections.contains(player.getHeldItem().getItem())) { - stack = player.getHeldItem().copy(); - ItemStack heldItem = player.getHeldItem(); - heldItem.stackSize--; - world.markBlockForUpdate(x, y, z); - return; - } + validSelections.add(Genetics.database); + validSelections.add(Genetics.analyst); + validSelections.add(Genetics.registry); + validSelections.add(Genetics.masterRegistry); + validSelections.add(BinnieCore.genesis); - if (stack != null && player.getHeldItem().getItem() instanceof IToolWrench) { - stack.getItem().onItemRightClick(stack, world, player); - } - } + if (stack == null && validSelections.contains(player.getHeldItem().getItem())) { + stack = player.getHeldItem().copy(); + ItemStack heldItem = player.getHeldItem(); + heldItem.stackSize--; + world.markBlockForUpdate(x, y, z); + return; + } - if (stack != null) { - stack.getItem().onItemRightClick(stack, world, player); - } - } + if (stack != null && player.getHeldItem().getItem() instanceof IToolWrench) { + stack.getItem().onItemRightClick(stack, world, player); + } + } + + if (stack != null) { + stack.getItem().onItemRightClick(stack, world, player); + } + } } diff --git a/src/main/java/binnie/genetics/machine/ComponentGeneticGUI.java b/src/main/java/binnie/genetics/machine/ComponentGeneticGUI.java index f94e2b98..602fc118 100644 --- a/src/main/java/binnie/genetics/machine/ComponentGeneticGUI.java +++ b/src/main/java/binnie/genetics/machine/ComponentGeneticGUI.java @@ -9,15 +9,15 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; public class ComponentGeneticGUI extends MachineComponent implements IInteraction.RightClick { - public GeneticsGUI id; + public GeneticsGUI id; - public ComponentGeneticGUI(Machine machine, GeneticsGUI id) { - super(machine); - this.id = id; - } + public ComponentGeneticGUI(Machine machine, GeneticsGUI id) { + super(machine); + this.id = id; + } - @Override - public void onRightClick(World world, EntityPlayer player, int x, int y, int z) { - Genetics.proxy.openGui(id, player, x, y, z); - } + @Override + public void onRightClick(World world, EntityPlayer player, int x, int y, int z) { + Genetics.proxy.openGui(id, player, x, y, z); + } } diff --git a/src/main/java/binnie/genetics/machine/GeneticMachine.java b/src/main/java/binnie/genetics/machine/GeneticMachine.java index 159a446b..ae03193d 100644 --- a/src/main/java/binnie/genetics/machine/GeneticMachine.java +++ b/src/main/java/binnie/genetics/machine/GeneticMachine.java @@ -10,28 +10,28 @@ import binnie.genetics.machine.sequencer.SequencerPackage; import net.minecraft.item.ItemStack; public enum GeneticMachine implements IMachineType { - Isolator(IsolatorPackage.class), - Sequencer(SequencerPackage.class), - Polymeriser(PolymeriserPackage.class), - Inoculator(InoculatorPackage.class); + Isolator(IsolatorPackage.class), + Sequencer(SequencerPackage.class), + Polymeriser(PolymeriserPackage.class), + Inoculator(InoculatorPackage.class); - protected Class clss; + protected Class clss; - GeneticMachine(Class clss) { - this.clss = clss; - } + GeneticMachine(Class clss) { + this.clss = clss; + } - @Override - public Class getPackageClass() { - return clss; - } + @Override + public Class getPackageClass() { + return clss; + } - @Override - public boolean isActive() { - return true; - } + @Override + public boolean isActive() { + return true; + } - public ItemStack get(int i) { - return new ItemStack(Genetics.packageGenetic.getBlock(), i, ordinal()); - } + public ItemStack get(int i) { + return new ItemStack(Genetics.packageGenetic.getBlock(), i, ordinal()); + } } diff --git a/src/main/java/binnie/genetics/machine/LaboratoryMachine.java b/src/main/java/binnie/genetics/machine/LaboratoryMachine.java index 94a4a2da..1265b994 100644 --- a/src/main/java/binnie/genetics/machine/LaboratoryMachine.java +++ b/src/main/java/binnie/genetics/machine/LaboratoryMachine.java @@ -11,29 +11,29 @@ import binnie.genetics.machine.lab.LabMachinePackage; import net.minecraft.item.ItemStack; public enum LaboratoryMachine implements IMachineType { - LabMachine(LabMachinePackage.class), - Analyser(AnalyserPackage.class), - Incubator(IncubatorPackage.class), - Genepool(GenepoolPackage.class), - Acclimatiser(AcclimatiserPackage.class); + LabMachine(LabMachinePackage.class), + Analyser(AnalyserPackage.class), + Incubator(IncubatorPackage.class), + Genepool(GenepoolPackage.class), + Acclimatiser(AcclimatiserPackage.class); - private Class clss; + private Class clss; - LaboratoryMachine(Class clss) { - this.clss = clss; - } + LaboratoryMachine(Class clss) { + this.clss = clss; + } - @Override - public Class getPackageClass() { - return clss; - } + @Override + public Class getPackageClass() { + return clss; + } - @Override - public boolean isActive() { - return true; - } + @Override + public boolean isActive() { + return true; + } - public ItemStack get(int i) { - return new ItemStack(Genetics.packageLabMachine.getBlock(), i, ordinal()); - } + public ItemStack get(int i) { + return new ItemStack(Genetics.packageLabMachine.getBlock(), i, ordinal()); + } } diff --git a/src/main/java/binnie/genetics/machine/MachineRendererGenetics.java b/src/main/java/binnie/genetics/machine/MachineRendererGenetics.java index 1d6501f0..30d4c8bb 100644 --- a/src/main/java/binnie/genetics/machine/MachineRendererGenetics.java +++ b/src/main/java/binnie/genetics/machine/MachineRendererGenetics.java @@ -13,46 +13,47 @@ import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class MachineRendererGenetics { - public static MachineRendererGenetics instance = new MachineRendererGenetics(); + public static MachineRendererGenetics instance = new MachineRendererGenetics(); - public RenderItem customRenderItem; + public RenderItem customRenderItem; - private ModelMachine model; + private ModelMachine model; - public MachineRendererGenetics() { - model = new ModelMachine(); - customRenderItem = new RenderItem() { - @Override - public boolean shouldBob() { - return false; - } + public MachineRendererGenetics() { + model = new ModelMachine(); + customRenderItem = new RenderItem() { + @Override + public boolean shouldBob() { + return false; + } - @Override - public boolean shouldSpreadItems() { - return false; - } - }; - customRenderItem.setRenderManager(RenderManager.instance); - } + @Override + public boolean shouldSpreadItems() { + return false; + } + }; + customRenderItem.setRenderManager(RenderManager.instance); + } - public void renderMachine(Machine machine, int colour, BinnieResource texture, double x, double y, double z, float var8) { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5); - GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); - BinnieCore.proxy.bindTexture(texture); - GL11.glPushMatrix(); - model.render((float) x, (float) y, (float) z, 0.0625f, 0.0625f, 0.0625f); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - BinnieCore.proxy.getMinecraftInstance(); + public void renderMachine( + Machine machine, int colour, BinnieResource texture, double x, double y, double z, float var8) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5); + GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); + BinnieCore.proxy.bindTexture(texture); + GL11.glPushMatrix(); + model.render((float) x, (float) y, (float) z, 0.0625f, 0.0625f, 0.0625f); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + BinnieCore.proxy.getMinecraftInstance(); - if (Minecraft.isFancyGraphicsEnabled()) { - for (IRender.Render render : machine.getInterfaces(IRender.Render.class)) { - render.renderInWorld(customRenderItem, x, y, z); - } - } + if (Minecraft.isFancyGraphicsEnabled()) { + for (IRender.Render render : machine.getInterfaces(IRender.Render.class)) { + render.renderInWorld(customRenderItem, x, y, z); + } + } - GL11.glPopMatrix(); - GL11.glPopMatrix(); - } + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } } diff --git a/src/main/java/binnie/genetics/machine/MachineRendererLab.java b/src/main/java/binnie/genetics/machine/MachineRendererLab.java index 74d1d8b7..d7b1fa69 100644 --- a/src/main/java/binnie/genetics/machine/MachineRendererLab.java +++ b/src/main/java/binnie/genetics/machine/MachineRendererLab.java @@ -16,99 +16,103 @@ import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class MachineRendererLab { - public static MachineRendererLab instance = new MachineRendererLab(); + public static MachineRendererLab instance = new MachineRendererLab(); - private EntityItem dummyEntityItem; - private EntityItem[] itemSides; - private RenderItem customRenderItem; - private long lastTick; - private ModelMachine model; + private EntityItem dummyEntityItem; + private EntityItem[] itemSides; + private RenderItem customRenderItem; + private long lastTick; + private ModelMachine model; - public MachineRendererLab() { - dummyEntityItem = new EntityItem(null); - itemSides = new EntityItem[]{new EntityItem(null), new EntityItem(null), new EntityItem(null), new EntityItem(null)}; - model = new ModelMachine(); - (customRenderItem = new RenderItem() { - @Override - public boolean shouldBob() { - return false; - } + public MachineRendererLab() { + dummyEntityItem = new EntityItem(null); + itemSides = + new EntityItem[] {new EntityItem(null), new EntityItem(null), new EntityItem(null), new EntityItem(null) + }; + model = new ModelMachine(); + (customRenderItem = new RenderItem() { + @Override + public boolean shouldBob() { + return false; + } - @Override - public boolean shouldSpreadItems() { - return false; - } - }).setRenderManager(RenderManager.instance); - } + @Override + public boolean shouldSpreadItems() { + return false; + } + }) + .setRenderManager(RenderManager.instance); + } - public void renderMachine(Machine machine, int colour, BinnieResource texture, double x, double y, double z, float var8) { - GL11.glPushMatrix(); - int ix = machine.getTileEntity().xCoord; - int iz = machine.getTileEntity().zCoord; + public void renderMachine( + Machine machine, int colour, BinnieResource texture, double x, double y, double z, float var8) { + GL11.glPushMatrix(); + int ix = machine.getTileEntity().xCoord; + int iz = machine.getTileEntity().zCoord; - GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5); - GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); - BinnieCore.proxy.bindTexture(texture); - GL11.glPushMatrix(); - model.render((float) x, (float) y, (float) z, 0.0625f, 0.0625f, 0.0625f); - GL11.glPopMatrix(); - World world = machine.getWorld(); - ComponentGUIHolder holder = Machine.getInterface(ComponentGUIHolder.class, machine); + GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5); + GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); + BinnieCore.proxy.bindTexture(texture); + GL11.glPushMatrix(); + model.render((float) x, (float) y, (float) z, 0.0625f, 0.0625f, 0.0625f); + GL11.glPopMatrix(); + World world = machine.getWorld(); + ComponentGUIHolder holder = Machine.getInterface(ComponentGUIHolder.class, machine); - // TODO remove label - Label_0591: - { - if (world != null && holder != null && holder.getStack() != null) { - BinnieCore.proxy.getMinecraftInstance(); - if (Minecraft.isFancyGraphicsEnabled()) { - ItemStack stack = holder.getStack(); - dummyEntityItem.worldObj = world; - dummyEntityItem.setEntityItemStack(stack); - if (world.getTotalWorldTime() != lastTick) { - lastTick = world.getTotalWorldTime(); - dummyEntityItem.onUpdate(); - } - dummyEntityItem.age = 0; - dummyEntityItem.hoverStart = 0.0f; - GL11.glPushMatrix(); - EntityPlayer player = BinnieCore.proxy.getPlayer(); - double dx = ix + 0.5 - player.lastTickPosX; - double dz = iz + 0.5 - player.lastTickPosZ; - double t = Math.atan2(dz, dx) * 180.0 / 3.1415; - GL11.glRotatef(90.0f, 1.0f, 0.0f, 0.0f); - GL11.glTranslatef(0.0f, 0.0f, -0.55f); - GL11.glRotatef(90.0f + (float) (-t), 0.0f, 0.0f, 1.0f); - GL11.glTranslatef(0.0f, -0.125f, 0.0f); - GL11.glScalef(1.2f, 1.2f, 1.2f); - GL11.glRotatef(45.0f, 1.0f, 0.0f, 0.0f); - GL11.glTranslatef(0.0f, 0.1f, 0.1f); - customRenderItem.doRender(dummyEntityItem, 0.0, 0.0, 0.0, 0.0f, 0.0f); - GL11.glPopMatrix(); - int rot = 0; + // TODO remove label + Label_0591: + { + if (world != null && holder != null && holder.getStack() != null) { + BinnieCore.proxy.getMinecraftInstance(); + if (Minecraft.isFancyGraphicsEnabled()) { + ItemStack stack = holder.getStack(); + dummyEntityItem.worldObj = world; + dummyEntityItem.setEntityItemStack(stack); + if (world.getTotalWorldTime() != lastTick) { + lastTick = world.getTotalWorldTime(); + dummyEntityItem.onUpdate(); + } + dummyEntityItem.age = 0; + dummyEntityItem.hoverStart = 0.0f; + GL11.glPushMatrix(); + EntityPlayer player = BinnieCore.proxy.getPlayer(); + double dx = ix + 0.5 - player.lastTickPosX; + double dz = iz + 0.5 - player.lastTickPosZ; + double t = Math.atan2(dz, dx) * 180.0 / 3.1415; + GL11.glRotatef(90.0f, 1.0f, 0.0f, 0.0f); + GL11.glTranslatef(0.0f, 0.0f, -0.55f); + GL11.glRotatef(90.0f + (float) (-t), 0.0f, 0.0f, 1.0f); + GL11.glTranslatef(0.0f, -0.125f, 0.0f); + GL11.glScalef(1.2f, 1.2f, 1.2f); + GL11.glRotatef(45.0f, 1.0f, 0.0f, 0.0f); + GL11.glTranslatef(0.0f, 0.1f, 0.1f); + customRenderItem.doRender(dummyEntityItem, 0.0, 0.0, 0.0, 0.0f, 0.0f); + GL11.glPopMatrix(); + int rot = 0; - for (EntityItem item : itemSides) { - GL11.glPushMatrix(); - item.worldObj = world; - item.setEntityItemStack(stack); - item.age = 0; - item.hoverStart = 0.0f; - GL11.glRotatef(rot, 0.0f, 1.0f, 0.0f); - GL11.glRotatef(180.0f, 1.0f, 0.0f, 0.0f); - GL11.glTranslated(0.0, -1.13, 0.4); - GL11.glScalef(0.8f, 0.8f, 0.8f); - customRenderItem.doRender(item, 0.0, 0.0, 0.0, 0.0f, 0.0f); - rot += 90; - GL11.glPopMatrix(); - } - break Label_0591; - } - } + for (EntityItem item : itemSides) { + GL11.glPushMatrix(); + item.worldObj = world; + item.setEntityItemStack(stack); + item.age = 0; + item.hoverStart = 0.0f; + GL11.glRotatef(rot, 0.0f, 1.0f, 0.0f); + GL11.glRotatef(180.0f, 1.0f, 0.0f, 0.0f); + GL11.glTranslated(0.0, -1.13, 0.4); + GL11.glScalef(0.8f, 0.8f, 0.8f); + customRenderItem.doRender(item, 0.0, 0.0, 0.0, 0.0f, 0.0f); + rot += 90; + GL11.glPopMatrix(); + } + break Label_0591; + } + } - dummyEntityItem.setEntityItemStack(null); - for (EntityItem item2 : itemSides) { - item2.setEntityItemStack(null); - } - } - GL11.glPopMatrix(); - } + dummyEntityItem.setEntityItemStack(null); + for (EntityItem item2 : itemSides) { + item2.setEntityItemStack(null); + } + } + GL11.glPopMatrix(); + } } diff --git a/src/main/java/binnie/genetics/machine/ModelMachine.java b/src/main/java/binnie/genetics/machine/ModelMachine.java index da6d1d35..6dfbbf61 100644 --- a/src/main/java/binnie/genetics/machine/ModelMachine.java +++ b/src/main/java/binnie/genetics/machine/ModelMachine.java @@ -4,87 +4,87 @@ import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; public class ModelMachine extends ModelBase { - private ModelRenderer base; - private ModelRenderer body; - private ModelRenderer arm1; - private ModelRenderer arm2; - private ModelRenderer arm3; - private ModelRenderer arm4; - private ModelRenderer top; + private ModelRenderer base; + private ModelRenderer body; + private ModelRenderer arm1; + private ModelRenderer arm2; + private ModelRenderer arm3; + private ModelRenderer arm4; + private ModelRenderer top; - public ModelMachine() { - textureWidth = 64; - textureHeight = 64; + public ModelMachine() { + textureWidth = 64; + textureHeight = 64; - base = new ModelRenderer(this, 0, 18); - base.addBox(0.0f, 0.0f, 0.0f, 16, 4, 16); - base.setRotationPoint(-8.0f, 20.0f, -8.0f); - base.setTextureSize(64, 64); - base.mirror = true; - setRotation(base, 0.0f, 0.0f, 0.0f); + base = new ModelRenderer(this, 0, 18); + base.addBox(0.0f, 0.0f, 0.0f, 16, 4, 16); + base.setRotationPoint(-8.0f, 20.0f, -8.0f); + base.setTextureSize(64, 64); + base.mirror = true; + setRotation(base, 0.0f, 0.0f, 0.0f); - body = new ModelRenderer(this, 0, 26); - body.addBox(0.0f, 0.0f, 0.0f, 12, 7, 12); - body.setRotationPoint(-6.0f, 13.0f, -6.0f); - body.setTextureSize(64, 64); - body.mirror = true; - setRotation(body, 0.0f, 0.0f, 0.0f); + body = new ModelRenderer(this, 0, 26); + body.addBox(0.0f, 0.0f, 0.0f, 12, 7, 12); + body.setRotationPoint(-6.0f, 13.0f, -6.0f); + body.setTextureSize(64, 64); + body.mirror = true; + setRotation(body, 0.0f, 0.0f, 0.0f); - arm1 = new ModelRenderer(this, 0, 0); - arm1.addBox(0.0f, 0.0f, 0.0f, 3, 6, 3); - arm1.setRotationPoint(5.0f, 8.0f, 5.0f); - arm1.setTextureSize(64, 64); - arm1.mirror = true; - setRotation(arm1, 0.0f, 0.0f, 0.0f); + arm1 = new ModelRenderer(this, 0, 0); + arm1.addBox(0.0f, 0.0f, 0.0f, 3, 6, 3); + arm1.setRotationPoint(5.0f, 8.0f, 5.0f); + arm1.setTextureSize(64, 64); + arm1.mirror = true; + setRotation(arm1, 0.0f, 0.0f, 0.0f); - arm2 = new ModelRenderer(this, 0, 0); - arm2.addBox(0.0f, 0.0f, 0.0f, 3, 6, 3); - arm2.setRotationPoint(-5.0f, 8.0f, 5.0f); - arm2.setTextureSize(64, 64); - arm2.mirror = true; - setRotation(arm2, 0.0f, -1.57075f, 0.0f); + arm2 = new ModelRenderer(this, 0, 0); + arm2.addBox(0.0f, 0.0f, 0.0f, 3, 6, 3); + arm2.setRotationPoint(-5.0f, 8.0f, 5.0f); + arm2.setTextureSize(64, 64); + arm2.mirror = true; + setRotation(arm2, 0.0f, -1.57075f, 0.0f); - arm3 = new ModelRenderer(this, 0, 0); - arm3.addBox(0.0f, 0.0f, 0.0f, 3, 6, 3); - arm3.setRotationPoint(-5.0f, 8.0f, -5.0f); - arm3.setTextureSize(64, 64); - arm3.mirror = true; - setRotation(arm3, 0.0f, -3.1415f, 0.0f); + arm3 = new ModelRenderer(this, 0, 0); + arm3.addBox(0.0f, 0.0f, 0.0f, 3, 6, 3); + arm3.setRotationPoint(-5.0f, 8.0f, -5.0f); + arm3.setTextureSize(64, 64); + arm3.mirror = true; + setRotation(arm3, 0.0f, -3.1415f, 0.0f); - arm4 = new ModelRenderer(this, 0, 0); - arm4.addBox(0.0f, 0.0f, 0.0f, 3, 6, 3); - arm4.setRotationPoint(5.0f, 8.0f, -5.0f); - arm4.setTextureSize(64, 64); - arm4.mirror = true; - setRotation(arm4, 0.0f, -4.7122498f, 0.0f); + arm4 = new ModelRenderer(this, 0, 0); + arm4.addBox(0.0f, 0.0f, 0.0f, 3, 6, 3); + arm4.setRotationPoint(5.0f, 8.0f, -5.0f); + arm4.setTextureSize(64, 64); + arm4.mirror = true; + setRotation(arm4, 0.0f, -4.7122498f, 0.0f); - top = new ModelRenderer(this, 0, 0); - top.addBox(0.0f, 0.0f, 0.0f, 14, 4, 14); - top.setRotationPoint(-7.0f, 9.0f, -7.0f); - top.setTextureSize(64, 64); - top.mirror = true; - setRotation(top, 0.0f, 0.0f, 0.0f); - } + top = new ModelRenderer(this, 0, 0); + top.addBox(0.0f, 0.0f, 0.0f, 14, 4, 14); + top.setRotationPoint(-7.0f, 9.0f, -7.0f); + top.setTextureSize(64, 64); + top.mirror = true; + setRotation(top, 0.0f, 0.0f, 0.0f); + } - public void render(float f, float f1, float f2, float f3, float f4, float f5) { - super.render(null, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5); - base.render(f5); - body.render(f5); - arm1.render(f5); - arm2.render(f5); - arm3.render(f5); - arm4.render(f5); - top.render(f5); - } + public void render(float f, float f1, float f2, float f3, float f4, float f5) { + super.render(null, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5); + base.render(f5); + body.render(f5); + arm1.render(f5); + arm2.render(f5); + arm3.render(f5); + arm4.render(f5); + top.render(f5); + } - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } + private void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, null); - } + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5) { + super.setRotationAngles(f, f1, f2, f3, f4, f5, null); + } } diff --git a/src/main/java/binnie/genetics/machine/ModuleMachine.java b/src/main/java/binnie/genetics/machine/ModuleMachine.java index 96645a24..db135aa5 100644 --- a/src/main/java/binnie/genetics/machine/ModuleMachine.java +++ b/src/main/java/binnie/genetics/machine/ModuleMachine.java @@ -18,178 +18,221 @@ import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; public class ModuleMachine implements IInitializable { - public static ValidatorIcon IconDye; - public static ValidatorIcon IconSequencer; - public static ValidatorIcon IconSerum; - public static ValidatorIcon IconEnzyme; - public static ValidatorIcon IconBacteria; - public static ValidatorIcon IconNugget; + public static ValidatorIcon IconDye; + public static ValidatorIcon IconSequencer; + public static ValidatorIcon IconSerum; + public static ValidatorIcon IconEnzyme; + public static ValidatorIcon IconBacteria; + public static ValidatorIcon IconNugget; - @Override - public void preInit() { - Genetics.packageGenetic = new MachineGroup(Genetics.instance, "machine", "machine", GeneticMachine.values()); - Genetics.packageGenetic.setCreativeTab(GeneticsCreativeTab.instance); + @Override + public void preInit() { + Genetics.packageGenetic = new MachineGroup(Genetics.instance, "machine", "machine", GeneticMachine.values()); + Genetics.packageGenetic.setCreativeTab(GeneticsCreativeTab.instance); - Genetics.packageLabMachine = new MachineGroup(Genetics.instance, "labMachine", "labMachine", LaboratoryMachine.values()); - Genetics.packageLabMachine.setCreativeTab(GeneticsCreativeTab.instance); + Genetics.packageLabMachine = + new MachineGroup(Genetics.instance, "labMachine", "labMachine", LaboratoryMachine.values()); + Genetics.packageLabMachine.setCreativeTab(GeneticsCreativeTab.instance); - Genetics.packageAdvGenetic = new MachineGroup(Genetics.instance, "advMachine", "advMachine", AdvGeneticMachine.values()); - Genetics.packageAdvGenetic.setCreativeTab(GeneticsCreativeTab.instance); - } + Genetics.packageAdvGenetic = + new MachineGroup(Genetics.instance, "advMachine", "advMachine", AdvGeneticMachine.values()); + Genetics.packageAdvGenetic.setCreativeTab(GeneticsCreativeTab.instance); + } - @Override - public void init() { - ModuleMachine.IconSequencer = new ValidatorIcon(Genetics.instance, "validator/sequencer.0", "validator/sequencer.1"); - ModuleMachine.IconSerum = new ValidatorIcon(Genetics.instance, "validator/serum.0", "validator/serum.1"); - ModuleMachine.IconEnzyme = new ValidatorIcon(Genetics.instance, "validator/enzyme.0", "validator/enzyme.1"); - ModuleMachine.IconDye = new ValidatorIcon(Genetics.instance, "validator/dye.0", "validator/dye.1"); - ModuleMachine.IconNugget = new ValidatorIcon(Genetics.instance, "validator/nugget.0", "validator/nugget.1"); - ModuleMachine.IconBacteria = new ValidatorIcon(Genetics.instance, "validator/bacteria.0", "validator/bacteria.1"); - Incubator.addRecipes(); - } + @Override + public void init() { + ModuleMachine.IconSequencer = + new ValidatorIcon(Genetics.instance, "validator/sequencer.0", "validator/sequencer.1"); + ModuleMachine.IconSerum = new ValidatorIcon(Genetics.instance, "validator/serum.0", "validator/serum.1"); + ModuleMachine.IconEnzyme = new ValidatorIcon(Genetics.instance, "validator/enzyme.0", "validator/enzyme.1"); + ModuleMachine.IconDye = new ValidatorIcon(Genetics.instance, "validator/dye.0", "validator/dye.1"); + ModuleMachine.IconNugget = new ValidatorIcon(Genetics.instance, "validator/nugget.0", "validator/nugget.1"); + ModuleMachine.IconBacteria = + new ValidatorIcon(Genetics.instance, "validator/bacteria.0", "validator/bacteria.1"); + Incubator.addRecipes(); + } - @Override - public void postInit() { - Acclimatiser.setupRecipes(); - Object[] standardCircuit = {Mods.forestry.stack("chipsets", 1, 1)}; - Object[] advCircuit = {GeneticsItems.IntegratedCircuit.get(1)}; - String ironGear = OreDictionary.getOres("gearIron").isEmpty() ? "gearIron" : "ingotIron"; - String goldGear = OreDictionary.getOres("gearGold").isEmpty() ? "gearIron" : "ingotIron"; - String diamondGear = OreDictionary.getOres("gearDiamond").isEmpty() ? "gearIron" : "ingotIron"; + @Override + public void postInit() { + Acclimatiser.setupRecipes(); + Object[] standardCircuit = {Mods.forestry.stack("chipsets", 1, 1)}; + Object[] advCircuit = {GeneticsItems.IntegratedCircuit.get(1)}; + String ironGear = OreDictionary.getOres("gearIron").isEmpty() ? "gearIron" : "ingotIron"; + String goldGear = OreDictionary.getOres("gearGold").isEmpty() ? "gearIron" : "ingotIron"; + String diamondGear = OreDictionary.getOres("gearDiamond").isEmpty() ? "gearIron" : "ingotIron"; - for (Object circuit : standardCircuit) { - GameRegistry.addRecipe(new ShapedOreRecipe( - LaboratoryMachine.Incubator.get(1), - new Object[]{ - "gFg", "cCc", "aPa", - 'C', GeneticsItems.LaboratoryCasing.get(1), - 'F', Blocks.furnace, - 'c', circuit, - 'g', Blocks.glass_pane, - 'P', "gearBronze", - 'a', ironGear - } - )); + for (Object circuit : standardCircuit) { + GameRegistry.addRecipe(new ShapedOreRecipe(LaboratoryMachine.Incubator.get(1), new Object[] { + "gFg", + "cCc", + "aPa", + 'C', + GeneticsItems.LaboratoryCasing.get(1), + 'F', + Blocks.furnace, + 'c', + circuit, + 'g', + Blocks.glass_pane, + 'P', + "gearBronze", + 'a', + ironGear + })); - Item alyzer = null; - if (BinnieCore.isApicultureActive()) { - alyzer = Mods.forestry.item("beealyzer"); - } else if (BinnieCore.isArboricultureActive()) { - alyzer = Mods.forestry.item("treealyzer"); - } else if (BinnieCore.isArboricultureActive()) { - alyzer = Mods.forestry.item("flutterlyzer"); - } + Item alyzer = null; + if (BinnieCore.isApicultureActive()) { + alyzer = Mods.forestry.item("beealyzer"); + } else if (BinnieCore.isArboricultureActive()) { + alyzer = Mods.forestry.item("treealyzer"); + } else if (BinnieCore.isArboricultureActive()) { + alyzer = Mods.forestry.item("flutterlyzer"); + } - if (alyzer != null) { - GameRegistry.addRecipe(new ShapedOreRecipe( - LaboratoryMachine.Analyser.get(1), - new Object[]{ - "gBg", "cCc", "aPa", - 'C', GeneticsItems.LaboratoryCasing.get(1), - 'B', alyzer, - 'c', circuit, - 'g', Blocks.glass_pane, - 'P', "gearBronze", - 'a', GeneticsItems.DNADye.get(1) - } - )); - } + if (alyzer != null) { + GameRegistry.addRecipe(new ShapedOreRecipe(LaboratoryMachine.Analyser.get(1), new Object[] { + "gBg", + "cCc", + "aPa", + 'C', + GeneticsItems.LaboratoryCasing.get(1), + 'B', + alyzer, + 'c', + circuit, + 'g', + Blocks.glass_pane, + 'P', + "gearBronze", + 'a', + GeneticsItems.DNADye.get(1) + })); + } - GameRegistry.addRecipe(new ShapedOreRecipe( - LaboratoryMachine.Genepool.get(1), - new Object[]{ - "gBg", "cCc", "aPa", - 'C', GeneticsItems.LaboratoryCasing.get(1), - 'B', "gearBronze", - 'c', circuit, - 'g', Blocks.glass_pane, - 'P', "gearBronze", - 'a', Blocks.glass - } - )); - GameRegistry.addRecipe(new ShapedOreRecipe( - LaboratoryMachine.Acclimatiser.get(1), - new Object[]{ - "gBg", "cCc", "aPa", - 'C', GeneticsItems.LaboratoryCasing.get(1), - 'B', Items.lava_bucket, - 'c', circuit, - 'g', Blocks.glass_pane, - 'P', "gearBronze", - 'a', Items.water_bucket - } - )); - } + GameRegistry.addRecipe(new ShapedOreRecipe(LaboratoryMachine.Genepool.get(1), new Object[] { + "gBg", + "cCc", + "aPa", + 'C', + GeneticsItems.LaboratoryCasing.get(1), + 'B', + "gearBronze", + 'c', + circuit, + 'g', + Blocks.glass_pane, + 'P', + "gearBronze", + 'a', + Blocks.glass + })); + GameRegistry.addRecipe(new ShapedOreRecipe(LaboratoryMachine.Acclimatiser.get(1), new Object[] { + "gBg", + "cCc", + "aPa", + 'C', + GeneticsItems.LaboratoryCasing.get(1), + 'B', + Items.lava_bucket, + 'c', + circuit, + 'g', + Blocks.glass_pane, + 'P', + "gearBronze", + 'a', + Items.water_bucket + })); + } - for (Object circuit : advCircuit) { - GameRegistry.addRecipe(new ShapedOreRecipe( - GeneticMachine.Isolator.get(1), - new Object[]{ - "gBg", "cCc", "aPa", - 'C', GeneticsItems.LaboratoryCasing.get(1), - 'B', goldGear, - 'c', circuit, - 'g', Items.gold_nugget, - 'P', "gearBronze", - 'a', GeneticsItems.Enzyme.get(1) - } - )); - GameRegistry.addRecipe(new ShapedOreRecipe( - GeneticMachine.Polymeriser.get(1), - new Object[]{ - "gBg", "cCc", "gPg", - 'C', GeneticsItems.LaboratoryCasing.get(1), - 'B', ironGear, - 'c', circuit, - 'g', Items.gold_nugget, - 'P', "gearBronze" - } - )); - GameRegistry.addRecipe(new ShapedOreRecipe( - GeneticMachine.Sequencer.get(1), - new Object[]{ - "gBg", "cCc", "aPa", - 'C', GeneticsItems.LaboratoryCasing.get(1), - 'B', "gearBronze", 'c', circuit, - 'g', Items.gold_nugget, - 'P', "gearBronze", - 'a', GeneticsItems.FluorescentDye.get(1) - } - )); - GameRegistry.addRecipe(new ShapedOreRecipe( - GeneticMachine.Inoculator.get(1), - new Object[]{ - "gBg", "cCc", "aPa", - 'C', GeneticsItems.LaboratoryCasing.get(1), - 'B', diamondGear, - 'c', circuit, - 'g', Items.gold_nugget, - 'P', "gearBronze", - 'a', Items.emerald - } - )); - } + for (Object circuit : advCircuit) { + GameRegistry.addRecipe(new ShapedOreRecipe(GeneticMachine.Isolator.get(1), new Object[] { + "gBg", + "cCc", + "aPa", + 'C', + GeneticsItems.LaboratoryCasing.get(1), + 'B', + goldGear, + 'c', + circuit, + 'g', + Items.gold_nugget, + 'P', + "gearBronze", + 'a', + GeneticsItems.Enzyme.get(1) + })); + GameRegistry.addRecipe(new ShapedOreRecipe(GeneticMachine.Polymeriser.get(1), new Object[] { + "gBg", + "cCc", + "gPg", + 'C', + GeneticsItems.LaboratoryCasing.get(1), + 'B', + ironGear, + 'c', + circuit, + 'g', + Items.gold_nugget, + 'P', + "gearBronze" + })); + GameRegistry.addRecipe(new ShapedOreRecipe(GeneticMachine.Sequencer.get(1), new Object[] { + "gBg", + "cCc", + "aPa", + 'C', + GeneticsItems.LaboratoryCasing.get(1), + 'B', + "gearBronze", + 'c', + circuit, + 'g', + Items.gold_nugget, + 'P', + "gearBronze", + 'a', + GeneticsItems.FluorescentDye.get(1) + })); + GameRegistry.addRecipe(new ShapedOreRecipe(GeneticMachine.Inoculator.get(1), new Object[] { + "gBg", + "cCc", + "aPa", + 'C', + GeneticsItems.LaboratoryCasing.get(1), + 'B', + diamondGear, + 'c', + circuit, + 'g', + Items.gold_nugget, + 'P', + "gearBronze", + 'a', + Items.emerald + })); + } - GameRegistry.addRecipe(new ShapedOreRecipe( - AdvGeneticMachine.Splicer.get(1), - new Object[]{ - "gBg", "cCc", "aPa", - 'C', GeneticsItems.IntegratedCasing.get(1), - 'B', diamondGear, - 'c', GeneticsItems.IntegratedCPU.get(1), - 'g', Items.gold_nugget, - 'P', "gearBronze", - 'a', Items.blaze_rod - } - )); - GameRegistry.addRecipe(new ShapedOreRecipe( - LaboratoryMachine.LabMachine.get(1), - new Object[]{ - "igi", "gCg", "igi", - 'C', GeneticsItems.LaboratoryCasing.get(1), - 'i', "ingotIron", - 'g', Blocks.glass_pane - } - )); - } + GameRegistry.addRecipe(new ShapedOreRecipe(AdvGeneticMachine.Splicer.get(1), new Object[] { + "gBg", + "cCc", + "aPa", + 'C', + GeneticsItems.IntegratedCasing.get(1), + 'B', + diamondGear, + 'c', + GeneticsItems.IntegratedCPU.get(1), + 'g', + Items.gold_nugget, + 'P', + "gearBronze", + 'a', + Items.blaze_rod + })); + GameRegistry.addRecipe(new ShapedOreRecipe(LaboratoryMachine.LabMachine.get(1), new Object[] { + "igi", "gCg", "igi", 'C', GeneticsItems.LaboratoryCasing.get(1), 'i', "ingotIron", 'g', Blocks.glass_pane + })); + } } diff --git a/src/main/java/binnie/genetics/machine/PackageGeneticBase.java b/src/main/java/binnie/genetics/machine/PackageGeneticBase.java index 787ac309..24f14cb6 100644 --- a/src/main/java/binnie/genetics/machine/PackageGeneticBase.java +++ b/src/main/java/binnie/genetics/machine/PackageGeneticBase.java @@ -9,22 +9,22 @@ import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.tileentity.TileEntity; public abstract class PackageGeneticBase extends MachinePackage { - protected BinnieResource renderTexture; - protected int color; + protected BinnieResource renderTexture; + protected int color; - protected PackageGeneticBase(String uid, IBinnieTexture renderTexture, int flashColor, boolean powered) { - super(uid, powered); - this.renderTexture = renderTexture.getTexture(); - color = flashColor; - } + protected PackageGeneticBase(String uid, IBinnieTexture renderTexture, int flashColor, boolean powered) { + super(uid, powered); + this.renderTexture = renderTexture.getTexture(); + color = flashColor; + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } - @Override - public void renderMachine(Machine machine, double x, double y, double z, float partialTick, RenderBlocks renderer) { - MachineRendererGenetics.instance.renderMachine(machine, color, renderTexture, x, y, z, partialTick); - } + @Override + public void renderMachine(Machine machine, double x, double y, double z, float partialTick, RenderBlocks renderer) { + MachineRendererGenetics.instance.renderMachine(machine, color, renderTexture, x, y, z, partialTick); + } } diff --git a/src/main/java/binnie/genetics/machine/acclimatiser/Acclimatiser.java b/src/main/java/binnie/genetics/machine/acclimatiser/Acclimatiser.java index 4acd47a1..762beae2 100644 --- a/src/main/java/binnie/genetics/machine/acclimatiser/Acclimatiser.java +++ b/src/main/java/binnie/genetics/machine/acclimatiser/Acclimatiser.java @@ -11,180 +11,197 @@ import forestry.api.genetics.EnumTolerance; import forestry.api.genetics.IChromosomeType; import forestry.api.genetics.ISpeciesRoot; import forestry.api.lepidopterology.EnumButterflyChromosome; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; public class Acclimatiser { - public static final int[] SLOT_RESERVE = new int[]{0, 1, 2, 3}; - public static final int[] SLOT_ACCLIMATISER = new int[]{5, 6, 7}; - public static final int[] SLOT_DONE = new int[]{8, 9, 10, 11}; - public static final int SLOT_TARGET = 4; - public static final float ENERGY_PER_TICK = 2.0f; + public static final int[] SLOT_RESERVE = new int[] {0, 1, 2, 3}; + public static final int[] SLOT_ACCLIMATISER = new int[] {5, 6, 7}; + public static final int[] SLOT_DONE = new int[] {8, 9, 10, 11}; + public static final int SLOT_TARGET = 4; + public static final float ENERGY_PER_TICK = 2.0f; - public static Map temperatureItems = new HashMap<>(); - public static Map humidityItems = new HashMap<>(); + public static Map temperatureItems = new HashMap<>(); + public static Map humidityItems = new HashMap<>(); - private static List toleranceSystems = new ArrayList<>(); + private static List toleranceSystems = new ArrayList<>(); - private static ToleranceSystem getToleranceSystem(ItemStack stack, ItemStack acclim) { - ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(stack); - if (root == null) { - return null; - } + private static ToleranceSystem getToleranceSystem(ItemStack stack, ItemStack acclim) { + ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(stack); + if (root == null) { + return null; + } - for (ToleranceSystem system : Acclimatiser.toleranceSystems) { - if (root.getUID().equals(system.uid) && system.type.hasEffect(acclim)) { - return system; - } - } - return null; - } + for (ToleranceSystem system : Acclimatiser.toleranceSystems) { + if (root.getUID().equals(system.uid) && system.type.hasEffect(acclim)) { + return system; + } + } + return null; + } - public static void addTolerance(String uid, IChromosomeType chromosome, ToleranceType type) { - Acclimatiser.toleranceSystems.add(new ToleranceSystem(uid, chromosome, type)); - } + public static void addTolerance(String uid, IChromosomeType chromosome, ToleranceType type) { + Acclimatiser.toleranceSystems.add(new ToleranceSystem(uid, chromosome, type)); + } - public static float getTemperatureEffect(ItemStack item) { - for (ItemStack stack : Acclimatiser.temperatureItems.keySet()) { - if (stack.isItemEqual(item)) { - return Acclimatiser.temperatureItems.get(stack); - } - } - return 0.0f; - } + public static float getTemperatureEffect(ItemStack item) { + for (ItemStack stack : Acclimatiser.temperatureItems.keySet()) { + if (stack.isItemEqual(item)) { + return Acclimatiser.temperatureItems.get(stack); + } + } + return 0.0f; + } - public static float getHumidityEffect(ItemStack item) { - for (ItemStack stack : Acclimatiser.humidityItems.keySet()) { - if (stack.isItemEqual(item)) { - return Acclimatiser.humidityItems.get(stack); - } - } - return 0.0f; - } + public static float getHumidityEffect(ItemStack item) { + for (ItemStack stack : Acclimatiser.humidityItems.keySet()) { + if (stack.isItemEqual(item)) { + return Acclimatiser.humidityItems.get(stack); + } + } + return 0.0f; + } - public static void addTemperatureItem(ItemStack itemStack, float amount) { - if (itemStack == null) { - return; - } - Acclimatiser.temperatureItems.put(itemStack, amount); - } + public static void addTemperatureItem(ItemStack itemStack, float amount) { + if (itemStack == null) { + return; + } + Acclimatiser.temperatureItems.put(itemStack, amount); + } - public static void addHumidityItem(ItemStack itemStack, float amount) { - if (itemStack == null) { - return; - } - Acclimatiser.humidityItems.put(itemStack, amount); - } + public static void addHumidityItem(ItemStack itemStack, float amount) { + if (itemStack == null) { + return; + } + Acclimatiser.humidityItems.put(itemStack, amount); + } - public static void setupRecipes() { - if (BinnieCore.isApicultureActive()) { - addTolerance(Binnie.Genetics.getBeeRoot().getUID(), EnumBeeChromosome.HUMIDITY_TOLERANCE, ToleranceType.Humidity); - addTolerance(Binnie.Genetics.getBeeRoot().getUID(), EnumBeeChromosome.TEMPERATURE_TOLERANCE, ToleranceType.Temperature); - } + public static void setupRecipes() { + if (BinnieCore.isApicultureActive()) { + addTolerance( + Binnie.Genetics.getBeeRoot().getUID(), + EnumBeeChromosome.HUMIDITY_TOLERANCE, + ToleranceType.Humidity); + addTolerance( + Binnie.Genetics.getBeeRoot().getUID(), + EnumBeeChromosome.TEMPERATURE_TOLERANCE, + ToleranceType.Temperature); + } - if (BinnieCore.isLepidopteryActive()) { - addTolerance(Binnie.Genetics.getButterflyRoot().getUID(), EnumButterflyChromosome.HUMIDITY_TOLERANCE, ToleranceType.Humidity); - addTolerance(Binnie.Genetics.getButterflyRoot().getUID(), EnumButterflyChromosome.TEMPERATURE_TOLERANCE, ToleranceType.Temperature); - } + if (BinnieCore.isLepidopteryActive()) { + addTolerance( + Binnie.Genetics.getButterflyRoot().getUID(), + EnumButterflyChromosome.HUMIDITY_TOLERANCE, + ToleranceType.Humidity); + addTolerance( + Binnie.Genetics.getButterflyRoot().getUID(), + EnumButterflyChromosome.TEMPERATURE_TOLERANCE, + ToleranceType.Temperature); + } - if (BinnieCore.isBotanyActive()) { - addTolerance(Binnie.Genetics.getFlowerRoot().getUID(), EnumFlowerChromosome.HUMIDITY_TOLERANCE, ToleranceType.Humidity); - addTolerance(Binnie.Genetics.getFlowerRoot().getUID(), EnumFlowerChromosome.TEMPERATURE_TOLERANCE, ToleranceType.Temperature); - addTolerance(Binnie.Genetics.getFlowerRoot().getUID(), EnumFlowerChromosome.PH_TOLERANCE, ToleranceType.PH); - } + if (BinnieCore.isBotanyActive()) { + addTolerance( + Binnie.Genetics.getFlowerRoot().getUID(), + EnumFlowerChromosome.HUMIDITY_TOLERANCE, + ToleranceType.Humidity); + addTolerance( + Binnie.Genetics.getFlowerRoot().getUID(), + EnumFlowerChromosome.TEMPERATURE_TOLERANCE, + ToleranceType.Temperature); + addTolerance(Binnie.Genetics.getFlowerRoot().getUID(), EnumFlowerChromosome.PH_TOLERANCE, ToleranceType.PH); + } - addTemperatureItem(new ItemStack(Items.blaze_powder), 0.5f); - addTemperatureItem(new ItemStack(Items.blaze_rod), 0.75f); - addTemperatureItem(new ItemStack(Items.lava_bucket), 0.75f); - addTemperatureItem(new ItemStack(Items.snowball), -0.15f); - addTemperatureItem(new ItemStack(Blocks.ice), -0.75f); - addHumidityItem(new ItemStack(Items.water_bucket), 0.75f); - addHumidityItem(new ItemStack(Blocks.sand), -0.15f); - addTemperatureItem(Mods.forestry.stack("canLava"), 0.75f); - addTemperatureItem(Mods.forestry.stack("refractoryLava"), 0.75f); - addHumidityItem(Mods.forestry.stack("canWater"), 0.75f); - addHumidityItem(Mods.forestry.stack("refractoryWater"), 0.75f); - addHumidityItem(Mods.forestry.stack("waxCapsuleWater"), 0.75f); - } + addTemperatureItem(new ItemStack(Items.blaze_powder), 0.5f); + addTemperatureItem(new ItemStack(Items.blaze_rod), 0.75f); + addTemperatureItem(new ItemStack(Items.lava_bucket), 0.75f); + addTemperatureItem(new ItemStack(Items.snowball), -0.15f); + addTemperatureItem(new ItemStack(Blocks.ice), -0.75f); + addHumidityItem(new ItemStack(Items.water_bucket), 0.75f); + addHumidityItem(new ItemStack(Blocks.sand), -0.15f); + addTemperatureItem(Mods.forestry.stack("canLava"), 0.75f); + addTemperatureItem(Mods.forestry.stack("refractoryLava"), 0.75f); + addHumidityItem(Mods.forestry.stack("canWater"), 0.75f); + addHumidityItem(Mods.forestry.stack("refractoryWater"), 0.75f); + addHumidityItem(Mods.forestry.stack("waxCapsuleWater"), 0.75f); + } - public static boolean canAcclimatise(ItemStack stack, List acclimatisers) { - if (stack == null || acclimatisers.isEmpty()) { - return true; - } + public static boolean canAcclimatise(ItemStack stack, List acclimatisers) { + if (stack == null || acclimatisers.isEmpty()) { + return true; + } - for (ItemStack acclim : acclimatisers) { - if (canAcclimatise(stack, acclim)) { - return true; - } - } - return false; - } + for (ItemStack acclim : acclimatisers) { + if (canAcclimatise(stack, acclim)) { + return true; + } + } + return false; + } - public static boolean canAcclimatise(ItemStack stack, ItemStack acclim) { - ToleranceSystem system = getToleranceSystem(stack, acclim); - return system != null && system.canAlter(stack, acclim); - } + public static boolean canAcclimatise(ItemStack stack, ItemStack acclim) { + ToleranceSystem system = getToleranceSystem(stack, acclim); + return system != null && system.canAlter(stack, acclim); + } - public static ItemStack acclimatise(ItemStack stack, ItemStack acc) { - ToleranceSystem system = getToleranceSystem(stack, acc); - return system.alter(stack, acc); - } + public static ItemStack acclimatise(ItemStack stack, ItemStack acc) { + ToleranceSystem system = getToleranceSystem(stack, acc); + return system.alter(stack, acc); + } - public static Tolerance alterTolerance(Tolerance tol, float effect) { - int[] is = tol.getBounds(); - int[] range; - if (effect < 0.0f) { - range = new int[]{is[0] - 1, is[1]}; - } else { - range = new int[]{is[0], is[1] + 1}; - } + public static Tolerance alterTolerance(Tolerance tol, float effect) { + int[] is = tol.getBounds(); + int[] range; + if (effect < 0.0f) { + range = new int[] {is[0] - 1, is[1]}; + } else { + range = new int[] {is[0], is[1] + 1}; + } - if (range[0] < -5) { - range[0] = -5; - } - if (range[1] > 5) { - range[1] = 5; - } + if (range[0] < -5) { + range[0] = -5; + } + if (range[1] > 5) { + range[1] = 5; + } - EnumTolerance[] up = { - EnumTolerance.NONE, - EnumTolerance.UP_1, - EnumTolerance.UP_2, - EnumTolerance.UP_3, - EnumTolerance.UP_4, - EnumTolerance.UP_5 - }; - EnumTolerance[] down = { - EnumTolerance.NONE, - EnumTolerance.DOWN_1, - EnumTolerance.DOWN_2, - EnumTolerance.DOWN_3, - EnumTolerance.DOWN_4, - EnumTolerance.DOWN_5 - }; - EnumTolerance[] both = { - EnumTolerance.NONE, - EnumTolerance.BOTH_1, - EnumTolerance.BOTH_2, - EnumTolerance.BOTH_3, - EnumTolerance.BOTH_4, - EnumTolerance.BOTH_5 - }; + EnumTolerance[] up = { + EnumTolerance.NONE, + EnumTolerance.UP_1, + EnumTolerance.UP_2, + EnumTolerance.UP_3, + EnumTolerance.UP_4, + EnumTolerance.UP_5 + }; + EnumTolerance[] down = { + EnumTolerance.NONE, + EnumTolerance.DOWN_1, + EnumTolerance.DOWN_2, + EnumTolerance.DOWN_3, + EnumTolerance.DOWN_4, + EnumTolerance.DOWN_5 + }; + EnumTolerance[] both = { + EnumTolerance.NONE, + EnumTolerance.BOTH_1, + EnumTolerance.BOTH_2, + EnumTolerance.BOTH_3, + EnumTolerance.BOTH_4, + EnumTolerance.BOTH_5 + }; - if (range[0] == 0) { - return Tolerance.get(up[range[1]]); - } - if (range[1] == 0) { - return Tolerance.get(down[-range[0]]); - } + if (range[0] == 0) { + return Tolerance.get(up[range[1]]); + } + if (range[1] == 0) { + return Tolerance.get(down[-range[0]]); + } - int avg = (int) ((-range[0] + range[1]) / 2.0f + 0.6f); - return Tolerance.get(both[avg]); - } + int avg = (int) ((-range[0] + range[1]) / 2.0f + 0.6f); + return Tolerance.get(both[avg]); + } } diff --git a/src/main/java/binnie/genetics/machine/acclimatiser/AcclimatiserComponentLogic.java b/src/main/java/binnie/genetics/machine/acclimatiser/AcclimatiserComponentLogic.java index 470933c6..cd73fd3e 100644 --- a/src/main/java/binnie/genetics/machine/acclimatiser/AcclimatiserComponentLogic.java +++ b/src/main/java/binnie/genetics/machine/acclimatiser/AcclimatiserComponentLogic.java @@ -4,78 +4,77 @@ import binnie.core.machines.IMachine; import binnie.core.machines.power.ComponentProcessIndefinate; import binnie.core.machines.power.ErrorState; import binnie.core.util.I18N; -import net.minecraft.item.ItemStack; - import java.util.ArrayList; import java.util.List; +import net.minecraft.item.ItemStack; public class AcclimatiserComponentLogic extends ComponentProcessIndefinate { - public AcclimatiserComponentLogic(IMachine machine) { - super(machine, Acclimatiser.ENERGY_PER_TICK); - } + public AcclimatiserComponentLogic(IMachine machine) { + super(machine, Acclimatiser.ENERGY_PER_TICK); + } - @Override - public ErrorState canWork() { - if (getUtil().getStack(Acclimatiser.SLOT_TARGET) == null) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.acclimatiser.error.noIndividual"), - Acclimatiser.SLOT_TARGET - ); - } - if (getUtil().getNonNullStacks(Acclimatiser.SLOT_ACCLIMATISER).isEmpty()) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.acclimatiser.error.noAcclimatizingItems"), - Acclimatiser.SLOT_ACCLIMATISER - ); - } - return super.canWork(); - } + @Override + public ErrorState canWork() { + if (getUtil().getStack(Acclimatiser.SLOT_TARGET) == null) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.acclimatiser.error.noIndividual"), Acclimatiser.SLOT_TARGET); + } + if (getUtil().getNonNullStacks(Acclimatiser.SLOT_ACCLIMATISER).isEmpty()) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.acclimatiser.error.noAcclimatizingItems"), + Acclimatiser.SLOT_ACCLIMATISER); + } + return super.canWork(); + } - @Override - public ErrorState canProgress() { - if (!Acclimatiser.canAcclimatise(getUtil().getStack(Acclimatiser.SLOT_TARGET), getUtil().getNonNullStacks(Acclimatiser.SLOT_ACCLIMATISER))) { - return new ErrorState.InvalidItem( - I18N.localise("genetics.machine.acclimatiser.error.invalidAcclimatizingItems"), - Acclimatiser.SLOT_TARGET - ); - } - return super.canProgress(); - } + @Override + public ErrorState canProgress() { + if (!Acclimatiser.canAcclimatise( + getUtil().getStack(Acclimatiser.SLOT_TARGET), + getUtil().getNonNullStacks(Acclimatiser.SLOT_ACCLIMATISER))) { + return new ErrorState.InvalidItem( + I18N.localise("genetics.machine.acclimatiser.error.invalidAcclimatizingItems"), + Acclimatiser.SLOT_TARGET); + } + return super.canProgress(); + } - @Override - protected boolean inProgress() { - return canWork() == null; - } + @Override + protected boolean inProgress() { + return canWork() == null; + } - @Override - protected void onTickTask() { - super.onTickTask(); - if (getUtil().getRandom().nextInt(100) == 0) { - attemptAcclimatisation(); - } - } + @Override + protected void onTickTask() { + super.onTickTask(); + if (getUtil().getRandom().nextInt(100) == 0) { + attemptAcclimatisation(); + } + } - protected void attemptAcclimatisation() { - List acclms = new ArrayList<>(); - for (ItemStack s : getUtil().getNonNullStacks(Acclimatiser.SLOT_ACCLIMATISER)) { - if (Acclimatiser.canAcclimatise(getUtil().getStack(Acclimatiser.SLOT_TARGET), s)) { - acclms.add(s); - } - } + protected void attemptAcclimatisation() { + List acclms = new ArrayList<>(); + for (ItemStack s : getUtil().getNonNullStacks(Acclimatiser.SLOT_ACCLIMATISER)) { + if (Acclimatiser.canAcclimatise(getUtil().getStack(Acclimatiser.SLOT_TARGET), s)) { + acclms.add(s); + } + } - ItemStack acc = acclms.get(getUtil().getRandom().nextInt(acclms.size())); - ItemStack acclimed = Acclimatiser.acclimatise(getUtil().getStack(Acclimatiser.SLOT_TARGET), acc); - if (acclimed == null) { - return; - } + ItemStack acc = acclms.get(getUtil().getRandom().nextInt(acclms.size())); + ItemStack acclimed = Acclimatiser.acclimatise(getUtil().getStack(Acclimatiser.SLOT_TARGET), acc); + if (acclimed == null) { + return; + } - getUtil().setStack(Acclimatiser.SLOT_TARGET, acclimed); - boolean removed = false; - for (int i : Acclimatiser.SLOT_ACCLIMATISER) { - if (!removed && getUtil().getStack(i) != null && getUtil().getStack(i).isItemEqual(acc)) { - getUtil().decreaseStack(i, 1); - removed = true; - } - } - } + getUtil().setStack(Acclimatiser.SLOT_TARGET, acclimed); + boolean removed = false; + for (int i : Acclimatiser.SLOT_ACCLIMATISER) { + if (!removed + && getUtil().getStack(i) != null + && getUtil().getStack(i).isItemEqual(acc)) { + getUtil().decreaseStack(i, 1); + removed = true; + } + } + } } diff --git a/src/main/java/binnie/genetics/machine/acclimatiser/AcclimatiserItemSlotValidator.java b/src/main/java/binnie/genetics/machine/acclimatiser/AcclimatiserItemSlotValidator.java index d00a194b..9c968a1d 100644 --- a/src/main/java/binnie/genetics/machine/acclimatiser/AcclimatiserItemSlotValidator.java +++ b/src/main/java/binnie/genetics/machine/acclimatiser/AcclimatiserItemSlotValidator.java @@ -5,22 +5,22 @@ import binnie.core.util.I18N; import net.minecraft.item.ItemStack; public class AcclimatiserItemSlotValidator extends SlotValidator { - public AcclimatiserItemSlotValidator() { - super(null); - } + public AcclimatiserItemSlotValidator() { + super(null); + } - @Override - public boolean isValid(ItemStack stack) { - for (ToleranceType type : ToleranceType.values()) { - if (type.hasEffect(stack)) { - return true; - } - } - return false; - } + @Override + public boolean isValid(ItemStack stack) { + for (ToleranceType type : ToleranceType.values()) { + if (type.hasEffect(stack)) { + return true; + } + } + return false; + } - @Override - public String getTooltip() { - return I18N.localise("genetics.machine.acclimatiser.acclimatizingItems"); - } + @Override + public String getTooltip() { + return I18N.localise("genetics.machine.acclimatiser.acclimatizingItems"); + } } diff --git a/src/main/java/binnie/genetics/machine/acclimatiser/AcclimatiserPackage.java b/src/main/java/binnie/genetics/machine/acclimatiser/AcclimatiserPackage.java index d2527111..ca0978d1 100644 --- a/src/main/java/binnie/genetics/machine/acclimatiser/AcclimatiserPackage.java +++ b/src/main/java/binnie/genetics/machine/acclimatiser/AcclimatiserPackage.java @@ -16,48 +16,50 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; public class AcclimatiserPackage extends PackageGeneticBase implements IMachineInformation { - public AcclimatiserPackage() { - super("acclimatiser", GeneticsTexture.Acclimatiser, 0x966a49, true); - } + public AcclimatiserPackage() { + super("acclimatiser", GeneticsTexture.Acclimatiser, 0x966a49, true); + } - @Override - public void createMachine(Machine machine) { - new ComponentGeneticGUI(machine, GeneticsGUI.Acclimatiser); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - InventorySlot processSlot = inventory.addSlot(Acclimatiser.SLOT_TARGET, "process"); - processSlot.setValidator(new SlotValidator.Individual()); - processSlot.setReadOnly(); - processSlot.forbidExtraction(); + @Override + public void createMachine(Machine machine) { + new ComponentGeneticGUI(machine, GeneticsGUI.Acclimatiser); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + InventorySlot processSlot = inventory.addSlot(Acclimatiser.SLOT_TARGET, "process"); + processSlot.setValidator(new SlotValidator.Individual()); + processSlot.setReadOnly(); + processSlot.forbidExtraction(); - for (InventorySlot slot : inventory.addSlotArray(Acclimatiser.SLOT_RESERVE, "input")) { - slot.forbidExtraction(); - slot.setValidator(new SlotValidator.Individual()); - } + for (InventorySlot slot : inventory.addSlotArray(Acclimatiser.SLOT_RESERVE, "input")) { + slot.forbidExtraction(); + slot.setValidator(new SlotValidator.Individual()); + } - for (InventorySlot slot : inventory.addSlotArray(Acclimatiser.SLOT_DONE, "output")) { - slot.setReadOnly(); - slot.setValidator(new SlotValidator.Individual()); - } + for (InventorySlot slot : inventory.addSlotArray(Acclimatiser.SLOT_DONE, "output")) { + slot.setReadOnly(); + slot.setValidator(new SlotValidator.Individual()); + } - for (InventorySlot slot : inventory.addSlotArray(Acclimatiser.SLOT_ACCLIMATISER, "acclimatiser")) { - slot.setValidator(new AcclimatiserItemSlotValidator()); - } + for (InventorySlot slot : inventory.addSlotArray(Acclimatiser.SLOT_ACCLIMATISER, "acclimatiser")) { + slot.setValidator(new AcclimatiserItemSlotValidator()); + } - ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); - transfer.addRestock(Acclimatiser.SLOT_RESERVE, Acclimatiser.SLOT_TARGET, 1); - transfer.addStorage(Acclimatiser.SLOT_TARGET, Acclimatiser.SLOT_DONE, new ComponentInventoryTransfer.Condition() { - @Override - public boolean fufilled(ItemStack stack) { - return !Acclimatiser.canAcclimatise(stack, machine.getMachineUtil().getNonNullStacks(Acclimatiser.SLOT_ACCLIMATISER)); - } - }); + ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); + transfer.addRestock(Acclimatiser.SLOT_RESERVE, Acclimatiser.SLOT_TARGET, 1); + transfer.addStorage( + Acclimatiser.SLOT_TARGET, Acclimatiser.SLOT_DONE, new ComponentInventoryTransfer.Condition() { + @Override + public boolean fufilled(ItemStack stack) { + return !Acclimatiser.canAcclimatise( + stack, machine.getMachineUtil().getNonNullStacks(Acclimatiser.SLOT_ACCLIMATISER)); + } + }); - new ComponentPowerReceptor(machine, 5000); - new AcclimatiserComponentLogic(machine); - } + new ComponentPowerReceptor(machine, 5000); + new AcclimatiserComponentLogic(machine); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } } diff --git a/src/main/java/binnie/genetics/machine/acclimatiser/ToleranceSystem.java b/src/main/java/binnie/genetics/machine/acclimatiser/ToleranceSystem.java index 67a0917b..9c48a1de 100644 --- a/src/main/java/binnie/genetics/machine/acclimatiser/ToleranceSystem.java +++ b/src/main/java/binnie/genetics/machine/acclimatiser/ToleranceSystem.java @@ -9,49 +9,47 @@ import forestry.api.genetics.IChromosomeType; import forestry.api.genetics.IGenome; import forestry.api.genetics.IIndividual; import forestry.api.genetics.ISpeciesRoot; +import java.util.Random; import net.minecraft.item.ItemStack; -import java.util.Random; - public class ToleranceSystem { - public String uid; - public IChromosomeType chromosomeOrdinal; - public ToleranceType type; + public String uid; + public IChromosomeType chromosomeOrdinal; + public ToleranceType type; - ToleranceSystem(String uid, IChromosomeType chromosomeOrdinal, ToleranceType type) { - this.uid = uid; - this.chromosomeOrdinal = chromosomeOrdinal; - this.type = type; - } + ToleranceSystem(String uid, IChromosomeType chromosomeOrdinal, ToleranceType type) { + this.uid = uid; + this.chromosomeOrdinal = chromosomeOrdinal; + this.type = type; + } - public boolean canAlter(ItemStack stack, ItemStack acclim) { - IIndividual member = AlleleManager.alleleRegistry.getIndividual(stack); - IGenome genome = member.getGenome(); - IAlleleTolerance tolAllele = (IAlleleTolerance) genome.getActiveAllele(chromosomeOrdinal); - Tolerance tol = Tolerance.get(tolAllele.getValue()); - float effect = type.getEffect(acclim); - return (effect > 0.0f && tol.getBounds()[1] < 5) - || (effect < 0.0f && tol.getBounds()[0] > -5); - } + public boolean canAlter(ItemStack stack, ItemStack acclim) { + IIndividual member = AlleleManager.alleleRegistry.getIndividual(stack); + IGenome genome = member.getGenome(); + IAlleleTolerance tolAllele = (IAlleleTolerance) genome.getActiveAllele(chromosomeOrdinal); + Tolerance tol = Tolerance.get(tolAllele.getValue()); + float effect = type.getEffect(acclim); + return (effect > 0.0f && tol.getBounds()[1] < 5) || (effect < 0.0f && tol.getBounds()[0] > -5); + } - public ItemStack alter(ItemStack stack, ItemStack acc) { - Random rand = new Random(); - float effect = type.getEffect(acc); - if (rand.nextFloat() > Math.abs(effect)) { - return stack; - } + public ItemStack alter(ItemStack stack, ItemStack acc) { + Random rand = new Random(); + float effect = type.getEffect(acc); + if (rand.nextFloat() > Math.abs(effect)) { + return stack; + } - IIndividual member = AlleleManager.alleleRegistry.getIndividual(stack); - IGenome genome = member.getGenome(); - IAlleleTolerance tolAllele = (IAlleleTolerance) genome.getActiveAllele(chromosomeOrdinal); - Tolerance tol = Tolerance.get(tolAllele.getValue()); - Tolerance newTol = Acclimatiser.alterTolerance(tol, effect); - if (rand.nextFloat() > 1.0f / (-newTol.getBounds()[0] + newTol.getBounds()[1])) { - return stack; - } + IIndividual member = AlleleManager.alleleRegistry.getIndividual(stack); + IGenome genome = member.getGenome(); + IAlleleTolerance tolAllele = (IAlleleTolerance) genome.getActiveAllele(chromosomeOrdinal); + Tolerance tol = Tolerance.get(tolAllele.getValue()); + Tolerance newTol = Acclimatiser.alterTolerance(tol, effect); + if (rand.nextFloat() > 1.0f / (-newTol.getBounds()[0] + newTol.getBounds()[1])) { + return stack; + } - ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(stack); - Inoculator.setGene(new Gene(newTol.getAllele(), chromosomeOrdinal, root), stack, rand.nextInt(2)); - return stack; - } + ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(stack); + Inoculator.setGene(new Gene(newTol.getAllele(), chromosomeOrdinal, root), stack, rand.nextInt(2)); + return stack; + } } diff --git a/src/main/java/binnie/genetics/machine/acclimatiser/ToleranceType.java b/src/main/java/binnie/genetics/machine/acclimatiser/ToleranceType.java index e8fc115c..27fa46de 100644 --- a/src/main/java/binnie/genetics/machine/acclimatiser/ToleranceType.java +++ b/src/main/java/binnie/genetics/machine/acclimatiser/ToleranceType.java @@ -4,30 +4,30 @@ import binnie.botany.gardening.Gardening; import net.minecraft.item.ItemStack; public enum ToleranceType { - Temperature, - Humidity, - PH; + Temperature, + Humidity, + PH; - public float getEffect(ItemStack stack) { - switch (this) { - case Temperature: - return Acclimatiser.getTemperatureEffect(stack); + public float getEffect(ItemStack stack) { + switch (this) { + case Temperature: + return Acclimatiser.getTemperatureEffect(stack); - case Humidity: - return Acclimatiser.getHumidityEffect(stack); + case Humidity: + return Acclimatiser.getHumidityEffect(stack); - case PH: - if (Gardening.isAcidFertiliser(stack)) { - return -0.5f * Gardening.getFertiliserStrength(stack); - } - if (Gardening.isAlkalineFertiliser(stack)) { - return 0.5f * Gardening.getFertiliserStrength(stack); - } - } - return 0.0f; - } + case PH: + if (Gardening.isAcidFertiliser(stack)) { + return -0.5f * Gardening.getFertiliserStrength(stack); + } + if (Gardening.isAlkalineFertiliser(stack)) { + return 0.5f * Gardening.getFertiliserStrength(stack); + } + } + return 0.0f; + } - public boolean hasEffect(ItemStack stack) { - return getEffect(stack) != 0.0f; - } + public boolean hasEffect(ItemStack stack) { + return getEffect(stack) != 0.0f; + } } diff --git a/src/main/java/binnie/genetics/machine/analyser/Analyser.java b/src/main/java/binnie/genetics/machine/analyser/Analyser.java index 5959e363..b6a5e45a 100644 --- a/src/main/java/binnie/genetics/machine/analyser/Analyser.java +++ b/src/main/java/binnie/genetics/machine/analyser/Analyser.java @@ -9,49 +9,48 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; public class Analyser { - public static final int[] SLOT_RESERVE = new int[]{0, 1, 2, 3, 4, 5}; - public static final int[] SLOT_FINISHED = new int[]{7, 8, 9, 10, 11, 12}; - public static final int SLOT_TARGET = 6; - public static final int SLOT_DYE = 13; - public static final int RF_COST = 9000; - public static final int TIME_PERIOD = 300; - public static final float DYE_PER_TICK = 0.002f; + public static final int[] SLOT_RESERVE = new int[] {0, 1, 2, 3, 4, 5}; + public static final int[] SLOT_FINISHED = new int[] {7, 8, 9, 10, 11, 12}; + public static final int SLOT_TARGET = 6; + public static final int SLOT_DYE = 13; + public static final int RF_COST = 9000; + public static final int TIME_PERIOD = 300; + public static final float DYE_PER_TICK = 0.002f; - public static boolean isAnalysable(ItemStack stack) { - IIndividual ind = AlleleManager.alleleRegistry.getIndividual(stack); - return ind != null - || stack.getItem() instanceof IItemAnalysable - || Binnie.Genetics.getConversion(stack) != null; - } + public static boolean isAnalysable(ItemStack stack) { + IIndividual ind = AlleleManager.alleleRegistry.getIndividual(stack); + return ind != null + || stack.getItem() instanceof IItemAnalysable + || Binnie.Genetics.getConversion(stack) != null; + } - public static boolean isAnalysed(ItemStack stack) { - IIndividual ind = AlleleManager.alleleRegistry.getIndividual(stack); - if (ind != null) { - return ind.isAnalyzed(); - } - return stack.getItem() instanceof IItemAnalysable - && ((IItemAnalysable) stack.getItem()).isAnalysed(stack); - } + public static boolean isAnalysed(ItemStack stack) { + IIndividual ind = AlleleManager.alleleRegistry.getIndividual(stack); + if (ind != null) { + return ind.isAnalyzed(); + } + return stack.getItem() instanceof IItemAnalysable && ((IItemAnalysable) stack.getItem()).isAnalysed(stack); + } - public static ItemStack analyse(ItemStack stack) { - ItemStack conv = Binnie.Genetics.getConversionStack(stack); - if (conv != null) { - stack = conv; - } + public static ItemStack analyse(ItemStack stack) { + ItemStack conv = Binnie.Genetics.getConversionStack(stack); + if (conv != null) { + stack = conv; + } - ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(stack); - if (root != null) { - IIndividual ind = root.getMember(stack); - ind.analyze(); - NBTTagCompound nbttagcompound = new NBTTagCompound(); - ind.writeToNBT(nbttagcompound); - stack.setTagCompound(nbttagcompound); - return stack; - } + ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(stack); + if (root != null) { + IIndividual ind = root.getMember(stack); + ind.analyze(); + NBTTagCompound nbttagcompound = new NBTTagCompound(); + ind.writeToNBT(nbttagcompound); + stack.setTagCompound(nbttagcompound); + return stack; + } - if (stack.getItem() instanceof IItemAnalysable) { - return ((IItemAnalysable) stack.getItem()).analyse(stack); - } - return stack; - } + if (stack.getItem() instanceof IItemAnalysable) { + return ((IItemAnalysable) stack.getItem()).analyse(stack); + } + return stack; + } } diff --git a/src/main/java/binnie/genetics/machine/analyser/AnalyserComponentFX.java b/src/main/java/binnie/genetics/machine/analyser/AnalyserComponentFX.java index 576e4e68..9878d0a3 100644 --- a/src/main/java/binnie/genetics/machine/analyser/AnalyserComponentFX.java +++ b/src/main/java/binnie/genetics/machine/analyser/AnalyserComponentFX.java @@ -7,6 +7,7 @@ import binnie.core.machines.component.IRender; import binnie.core.machines.network.INetwork; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; import net.minecraft.client.particle.EntityFX; import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.entity.item.EntityItem; @@ -17,119 +18,117 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; -import java.util.Random; +public class AnalyserComponentFX extends MachineComponent + implements IRender.RandomDisplayTick, IRender.DisplayTick, IRender.Render, INetwork.TilePacketSync { + private EntityItem dummyEntityItem; -public class AnalyserComponentFX extends MachineComponent implements - IRender.RandomDisplayTick, - IRender.DisplayTick, - IRender.Render, - INetwork.TilePacketSync { - private EntityItem dummyEntityItem; + public AnalyserComponentFX(IMachine machine) { + super(machine); + dummyEntityItem = new EntityItem(null); + } - public AnalyserComponentFX(IMachine machine) { - super(machine); - dummyEntityItem = new EntityItem(null); - } + @SideOnly(Side.CLIENT) + @Override + public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) { + // ignored + } - @SideOnly(Side.CLIENT) - @Override - public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) { - // ignored - } + @SideOnly(Side.CLIENT) + @Override + public void onDisplayTick(World world, int x, int y, int z, Random rand) { + if (rand.nextFloat() < 1.0f && getUtil().getProcess().isInProgress()) { + BinnieCore.proxy + .getMinecraftInstance() + .effectRenderer + .addEffect(new EntityFX(world, x + 0.5, y + 1.3 + rand.nextDouble() * 0.2, z + 0.5, 0.0, 0.0, 0.0) { + double axisX = posX; + double axisZ = posZ; + double angle = rand.nextDouble() * 2.0 * 3.1415; - @SideOnly(Side.CLIENT) - @Override - public void onDisplayTick(World world, int x, int y, int z, Random rand) { - if (rand.nextFloat() < 1.0f && getUtil().getProcess().isInProgress()) { - BinnieCore.proxy.getMinecraftInstance().effectRenderer.addEffect(new EntityFX(world, x + 0.5, y + 1.3 + rand.nextDouble() * 0.2, z + 0.5, 0.0, 0.0, 0.0) { - double axisX = posX; - double axisZ = posZ; - double angle = rand.nextDouble() * 2.0 * 3.1415; + { + axisX = 0.0; + axisZ = 0.0; + angle = 0.0; + motionX = 0.05 * (rand.nextDouble() - 0.5); + motionZ = 0.05 * (rand.nextDouble() - 0.5); + motionY = 0.0; + particleMaxAge = 25; + particleGravity = 0.05f; + noClip = true; + setRBGColorF(0.6f, 0.0f, 1.0f); + } - { - axisX = 0.0; - axisZ = 0.0; - angle = 0.0; - motionX = 0.05 * (rand.nextDouble() - 0.5); - motionZ = 0.05 * (rand.nextDouble() - 0.5); - motionY = 0.0; - particleMaxAge = 25; - particleGravity = 0.05f; - noClip = true; - setRBGColorF(0.6f, 0.0f, 1.0f); - } + @Override + public void onUpdate() { + super.onUpdate(); + setAlphaF((float) Math.cos(1.57 * particleAge / particleMaxAge)); + } - @Override - public void onUpdate() { - super.onUpdate(); - setAlphaF((float) Math.cos(1.57 * particleAge / particleMaxAge)); - } + @Override + public int getFXLayer() { + return 0; + } + }); + } + } - @Override - public int getFXLayer() { - return 0; - } - }); - } - } + @SideOnly(Side.CLIENT) + @Override + public void renderInWorld(RenderItem renderItem, double x, double y, double z) { + if (!getUtil().getProcess().isInProgress()) { + return; + } - @SideOnly(Side.CLIENT) - @Override - public void renderInWorld(RenderItem renderItem, double x, double y, double z) { - if (!getUtil().getProcess().isInProgress()) { - return; - } + ItemStack stack = getUtil().getStack(Analyser.SLOT_TARGET); + dummyEntityItem.worldObj = getMachine().getWorld(); + dummyEntityItem.setEntityItemStack(stack); + EntityItem dummyEntityItem = this.dummyEntityItem; + dummyEntityItem.age++; + this.dummyEntityItem.hoverStart = 0.0f; + if (stack == null) { + return; + } - ItemStack stack = getUtil().getStack(Analyser.SLOT_TARGET); - dummyEntityItem.worldObj = getMachine().getWorld(); - dummyEntityItem.setEntityItemStack(stack); - EntityItem dummyEntityItem = this.dummyEntityItem; - dummyEntityItem.age++; - this.dummyEntityItem.hoverStart = 0.0f; - if (stack == null) { - return; - } + EntityPlayer player = BinnieCore.proxy.getPlayer(); + double dx = x + 0.5 - player.lastTickPosX; + double dz = z + 0.5 - player.lastTickPosZ; + double t = Math.atan2(dz, dx) * 180.0 / 3.1415; + GL11.glPushMatrix(); + GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); + GL11.glTranslatef(0.0f, -0.2f, 0.0f); + renderItem.doRender(this.dummyEntityItem, 0.0, 0.0, 0.0, 0.0f, 0.0f); + GL11.glPopMatrix(); + } - EntityPlayer player = BinnieCore.proxy.getPlayer(); - double dx = x + 0.5 - player.lastTickPosX; - double dz = z + 0.5 - player.lastTickPosZ; - double t = Math.atan2(dz, dx) * 180.0 / 3.1415; - GL11.glPushMatrix(); - GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); - GL11.glTranslatef(0.0f, -0.2f, 0.0f); - renderItem.doRender(this.dummyEntityItem, 0.0, 0.0, 0.0, 0.0f, 0.0f); - GL11.glPopMatrix(); - } + @Override + public void syncToNBT(NBTTagCompound nbt) { + NBTTagCompound item = new NBTTagCompound(); + ItemStack stack = getUtil().getStack(Analyser.SLOT_TARGET); + if (stack == null) { + return; + } - @Override - public void syncToNBT(NBTTagCompound nbt) { - NBTTagCompound item = new NBTTagCompound(); - ItemStack stack = getUtil().getStack(Analyser.SLOT_TARGET); - if (stack == null) { - return; - } + stack.writeToNBT(item); + nbt.setTag("item", item); + } - stack.writeToNBT(item); - nbt.setTag("item", item); - } + @Override + public void syncFromNBT(NBTTagCompound nbt) { + if (nbt.hasKey("item")) { + getUtil().setStack(Analyser.SLOT_TARGET, ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("item"))); + } else { + getUtil().setStack(Analyser.SLOT_TARGET, null); + } + } - @Override - public void syncFromNBT(NBTTagCompound nbt) { - if (nbt.hasKey("item")) { - getUtil().setStack(Analyser.SLOT_TARGET, ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("item"))); - } else { - getUtil().setStack(Analyser.SLOT_TARGET, null); - } - } + @Override + public void onInventoryUpdate() { + if (!getUtil().isServer()) { + return; + } - @Override - public void onInventoryUpdate() { - if (!getUtil().isServer()) { - return; - } - - IMachine machine = getMachine(); - TileEntity tile = machine.getTileEntity(); - machine.getWorld().markBlockForUpdate(tile.xCoord, tile.yCoord, tile.zCoord); - } + IMachine machine = getMachine(); + TileEntity tile = machine.getTileEntity(); + machine.getWorld().markBlockForUpdate(tile.xCoord, tile.yCoord, tile.zCoord); + } } diff --git a/src/main/java/binnie/genetics/machine/analyser/AnalyserComponentLogic.java b/src/main/java/binnie/genetics/machine/analyser/AnalyserComponentLogic.java index d6835e6e..6b426157 100644 --- a/src/main/java/binnie/genetics/machine/analyser/AnalyserComponentLogic.java +++ b/src/main/java/binnie/genetics/machine/analyser/AnalyserComponentLogic.java @@ -8,54 +8,49 @@ import binnie.core.util.I18N; import net.minecraft.item.ItemStack; public class AnalyserComponentLogic extends ComponentProcessSetCost implements IProcess { - public AnalyserComponentLogic(Machine machine) { - super(machine, Analyser.RF_COST, Analyser.TIME_PERIOD); - } + public AnalyserComponentLogic(Machine machine) { + super(machine, Analyser.RF_COST, Analyser.TIME_PERIOD); + } - @Override - public ErrorState canWork() { - if (getUtil().isSlotEmpty(Analyser.SLOT_TARGET)) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.analyser.error.noItem"), - Analyser.SLOT_TARGET - ); - } + @Override + public ErrorState canWork() { + if (getUtil().isSlotEmpty(Analyser.SLOT_TARGET)) { + return new ErrorState.NoItem(I18N.localise("genetics.machine.analyser.error.noItem"), Analyser.SLOT_TARGET); + } - boolean analysed = Analyser.isAnalysed(getUtil().getStack(Analyser.SLOT_TARGET)); - if (!analysed) { - return super.canWork(); - } + boolean analysed = Analyser.isAnalysed(getUtil().getStack(Analyser.SLOT_TARGET)); + if (!analysed) { + return super.canWork(); + } - return new ErrorState.InvalidItem( - I18N.localise("genetics.machine.analyser.error.alreadyAnalysed.title"), - I18N.localise("genetics.machine.analyser.error.alreadyAnalysed"), - Analyser.SLOT_TARGET - ); - } + return new ErrorState.InvalidItem( + I18N.localise("genetics.machine.analyser.error.alreadyAnalysed.title"), + I18N.localise("genetics.machine.analyser.error.alreadyAnalysed"), + Analyser.SLOT_TARGET); + } - @Override - public ErrorState canProgress() { - if (getUtil().getSlotCharge(Analyser.SLOT_DYE) != 0.0f) { - return super.canProgress(); - } + @Override + public ErrorState canProgress() { + if (getUtil().getSlotCharge(Analyser.SLOT_DYE) != 0.0f) { + return super.canProgress(); + } - return new ErrorState.Item( - I18N.localise("genetics.machine.analyser.error.insufficientDye.title"), - I18N.localise("genetics.machine.analyser.error.insufficientDye"), - new int[]{Analyser.SLOT_DYE} - ); - } + return new ErrorState.Item( + I18N.localise("genetics.machine.analyser.error.insufficientDye.title"), + I18N.localise("genetics.machine.analyser.error.insufficientDye"), + new int[] {Analyser.SLOT_DYE}); + } - @Override - protected void onFinishTask() { - super.onFinishTask(); - ItemStack itemStack = getUtil().getStack(Analyser.SLOT_TARGET); - itemStack = Analyser.analyse(itemStack); - getInventory().setInventorySlotContents(Analyser.SLOT_TARGET, itemStack); - } + @Override + protected void onFinishTask() { + super.onFinishTask(); + ItemStack itemStack = getUtil().getStack(Analyser.SLOT_TARGET); + itemStack = Analyser.analyse(itemStack); + getInventory().setInventorySlotContents(Analyser.SLOT_TARGET, itemStack); + } - @Override - protected void onTickTask() { - getUtil().useCharge(Analyser.SLOT_DYE, Analyser.DYE_PER_TICK); - } + @Override + protected void onTickTask() { + getUtil().useCharge(Analyser.SLOT_DYE, Analyser.DYE_PER_TICK); + } } diff --git a/src/main/java/binnie/genetics/machine/analyser/AnalyserPackage.java b/src/main/java/binnie/genetics/machine/analyser/AnalyserPackage.java index 9f540847..ed4ad350 100644 --- a/src/main/java/binnie/genetics/machine/analyser/AnalyserPackage.java +++ b/src/main/java/binnie/genetics/machine/analyser/AnalyserPackage.java @@ -16,52 +16,52 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; public class AnalyserPackage extends PackageGeneticBase implements IMachineInformation { - public AnalyserPackage() { - super("analyser", GeneticsTexture.Analyser, 0x9800ff, true); - } + public AnalyserPackage() { + super("analyser", GeneticsTexture.Analyser, 0x9800ff, true); + } - @Override - public void createMachine(Machine machine) { - new ComponentGeneticGUI(machine, GeneticsGUI.Analyser); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - inventory.addSlotArray(Analyser.SLOT_RESERVE, "input"); - for (InventorySlot slot : inventory.getSlots(Analyser.SLOT_RESERVE)) { - slot.setValidator(new UnanalysedSlotValidator()); - slot.forbidExtraction(); - } + @Override + public void createMachine(Machine machine) { + new ComponentGeneticGUI(machine, GeneticsGUI.Analyser); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + inventory.addSlotArray(Analyser.SLOT_RESERVE, "input"); + for (InventorySlot slot : inventory.getSlots(Analyser.SLOT_RESERVE)) { + slot.setValidator(new UnanalysedSlotValidator()); + slot.forbidExtraction(); + } - InventorySlot targetSlot = inventory.addSlot(Analyser.SLOT_TARGET, "analyse"); - targetSlot.setValidator(new UnanalysedSlotValidator()); - targetSlot.setReadOnly(); - targetSlot.forbidInteraction(); + InventorySlot targetSlot = inventory.addSlot(Analyser.SLOT_TARGET, "analyse"); + targetSlot.setValidator(new UnanalysedSlotValidator()); + targetSlot.setReadOnly(); + targetSlot.forbidInteraction(); - InventorySlot dyeSlot = inventory.addSlot(Analyser.SLOT_DYE, "dye"); - dyeSlot.forbidExtraction(); - dyeSlot.setValidator(new DyeSlotValidator()); + InventorySlot dyeSlot = inventory.addSlot(Analyser.SLOT_DYE, "dye"); + dyeSlot.forbidExtraction(); + dyeSlot.setValidator(new DyeSlotValidator()); - inventory.addSlotArray(Analyser.SLOT_FINISHED, "output"); - for (InventorySlot slot : inventory.getSlots(Analyser.SLOT_FINISHED)) { - slot.forbidInsertion(); - slot.setReadOnly(); - } + inventory.addSlotArray(Analyser.SLOT_FINISHED, "output"); + for (InventorySlot slot : inventory.getSlots(Analyser.SLOT_FINISHED)) { + slot.forbidInsertion(); + slot.setReadOnly(); + } - ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); - transfer.addRestock(Analyser.SLOT_RESERVE, Analyser.SLOT_TARGET, 1); - transfer.addStorage(Analyser.SLOT_TARGET, Analyser.SLOT_FINISHED, new ComponentInventoryTransfer.Condition() { - @Override - public boolean fufilled(ItemStack stack) { - return Analyser.isAnalysed(stack); - } - }); + ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); + transfer.addRestock(Analyser.SLOT_RESERVE, Analyser.SLOT_TARGET, 1); + transfer.addStorage(Analyser.SLOT_TARGET, Analyser.SLOT_FINISHED, new ComponentInventoryTransfer.Condition() { + @Override + public boolean fufilled(ItemStack stack) { + return Analyser.isAnalysed(stack); + } + }); - new ComponentChargedSlots(machine).addCharge(Analyser.SLOT_DYE); - new ComponentPowerReceptor(machine, 500); - new AnalyserComponentLogic(machine); - new AnalyserComponentFX(machine); - } + new ComponentChargedSlots(machine).addCharge(Analyser.SLOT_DYE); + new ComponentPowerReceptor(machine, 500); + new AnalyserComponentLogic(machine); + new AnalyserComponentFX(machine); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } } diff --git a/src/main/java/binnie/genetics/machine/analyser/DyeSlotValidator.java b/src/main/java/binnie/genetics/machine/analyser/DyeSlotValidator.java index 0794602c..43526ebe 100644 --- a/src/main/java/binnie/genetics/machine/analyser/DyeSlotValidator.java +++ b/src/main/java/binnie/genetics/machine/analyser/DyeSlotValidator.java @@ -7,17 +7,17 @@ import binnie.genetics.machine.ModuleMachine; import net.minecraft.item.ItemStack; public class DyeSlotValidator extends SlotValidator { - public DyeSlotValidator() { - super(ModuleMachine.IconDye); - } + public DyeSlotValidator() { + super(ModuleMachine.IconDye); + } - @Override - public boolean isValid(ItemStack itemStack) { - return itemStack.isItemEqual(GeneticsItems.DNADye.get(1)); - } + @Override + public boolean isValid(ItemStack itemStack) { + return itemStack.isItemEqual(GeneticsItems.DNADye.get(1)); + } - @Override - public String getTooltip() { - return I18N.localise("genetics.machine.analyser.dnaDye"); - } + @Override + public String getTooltip() { + return I18N.localise("genetics.machine.analyser.dnaDye"); + } } diff --git a/src/main/java/binnie/genetics/machine/analyser/UnanalysedSlotValidator.java b/src/main/java/binnie/genetics/machine/analyser/UnanalysedSlotValidator.java index fa408a4a..9731ab4d 100644 --- a/src/main/java/binnie/genetics/machine/analyser/UnanalysedSlotValidator.java +++ b/src/main/java/binnie/genetics/machine/analyser/UnanalysedSlotValidator.java @@ -5,18 +5,17 @@ import binnie.core.util.I18N; import net.minecraft.item.ItemStack; public class UnanalysedSlotValidator extends SlotValidator { - public UnanalysedSlotValidator() { - super(null); - } + public UnanalysedSlotValidator() { + super(null); + } - @Override - public boolean isValid(ItemStack stack) { - return Analyser.isAnalysable(stack) - && !Analyser.isAnalysed(stack); - } + @Override + public boolean isValid(ItemStack stack) { + return Analyser.isAnalysable(stack) && !Analyser.isAnalysed(stack); + } - @Override - public String getTooltip() { - return I18N.localise("genetics.machine.analyser.unanalysedItem"); - } + @Override + public String getTooltip() { + return I18N.localise("genetics.machine.analyser.unanalysedItem"); + } } diff --git a/src/main/java/binnie/genetics/machine/genepool/EthanolTankValidator.java b/src/main/java/binnie/genetics/machine/genepool/EthanolTankValidator.java index 98a34b0e..2328e2a4 100644 --- a/src/main/java/binnie/genetics/machine/genepool/EthanolTankValidator.java +++ b/src/main/java/binnie/genetics/machine/genepool/EthanolTankValidator.java @@ -5,13 +5,13 @@ import binnie.core.util.I18N; import net.minecraftforge.fluids.FluidStack; public class EthanolTankValidator extends TankValidator { - @Override - public String getTooltip() { - return I18N.localise("fluid.bioethanol"); - } + @Override + public String getTooltip() { + return I18N.localise("fluid.bioethanol"); + } - @Override - public boolean isValid(FluidStack liquid) { - return liquid.getFluid().getName().equals("bioethanol"); - } + @Override + public boolean isValid(FluidStack liquid) { + return liquid.getFluid().getName().equals("bioethanol"); + } } diff --git a/src/main/java/binnie/genetics/machine/genepool/Genepool.java b/src/main/java/binnie/genetics/machine/genepool/Genepool.java index 8628f125..5c4e95b3 100644 --- a/src/main/java/binnie/genetics/machine/genepool/Genepool.java +++ b/src/main/java/binnie/genetics/machine/genepool/Genepool.java @@ -1,16 +1,16 @@ package binnie.genetics.machine.genepool; public class Genepool { - public static final int SLOT_BEE = 0; - public static final int TANK_DNA = 0; - public static final int TANK_ETHANOL = 1; - public static final int SLOT_ENZYME = 7; - public static final int[] SLOT_RESERVE = new int[]{1, 2, 3, 4, 5, 6}; - public static final int RF_COST = 8000; - public static final int TIME_PERIOD = 400; - public static final float ENZYME_PER_PROCESS = 0.25f; - public static final int ETHANOL_PER_TICK = 1; - public static final int POWER_CAPACITY = 1600; - public static final int TANK_DNA_CAPACITY = 2000; - public static final int TANK_ETHANOL_CAPACITY = 1000; + public static final int SLOT_BEE = 0; + public static final int TANK_DNA = 0; + public static final int TANK_ETHANOL = 1; + public static final int SLOT_ENZYME = 7; + public static final int[] SLOT_RESERVE = new int[] {1, 2, 3, 4, 5, 6}; + public static final int RF_COST = 8000; + public static final int TIME_PERIOD = 400; + public static final float ENZYME_PER_PROCESS = 0.25f; + public static final int ETHANOL_PER_TICK = 1; + public static final int POWER_CAPACITY = 1600; + public static final int TANK_DNA_CAPACITY = 2000; + public static final int TANK_ETHANOL_CAPACITY = 1000; } diff --git a/src/main/java/binnie/genetics/machine/genepool/GenepoolComponentFX.java b/src/main/java/binnie/genetics/machine/genepool/GenepoolComponentFX.java index c4a4a366..cfe8cd72 100644 --- a/src/main/java/binnie/genetics/machine/genepool/GenepoolComponentFX.java +++ b/src/main/java/binnie/genetics/machine/genepool/GenepoolComponentFX.java @@ -6,57 +6,70 @@ import binnie.core.machines.MachineComponent; import binnie.core.machines.component.IRender; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; import net.minecraft.client.particle.EntityFX; import net.minecraft.world.World; -import java.util.Random; - public class GenepoolComponentFX extends MachineComponent implements IRender.RandomDisplayTick, IRender.DisplayTick { - public GenepoolComponentFX(IMachine machine) { - super(machine); - } + public GenepoolComponentFX(IMachine machine) { + super(machine); + } - @SideOnly(Side.CLIENT) - @Override - public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) { - // ignored - } + @SideOnly(Side.CLIENT) + @Override + public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) { + // ignored + } - @SideOnly(Side.CLIENT) - @Override - public void onDisplayTick(World world, int x, int y, int z, Random rand) { - if (rand.nextFloat() >= 1.0f || !getUtil().getProcess().isInProgress()) { - return; - } + @SideOnly(Side.CLIENT) + @Override + public void onDisplayTick(World world, int x, int y, int z, Random rand) { + if (rand.nextFloat() >= 1.0f || !getUtil().getProcess().isInProgress()) { + return; + } - BinnieCore.proxy.getMinecraftInstance().effectRenderer.addEffect(new EntityFX(world, x + 0.3 + rand.nextDouble() * 0.4, y + 1, z + 0.3 + rand.nextDouble() * 0.4, 0.0, 0.0, 0.0) { - double axisX = posX; - double axisZ = posZ; - double angle = rand.nextDouble() * 2.0 * 3.1415; + BinnieCore.proxy + .getMinecraftInstance() + .effectRenderer + .addEffect( + new EntityFX( + world, + x + 0.3 + rand.nextDouble() * 0.4, + y + 1, + z + 0.3 + rand.nextDouble() * 0.4, + 0.0, + 0.0, + 0.0) { + double axisX = posX; + double axisZ = posZ; + double angle = rand.nextDouble() * 2.0 * 3.1415; - { - axisX = 0.0; - axisZ = 0.0; - angle = 0.0; - motionX = 0.0; - motionZ = 0.0; - motionY = rand.nextFloat() * 0.01; - particleMaxAge = 25; - particleGravity = 0.0f; - noClip = true; - setRBGColorF(0.4f + 0.6f * rand.nextFloat(), 0.6f * rand.nextFloat(), 0.6f + 0.4f * rand.nextFloat()); - } + { + axisX = 0.0; + axisZ = 0.0; + angle = 0.0; + motionX = 0.0; + motionZ = 0.0; + motionY = rand.nextFloat() * 0.01; + particleMaxAge = 25; + particleGravity = 0.0f; + noClip = true; + setRBGColorF( + 0.4f + 0.6f * rand.nextFloat(), + 0.6f * rand.nextFloat(), + 0.6f + 0.4f * rand.nextFloat()); + } - @Override - public void onUpdate() { - super.onUpdate(); - setAlphaF((float) Math.cos(1.57 * particleAge / particleMaxAge)); - } + @Override + public void onUpdate() { + super.onUpdate(); + setAlphaF((float) Math.cos(1.57 * particleAge / particleMaxAge)); + } - @Override - public int getFXLayer() { - return 0; - } - }); - } + @Override + public int getFXLayer() { + return 0; + } + }); + } } diff --git a/src/main/java/binnie/genetics/machine/genepool/GenepoolComponentLogic.java b/src/main/java/binnie/genetics/machine/genepool/GenepoolComponentLogic.java index 3cf31510..c6fe2837 100644 --- a/src/main/java/binnie/genetics/machine/genepool/GenepoolComponentLogic.java +++ b/src/main/java/binnie/genetics/machine/genepool/GenepoolComponentLogic.java @@ -14,78 +14,70 @@ import forestry.api.genetics.ISpeciesRoot; import net.minecraft.item.ItemStack; public class GenepoolComponentLogic extends ComponentProcessSetCost implements IProcess, INetwork.TilePacketSync { - private float ethanolDrain; + private float ethanolDrain; - public GenepoolComponentLogic(Machine machine) { - super(machine, Genepool.RF_COST, Genepool.TIME_PERIOD); - ethanolDrain = 0.0f; - } + public GenepoolComponentLogic(Machine machine) { + super(machine, Genepool.RF_COST, Genepool.TIME_PERIOD); + ethanolDrain = 0.0f; + } - @Override - public ErrorState canWork() { - if (getUtil().isSlotEmpty(Genepool.SLOT_BEE)) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.genepool.error.noIndividual"), - Genepool.SLOT_BEE - ); - } - return super.canWork(); - } + @Override + public ErrorState canWork() { + if (getUtil().isSlotEmpty(Genepool.SLOT_BEE)) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.genepool.error.noIndividual"), Genepool.SLOT_BEE); + } + return super.canWork(); + } - @Override - public ErrorState canProgress() { - if (!getUtil().spaceInTank(Genepool.TANK_DNA, getDNAAmount(getUtil().getStack(Genepool.TANK_DNA)))) { - return new ErrorState.NoSpace( - I18N.localise("genetics.machine.genepool.error.noRoom"), - Genepool.TANK_DNA - ); - } - if (!getUtil().liquidInTank(Genepool.TANK_ETHANOL, 1)) { - return new ErrorState.InsufficientLiquid( - I18N.localise("genetics.machine.genepool.error.noEthanol"), - Genepool.TANK_ETHANOL - ); - } - if (getUtil().getSlotCharge(Genepool.SLOT_ENZYME) == 0.0f) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.genepool.error.insufficientEnzyme"), - Genepool.SLOT_ENZYME - ); - } - return super.canProgress(); - } + @Override + public ErrorState canProgress() { + if (!getUtil().spaceInTank(Genepool.TANK_DNA, getDNAAmount(getUtil().getStack(Genepool.TANK_DNA)))) { + return new ErrorState.NoSpace(I18N.localise("genetics.machine.genepool.error.noRoom"), Genepool.TANK_DNA); + } + if (!getUtil().liquidInTank(Genepool.TANK_ETHANOL, 1)) { + return new ErrorState.InsufficientLiquid( + I18N.localise("genetics.machine.genepool.error.noEthanol"), Genepool.TANK_ETHANOL); + } + if (getUtil().getSlotCharge(Genepool.SLOT_ENZYME) == 0.0f) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.genepool.error.insufficientEnzyme"), Genepool.SLOT_ENZYME); + } + return super.canProgress(); + } - @Override - protected void onFinishTask() { - super.onFinishTask(); - int amount = getDNAAmount(getUtil().getStack(Genepool.TANK_DNA)); - getUtil().fillTank(Genepool.TANK_DNA, GeneticLiquid.RawDNA.get(amount)); - getUtil().deleteStack(Genepool.TANK_DNA); - } + @Override + protected void onFinishTask() { + super.onFinishTask(); + int amount = getDNAAmount(getUtil().getStack(Genepool.TANK_DNA)); + getUtil().fillTank(Genepool.TANK_DNA, GeneticLiquid.RawDNA.get(amount)); + getUtil().deleteStack(Genepool.TANK_DNA); + } - private int getDNAAmount(ItemStack stack) { - ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(stack); - if (root == null || - root != Binnie.Genetics.getBeeRoot() || - Binnie.Genetics.getBeeRoot().isDrone(stack)) { - return 10; - } + private int getDNAAmount(ItemStack stack) { + ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(stack); + if (root == null + || root != Binnie.Genetics.getBeeRoot() + || Binnie.Genetics.getBeeRoot().isDrone(stack)) { + return 10; + } - if (Binnie.Genetics.getBeeRoot().isMated(stack)) { - return 50; - } - return 30; - } + if (Binnie.Genetics.getBeeRoot().isMated(stack)) { + return 50; + } + return 30; + } - @Override - protected void onTickTask() { - ethanolDrain += getDNAAmount(getUtil().getStack(Genepool.TANK_DNA)) * 1.2f * getProgressPerTick() / 100.0f; - if (ethanolDrain >= 1.0f) { - getUtil().drainTank(Genepool.TANK_ETHANOL, Genepool.ETHANOL_PER_TICK); - ethanolDrain--; - } + @Override + protected void onTickTask() { + ethanolDrain += getDNAAmount(getUtil().getStack(Genepool.TANK_DNA)) * 1.2f * getProgressPerTick() / 100.0f; + if (ethanolDrain >= 1.0f) { + getUtil().drainTank(Genepool.TANK_ETHANOL, Genepool.ETHANOL_PER_TICK); + ethanolDrain--; + } - getMachine().getInterface(IChargedSlots.class) - .alterCharge(Genepool.SLOT_ENZYME, -Genepool.ENZYME_PER_PROCESS * getProgressPerTick() / 100.0f); - } + getMachine() + .getInterface(IChargedSlots.class) + .alterCharge(Genepool.SLOT_ENZYME, -Genepool.ENZYME_PER_PROCESS * getProgressPerTick() / 100.0f); + } } diff --git a/src/main/java/binnie/genetics/machine/genepool/GenepoolPackage.java b/src/main/java/binnie/genetics/machine/genepool/GenepoolPackage.java index bbd81394..737af5fb 100644 --- a/src/main/java/binnie/genetics/machine/genepool/GenepoolPackage.java +++ b/src/main/java/binnie/genetics/machine/genepool/GenepoolPackage.java @@ -20,48 +20,48 @@ import binnie.genetics.machine.PackageGeneticBase; import net.minecraft.tileentity.TileEntity; public class GenepoolPackage extends PackageGeneticBase implements IMachineInformation { - public GenepoolPackage() { - super("genepool", GeneticsTexture.Genepool, 0xc134b6, true); - } + public GenepoolPackage() { + super("genepool", GeneticsTexture.Genepool, 0xc134b6, true); + } - @Override - public void createMachine(Machine machine) { - new ComponentGeneticGUI(machine, GeneticsGUI.Genepool); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - InventorySlot enzymeSlot = inventory.addSlot(Genepool.SLOT_ENZYME, "enzyme"); - enzymeSlot.setValidator(new SlotValidator.Item(GeneticsItems.Enzyme.get(1), ModuleMachine.IconEnzyme)); - enzymeSlot.forbidExtraction(); + @Override + public void createMachine(Machine machine) { + new ComponentGeneticGUI(machine, GeneticsGUI.Genepool); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + InventorySlot enzymeSlot = inventory.addSlot(Genepool.SLOT_ENZYME, "enzyme"); + enzymeSlot.setValidator(new SlotValidator.Item(GeneticsItems.Enzyme.get(1), ModuleMachine.IconEnzyme)); + enzymeSlot.forbidExtraction(); - InventorySlot slotBee = inventory.addSlot(Genepool.SLOT_BEE, "process"); - slotBee.setValidator(new SlotValidator.Individual()); - slotBee.setReadOnly(); - slotBee.forbidExtraction(); - inventory.addSlotArray(Genepool.SLOT_RESERVE, "input"); + InventorySlot slotBee = inventory.addSlot(Genepool.SLOT_BEE, "process"); + slotBee.setValidator(new SlotValidator.Individual()); + slotBee.setReadOnly(); + slotBee.forbidExtraction(); + inventory.addSlotArray(Genepool.SLOT_RESERVE, "input"); - for (InventorySlot slot : inventory.getSlots(Genepool.SLOT_RESERVE)) { - slot.setValidator(new SlotValidator.Individual()); - slot.forbidExtraction(); - } + for (InventorySlot slot : inventory.getSlots(Genepool.SLOT_RESERVE)) { + slot.setValidator(new SlotValidator.Individual()); + slot.forbidExtraction(); + } - ComponentTankContainer tanks = new ComponentTankContainer(machine); - TankSlot dnaSlot = tanks.addTank(Genepool.TANK_DNA, "output", Genepool.TANK_DNA_CAPACITY); - dnaSlot.setReadOnly(); + ComponentTankContainer tanks = new ComponentTankContainer(machine); + TankSlot dnaSlot = tanks.addTank(Genepool.TANK_DNA, "output", Genepool.TANK_DNA_CAPACITY); + dnaSlot.setReadOnly(); - TankSlot ethanolSlot = tanks.addTank(Genepool.TANK_ETHANOL, "input", Genepool.TANK_ETHANOL_CAPACITY); - ethanolSlot.forbidExtraction(); - ethanolSlot.setValidator(new EthanolTankValidator()); + TankSlot ethanolSlot = tanks.addTank(Genepool.TANK_ETHANOL, "input", Genepool.TANK_ETHANOL_CAPACITY); + ethanolSlot.forbidExtraction(); + ethanolSlot.setValidator(new EthanolTankValidator()); - ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); - transfer.addRestock(Genepool.SLOT_RESERVE, Genepool.SLOT_BEE, 1); - new ComponentPowerReceptor(machine, Genepool.POWER_CAPACITY); - new GenepoolComponentLogic(machine); - ComponentChargedSlots chargedSlots = new ComponentChargedSlots(machine); - chargedSlots.addCharge(Genepool.SLOT_ENZYME); - new GenepoolComponentFX(machine); - } + ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); + transfer.addRestock(Genepool.SLOT_RESERVE, Genepool.SLOT_BEE, 1); + new ComponentPowerReceptor(machine, Genepool.POWER_CAPACITY); + new GenepoolComponentLogic(machine); + ComponentChargedSlots chargedSlots = new ComponentChargedSlots(machine); + chargedSlots.addCharge(Genepool.SLOT_ENZYME); + new GenepoolComponentFX(machine); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } } diff --git a/src/main/java/binnie/genetics/machine/incubator/Incubator.java b/src/main/java/binnie/genetics/machine/incubator/Incubator.java index 4006c50b..e934b1a5 100644 --- a/src/main/java/binnie/genetics/machine/incubator/Incubator.java +++ b/src/main/java/binnie/genetics/machine/incubator/Incubator.java @@ -10,15 +10,14 @@ import forestry.api.apiculture.EnumBeeType; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAllele; import forestry.api.genetics.IIndividual; +import java.util.ArrayList; +import java.util.List; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; -import java.util.ArrayList; -import java.util.List; - public class Incubator { - public static final int[] SLOT_QUEUE = new int[]{0, 1, 2}; - public static final int[] SLOT_OUTPUT = new int[]{4, 5, 6}; + public static final int[] SLOT_QUEUE = new int[] {0, 1, 2}; + public static final int[] SLOT_OUTPUT = new int[] {4, 5, 6}; public static final int SLOT_INCUBATOR = 3; public static final int TANK_INPUT = 0; public static final int TANK_OUTPUT = 1; @@ -29,14 +28,41 @@ public class Incubator { public static final int OUTPU_TANK_CAPACITY = 2000; public static void addRecipes() { - Incubator.RECIPES.add(new IncubatorRecipe(GeneticsItems.GrowthMedium.get(1), Binnie.Liquid.getLiquidStack("water", 25), GeneticLiquid.GrowthMedium.get(25), 0.2f)); - Incubator.RECIPES.add(new IncubatorRecipe(new ItemStack(Items.wheat), GeneticLiquid.GrowthMedium.get(25), GeneticLiquid.Bacteria.get(5), 0.2f)); - Incubator.RECIPES.add(new IncubatorRecipe(GeneticsItems.GrowthMedium.get(1), GeneticLiquid.Bacteria.get(0), GeneticLiquid.Bacteria.get(5), 0.05f)); - Incubator.RECIPES.add(new IncubatorRecipe(new ItemStack(Items.sugar), GeneticLiquid.Bacteria.get(2), null, 0.5f, 0.2f).setOutputStack(GeneticsItems.Enzyme.get(1))); - Incubator.RECIPES.add(new IncubatorRecipe(GeneticsItems.GrowthMedium.get(1), GeneticLiquid.BacteriaPoly.get(0), GeneticLiquid.BacteriaPoly.get(5), 0.05f)); - Incubator.RECIPES.add(new IncubatorRecipe(GeneticsItems.GrowthMedium.get(1), GeneticLiquid.BacteriaVector.get(0), GeneticLiquid.BacteriaVector.get(5), 0.05f)); - Incubator.RECIPES.add(new IncubatorRecipe(new ItemStack(Items.dye, 1, 15), GeneticLiquid.Bacteria.get(10), GeneticLiquid.BacteriaPoly.get(10), 0.1f)); - Incubator.RECIPES.add(new IncubatorRecipe(new ItemStack(Items.blaze_powder), GeneticLiquid.Bacteria.get(10), GeneticLiquid.BacteriaVector.get(10), 0.05f)); + Incubator.RECIPES.add(new IncubatorRecipe( + GeneticsItems.GrowthMedium.get(1), + Binnie.Liquid.getLiquidStack("water", 25), + GeneticLiquid.GrowthMedium.get(25), + 0.2f)); + Incubator.RECIPES.add(new IncubatorRecipe( + new ItemStack(Items.wheat), GeneticLiquid.GrowthMedium.get(25), GeneticLiquid.Bacteria.get(5), 0.2f)); + Incubator.RECIPES.add(new IncubatorRecipe( + GeneticsItems.GrowthMedium.get(1), + GeneticLiquid.Bacteria.get(0), + GeneticLiquid.Bacteria.get(5), + 0.05f)); + Incubator.RECIPES.add( + new IncubatorRecipe(new ItemStack(Items.sugar), GeneticLiquid.Bacteria.get(2), null, 0.5f, 0.2f) + .setOutputStack(GeneticsItems.Enzyme.get(1))); + Incubator.RECIPES.add(new IncubatorRecipe( + GeneticsItems.GrowthMedium.get(1), + GeneticLiquid.BacteriaPoly.get(0), + GeneticLiquid.BacteriaPoly.get(5), + 0.05f)); + Incubator.RECIPES.add(new IncubatorRecipe( + GeneticsItems.GrowthMedium.get(1), + GeneticLiquid.BacteriaVector.get(0), + GeneticLiquid.BacteriaVector.get(5), + 0.05f)); + Incubator.RECIPES.add(new IncubatorRecipe( + new ItemStack(Items.dye, 1, 15), + GeneticLiquid.Bacteria.get(10), + GeneticLiquid.BacteriaPoly.get(10), + 0.1f)); + Incubator.RECIPES.add(new IncubatorRecipe( + new ItemStack(Items.blaze_powder), + GeneticLiquid.Bacteria.get(10), + GeneticLiquid.BacteriaVector.get(10), + 0.05f)); if (BinnieCore.isApicultureActive()) { AlleleManager.alleleRegistry.getRegisteredAlleles().values().forEach(iAllele -> { diff --git a/src/main/java/binnie/genetics/machine/incubator/IncubatorComponentLogic.java b/src/main/java/binnie/genetics/machine/incubator/IncubatorComponentLogic.java index b57e9a4e..6afff267 100644 --- a/src/main/java/binnie/genetics/machine/incubator/IncubatorComponentLogic.java +++ b/src/main/java/binnie/genetics/machine/incubator/IncubatorComponentLogic.java @@ -7,12 +7,11 @@ import binnie.core.machines.power.IProcess; import binnie.core.machines.transfer.TransferRequest; import binnie.core.util.I18N; import binnie.genetics.api.IIncubatorRecipe; +import java.util.Random; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; -import java.util.Random; - public class IncubatorComponentLogic extends ComponentProcessIndefinate implements IProcess { IIncubatorRecipe recipe; private final Random rand; @@ -36,8 +35,7 @@ public class IncubatorComponentLogic extends ComponentProcessIndefinate implemen } return new ErrorState( I18N.localise("genetics.machine.incubator.error.noRecipe.title"), - I18N.localise("genetics.machine.incubator.error.noRecipe") - ); + I18N.localise("genetics.machine.incubator.error.noRecipe")); } @Override @@ -45,15 +43,11 @@ public class IncubatorComponentLogic extends ComponentProcessIndefinate implemen if (recipe != null) { if (!recipe.isInputLiquidSufficient(getUtil().getFluid(Incubator.TANK_INPUT))) { return new ErrorState.InsufficientLiquid( - I18N.localise("genetics.machine.incubator.error.noLiquid"), - Incubator.TANK_INPUT - ); + I18N.localise("genetics.machine.incubator.error.noLiquid"), Incubator.TANK_INPUT); } if (!roomForOutput) { return new ErrorState.TankSpace( - I18N.localise("genetics.machine.incubator.error.noRoom"), - Incubator.TANK_OUTPUT - ); + I18N.localise("genetics.machine.incubator.error.noRoom"), Incubator.TANK_OUTPUT); } } return super.canProgress(); @@ -91,7 +85,11 @@ public class IncubatorComponentLogic extends ComponentProcessIndefinate implemen FluidStack liquid = getUtil().getFluid(Incubator.TANK_INPUT); ItemStack incubator = getUtil().getStack(Incubator.SLOT_INCUBATOR); - if (recipe != null && (incubator == null || liquid == null || !recipe.isInputLiquid(liquid) || !isStackValid(incubator, recipe))) { + if (recipe != null + && (incubator == null + || liquid == null + || !recipe.isInputLiquid(liquid) + || !isStackValid(incubator, recipe))) { recipe = null; ItemStack leftover = new TransferRequest(incubator, getInventory()) .setTargetSlots(Incubator.SLOT_OUTPUT) diff --git a/src/main/java/binnie/genetics/machine/incubator/IncubatorPackage.java b/src/main/java/binnie/genetics/machine/incubator/IncubatorPackage.java index 17788a98..91f1981b 100644 --- a/src/main/java/binnie/genetics/machine/incubator/IncubatorPackage.java +++ b/src/main/java/binnie/genetics/machine/incubator/IncubatorPackage.java @@ -14,38 +14,40 @@ import binnie.genetics.machine.PackageGeneticBase; import net.minecraft.tileentity.TileEntity; public class IncubatorPackage extends PackageGeneticBase implements IMachineInformation { - public IncubatorPackage() { - super("incubator", GeneticsTexture.Incubator, 0xffd951, true); - } + public IncubatorPackage() { + super("incubator", GeneticsTexture.Incubator, 0xffd951, true); + } - @Override - public void createMachine(Machine machine) { - new ComponentGeneticGUI(machine, GeneticsGUI.Incubator); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - inventory.addSlotArray(Incubator.SLOT_QUEUE, "input"); - for (InventorySlot slot : inventory.getSlots(Incubator.SLOT_QUEUE)) { - slot.forbidExtraction(); - } + @Override + public void createMachine(Machine machine) { + new ComponentGeneticGUI(machine, GeneticsGUI.Incubator); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + inventory.addSlotArray(Incubator.SLOT_QUEUE, "input"); + for (InventorySlot slot : inventory.getSlots(Incubator.SLOT_QUEUE)) { + slot.forbidExtraction(); + } - InventorySlot incubatorSlot = inventory.addSlot(Incubator.SLOT_INCUBATOR, "incubator"); - incubatorSlot.forbidInteraction(); - incubatorSlot.setReadOnly(); + InventorySlot incubatorSlot = inventory.addSlot(Incubator.SLOT_INCUBATOR, "incubator"); + incubatorSlot.forbidInteraction(); + incubatorSlot.setReadOnly(); - inventory.addSlotArray(Incubator.SLOT_OUTPUT, "output"); - for (InventorySlot slot : inventory.getSlots(Incubator.SLOT_OUTPUT)) { - slot.forbidInsertion(); - slot.setReadOnly(); - } + inventory.addSlotArray(Incubator.SLOT_OUTPUT, "output"); + for (InventorySlot slot : inventory.getSlots(Incubator.SLOT_OUTPUT)) { + slot.forbidInsertion(); + slot.setReadOnly(); + } - new ComponentPowerReceptor(machine, Incubator.POWER_CAPACITY); - ComponentTankContainer tanks = new ComponentTankContainer(machine); - tanks.addTank(Incubator.TANK_INPUT, "input", Incubator.INPUT_TANK_CAPACITY).forbidExtraction(); - tanks.addTank(Incubator.TANK_OUTPUT, "output", Incubator.OUTPU_TANK_CAPACITY).setReadOnly(); - new IncubatorComponentLogic(machine); - } + new ComponentPowerReceptor(machine, Incubator.POWER_CAPACITY); + ComponentTankContainer tanks = new ComponentTankContainer(machine); + tanks.addTank(Incubator.TANK_INPUT, "input", Incubator.INPUT_TANK_CAPACITY) + .forbidExtraction(); + tanks.addTank(Incubator.TANK_OUTPUT, "output", Incubator.OUTPU_TANK_CAPACITY) + .setReadOnly(); + new IncubatorComponentLogic(machine); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } } diff --git a/src/main/java/binnie/genetics/machine/incubator/IncubatorRecipe.java b/src/main/java/binnie/genetics/machine/incubator/IncubatorRecipe.java index ddb06d4d..e360e202 100644 --- a/src/main/java/binnie/genetics/machine/incubator/IncubatorRecipe.java +++ b/src/main/java/binnie/genetics/machine/incubator/IncubatorRecipe.java @@ -3,28 +3,36 @@ package binnie.genetics.machine.incubator; import binnie.core.machines.MachineUtil; import binnie.core.machines.transfer.TransferRequest; import binnie.genetics.api.IIncubatorRecipe; +import java.util.Random; +import javax.annotation.Nullable; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; -import javax.annotation.Nullable; -import java.util.Random; - public class IncubatorRecipe implements IIncubatorRecipe { private final FluidStack input; + @Nullable private final FluidStack output; + private final float lossChance; private final float tickChance; private final ItemStack inputStack; + @Nullable private ItemStack outputStack; - public IncubatorRecipe(ItemStack inputStack, final FluidStack input, @Nullable final FluidStack output, final float lossChance) { + public IncubatorRecipe( + ItemStack inputStack, final FluidStack input, @Nullable final FluidStack output, final float lossChance) { this(inputStack, input, output, lossChance, 1.0f); } - public IncubatorRecipe(ItemStack inputStack, final FluidStack input, @Nullable final FluidStack output, final float lossChance, final float chance) { + public IncubatorRecipe( + ItemStack inputStack, + final FluidStack input, + @Nullable final FluidStack output, + final float lossChance, + final float chance) { this.inputStack = inputStack; this.outputStack = null; this.input = input; @@ -88,7 +96,9 @@ public class IncubatorRecipe implements IIncubatorRecipe { this.outputStack = this.getOutputStack(machine); if (this.outputStack != null) { final ItemStack output = this.outputStack.copy(); - final TransferRequest product = new TransferRequest(output, machine.getInventory()).setTargetSlots(Incubator.SLOT_OUTPUT).ignoreValidation(); + final TransferRequest product = new TransferRequest(output, machine.getInventory()) + .setTargetSlots(Incubator.SLOT_OUTPUT) + .ignoreValidation(); product.transfer(true); } final Random rand = machine.getRandom(); diff --git a/src/main/java/binnie/genetics/machine/incubator/IncubatorRecipeLarvae.java b/src/main/java/binnie/genetics/machine/incubator/IncubatorRecipeLarvae.java index 50601325..8993e81e 100644 --- a/src/main/java/binnie/genetics/machine/incubator/IncubatorRecipeLarvae.java +++ b/src/main/java/binnie/genetics/machine/incubator/IncubatorRecipeLarvae.java @@ -24,6 +24,7 @@ public class IncubatorRecipeLarvae extends IncubatorRecipe { @Override public ItemStack getExpectedOutput() { - return BeeManager.beeRoot.getMemberStack(BeeManager.beeRoot.getMember(this.getInputStack()), EnumBeeType.DRONE.ordinal()); + return BeeManager.beeRoot.getMemberStack( + BeeManager.beeRoot.getMember(this.getInputStack()), EnumBeeType.DRONE.ordinal()); } } diff --git a/src/main/java/binnie/genetics/machine/inoculator/BacteriaVectorValidator.java b/src/main/java/binnie/genetics/machine/inoculator/BacteriaVectorValidator.java index 833e6fd0..dfe6d9cb 100644 --- a/src/main/java/binnie/genetics/machine/inoculator/BacteriaVectorValidator.java +++ b/src/main/java/binnie/genetics/machine/inoculator/BacteriaVectorValidator.java @@ -5,13 +5,13 @@ import binnie.genetics.item.GeneticLiquid; import net.minecraftforge.fluids.FluidStack; public class BacteriaVectorValidator extends Validator { - @Override - public boolean isValid(FluidStack object) { - return GeneticLiquid.BacteriaVector.get(1).isFluidEqual(object); - } + @Override + public boolean isValid(FluidStack object) { + return GeneticLiquid.BacteriaVector.get(1).isFluidEqual(object); + } - @Override - public String getTooltip() { - return GeneticLiquid.BacteriaVector.getName(); - } + @Override + public String getTooltip() { + return GeneticLiquid.BacteriaVector.getName(); + } } diff --git a/src/main/java/binnie/genetics/machine/inoculator/IndividualInoculateValidator.java b/src/main/java/binnie/genetics/machine/inoculator/IndividualInoculateValidator.java index e2989343..54fdf7c6 100644 --- a/src/main/java/binnie/genetics/machine/inoculator/IndividualInoculateValidator.java +++ b/src/main/java/binnie/genetics/machine/inoculator/IndividualInoculateValidator.java @@ -8,18 +8,18 @@ import forestry.api.genetics.ISpeciesRoot; import net.minecraft.item.ItemStack; public class IndividualInoculateValidator extends SlotValidator { - public IndividualInoculateValidator() { - super(null); - } + public IndividualInoculateValidator() { + super(null); + } - @Override - public boolean isValid(ItemStack object) { - ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(object); - return root != null && Binnie.Genetics.getSystem(root).isDNAManipulable(object); - } + @Override + public boolean isValid(ItemStack object) { + ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(object); + return root != null && Binnie.Genetics.getSystem(root).isDNAManipulable(object); + } - @Override - public String getTooltip() { - return I18N.localise("genetics.machine.inoculator.inoculableIndividual"); - } + @Override + public String getTooltip() { + return I18N.localise("genetics.machine.inoculator.inoculableIndividual"); + } } diff --git a/src/main/java/binnie/genetics/machine/inoculator/Inoculator.java b/src/main/java/binnie/genetics/machine/inoculator/Inoculator.java index e3fb3592..8b10f808 100644 --- a/src/main/java/binnie/genetics/machine/inoculator/Inoculator.java +++ b/src/main/java/binnie/genetics/machine/inoculator/Inoculator.java @@ -9,35 +9,34 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; public class Inoculator { - public static final int SLOT_SERUM_VIAL = 0; - public static final int[] SLOT_SERUM_RESERVE = new int[]{1, 2}; - public static final int[] SLOT_SERUM_EXPENDED = new int[]{3, 4}; - public static final int[] SLOT_RESERVE = new int[]{5, 6, 7, 8}; - public static final int SLOT_TARGET = 9; - public static final int[] SLOT_FINISHED = new int[]{10, 11, 12, 13}; - public static final int TANK_VECTOR = 0; - public static final int TANK_CAPACITY = 1000; - public static final int RF_COST = 600000; - public static final int TIME_PERIOD = 12000; - public static final int POWER_STORAGE = 15000; + public static final int SLOT_SERUM_VIAL = 0; + public static final int[] SLOT_SERUM_RESERVE = new int[] {1, 2}; + public static final int[] SLOT_SERUM_EXPENDED = new int[] {3, 4}; + public static final int[] SLOT_RESERVE = new int[] {5, 6, 7, 8}; + public static final int SLOT_TARGET = 9; + public static final int[] SLOT_FINISHED = new int[] {10, 11, 12, 13}; + public static final int TANK_VECTOR = 0; + public static final int TANK_CAPACITY = 1000; + public static final int RF_COST = 600000; + public static final int TIME_PERIOD = 12000; + public static final int POWER_STORAGE = 15000; - public static void setGene(IGene gene, ItemStack target, int chromoN) { - int chromosomeID = gene.getChromosome().ordinal(); - if (chromosomeID >= EnumBeeChromosome.HUMIDITY.ordinal() && gene.getSpeciesRoot() instanceof IBeeRoot) { - chromosomeID--; - } + public static void setGene(IGene gene, ItemStack target, int chromoN) { + int chromosomeID = gene.getChromosome().ordinal(); + if (chromosomeID >= EnumBeeChromosome.HUMIDITY.ordinal() && gene.getSpeciesRoot() instanceof IBeeRoot) { + chromosomeID--; + } - Class cls = gene.getChromosome().getAlleleClass(); - if (!cls.isInstance(gene.getAllele())) { - return; - } - - NBTTagCompound beeNBT = target.getTagCompound(); - NBTTagCompound genomeNBT = beeNBT.getCompoundTag("Genome"); - NBTTagList chromosomes = genomeNBT.getTagList("Chromosomes", 10); - NBTTagCompound chromosomeNBT = chromosomes.getCompoundTagAt(chromosomeID); - chromosomeNBT.setString("UID" + chromoN, gene.getAllele().getUID()); - target.setTagCompound(beeNBT); - } + Class cls = gene.getChromosome().getAlleleClass(); + if (!cls.isInstance(gene.getAllele())) { + return; + } + NBTTagCompound beeNBT = target.getTagCompound(); + NBTTagCompound genomeNBT = beeNBT.getCompoundTag("Genome"); + NBTTagList chromosomes = genomeNBT.getTagList("Chromosomes", 10); + NBTTagCompound chromosomeNBT = chromosomes.getCompoundTagAt(chromosomeID); + chromosomeNBT.setString("UID" + chromoN, gene.getAllele().getUID()); + target.setTagCompound(beeNBT); + } } diff --git a/src/main/java/binnie/genetics/machine/inoculator/InoculatorComponentFX.java b/src/main/java/binnie/genetics/machine/inoculator/InoculatorComponentFX.java index d7a0aea9..09bc7d00 100644 --- a/src/main/java/binnie/genetics/machine/inoculator/InoculatorComponentFX.java +++ b/src/main/java/binnie/genetics/machine/inoculator/InoculatorComponentFX.java @@ -7,6 +7,7 @@ import binnie.core.machines.component.IRender; import binnie.core.machines.network.INetwork; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; import net.minecraft.client.particle.EntityFX; import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.entity.item.EntityItem; @@ -15,121 +16,122 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; -import java.util.Random; +public class InoculatorComponentFX extends MachineComponent + implements IRender.RandomDisplayTick, IRender.DisplayTick, IRender.Render, INetwork.TilePacketSync { + private EntityItem dummyEntityItem; -public class InoculatorComponentFX extends MachineComponent implements - IRender.RandomDisplayTick, - IRender.DisplayTick, - IRender.Render, - INetwork.TilePacketSync { - private EntityItem dummyEntityItem; + public InoculatorComponentFX(IMachine machine) { + super(machine); + dummyEntityItem = new EntityItem(null); + } - public InoculatorComponentFX(IMachine machine) { - super(machine); - dummyEntityItem = new EntityItem(null); - } + @SideOnly(Side.CLIENT) + @Override + public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) { + // ignored + } - @SideOnly(Side.CLIENT) - @Override - public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) { - // ignored - } + @SideOnly(Side.CLIENT) + @Override + public void onDisplayTick(World world, int x, int y, int z, Random rand) { + int tick = (int) (world.getTotalWorldTime() % 3L); + if (tick == 0 && getUtil().getProcess().isInProgress()) { + BinnieCore.proxy + .getMinecraftInstance() + .effectRenderer + .addEffect(new EntityFX(world, x + 0.5, y + 0.92, z + 0.5, 0.0, 0.0, 0.0) { + double axisX = posX; + double axisZ = posZ; + double angle = (int) (worldObj.getTotalWorldTime() % 4L) * 0.5 * 3.1415; - @SideOnly(Side.CLIENT) - @Override - public void onDisplayTick(World world, int x, int y, int z, Random rand) { - int tick = (int) (world.getTotalWorldTime() % 3L); - if (tick == 0 && getUtil().getProcess().isInProgress()) { - BinnieCore.proxy.getMinecraftInstance().effectRenderer.addEffect(new EntityFX(world, x + 0.5, y + 0.92, z + 0.5, 0.0, 0.0, 0.0) { - double axisX = posX; - double axisZ = posZ; - double angle = (int) (worldObj.getTotalWorldTime() % 4L) * 0.5 * 3.1415; + { + axisX = 0.0; + axisZ = 0.0; + angle = 0.0; + motionX = 0.0; + motionZ = 0.0; + motionY = 0.007 + rand.nextDouble() * 0.002; + particleMaxAge = 240; + particleGravity = 0.0f; + noClip = true; + setRBGColorF(0.8f, 0.0f, 1.0f); + } - { - axisX = 0.0; - axisZ = 0.0; - angle = 0.0; - motionX = 0.0; - motionZ = 0.0; - motionY = 0.007 + rand.nextDouble() * 0.002; - particleMaxAge = 240; - particleGravity = 0.0f; - noClip = true; - setRBGColorF(0.8f, 0.0f, 1.0f); - } + @Override + public void onUpdate() { + super.onUpdate(); + double speed = 5.0E-4; + if (particleAge > 60) { + speed += (particleAge - 60) / 4000.0f; + } + angle += speed; + double dist = 0.27; + setPosition(axisX + dist * Math.sin(angle), posY, axisZ + dist * Math.cos(angle)); + setAlphaF((float) Math.cos(1.57 * particleAge / particleMaxAge)); + if (particleAge > 40) { + setRBGColorF( + particleRed + (1.0f - particleRed) / 10.0f, + particleGreen + (0.0f - particleGreen) / 10.0f, + particleBlue + (0.0f - particleBlue) / 10.0f); + } + } - @Override - public void onUpdate() { - super.onUpdate(); - double speed = 5.0E-4; - if (particleAge > 60) { - speed += (particleAge - 60) / 4000.0f; - } - angle += speed; - double dist = 0.27; - setPosition(axisX + dist * Math.sin(angle), posY, axisZ + dist * Math.cos(angle)); - setAlphaF((float) Math.cos(1.57 * particleAge / particleMaxAge)); - if (particleAge > 40) { - setRBGColorF(particleRed + (1.0f - particleRed) / 10.0f, particleGreen + (0.0f - particleGreen) / 10.0f, particleBlue + (0.0f - particleBlue) / 10.0f); - } - } + @Override + public int getFXLayer() { + return 0; + } + }); + } + } - @Override - public int getFXLayer() { - return 0; - } - }); - } - } + @SideOnly(Side.CLIENT) + @Override + public void renderInWorld(RenderItem renderItem, double x, double y, double z) { + if (!getUtil().getProcess().isInProgress()) { + return; + } - @SideOnly(Side.CLIENT) - @Override - public void renderInWorld(RenderItem renderItem, double x, double y, double z) { - if (!getUtil().getProcess().isInProgress()) { - return; - } + ItemStack stack = getUtil().getStack(Inoculator.SLOT_TARGET); + dummyEntityItem.worldObj = getMachine().getWorld(); + dummyEntityItem.setEntityItemStack(stack); + EntityItem dummyEntityItem = this.dummyEntityItem; + dummyEntityItem.age++; + this.dummyEntityItem.hoverStart = 0.0f; + if (stack == null) { + return; + } - ItemStack stack = getUtil().getStack(Inoculator.SLOT_TARGET); - dummyEntityItem.worldObj = getMachine().getWorld(); - dummyEntityItem.setEntityItemStack(stack); - EntityItem dummyEntityItem = this.dummyEntityItem; - dummyEntityItem.age++; - this.dummyEntityItem.hoverStart = 0.0f; - if (stack == null) { - return; - } + GL11.glPushMatrix(); + GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); + GL11.glTranslatef(0.0f, -0.25f, 0.0f); + renderItem.doRender(this.dummyEntityItem, 0.0, 0.0, 0.0, 0.0f, 0.0f); + GL11.glPopMatrix(); + } - GL11.glPushMatrix(); - GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); - GL11.glTranslatef(0.0f, -0.25f, 0.0f); - renderItem.doRender(this.dummyEntityItem, 0.0, 0.0, 0.0, 0.0f, 0.0f); - GL11.glPopMatrix(); - } + @Override + public void syncToNBT(NBTTagCompound nbt) { + NBTTagCompound item = new NBTTagCompound(); + ItemStack stack = getUtil().getStack(Inoculator.SLOT_TARGET); + if (stack != null) { + stack.writeToNBT(item); + nbt.setTag("item", item); + } + } - @Override - public void syncToNBT(NBTTagCompound nbt) { - NBTTagCompound item = new NBTTagCompound(); - ItemStack stack = getUtil().getStack(Inoculator.SLOT_TARGET); - if (stack != null) { - stack.writeToNBT(item); - nbt.setTag("item", item); - } - } + @Override + public void syncFromNBT(NBTTagCompound nbt) { + if (nbt.hasKey("item")) { + getUtil().setStack(Inoculator.SLOT_TARGET, ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("item"))); + } else { + getUtil().setStack(Inoculator.SLOT_TARGET, null); + } + } - @Override - public void syncFromNBT(NBTTagCompound nbt) { - if (nbt.hasKey("item")) { - getUtil().setStack(Inoculator.SLOT_TARGET, ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("item"))); - } else { - getUtil().setStack(Inoculator.SLOT_TARGET, null); - } - } - - @Override - public void onInventoryUpdate() { - if (!getUtil().isServer()) { - return; - } - getUtil().refreshBlock(); - } + @Override + public void onInventoryUpdate() { + if (!getUtil().isServer()) { + return; + } + getUtil().refreshBlock(); + } } diff --git a/src/main/java/binnie/genetics/machine/inoculator/InoculatorComponentLogic.java b/src/main/java/binnie/genetics/machine/inoculator/InoculatorComponentLogic.java index faa40f85..dd06bccc 100644 --- a/src/main/java/binnie/genetics/machine/inoculator/InoculatorComponentLogic.java +++ b/src/main/java/binnie/genetics/machine/inoculator/InoculatorComponentLogic.java @@ -17,148 +17,138 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; public class InoculatorComponentLogic extends ComponentProcessSetCost implements IProcess { - private float bacteriaDrain = 0.0f; + private float bacteriaDrain = 0.0f; - public InoculatorComponentLogic(Machine machine) { - super(machine, Inoculator.RF_COST, Inoculator.TIME_PERIOD); - } + public InoculatorComponentLogic(Machine machine) { + super(machine, Inoculator.RF_COST, Inoculator.TIME_PERIOD); + } - @Override - public int getProcessLength() { - return super.getProcessLength() * getNumberOfGenes(); - } + @Override + public int getProcessLength() { + return super.getProcessLength() * getNumberOfGenes(); + } - @Override - public int getProcessEnergy() { - return super.getProcessEnergy() * getNumberOfGenes(); - } + @Override + public int getProcessEnergy() { + return super.getProcessEnergy() * getNumberOfGenes(); + } - private int getNumberOfGenes() { - ItemStack serum = getUtil().getStack(Inoculator.SLOT_SERUM_VIAL); - if (serum == null) { - return 1; - } - return Engineering.getGenes(serum).length; - } + private int getNumberOfGenes() { + ItemStack serum = getUtil().getStack(Inoculator.SLOT_SERUM_VIAL); + if (serum == null) { + return 1; + } + return Engineering.getGenes(serum).length; + } - @Override - public String getTooltip() { - int n = getNumberOfGenes(); - if (n > 1) { - return I18N.localise("genetics.machine.inoculator.inoculatingWithGenes", n); - } - return I18N.localise("genetics.machine.inoculator.inoculatingWithGene"); - } + @Override + public String getTooltip() { + int n = getNumberOfGenes(); + if (n > 1) { + return I18N.localise("genetics.machine.inoculator.inoculatingWithGenes", n); + } + return I18N.localise("genetics.machine.inoculator.inoculatingWithGene"); + } - @Override - public ErrorState canWork() { - if (getUtil().isSlotEmpty(Inoculator.SLOT_TARGET)) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.inoculator.error.noIndividual"), - Inoculator.SLOT_TARGET - ); - } - if (getUtil().isSlotEmpty(Inoculator.SLOT_SERUM_VIAL)) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.inoculator.error.noSerum"), - Inoculator.SLOT_SERUM_VIAL - ); - } - if (getUtil().isTankEmpty(Inoculator.TANK_VECTOR)) { - return new ErrorState.InsufficientLiquid( - I18N.localise("genetics.machine.inoculator.error.noLiquid"), - Inoculator.TANK_VECTOR - ); - } + @Override + public ErrorState canWork() { + if (getUtil().isSlotEmpty(Inoculator.SLOT_TARGET)) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.inoculator.error.noIndividual"), Inoculator.SLOT_TARGET); + } + if (getUtil().isSlotEmpty(Inoculator.SLOT_SERUM_VIAL)) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.inoculator.error.noSerum"), Inoculator.SLOT_SERUM_VIAL); + } + if (getUtil().isTankEmpty(Inoculator.TANK_VECTOR)) { + return new ErrorState.InsufficientLiquid( + I18N.localise("genetics.machine.inoculator.error.noLiquid"), Inoculator.TANK_VECTOR); + } - ErrorState state = isValidSerum(); - if (state != null) { - return state; - } - - ItemStack stack = getUtil().getStack(Inoculator.SLOT_SERUM_VIAL); - if (stack != null && Engineering.getCharges(stack) == 0) { - return new ErrorState( - I18N.localise("genetics.machine.inoculator.error.emptySerum.title"), - I18N.localise("genetics.machine.inoculator.error.emptySerum") - ); - } - return super.canWork(); - } + ErrorState state = isValidSerum(); + if (state != null) { + return state; + } - public ErrorState isValidSerum() { - ItemStack serum = getUtil().getStack(Inoculator.SLOT_SERUM_VIAL); - ItemStack target = getUtil().getStack(Inoculator.SLOT_TARGET); - IGene[] genes = Engineering.getGenes(serum); - if (genes.length == 0) { - return new ErrorState( - I18N.localise("genetics.machine.inoculator.error.invalidSerum.title"), - I18N.localise("genetics.machine.inoculator.error.invalidSerum.0") - ); - } - if (!genes[0].getSpeciesRoot().isMember(target)) { - return new ErrorState( - I18N.localise("genetics.machine.inoculator.error.invalidSerum.title"), - I18N.localise("genetics.machine.inoculator.error.invalidSerum.1") - ); - } + ItemStack stack = getUtil().getStack(Inoculator.SLOT_SERUM_VIAL); + if (stack != null && Engineering.getCharges(stack) == 0) { + return new ErrorState( + I18N.localise("genetics.machine.inoculator.error.emptySerum.title"), + I18N.localise("genetics.machine.inoculator.error.emptySerum")); + } + return super.canWork(); + } - IIndividual individual = genes[0].getSpeciesRoot().getMember(target); - boolean hasAll = true; - for (IGene gene : genes) { - if (!hasAll) { - continue; - } + public ErrorState isValidSerum() { + ItemStack serum = getUtil().getStack(Inoculator.SLOT_SERUM_VIAL); + ItemStack target = getUtil().getStack(Inoculator.SLOT_TARGET); + IGene[] genes = Engineering.getGenes(serum); + if (genes.length == 0) { + return new ErrorState( + I18N.localise("genetics.machine.inoculator.error.invalidSerum.title"), + I18N.localise("genetics.machine.inoculator.error.invalidSerum.0")); + } + if (!genes[0].getSpeciesRoot().isMember(target)) { + return new ErrorState( + I18N.localise("genetics.machine.inoculator.error.invalidSerum.title"), + I18N.localise("genetics.machine.inoculator.error.invalidSerum.1")); + } - IGenome genome = individual.getGenome(); - IChromosomeType chromosome = gene.getChromosome(); - String geneAlleleUID = gene.getAllele().getUID(); - IAllele a = genome.getActiveAllele(chromosome); - IAllele b = genome.getInactiveAllele(chromosome); - hasAll = a.getUID().equals(geneAlleleUID) && b.getUID().equals(geneAlleleUID); - } + IIndividual individual = genes[0].getSpeciesRoot().getMember(target); + boolean hasAll = true; + for (IGene gene : genes) { + if (!hasAll) { + continue; + } - if (!hasAll) { - return null; - } - return new ErrorState( - I18N.localise("genetics.machine.inoculator.error.defunctSerum.title"), - I18N.localise("genetics.machine.inoculator.error.defunctSerum") - ); - } + IGenome genome = individual.getGenome(); + IChromosomeType chromosome = gene.getChromosome(); + String geneAlleleUID = gene.getAllele().getUID(); + IAllele a = genome.getActiveAllele(chromosome); + IAllele b = genome.getInactiveAllele(chromosome); + hasAll = a.getUID().equals(geneAlleleUID) && b.getUID().equals(geneAlleleUID); + } - @Override - public ErrorState canProgress() { - return super.canProgress(); - } + if (!hasAll) { + return null; + } + return new ErrorState( + I18N.localise("genetics.machine.inoculator.error.defunctSerum.title"), + I18N.localise("genetics.machine.inoculator.error.defunctSerum")); + } - @Override - protected void onFinishTask() { - super.onFinishTask(); - ItemStack serum = getUtil().getStack(Inoculator.SLOT_SERUM_VIAL); - ItemStack target = getUtil().getStack(Inoculator.SLOT_TARGET); - IIndividual ind = AlleleManager.alleleRegistry.getIndividual(target); - if (!ind.isAnalyzed()) { - ind.analyze(); - NBTTagCompound nbttagcompound = new NBTTagCompound(); - ind.writeToNBT(nbttagcompound); - target.setTagCompound(nbttagcompound); - } + @Override + public ErrorState canProgress() { + return super.canProgress(); + } - IGene[] genes = ((IItemSerum) serum.getItem()).getGenes(serum); - for (IGene gene : genes) { - Inoculator.setGene(gene, target, 0); - Inoculator.setGene(gene, target, 1); - } - getUtil().damageItem(Inoculator.SLOT_SERUM_VIAL, 1); - } + @Override + protected void onFinishTask() { + super.onFinishTask(); + ItemStack serum = getUtil().getStack(Inoculator.SLOT_SERUM_VIAL); + ItemStack target = getUtil().getStack(Inoculator.SLOT_TARGET); + IIndividual ind = AlleleManager.alleleRegistry.getIndividual(target); + if (!ind.isAnalyzed()) { + ind.analyze(); + NBTTagCompound nbttagcompound = new NBTTagCompound(); + ind.writeToNBT(nbttagcompound); + target.setTagCompound(nbttagcompound); + } - @Override - protected void onTickTask() { - bacteriaDrain += 15.0f * getProgressPerTick() / 100.0f; - if (bacteriaDrain >= 1.0f) { - getUtil().drainTank(Inoculator.TANK_VECTOR, 1); - bacteriaDrain--; - } - } + IGene[] genes = ((IItemSerum) serum.getItem()).getGenes(serum); + for (IGene gene : genes) { + Inoculator.setGene(gene, target, 0); + Inoculator.setGene(gene, target, 1); + } + getUtil().damageItem(Inoculator.SLOT_SERUM_VIAL, 1); + } + + @Override + protected void onTickTask() { + bacteriaDrain += 15.0f * getProgressPerTick() / 100.0f; + if (bacteriaDrain >= 1.0f) { + getUtil().drainTank(Inoculator.TANK_VECTOR, 1); + bacteriaDrain--; + } + } } diff --git a/src/main/java/binnie/genetics/machine/inoculator/InoculatorPackage.java b/src/main/java/binnie/genetics/machine/inoculator/InoculatorPackage.java index d462e72e..5e123ad8 100644 --- a/src/main/java/binnie/genetics/machine/inoculator/InoculatorPackage.java +++ b/src/main/java/binnie/genetics/machine/inoculator/InoculatorPackage.java @@ -18,79 +18,83 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; public class InoculatorPackage extends PackageGeneticBase implements IMachineInformation { - public InoculatorPackage() { - super("inoculator", GeneticsTexture.Inoculator, 0xe22235, true); - } + public InoculatorPackage() { + super("inoculator", GeneticsTexture.Inoculator, 0xe22235, true); + } - @Override - public void createMachine(Machine machine) { - new ComponentGeneticGUI(machine, GeneticsGUI.Inoculator); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - SlotValidator serumValid = new SerumSlotValidator(); + @Override + public void createMachine(Machine machine) { + new ComponentGeneticGUI(machine, GeneticsGUI.Inoculator); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + SlotValidator serumValid = new SerumSlotValidator(); - InventorySlot slotSerumVial = inventory.addSlot(Inoculator.SLOT_SERUM_VIAL, "serum.active"); - slotSerumVial.forbidInteraction(); - slotSerumVial.setReadOnly(); - slotSerumVial.setValidator(serumValid); + InventorySlot slotSerumVial = inventory.addSlot(Inoculator.SLOT_SERUM_VIAL, "serum.active"); + slotSerumVial.forbidInteraction(); + slotSerumVial.setReadOnly(); + slotSerumVial.setValidator(serumValid); - inventory.addSlotArray(Inoculator.SLOT_SERUM_RESERVE, "serum.input"); - for (InventorySlot slot : inventory.getSlots(Inoculator.SLOT_SERUM_RESERVE)) { - slot.setValidator(serumValid); - slot.forbidExtraction(); - } + inventory.addSlotArray(Inoculator.SLOT_SERUM_RESERVE, "serum.input"); + for (InventorySlot slot : inventory.getSlots(Inoculator.SLOT_SERUM_RESERVE)) { + slot.setValidator(serumValid); + slot.forbidExtraction(); + } - inventory.addSlotArray(Inoculator.SLOT_SERUM_EXPENDED, "serum.output"); - for (InventorySlot slot : inventory.getSlots(Inoculator.SLOT_SERUM_EXPENDED)) { - slot.setValidator(serumValid); - slot.setReadOnly(); - } + inventory.addSlotArray(Inoculator.SLOT_SERUM_EXPENDED, "serum.output"); + for (InventorySlot slot : inventory.getSlots(Inoculator.SLOT_SERUM_EXPENDED)) { + slot.setValidator(serumValid); + slot.setReadOnly(); + } - inventory.addSlotArray(Inoculator.SLOT_RESERVE, "input"); - for (InventorySlot slot : inventory.getSlots(Inoculator.SLOT_RESERVE)) { - slot.forbidExtraction(); - slot.setValidator(new IndividualInoculateValidator()); - } + inventory.addSlotArray(Inoculator.SLOT_RESERVE, "input"); + for (InventorySlot slot : inventory.getSlots(Inoculator.SLOT_RESERVE)) { + slot.forbidExtraction(); + slot.setValidator(new IndividualInoculateValidator()); + } - inventory.addSlot(Inoculator.SLOT_TARGET, "process"); - inventory.getSlot(Inoculator.SLOT_TARGET).setValidator(new IndividualInoculateValidator()); - inventory.getSlot(Inoculator.SLOT_TARGET).setReadOnly(); - inventory.getSlot(Inoculator.SLOT_TARGET).forbidInteraction(); - inventory.addSlotArray(Inoculator.SLOT_FINISHED, "output"); - for (InventorySlot slot : inventory.getSlots(Inoculator.SLOT_FINISHED)) { - slot.setReadOnly(); - slot.forbidInsertion(); - slot.setValidator(new IndividualInoculateValidator()); - } + inventory.addSlot(Inoculator.SLOT_TARGET, "process"); + inventory.getSlot(Inoculator.SLOT_TARGET).setValidator(new IndividualInoculateValidator()); + inventory.getSlot(Inoculator.SLOT_TARGET).setReadOnly(); + inventory.getSlot(Inoculator.SLOT_TARGET).forbidInteraction(); + inventory.addSlotArray(Inoculator.SLOT_FINISHED, "output"); + for (InventorySlot slot : inventory.getSlots(Inoculator.SLOT_FINISHED)) { + slot.setReadOnly(); + slot.forbidInsertion(); + slot.setValidator(new IndividualInoculateValidator()); + } - ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); - transfer.addRestock(Inoculator.SLOT_RESERVE, Inoculator.SLOT_TARGET, 1); - transfer.addRestock(Inoculator.SLOT_SERUM_RESERVE, Inoculator.SLOT_SERUM_VIAL); - transfer.addStorage(Inoculator.SLOT_SERUM_VIAL, Inoculator.SLOT_SERUM_EXPENDED, new ComponentInventoryTransfer.Condition() { - @Override - public boolean fufilled(ItemStack stack) { - return Engineering.getCharges(stack) == 0; - } - }); + ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); + transfer.addRestock(Inoculator.SLOT_RESERVE, Inoculator.SLOT_TARGET, 1); + transfer.addRestock(Inoculator.SLOT_SERUM_RESERVE, Inoculator.SLOT_SERUM_VIAL); + transfer.addStorage( + Inoculator.SLOT_SERUM_VIAL, Inoculator.SLOT_SERUM_EXPENDED, new ComponentInventoryTransfer.Condition() { + @Override + public boolean fufilled(ItemStack stack) { + return Engineering.getCharges(stack) == 0; + } + }); - transfer.addStorage(9, Inoculator.SLOT_FINISHED, new ComponentInventoryTransfer.Condition() { - @Override - public boolean fufilled(ItemStack stack) { - return stack != null - && transfer.getMachine().getMachineUtil().getStack(Inoculator.SLOT_SERUM_VIAL) != null - && transfer.getMachine().getInterface(InoculatorComponentLogic.class).isValidSerum() != null; - } - }); + transfer.addStorage(9, Inoculator.SLOT_FINISHED, new ComponentInventoryTransfer.Condition() { + @Override + public boolean fufilled(ItemStack stack) { + return stack != null + && transfer.getMachine().getMachineUtil().getStack(Inoculator.SLOT_SERUM_VIAL) != null + && transfer.getMachine() + .getInterface(InoculatorComponentLogic.class) + .isValidSerum() + != null; + } + }); - new ComponentPowerReceptor(machine, Inoculator.POWER_STORAGE); - new InoculatorComponentLogic(machine); - new InoculatorComponentFX(machine); - new ComponentTankContainer(machine) - .addTank(Inoculator.TANK_VECTOR, "input", Inoculator.TANK_CAPACITY) - .setValidator(new BacteriaVectorValidator()); - } + new ComponentPowerReceptor(machine, Inoculator.POWER_STORAGE); + new InoculatorComponentLogic(machine); + new InoculatorComponentFX(machine); + new ComponentTankContainer(machine) + .addTank(Inoculator.TANK_VECTOR, "input", Inoculator.TANK_CAPACITY) + .setValidator(new BacteriaVectorValidator()); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } } diff --git a/src/main/java/binnie/genetics/machine/inoculator/SerumSlotValidator.java b/src/main/java/binnie/genetics/machine/inoculator/SerumSlotValidator.java index 8dc9f8af..c3b2dcd5 100644 --- a/src/main/java/binnie/genetics/machine/inoculator/SerumSlotValidator.java +++ b/src/main/java/binnie/genetics/machine/inoculator/SerumSlotValidator.java @@ -7,17 +7,17 @@ import binnie.genetics.machine.ModuleMachine; import net.minecraft.item.ItemStack; public class SerumSlotValidator extends SlotValidator { - public SerumSlotValidator() { - super(ModuleMachine.IconSerum); - } + public SerumSlotValidator() { + super(ModuleMachine.IconSerum); + } - @Override - public boolean isValid(ItemStack itemStack) { - return itemStack.getItem() instanceof IItemSerum; - } + @Override + public boolean isValid(ItemStack itemStack) { + return itemStack.getItem() instanceof IItemSerum; + } - @Override - public String getTooltip() { - return I18N.localise("genetics.machine.inoculator.serums"); - } + @Override + public String getTooltip() { + return I18N.localise("genetics.machine.inoculator.serums"); + } } diff --git a/src/main/java/binnie/genetics/machine/isolator/EthanolTankValidator.java b/src/main/java/binnie/genetics/machine/isolator/EthanolTankValidator.java index 534de65d..a3d91265 100644 --- a/src/main/java/binnie/genetics/machine/isolator/EthanolTankValidator.java +++ b/src/main/java/binnie/genetics/machine/isolator/EthanolTankValidator.java @@ -5,13 +5,13 @@ import binnie.core.util.I18N; import net.minecraftforge.fluids.FluidStack; public class EthanolTankValidator extends TankValidator { - @Override - public String getTooltip() { - return I18N.localise("fluid.bioethanol"); - } + @Override + public String getTooltip() { + return I18N.localise("fluid.bioethanol"); + } - @Override - public boolean isValid(FluidStack liquid) { - return liquid.getFluid().getName().equals("bioethanol"); - } + @Override + public boolean isValid(FluidStack liquid) { + return liquid.getFluid().getName().equals("bioethanol"); + } } diff --git a/src/main/java/binnie/genetics/machine/isolator/Isolator.java b/src/main/java/binnie/genetics/machine/isolator/Isolator.java index ffc43f8d..5e88d058 100644 --- a/src/main/java/binnie/genetics/machine/isolator/Isolator.java +++ b/src/main/java/binnie/genetics/machine/isolator/Isolator.java @@ -1,15 +1,15 @@ package binnie.genetics.machine.isolator; public class Isolator { - public static final int SLOT_ENZYME = 0; - public static final int SLOT_SEQUENCER_VIAL = 1; - public static final int[] SLOT_RESERVE = new int[]{2, 3, 4}; - public static final int[] SLOT_FINISHED = new int[]{7, 8, 9, 10, 11, 12}; - public static final int SLOT_TARGET = 5; - public static final int SLOT_RESULT = 6; - public static final int TANK_ETHANOL = 0; - public static final int RF_COST = 192000; - public static final int TIME_PERIOD = 4800; - public static final int POWER_CAPACITY = 20000; - public static final int ETHANOL_CAPACITY = 1000; + public static final int SLOT_ENZYME = 0; + public static final int SLOT_SEQUENCER_VIAL = 1; + public static final int[] SLOT_RESERVE = new int[] {2, 3, 4}; + public static final int[] SLOT_FINISHED = new int[] {7, 8, 9, 10, 11, 12}; + public static final int SLOT_TARGET = 5; + public static final int SLOT_RESULT = 6; + public static final int TANK_ETHANOL = 0; + public static final int RF_COST = 192000; + public static final int TIME_PERIOD = 4800; + public static final int POWER_CAPACITY = 20000; + public static final int ETHANOL_CAPACITY = 1000; } diff --git a/src/main/java/binnie/genetics/machine/isolator/IsolatorComponentFX.java b/src/main/java/binnie/genetics/machine/isolator/IsolatorComponentFX.java index 38eebda3..85053b52 100644 --- a/src/main/java/binnie/genetics/machine/isolator/IsolatorComponentFX.java +++ b/src/main/java/binnie/genetics/machine/isolator/IsolatorComponentFX.java @@ -6,88 +6,101 @@ import binnie.core.machines.MachineComponent; import binnie.core.machines.component.IRender; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; import net.minecraft.client.particle.EntityFX; import net.minecraft.world.World; -import java.util.Random; - public class IsolatorComponentFX extends MachineComponent implements IRender.RandomDisplayTick, IRender.DisplayTick { - public IsolatorComponentFX(IMachine machine) { - super(machine); - } + public IsolatorComponentFX(IMachine machine) { + super(machine); + } - @SideOnly(Side.CLIENT) - @Override - public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) { - if (!getUtil().getProcess().isInProgress()) { - return; - } + @SideOnly(Side.CLIENT) + @Override + public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) { + if (!getUtil().getProcess().isInProgress()) { + return; + } - BinnieCore.proxy.getMinecraftInstance().effectRenderer.addEffect(new EntityFX(world, x + 0.4 + 0.2 * rand.nextDouble(), y + 1.6, z + 0.4 + rand.nextDouble() * 0.2, 0.0, 0.0, 0.0) { - double angle = 0.0; + BinnieCore.proxy + .getMinecraftInstance() + .effectRenderer + .addEffect( + new EntityFX( + world, + x + 0.4 + 0.2 * rand.nextDouble(), + y + 1.6, + z + 0.4 + rand.nextDouble() * 0.2, + 0.0, + 0.0, + 0.0) { + double angle = 0.0; - { - motionX = 0.0; - motionZ = 0.0; - motionY = -0.012; - particleMaxAge = 100; - particleGravity = 0.0f; - noClip = true; - setRBGColorF(0.8f, 0.4f, 0.0f); - } + { + motionX = 0.0; + motionZ = 0.0; + motionY = -0.012; + particleMaxAge = 100; + particleGravity = 0.0f; + noClip = true; + setRBGColorF(0.8f, 0.4f, 0.0f); + } - @Override - public void onUpdate() { - super.onUpdate(); - angle += 0.06; - setAlphaF((float) Math.sin(3.14 * particleAge / particleMaxAge)); - } + @Override + public void onUpdate() { + super.onUpdate(); + angle += 0.06; + setAlphaF((float) Math.sin(3.14 * particleAge / particleMaxAge)); + } - @Override - public int getFXLayer() { - return 0; - } - }); - } + @Override + public int getFXLayer() { + return 0; + } + }); + } - @SideOnly(Side.CLIENT) - @Override - public void onDisplayTick(World world, int x, int y, int z, Random rand) { - int tick = (int) (world.getTotalWorldTime() % 6L); - if ((tick != 0 && tick != 5) || !getUtil().getProcess().isInProgress()) { - return; - } + @SideOnly(Side.CLIENT) + @Override + public void onDisplayTick(World world, int x, int y, int z, Random rand) { + int tick = (int) (world.getTotalWorldTime() % 6L); + if ((tick != 0 && tick != 5) || !getUtil().getProcess().isInProgress()) { + return; + } - BinnieCore.proxy.getMinecraftInstance().effectRenderer.addEffect(new EntityFX(world, x + 0.5, y + 1, z + 0.5, 0.0, 0.0, 0.0) { - double axisX = posX; - double axisZ = posZ; - double angle = 0.7 + (int) (worldObj.getTotalWorldTime() % 2L) * 3.1415; + BinnieCore.proxy + .getMinecraftInstance() + .effectRenderer + .addEffect(new EntityFX(world, x + 0.5, y + 1, z + 0.5, 0.0, 0.0, 0.0) { + double axisX = posX; + double axisZ = posZ; + double angle = 0.7 + (int) (worldObj.getTotalWorldTime() % 2L) * 3.1415; - { - axisX = 0.0; - axisZ = 0.0; - angle = 0.0; - motionX = 0.0; - motionZ = 0.0; - motionY = 0.012; - particleMaxAge = 100; - particleGravity = 0.0f; - noClip = true; - setRBGColorF(0.8f, 0.0f, 1.0f); - } + { + axisX = 0.0; + axisZ = 0.0; + angle = 0.0; + motionX = 0.0; + motionZ = 0.0; + motionY = 0.012; + particleMaxAge = 100; + particleGravity = 0.0f; + noClip = true; + setRBGColorF(0.8f, 0.0f, 1.0f); + } - @Override - public void onUpdate() { - super.onUpdate(); - angle += 0.06; - setPosition(axisX + 0.26 * Math.sin(angle), posY, axisZ + 0.26 * Math.cos(angle)); - setAlphaF((float) Math.cos(1.57 * particleAge / particleMaxAge)); - } + @Override + public void onUpdate() { + super.onUpdate(); + angle += 0.06; + setPosition(axisX + 0.26 * Math.sin(angle), posY, axisZ + 0.26 * Math.cos(angle)); + setAlphaF((float) Math.cos(1.57 * particleAge / particleMaxAge)); + } - @Override - public int getFXLayer() { - return 0; - } - }); - } + @Override + public int getFXLayer() { + return 0; + } + }); + } } diff --git a/src/main/java/binnie/genetics/machine/isolator/IsolatorComponentLogic.java b/src/main/java/binnie/genetics/machine/isolator/IsolatorComponentLogic.java index 1a038901..b091639b 100644 --- a/src/main/java/binnie/genetics/machine/isolator/IsolatorComponentLogic.java +++ b/src/main/java/binnie/genetics/machine/isolator/IsolatorComponentLogic.java @@ -13,102 +13,93 @@ import forestry.api.genetics.IAllele; import forestry.api.genetics.IChromosomeType; import forestry.api.genetics.IIndividual; import forestry.api.genetics.ISpeciesRoot; +import java.util.Random; import net.minecraft.item.ItemStack; -import java.util.Random; - public class IsolatorComponentLogic extends ComponentProcessSetCost implements IProcess { - protected float enzymePerProcess = 0.5f; - protected float ethanolPerProcess = 10.0f; + protected float enzymePerProcess = 0.5f; + protected float ethanolPerProcess = 10.0f; - public IsolatorComponentLogic(Machine machine) { - super(machine, Isolator.RF_COST, Isolator.TIME_PERIOD); - } + public IsolatorComponentLogic(Machine machine) { + super(machine, Isolator.RF_COST, Isolator.TIME_PERIOD); + } - @Override - public ErrorState canWork() { - if (getUtil().isSlotEmpty(Isolator.SLOT_TARGET)) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.isolator.error.noIndividual"), - Isolator.SLOT_TARGET - ); - } - // TODO check slot id in validation - if (!getUtil().isSlotEmpty(Isolator.SLOT_RESULT)) { - return new ErrorState.NoSpace( - I18N.localise("genetics.machine.isolator.error.noRoom"), - Isolator.SLOT_FINISHED - ); - } - if (getUtil().isSlotEmpty(Isolator.SLOT_SEQUENCER_VIAL)) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.isolator.error.noVials"), - Isolator.SLOT_SEQUENCER_VIAL - ); - } - return super.canWork(); - } + @Override + public ErrorState canWork() { + if (getUtil().isSlotEmpty(Isolator.SLOT_TARGET)) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.isolator.error.noIndividual"), Isolator.SLOT_TARGET); + } + // TODO check slot id in validation + if (!getUtil().isSlotEmpty(Isolator.SLOT_RESULT)) { + return new ErrorState.NoSpace( + I18N.localise("genetics.machine.isolator.error.noRoom"), Isolator.SLOT_FINISHED); + } + if (getUtil().isSlotEmpty(Isolator.SLOT_SEQUENCER_VIAL)) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.isolator.error.noVials"), Isolator.SLOT_SEQUENCER_VIAL); + } + return super.canWork(); + } - @Override - public ErrorState canProgress() { - if (!getUtil().liquidInTank(Isolator.TANK_ETHANOL, (int) ethanolPerProcess)) { - return new ErrorState.InsufficientLiquid( - I18N.localise("genetics.machine.isolator.error.noLiquid"), - Isolator.TANK_ETHANOL - ); - } - if (getUtil().getSlotCharge(Isolator.SLOT_ENZYME) == 0.0f) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.isolator.error.noEnzyme"), - Isolator.SLOT_ENZYME - ); - } - return super.canProgress(); - } + @Override + public ErrorState canProgress() { + if (!getUtil().liquidInTank(Isolator.TANK_ETHANOL, (int) ethanolPerProcess)) { + return new ErrorState.InsufficientLiquid( + I18N.localise("genetics.machine.isolator.error.noLiquid"), Isolator.TANK_ETHANOL); + } + if (getUtil().getSlotCharge(Isolator.SLOT_ENZYME) == 0.0f) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.isolator.error.noEnzyme"), Isolator.SLOT_ENZYME); + } + return super.canProgress(); + } - @Override - protected void onFinishTask() { - super.onFinishTask(); - Random rand = getMachine().getWorld().rand; - ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(getUtil().getStack(Isolator.SLOT_TARGET)); - if (root == null) { - return; - } + @Override + protected void onFinishTask() { + super.onFinishTask(); + Random rand = getMachine().getWorld().rand; + ISpeciesRoot root = + AlleleManager.alleleRegistry.getSpeciesRoot(getUtil().getStack(Isolator.SLOT_TARGET)); + if (root == null) { + return; + } - IIndividual individual = root.getMember(getUtil().getStack(Isolator.SLOT_TARGET)); - if (individual == null) { - return; - } + IIndividual individual = root.getMember(getUtil().getStack(Isolator.SLOT_TARGET)); + if (individual == null) { + return; + } - IAllele allele; - IChromosomeType chromosome; - Gene gene = null; - if (getMachine().getWorld().rand.nextFloat() < 2.0f) { - while (gene == null) { - try { - chromosome = root.getKaryotype()[rand.nextInt(root.getKaryotype().length)]; - allele = rand.nextBoolean() ? - individual.getGenome().getActiveAllele(chromosome) : - individual.getGenome().getInactiveAllele(chromosome); - gene = Gene.create(allele, chromosome, root); - } catch (Exception e) { - // ignored - } - } - } + IAllele allele; + IChromosomeType chromosome; + Gene gene = null; + if (getMachine().getWorld().rand.nextFloat() < 2.0f) { + while (gene == null) { + try { + chromosome = root.getKaryotype()[rand.nextInt(root.getKaryotype().length)]; + allele = rand.nextBoolean() + ? individual.getGenome().getActiveAllele(chromosome) + : individual.getGenome().getInactiveAllele(chromosome); + gene = Gene.create(allele, chromosome, root); + } catch (Exception e) { + // ignored + } + } + } - ItemStack serum = ItemSequence.create(gene); - getUtil().setStack(Isolator.SLOT_RESULT, serum); - getUtil().decreaseStack(Isolator.SLOT_SEQUENCER_VIAL, 1); - if (rand.nextFloat() < 0.05f) { - getUtil().decreaseStack(Isolator.SLOT_TARGET, 1); - } - getUtil().drainTank(Isolator.TANK_ETHANOL, (int) ethanolPerProcess); - } + ItemStack serum = ItemSequence.create(gene); + getUtil().setStack(Isolator.SLOT_RESULT, serum); + getUtil().decreaseStack(Isolator.SLOT_SEQUENCER_VIAL, 1); + if (rand.nextFloat() < 0.05f) { + getUtil().decreaseStack(Isolator.SLOT_TARGET, 1); + } + getUtil().drainTank(Isolator.TANK_ETHANOL, (int) ethanolPerProcess); + } - @Override - protected void onTickTask() { - getMachine().getInterface(IChargedSlots.class) - .alterCharge(Isolator.SLOT_ENZYME, -enzymePerProcess * getProgressPerTick() / 100.0f); - } + @Override + protected void onTickTask() { + getMachine() + .getInterface(IChargedSlots.class) + .alterCharge(Isolator.SLOT_ENZYME, -enzymePerProcess * getProgressPerTick() / 100.0f); + } } diff --git a/src/main/java/binnie/genetics/machine/isolator/IsolatorPackage.java b/src/main/java/binnie/genetics/machine/isolator/IsolatorPackage.java index 0fcc4aef..e46b0497 100644 --- a/src/main/java/binnie/genetics/machine/isolator/IsolatorPackage.java +++ b/src/main/java/binnie/genetics/machine/isolator/IsolatorPackage.java @@ -19,60 +19,60 @@ import binnie.genetics.machine.PackageGeneticBase; import net.minecraft.tileentity.TileEntity; public class IsolatorPackage extends PackageGeneticBase implements IMachineInformation { - public IsolatorPackage() { - super("isolator", GeneticsTexture.Isolator, 0xff6f0f, true); - } + public IsolatorPackage() { + super("isolator", GeneticsTexture.Isolator, 0xff6f0f, true); + } - @Override - public void createMachine(Machine machine) { - new ComponentGeneticGUI(machine, GeneticsGUI.Isolator); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - InventorySlot enzymeSlot = inventory.addSlot(Isolator.SLOT_ENZYME, "enzyme"); - enzymeSlot.setValidator(new SlotValidator.Item(GeneticsItems.Enzyme.get(1), ModuleMachine.IconEnzyme)); - enzymeSlot.forbidExtraction(); - - InventorySlot vialSlot = inventory.addSlot(Isolator.SLOT_SEQUENCER_VIAL, "sequencervial"); - vialSlot.setValidator(new SlotValidator.Item(GeneticsItems.EmptySequencer.get(1), ModuleMachine.IconSequencer)); - vialSlot.forbidExtraction(); + @Override + public void createMachine(Machine machine) { + new ComponentGeneticGUI(machine, GeneticsGUI.Isolator); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + InventorySlot enzymeSlot = inventory.addSlot(Isolator.SLOT_ENZYME, "enzyme"); + enzymeSlot.setValidator(new SlotValidator.Item(GeneticsItems.Enzyme.get(1), ModuleMachine.IconEnzyme)); + enzymeSlot.forbidExtraction(); - inventory.addSlotArray(Isolator.SLOT_RESERVE, "input"); - for (InventorySlot slot : inventory.getSlots(Isolator.SLOT_RESERVE)) { - slot.setValidator(new SlotValidator.Individual()); - slot.forbidExtraction(); - } + InventorySlot vialSlot = inventory.addSlot(Isolator.SLOT_SEQUENCER_VIAL, "sequencervial"); + vialSlot.setValidator(new SlotValidator.Item(GeneticsItems.EmptySequencer.get(1), ModuleMachine.IconSequencer)); + vialSlot.forbidExtraction(); - InventorySlot targetSlot = inventory.addSlot(Isolator.SLOT_TARGET, "process"); - targetSlot.setValidator(new SlotValidator.Individual()); - targetSlot.setReadOnly(); - targetSlot.forbidInteraction(); + inventory.addSlotArray(Isolator.SLOT_RESERVE, "input"); + for (InventorySlot slot : inventory.getSlots(Isolator.SLOT_RESERVE)) { + slot.setValidator(new SlotValidator.Individual()); + slot.forbidExtraction(); + } - InventorySlot resultSlot = inventory.addSlot(Isolator.SLOT_RESULT, "output"); - resultSlot.setReadOnly(); - resultSlot.forbidInteraction(); + InventorySlot targetSlot = inventory.addSlot(Isolator.SLOT_TARGET, "process"); + targetSlot.setValidator(new SlotValidator.Individual()); + targetSlot.setReadOnly(); + targetSlot.forbidInteraction(); - inventory.addSlotArray(Isolator.SLOT_FINISHED, "output"); - for (InventorySlot slot : inventory.getSlots(Isolator.SLOT_FINISHED)) { - slot.setReadOnly(); - slot.forbidInsertion(); - } + InventorySlot resultSlot = inventory.addSlot(Isolator.SLOT_RESULT, "output"); + resultSlot.setReadOnly(); + resultSlot.forbidInteraction(); - ComponentTankContainer tanks = new ComponentTankContainer(machine); - tanks.addTank(Isolator.TANK_ETHANOL, "input", Isolator.ETHANOL_CAPACITY); - tanks.getTankSlot(Isolator.TANK_ETHANOL).setValidator(new EthanolTankValidator()); + inventory.addSlotArray(Isolator.SLOT_FINISHED, "output"); + for (InventorySlot slot : inventory.getSlots(Isolator.SLOT_FINISHED)) { + slot.setReadOnly(); + slot.forbidInsertion(); + } - ComponentChargedSlots chargedSlots = new ComponentChargedSlots(machine); - chargedSlots.addCharge(Isolator.SLOT_ENZYME); + ComponentTankContainer tanks = new ComponentTankContainer(machine); + tanks.addTank(Isolator.TANK_ETHANOL, "input", Isolator.ETHANOL_CAPACITY); + tanks.getTankSlot(Isolator.TANK_ETHANOL).setValidator(new EthanolTankValidator()); - ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); - transfer.addRestock(Isolator.SLOT_RESERVE, Isolator.SLOT_TARGET, 1); - transfer.addStorage(Isolator.SLOT_RESULT, Isolator.SLOT_FINISHED); - new ComponentPowerReceptor(machine, Isolator.POWER_CAPACITY); - new IsolatorComponentLogic(machine); - new IsolatorComponentFX(machine); - } + ComponentChargedSlots chargedSlots = new ComponentChargedSlots(machine); + chargedSlots.addCharge(Isolator.SLOT_ENZYME); - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } + ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); + transfer.addRestock(Isolator.SLOT_RESERVE, Isolator.SLOT_TARGET, 1); + transfer.addStorage(Isolator.SLOT_RESULT, Isolator.SLOT_FINISHED); + new ComponentPowerReceptor(machine, Isolator.POWER_CAPACITY); + new IsolatorComponentLogic(machine); + new IsolatorComponentFX(machine); + } + + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } } diff --git a/src/main/java/binnie/genetics/machine/lab/LabMachinePackage.java b/src/main/java/binnie/genetics/machine/lab/LabMachinePackage.java index 0fe84b9c..a40ba3b3 100644 --- a/src/main/java/binnie/genetics/machine/lab/LabMachinePackage.java +++ b/src/main/java/binnie/genetics/machine/lab/LabMachinePackage.java @@ -8,17 +8,17 @@ import binnie.genetics.machine.PackageGeneticBase; import net.minecraft.client.renderer.RenderBlocks; public class LabMachinePackage extends PackageGeneticBase { - public LabMachinePackage() { - super("labMachine", GeneticsTexture.LabMachine, 0xffffff, false); - } + public LabMachinePackage() { + super("labMachine", GeneticsTexture.LabMachine, 0xffffff, false); + } - @Override - public void createMachine(Machine machine) { - new ComponentGUIHolder(machine); - } + @Override + public void createMachine(Machine machine) { + new ComponentGUIHolder(machine); + } - @Override - public void renderMachine(Machine machine, double x, double y, double z, float partialTick, RenderBlocks renderer) { - MachineRendererLab.instance.renderMachine(machine, color, renderTexture, x, y, z, partialTick); - } + @Override + public void renderMachine(Machine machine, double x, double y, double z, float partialTick, RenderBlocks renderer) { + MachineRendererLab.instance.renderMachine(machine, color, renderTexture, x, y, z, partialTick); + } } diff --git a/src/main/java/binnie/genetics/machine/polymeriser/DnaValidator.java b/src/main/java/binnie/genetics/machine/polymeriser/DnaValidator.java index 9c65e087..6814e768 100644 --- a/src/main/java/binnie/genetics/machine/polymeriser/DnaValidator.java +++ b/src/main/java/binnie/genetics/machine/polymeriser/DnaValidator.java @@ -6,13 +6,13 @@ import binnie.genetics.item.GeneticLiquid; import net.minecraftforge.fluids.FluidStack; class DnaValidator extends Validator { - @Override - public boolean isValid(FluidStack itemStack) { - return GeneticLiquid.RawDNA.get(1).isFluidEqual(itemStack); - } + @Override + public boolean isValid(FluidStack itemStack) { + return GeneticLiquid.RawDNA.get(1).isFluidEqual(itemStack); + } - @Override - public String getTooltip() { - return I18N.localise("fluid.binnie.dna.raw"); - } + @Override + public String getTooltip() { + return I18N.localise("fluid.binnie.dna.raw"); + } } diff --git a/src/main/java/binnie/genetics/machine/polymeriser/Polymeriser.java b/src/main/java/binnie/genetics/machine/polymeriser/Polymeriser.java index 735fb2f8..d6f673f6 100644 --- a/src/main/java/binnie/genetics/machine/polymeriser/Polymeriser.java +++ b/src/main/java/binnie/genetics/machine/polymeriser/Polymeriser.java @@ -1,15 +1,15 @@ package binnie.genetics.machine.polymeriser; public class Polymeriser { - public static final int TANK_BACTERIA = 0; - public static final int TANK_DNA = 1; - public static final int SLOT_SERUM = 0; - public static final int SLOT_GOLD = 1; - public static final int[] SLOT_SERUM_RESERVE = new int[]{2, 3, 4, 5}; - public static final int[] SLOT_SERUM_FINISHED = new int[]{6, 7, 8, 9}; - public static final int RF_COST = 96000; - public static final int TIME_PERIOD = 2400; - public static final int BACTERIA_TANK_CAPACITY = 1000; - public static final int DNA_TANK_CAPACITY = 1000; - public static final int POWER_CAPACITY = 8000; + public static final int TANK_BACTERIA = 0; + public static final int TANK_DNA = 1; + public static final int SLOT_SERUM = 0; + public static final int SLOT_GOLD = 1; + public static final int[] SLOT_SERUM_RESERVE = new int[] {2, 3, 4, 5}; + public static final int[] SLOT_SERUM_FINISHED = new int[] {6, 7, 8, 9}; + public static final int RF_COST = 96000; + public static final int TIME_PERIOD = 2400; + public static final int BACTERIA_TANK_CAPACITY = 1000; + public static final int DNA_TANK_CAPACITY = 1000; + public static final int POWER_CAPACITY = 8000; } diff --git a/src/main/java/binnie/genetics/machine/polymeriser/PolymeriserComponentFX.java b/src/main/java/binnie/genetics/machine/polymeriser/PolymeriserComponentFX.java index 0b8086f2..4099b6cf 100644 --- a/src/main/java/binnie/genetics/machine/polymeriser/PolymeriserComponentFX.java +++ b/src/main/java/binnie/genetics/machine/polymeriser/PolymeriserComponentFX.java @@ -6,73 +6,78 @@ import binnie.core.machines.MachineComponent; import binnie.core.machines.component.IRender; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; import net.minecraft.client.particle.EntityFX; import net.minecraft.world.World; -import java.util.Random; - public class PolymeriserComponentFX extends MachineComponent implements IRender.RandomDisplayTick, IRender.DisplayTick { - public PolymeriserComponentFX(IMachine machine) { - super(machine); - } + public PolymeriserComponentFX(IMachine machine) { + super(machine); + } - @SideOnly(Side.CLIENT) - @Override - public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) { - // ignored - } + @SideOnly(Side.CLIENT) + @Override + public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) { + // ignored + } - @SideOnly(Side.CLIENT) - @Override - public void onDisplayTick(World world, int x, int y, int z, Random rand) { - int tick = (int) (world.getTotalWorldTime() % 8L); - if ((tick == 0 || tick == 3) && getUtil().getProcess().isInProgress()) { - BinnieCore.proxy.getMinecraftInstance().effectRenderer.addEffect(new EntityFX(world, x + 0.5, y + 1.8, z + 0.5, 0.0, 0.0, 0.0) { - double axisX = posX; - double axisZ = posZ; - double angle = 0.7 + (int) (worldObj.getTotalWorldTime() % 2L) * 3.1415; + @SideOnly(Side.CLIENT) + @Override + public void onDisplayTick(World world, int x, int y, int z, Random rand) { + int tick = (int) (world.getTotalWorldTime() % 8L); + if ((tick == 0 || tick == 3) && getUtil().getProcess().isInProgress()) { + BinnieCore.proxy + .getMinecraftInstance() + .effectRenderer + .addEffect(new EntityFX(world, x + 0.5, y + 1.8, z + 0.5, 0.0, 0.0, 0.0) { + double axisX = posX; + double axisZ = posZ; + double angle = 0.7 + (int) (worldObj.getTotalWorldTime() % 2L) * 3.1415; - { - axisX = 0.0; - axisZ = 0.0; - angle = 0.0; - motionX = 0.0; - motionZ = 0.0; - motionY = -0.006; - particleMaxAge = 140; - particleGravity = 0.0f; - noClip = true; - setRBGColorF(0.8f, 0.0f, 1.0f); - } + { + axisX = 0.0; + axisZ = 0.0; + angle = 0.0; + motionX = 0.0; + motionZ = 0.0; + motionY = -0.006; + particleMaxAge = 140; + particleGravity = 0.0f; + noClip = true; + setRBGColorF(0.8f, 0.0f, 1.0f); + } - @Override - public void onUpdate() { - super.onUpdate(); - angle += 0.1; - motionY = -0.006; - double dist = 0.2; - if (particleAge > 60) { - if (particleAge > 120) { - dist = 0.1; - } else { - dist = 0.2 - 0.1 * ((particleAge - 60.0f) / 60.0f); - } - } + @Override + public void onUpdate() { + super.onUpdate(); + angle += 0.1; + motionY = -0.006; + double dist = 0.2; + if (particleAge > 60) { + if (particleAge > 120) { + dist = 0.1; + } else { + dist = 0.2 - 0.1 * ((particleAge - 60.0f) / 60.0f); + } + } - setPosition(axisX + dist * Math.sin(angle), posY, axisZ + dist * Math.cos(angle)); - if (particleAge <= 40) { - setAlphaF(particleAge / 40.0f); - } - if (particleAge > 80) { - setRBGColorF(particleRed + (0.0f - particleRed) / 10.0f, particleGreen + (1.0f - particleGreen) / 10.0f, particleBlue + (1.0f - particleBlue) / 10.0f); - } - } + setPosition(axisX + dist * Math.sin(angle), posY, axisZ + dist * Math.cos(angle)); + if (particleAge <= 40) { + setAlphaF(particleAge / 40.0f); + } + if (particleAge > 80) { + setRBGColorF( + particleRed + (0.0f - particleRed) / 10.0f, + particleGreen + (1.0f - particleGreen) / 10.0f, + particleBlue + (1.0f - particleBlue) / 10.0f); + } + } - @Override - public int getFXLayer() { - return 0; - } - }); - } - } + @Override + public int getFXLayer() { + return 0; + } + }); + } + } } diff --git a/src/main/java/binnie/genetics/machine/polymeriser/PolymeriserComponentLogic.java b/src/main/java/binnie/genetics/machine/polymeriser/PolymeriserComponentLogic.java index 6284d5f4..16d09436 100644 --- a/src/main/java/binnie/genetics/machine/polymeriser/PolymeriserComponentLogic.java +++ b/src/main/java/binnie/genetics/machine/polymeriser/PolymeriserComponentLogic.java @@ -9,105 +9,100 @@ import binnie.genetics.genetics.Engineering; import net.minecraft.item.ItemStack; public class PolymeriserComponentLogic extends ComponentProcessSetCost implements IProcess { - private static float chargePerProcess = 0.4f; + private static float chargePerProcess = 0.4f; - private float dnaDrain = 0.0f; - private float bacteriaDrain = 0.0f; + private float dnaDrain = 0.0f; + private float bacteriaDrain = 0.0f; - public PolymeriserComponentLogic(Machine machine) { - super(machine, Polymeriser.RF_COST, Polymeriser.TIME_PERIOD); - } + public PolymeriserComponentLogic(Machine machine) { + super(machine, Polymeriser.RF_COST, Polymeriser.TIME_PERIOD); + } - private float getCatalyst() { - return (getUtil().getSlotCharge(Polymeriser.SLOT_GOLD) > 0.0f) ? 0.2f : 1.0f; - } + private float getCatalyst() { + return (getUtil().getSlotCharge(Polymeriser.SLOT_GOLD) > 0.0f) ? 0.2f : 1.0f; + } - @Override - public int getProcessLength() { - return (int) (super.getProcessLength() * getNumberOfGenes() * getCatalyst()); - } + @Override + public int getProcessLength() { + return (int) (super.getProcessLength() * getNumberOfGenes() * getCatalyst()); + } - @Override - public int getProcessEnergy() { - return (int) (super.getProcessEnergy() * getNumberOfGenes() * getCatalyst()); - } + @Override + public int getProcessEnergy() { + return (int) (super.getProcessEnergy() * getNumberOfGenes() * getCatalyst()); + } - private float getDNAPerProcess() { - return getNumberOfGenes() * 50; - } + private float getDNAPerProcess() { + return getNumberOfGenes() * 50; + } - @Override - public void onTickTask() { - super.onTickTask(); - getUtil().useCharge(Polymeriser.SLOT_GOLD, PolymeriserComponentLogic.chargePerProcess * getProgressPerTick() / 100.0f); - dnaDrain += getDNAPerProcess() * getProgressPerTick() / 100.0f; - bacteriaDrain += 0.2f * getDNAPerProcess() * getProgressPerTick() / 100.0f; + @Override + public void onTickTask() { + super.onTickTask(); + getUtil() + .useCharge( + Polymeriser.SLOT_GOLD, + PolymeriserComponentLogic.chargePerProcess * getProgressPerTick() / 100.0f); + dnaDrain += getDNAPerProcess() * getProgressPerTick() / 100.0f; + bacteriaDrain += 0.2f * getDNAPerProcess() * getProgressPerTick() / 100.0f; - if (dnaDrain >= 1.0f) { - getUtil().drainTank(Polymeriser.TANK_DNA, 1); - dnaDrain--; - } + if (dnaDrain >= 1.0f) { + getUtil().drainTank(Polymeriser.TANK_DNA, 1); + dnaDrain--; + } - if (bacteriaDrain >= 1.0f) { - getUtil().drainTank(Polymeriser.TANK_BACTERIA, 1); - bacteriaDrain--; - } - } + if (bacteriaDrain >= 1.0f) { + getUtil().drainTank(Polymeriser.TANK_BACTERIA, 1); + bacteriaDrain--; + } + } - private int getNumberOfGenes() { - ItemStack serum = getUtil().getStack(Polymeriser.SLOT_SERUM); - if (serum == null) { - return 1; - } - return Engineering.getGenes(serum).length; - } + private int getNumberOfGenes() { + ItemStack serum = getUtil().getStack(Polymeriser.SLOT_SERUM); + if (serum == null) { + return 1; + } + return Engineering.getGenes(serum).length; + } - @Override - public String getTooltip() { - int n = getNumberOfGenes(); - if (n > 1) { - return I18N.localise("genetics.machine.polymeriser.replicatingWithGenes", n); - } - return I18N.localise("genetics.machine.polymeriser.replicatingWithGene"); - } + @Override + public String getTooltip() { + int n = getNumberOfGenes(); + if (n > 1) { + return I18N.localise("genetics.machine.polymeriser.replicatingWithGenes", n); + } + return I18N.localise("genetics.machine.polymeriser.replicatingWithGene"); + } - @Override - public ErrorState canWork() { - if (getUtil().isSlotEmpty(Polymeriser.SLOT_SERUM)) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.polymeriser.error.noItem"), - Polymeriser.SLOT_SERUM - ); - } - if (!getUtil().getStack(Polymeriser.SLOT_SERUM).isItemDamaged()) { - return new ErrorState.InvalidItem( - I18N.localise("genetics.machine.polymeriser.error.itemFilled"), - Polymeriser.SLOT_SERUM - ); - } - return super.canWork(); - } + @Override + public ErrorState canWork() { + if (getUtil().isSlotEmpty(Polymeriser.SLOT_SERUM)) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.polymeriser.error.noItem"), Polymeriser.SLOT_SERUM); + } + if (!getUtil().getStack(Polymeriser.SLOT_SERUM).isItemDamaged()) { + return new ErrorState.InvalidItem( + I18N.localise("genetics.machine.polymeriser.error.itemFilled"), Polymeriser.SLOT_SERUM); + } + return super.canWork(); + } - @Override - public ErrorState canProgress() { - if (getUtil().getFluid(Polymeriser.TANK_BACTERIA) == null) { - return new ErrorState.InsufficientLiquid( - I18N.localise("genetics.machine.polymeriser.error.noLiquid"), - Polymeriser.TANK_BACTERIA - ); - } - if (getUtil().getFluid(Polymeriser.TANK_DNA) == null) { - return new ErrorState.InsufficientLiquid( - I18N.localise("genetics.machine.polymeriser.error.noDNA"), - Polymeriser.TANK_DNA - ); - } - return super.canProgress(); - } + @Override + public ErrorState canProgress() { + if (getUtil().getFluid(Polymeriser.TANK_BACTERIA) == null) { + return new ErrorState.InsufficientLiquid( + I18N.localise("genetics.machine.polymeriser.error.noLiquid"), Polymeriser.TANK_BACTERIA); + } + if (getUtil().getFluid(Polymeriser.TANK_DNA) == null) { + return new ErrorState.InsufficientLiquid( + I18N.localise("genetics.machine.polymeriser.error.noDNA"), Polymeriser.TANK_DNA); + } + return super.canProgress(); + } - @Override - protected void onFinishTask() { - super.onFinishTask(); - getUtil().damageItem(Polymeriser.SLOT_SERUM, -1); - } + @Override + protected void onFinishTask() { + super.onFinishTask(); + getUtil().damageItem(Polymeriser.SLOT_SERUM, -1); + } } diff --git a/src/main/java/binnie/genetics/machine/polymeriser/PolymeriserPackage.java b/src/main/java/binnie/genetics/machine/polymeriser/PolymeriserPackage.java index b1c7f4db..1c666fcd 100644 --- a/src/main/java/binnie/genetics/machine/polymeriser/PolymeriserPackage.java +++ b/src/main/java/binnie/genetics/machine/polymeriser/PolymeriserPackage.java @@ -20,56 +20,57 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; public class PolymeriserPackage extends PackageGeneticBase implements IMachineInformation { - public PolymeriserPackage() { - super("polymeriser", GeneticsTexture.Polymeriser, 0x00e5c3, true); - } + public PolymeriserPackage() { + super("polymeriser", GeneticsTexture.Polymeriser, 0x00e5c3, true); + } - @Override - public void createMachine(Machine machine) { - new ComponentGeneticGUI(machine, GeneticsGUI.Replicator); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - InventorySlot goldSlot = inventory.addSlot(Polymeriser.SLOT_GOLD, "catalyst"); - goldSlot.setValidator(new SlotValidator.Item(new ItemStack(Items.gold_nugget, 1), ModuleMachine.IconNugget)); - goldSlot.forbidExtraction(); + @Override + public void createMachine(Machine machine) { + new ComponentGeneticGUI(machine, GeneticsGUI.Replicator); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + InventorySlot goldSlot = inventory.addSlot(Polymeriser.SLOT_GOLD, "catalyst"); + goldSlot.setValidator(new SlotValidator.Item(new ItemStack(Items.gold_nugget, 1), ModuleMachine.IconNugget)); + goldSlot.forbidExtraction(); - InventorySlot serumSlot = inventory.addSlot(Polymeriser.SLOT_SERUM, "process"); - serumSlot.setValidator(new UnfilledSerumSlotValidator()); - serumSlot.forbidInteraction(); - serumSlot.setReadOnly(); + InventorySlot serumSlot = inventory.addSlot(Polymeriser.SLOT_SERUM, "process"); + serumSlot.setValidator(new UnfilledSerumSlotValidator()); + serumSlot.forbidInteraction(); + serumSlot.setReadOnly(); - for (InventorySlot slot : inventory.addSlotArray(Polymeriser.SLOT_SERUM_RESERVE, "input")) { - slot.setValidator(new UnfilledSerumSlotValidator()); - slot.forbidExtraction(); - } + for (InventorySlot slot : inventory.addSlotArray(Polymeriser.SLOT_SERUM_RESERVE, "input")) { + slot.setValidator(new UnfilledSerumSlotValidator()); + slot.forbidExtraction(); + } - for (InventorySlot slot : inventory.addSlotArray(Polymeriser.SLOT_SERUM_FINISHED, "output")) { - slot.setReadOnly(); - } + for (InventorySlot slot : inventory.addSlotArray(Polymeriser.SLOT_SERUM_FINISHED, "output")) { + slot.setReadOnly(); + } - ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); - transfer.addRestock(Polymeriser.SLOT_SERUM_RESERVE, Polymeriser.SLOT_SERUM, 1); - transfer.addStorage(Polymeriser.SLOT_SERUM, Polymeriser.SLOT_SERUM_FINISHED, new ComponentInventoryTransfer.Condition() { - @Override - public boolean fufilled(ItemStack stack) { - return !stack.isItemDamaged(); - } - }); + ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); + transfer.addRestock(Polymeriser.SLOT_SERUM_RESERVE, Polymeriser.SLOT_SERUM, 1); + transfer.addStorage( + Polymeriser.SLOT_SERUM, Polymeriser.SLOT_SERUM_FINISHED, new ComponentInventoryTransfer.Condition() { + @Override + public boolean fufilled(ItemStack stack) { + return !stack.isItemDamaged(); + } + }); - ComponentTankContainer tank = new ComponentTankContainer(machine); - tank.addTank(Polymeriser.TANK_BACTERIA, "input", Polymeriser.BACTERIA_TANK_CAPACITY); - tank.getTankSlot(Polymeriser.TANK_BACTERIA).setValidator(new PolymerisingBacteriaValidator()); + ComponentTankContainer tank = new ComponentTankContainer(machine); + tank.addTank(Polymeriser.TANK_BACTERIA, "input", Polymeriser.BACTERIA_TANK_CAPACITY); + tank.getTankSlot(Polymeriser.TANK_BACTERIA).setValidator(new PolymerisingBacteriaValidator()); - tank.addTank(Polymeriser.TANK_DNA, "input", Polymeriser.DNA_TANK_CAPACITY); - tank.getTankSlot(Polymeriser.TANK_DNA).setValidator(new DnaValidator()); + tank.addTank(Polymeriser.TANK_DNA, "input", Polymeriser.DNA_TANK_CAPACITY); + tank.getTankSlot(Polymeriser.TANK_DNA).setValidator(new DnaValidator()); - new ComponentChargedSlots(machine).addCharge(Polymeriser.SLOT_GOLD); - new ComponentPowerReceptor(machine, Polymeriser.POWER_CAPACITY); - new PolymeriserComponentLogic(machine); - new PolymeriserComponentFX(machine); - } + new ComponentChargedSlots(machine).addCharge(Polymeriser.SLOT_GOLD); + new ComponentPowerReceptor(machine, Polymeriser.POWER_CAPACITY); + new PolymeriserComponentLogic(machine); + new PolymeriserComponentFX(machine); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } } diff --git a/src/main/java/binnie/genetics/machine/polymeriser/PolymerisingBacteriaValidator.java b/src/main/java/binnie/genetics/machine/polymeriser/PolymerisingBacteriaValidator.java index 23ad404d..68588d9c 100644 --- a/src/main/java/binnie/genetics/machine/polymeriser/PolymerisingBacteriaValidator.java +++ b/src/main/java/binnie/genetics/machine/polymeriser/PolymerisingBacteriaValidator.java @@ -6,13 +6,13 @@ import binnie.genetics.item.GeneticLiquid; import net.minecraftforge.fluids.FluidStack; class PolymerisingBacteriaValidator extends Validator { - @Override - public boolean isValid(FluidStack itemStack) { - return GeneticLiquid.BacteriaPoly.get(1).isFluidEqual(itemStack); - } + @Override + public boolean isValid(FluidStack itemStack) { + return GeneticLiquid.BacteriaPoly.get(1).isFluidEqual(itemStack); + } - @Override - public String getTooltip() { - return I18N.localise("fluid.binnie.bacteriaPoly"); - } + @Override + public String getTooltip() { + return I18N.localise("fluid.binnie.bacteriaPoly"); + } } diff --git a/src/main/java/binnie/genetics/machine/polymeriser/UnfilledSerumSlotValidator.java b/src/main/java/binnie/genetics/machine/polymeriser/UnfilledSerumSlotValidator.java index 958aaf9f..aa9036a1 100644 --- a/src/main/java/binnie/genetics/machine/polymeriser/UnfilledSerumSlotValidator.java +++ b/src/main/java/binnie/genetics/machine/polymeriser/UnfilledSerumSlotValidator.java @@ -7,17 +7,17 @@ import binnie.genetics.machine.ModuleMachine; import net.minecraft.item.ItemStack; public class UnfilledSerumSlotValidator extends SlotValidator { - public UnfilledSerumSlotValidator() { - super(ModuleMachine.IconSerum); - } + public UnfilledSerumSlotValidator() { + super(ModuleMachine.IconSerum); + } - @Override - public boolean isValid(ItemStack itemStack) { - return itemStack.getItem() instanceof IItemChargable; - } + @Override + public boolean isValid(ItemStack itemStack) { + return itemStack.getItem() instanceof IItemChargable; + } - @Override - public String getTooltip() { - return I18N.localise("genetics.machine.polymeriser.unfilledSerum"); - } + @Override + public String getTooltip() { + return I18N.localise("genetics.machine.polymeriser.unfilledSerum"); + } } diff --git a/src/main/java/binnie/genetics/machine/sequencer/Sequencer.java b/src/main/java/binnie/genetics/machine/sequencer/Sequencer.java index 2de23f24..01b3765d 100644 --- a/src/main/java/binnie/genetics/machine/sequencer/Sequencer.java +++ b/src/main/java/binnie/genetics/machine/sequencer/Sequencer.java @@ -3,14 +3,14 @@ package binnie.genetics.machine.sequencer; import binnie.core.resource.BinnieIcon; public class Sequencer { - public static final int[] SLOT_RESERVE = new int[]{1, 2, 3, 4}; - public static final int SLOT_DYE_INDEX = 0; - public static final int SLOT_TARGET_INDEX = 5; - public static final int SLOT_DONE_INDEX = 6; - public static final int POWER_CAPACITY = 10000; + public static final int[] SLOT_RESERVE = new int[] {1, 2, 3, 4}; + public static final int SLOT_DYE_INDEX = 0; + public static final int SLOT_TARGET_INDEX = 5; + public static final int SLOT_DONE_INDEX = 6; + public static final int POWER_CAPACITY = 10000; - public static BinnieIcon fxSeqA; - public static BinnieIcon fxSeqG; - public static BinnieIcon fxSeqT; - public static BinnieIcon fxSeqC; + public static BinnieIcon fxSeqA; + public static BinnieIcon fxSeqG; + public static BinnieIcon fxSeqT; + public static BinnieIcon fxSeqC; } diff --git a/src/main/java/binnie/genetics/machine/sequencer/SequencerComponentFX.java b/src/main/java/binnie/genetics/machine/sequencer/SequencerComponentFX.java index a81ff5ac..1a191670 100644 --- a/src/main/java/binnie/genetics/machine/sequencer/SequencerComponentFX.java +++ b/src/main/java/binnie/genetics/machine/sequencer/SequencerComponentFX.java @@ -7,96 +7,99 @@ import binnie.core.machines.component.IRender; import binnie.core.resource.BinnieIcon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; import net.minecraft.client.particle.EntityFX; import net.minecraft.world.World; -import java.util.Random; - public class SequencerComponentFX extends MachineComponent implements IRender.RandomDisplayTick, IRender.DisplayTick { - public SequencerComponentFX(IMachine machine) { - super(machine); - } + public SequencerComponentFX(IMachine machine) { + super(machine); + } - @SideOnly(Side.CLIENT) - @Override - public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) { - if (!getUtil().getProcess().isInProgress()) { - return; - } + @SideOnly(Side.CLIENT) + @Override + public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) { + if (!getUtil().getProcess().isInProgress()) { + return; + } - BinnieCore.proxy.getMinecraftInstance().effectRenderer.addEffect(new EntityFX(world, x + 0.5, y + 1.2 + rand.nextDouble() * 0.2, z + 0.5, 0.0, 0.0, 0.0) { - double axisX = posX; - double axisZ = posZ; - double angle = rand.nextDouble() * 2.0 * 3.1415; + BinnieCore.proxy + .getMinecraftInstance() + .effectRenderer + .addEffect(new EntityFX(world, x + 0.5, y + 1.2 + rand.nextDouble() * 0.2, z + 0.5, 0.0, 0.0, 0.0) { + double axisX = posX; + double axisZ = posZ; + double angle = rand.nextDouble() * 2.0 * 3.1415; - { - axisX = 0.0; - axisZ = 0.0; - angle = 0.0; - motionX = 0.0; - motionZ = 0.0; - motionY = 0.0; - particleMaxAge = 200; - particleGravity = 0.0f; - noClip = true; - setRBGColorF(0.6f + rand.nextFloat() * 0.2f, 1.0f, 0.8f * rand.nextFloat() * 0.2f); - } + { + axisX = 0.0; + axisZ = 0.0; + angle = 0.0; + motionX = 0.0; + motionZ = 0.0; + motionY = 0.0; + particleMaxAge = 200; + particleGravity = 0.0f; + noClip = true; + setRBGColorF(0.6f + rand.nextFloat() * 0.2f, 1.0f, 0.8f * rand.nextFloat() * 0.2f); + } - @Override - public void onUpdate() { - super.onUpdate(); - angle += 0.03; - setPosition(axisX + 0.4 * Math.sin(angle), posY, axisZ + 0.4 * Math.cos(angle)); - motionY = 0.0; - setAlphaF((float) Math.sin(3.14 * particleAge / particleMaxAge)); - } + @Override + public void onUpdate() { + super.onUpdate(); + angle += 0.03; + setPosition(axisX + 0.4 * Math.sin(angle), posY, axisZ + 0.4 * Math.cos(angle)); + motionY = 0.0; + setAlphaF((float) Math.sin(3.14 * particleAge / particleMaxAge)); + } - @Override - public int getFXLayer() { - return 0; - } - }); - } + @Override + public int getFXLayer() { + return 0; + } + }); + } - @SideOnly(Side.CLIENT) - @Override - public void onDisplayTick(World world, int x, int y, int z, Random rand) { - int ticks = (int) (world.getTotalWorldTime() % 16L); - if (ticks != 0 || !getUtil().getProcess().isInProgress()) { - return; - } + @SideOnly(Side.CLIENT) + @Override + public void onDisplayTick(World world, int x, int y, int z, Random rand) { + int ticks = (int) (world.getTotalWorldTime() % 16L); + if (ticks != 0 || !getUtil().getProcess().isInProgress()) { + return; + } - BinnieCore.proxy.getMinecraftInstance().effectRenderer.addEffect(new EntityFX(world, x + 0.5, y + 1, z + 0.5, 0.0, 0.0, 0.0) { - { - motionX = 0.0; - motionZ = 0.0; - motionY = 0.012; - particleMaxAge = 50; - particleGravity = 0.0f; - noClip = true; - particleScale = 2.0f; + BinnieCore.proxy + .getMinecraftInstance() + .effectRenderer + .addEffect(new EntityFX(world, x + 0.5, y + 1, z + 0.5, 0.0, 0.0, 0.0) { + { + motionX = 0.0; + motionZ = 0.0; + motionY = 0.012; + particleMaxAge = 50; + particleGravity = 0.0f; + noClip = true; + particleScale = 2.0f; - setParticleIcon((new BinnieIcon[]{ - Sequencer.fxSeqA, - Sequencer.fxSeqG, - Sequencer.fxSeqC, - Sequencer.fxSeqT - })[rand.nextInt(4)].getIcon()); - } + setParticleIcon((new BinnieIcon[] { + Sequencer.fxSeqA, Sequencer.fxSeqG, Sequencer.fxSeqC, Sequencer.fxSeqT + }) + [rand.nextInt(4)].getIcon()); + } - @Override - public void onUpdate() { - super.onUpdate(); - motionY = 0.012; - if (particleAge > 40) { - setAlphaF((50 - particleAge) / 10.0f); - } - } + @Override + public void onUpdate() { + super.onUpdate(); + motionY = 0.012; + if (particleAge > 40) { + setAlphaF((50 - particleAge) / 10.0f); + } + } - @Override - public int getFXLayer() { - return 1; - } - }); - } + @Override + public int getFXLayer() { + return 1; + } + }); + } } diff --git a/src/main/java/binnie/genetics/machine/sequencer/SequencerComponentLogic.java b/src/main/java/binnie/genetics/machine/sequencer/SequencerComponentLogic.java index f2a2655d..a3fa23e5 100644 --- a/src/main/java/binnie/genetics/machine/sequencer/SequencerComponentLogic.java +++ b/src/main/java/binnie/genetics/machine/sequencer/SequencerComponentLogic.java @@ -11,112 +11,106 @@ import binnie.genetics.genetics.SequencerItem; import binnie.genetics.item.GeneticsItems; import net.minecraft.item.ItemStack; -public class SequencerComponentLogic extends ComponentProcess implements IProcess, ComponentInventoryTransfer.ITransferRestockListener { - public SequencerComponentLogic(Machine machine) { - super(machine); - } +public class SequencerComponentLogic extends ComponentProcess + implements IProcess, ComponentInventoryTransfer.ITransferRestockListener { + public SequencerComponentLogic(Machine machine) { + super(machine); + } - public float getSequenceStrength() { - ItemStack stack = getUtil().getStack(Sequencer.SLOT_TARGET_INDEX); - if (stack == null) { - return 1.0f; - } + public float getSequenceStrength() { + ItemStack stack = getUtil().getStack(Sequencer.SLOT_TARGET_INDEX); + if (stack == null) { + return 1.0f; + } - float mult = 1.0f - stack.getItemDamage() % 6 / 5.0f; - return 1.0f - mult * mult * 0.75f; - } + float mult = 1.0f - stack.getItemDamage() % 6 / 5.0f; + return 1.0f - mult * mult * 0.75f; + } - @Override - public int getProcessLength() { - return (int) (19200.0f * getSequenceStrength()); - } + @Override + public int getProcessLength() { + return (int) (19200.0f * getSequenceStrength()); + } - @Override - public int getProcessEnergy() { - return getProcessLength() * 20; - } + @Override + public int getProcessEnergy() { + return getProcessLength() * 20; + } - @Override - public ErrorState canWork() { - if (getUtil().isSlotEmpty(Sequencer.SLOT_TARGET_INDEX)) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.sequencer.error.noSequence"), - Sequencer.SLOT_TARGET_INDEX - ); - } - return super.canWork(); - } + @Override + public ErrorState canWork() { + if (getUtil().isSlotEmpty(Sequencer.SLOT_TARGET_INDEX)) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.sequencer.error.noSequence"), Sequencer.SLOT_TARGET_INDEX); + } + return super.canWork(); + } - @Override - public ErrorState canProgress() { - if (getMachine().getOwner() == null) { - return new ErrorState( - I18N.localise("genetics.machine.sequencer.error.noOwner.title"), - I18N.localise("genetics.machine.sequencer.error.noOwner") - ); - } - if (getUtil().getSlotCharge(Sequencer.SLOT_DYE_INDEX) == 0.0f) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.sequencer.error.noDye"), - Sequencer.SLOT_DYE_INDEX - ); - } + @Override + public ErrorState canProgress() { + if (getMachine().getOwner() == null) { + return new ErrorState( + I18N.localise("genetics.machine.sequencer.error.noOwner.title"), + I18N.localise("genetics.machine.sequencer.error.noOwner")); + } + if (getUtil().getSlotCharge(Sequencer.SLOT_DYE_INDEX) == 0.0f) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.sequencer.error.noDye"), Sequencer.SLOT_DYE_INDEX); + } - ItemStack stack = getUtil().getStack(Sequencer.SLOT_DONE_INDEX); - if (stack != null && stack.stackSize >= 64) { - return new ErrorState.NoSpace( - I18N.localise("genetics.machine.sequencer.error.noSpace"), - Sequencer.SLOT_DONE_INDEX - ); - } - return super.canProgress(); - } + ItemStack stack = getUtil().getStack(Sequencer.SLOT_DONE_INDEX); + if (stack != null && stack.stackSize >= 64) { + return new ErrorState.NoSpace( + I18N.localise("genetics.machine.sequencer.error.noSpace"), Sequencer.SLOT_DONE_INDEX); + } + return super.canProgress(); + } - @Override - public void onRestock(int target) { - onStartTask(); - } + @Override + public void onRestock(int target) { + onStartTask(); + } - @Override - protected void onStartTask() { - super.onStartTask(); - ItemStack item = getUtil().getStack(Sequencer.SLOT_TARGET_INDEX); - SequencerItem seqItem = new SequencerItem(item); - int seq = seqItem.sequenced; - if (seq != 0) { - setProgress(seq); - } - } + @Override + protected void onStartTask() { + super.onStartTask(); + ItemStack item = getUtil().getStack(Sequencer.SLOT_TARGET_INDEX); + SequencerItem seqItem = new SequencerItem(item); + int seq = seqItem.sequenced; + if (seq != 0) { + setProgress(seq); + } + } - @Override - protected void onFinishTask() { - super.onFinishTask(); - updateSequence(); - SequencerItem seqItem = new SequencerItem(getUtil().getStack(Sequencer.SLOT_TARGET_INDEX)); - GeneTracker.getTracker(getMachine().getWorld(), getMachine().getOwner()).registerGene(seqItem.getGene()); - getUtil().decreaseStack(Sequencer.SLOT_TARGET_INDEX, 1); + @Override + protected void onFinishTask() { + super.onFinishTask(); + updateSequence(); + SequencerItem seqItem = new SequencerItem(getUtil().getStack(Sequencer.SLOT_TARGET_INDEX)); + GeneTracker.getTracker(getMachine().getWorld(), getMachine().getOwner()).registerGene(seqItem.getGene()); + getUtil().decreaseStack(Sequencer.SLOT_TARGET_INDEX, 1); - if (getUtil().getStack(Sequencer.SLOT_DONE_INDEX) == null) { - getUtil().setStack(Sequencer.SLOT_DONE_INDEX, GeneticsItems.EmptySequencer.get(1)); - } else { - getUtil().decreaseStack(Sequencer.SLOT_DONE_INDEX, -1); - } - } + if (getUtil().getStack(Sequencer.SLOT_DONE_INDEX) == null) { + getUtil().setStack(Sequencer.SLOT_DONE_INDEX, GeneticsItems.EmptySequencer.get(1)); + } else { + getUtil().decreaseStack(Sequencer.SLOT_DONE_INDEX, -1); + } + } - @Override - protected void onTickTask() { - updateSequence(); - getUtil().useCharge(Sequencer.SLOT_DYE_INDEX, 0.4f * getProgressPerTick() / 100.0f); - } + @Override + protected void onTickTask() { + updateSequence(); + getUtil().useCharge(Sequencer.SLOT_DYE_INDEX, 0.4f * getProgressPerTick() / 100.0f); + } - private void updateSequence() { - int prog = (int) getProgress(); - ItemStack item = getUtil().getStack(Sequencer.SLOT_TARGET_INDEX); - SequencerItem seqItem = new SequencerItem(item); - int seq = seqItem.sequenced; - if (prog != seq) { - seqItem.sequenced = prog; - seqItem.writeToItem(item); - } - } + private void updateSequence() { + int prog = (int) getProgress(); + ItemStack item = getUtil().getStack(Sequencer.SLOT_TARGET_INDEX); + SequencerItem seqItem = new SequencerItem(item); + int seq = seqItem.sequenced; + if (prog != seq) { + seqItem.sequenced = prog; + seqItem.writeToItem(item); + } + } } diff --git a/src/main/java/binnie/genetics/machine/sequencer/SequencerPackage.java b/src/main/java/binnie/genetics/machine/sequencer/SequencerPackage.java index 5ac25a9d..18158b44 100644 --- a/src/main/java/binnie/genetics/machine/sequencer/SequencerPackage.java +++ b/src/main/java/binnie/genetics/machine/sequencer/SequencerPackage.java @@ -20,50 +20,50 @@ import binnie.genetics.machine.PackageGeneticBase; import net.minecraft.tileentity.TileEntity; public class SequencerPackage extends PackageGeneticBase implements IMachineInformation { - public SequencerPackage() { - super("sequencer", GeneticsTexture.Sequencer, 0xb7ff32, true); - Sequencer.fxSeqA = Binnie.Resource.getBlockIcon(Genetics.instance, "fx/sequencer.a"); - Sequencer.fxSeqG = Binnie.Resource.getBlockIcon(Genetics.instance, "fx/sequencer.g"); - Sequencer.fxSeqT = Binnie.Resource.getBlockIcon(Genetics.instance, "fx/sequencer.t"); - Sequencer.fxSeqC = Binnie.Resource.getBlockIcon(Genetics.instance, "fx/sequencer.c"); - } + public SequencerPackage() { + super("sequencer", GeneticsTexture.Sequencer, 0xb7ff32, true); + Sequencer.fxSeqA = Binnie.Resource.getBlockIcon(Genetics.instance, "fx/sequencer.a"); + Sequencer.fxSeqG = Binnie.Resource.getBlockIcon(Genetics.instance, "fx/sequencer.g"); + Sequencer.fxSeqT = Binnie.Resource.getBlockIcon(Genetics.instance, "fx/sequencer.t"); + Sequencer.fxSeqC = Binnie.Resource.getBlockIcon(Genetics.instance, "fx/sequencer.c"); + } - @Override - public void createMachine(Machine machine) { - new ComponentGeneticGUI(machine, GeneticsGUI.Sequencer); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + @Override + public void createMachine(Machine machine) { + new ComponentGeneticGUI(machine, GeneticsGUI.Sequencer); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - InventorySlot slotDye = inventory.addSlot(Sequencer.SLOT_DYE_INDEX, "dye"); - slotDye.setValidator(new SlotValidator.Item(GeneticsItems.FluorescentDye.get(1), ModuleMachine.IconDye)); - slotDye.forbidExtraction(); + InventorySlot slotDye = inventory.addSlot(Sequencer.SLOT_DYE_INDEX, "dye"); + slotDye.setValidator(new SlotValidator.Item(GeneticsItems.FluorescentDye.get(1), ModuleMachine.IconDye)); + slotDye.forbidExtraction(); - inventory.addSlotArray(Sequencer.SLOT_RESERVE, "input"); - for (InventorySlot slot : inventory.getSlots(Sequencer.SLOT_RESERVE)) { - slot.setValidator(new UnsequencedSlotValidator()); - slot.forbidExtraction(); - } + inventory.addSlotArray(Sequencer.SLOT_RESERVE, "input"); + for (InventorySlot slot : inventory.getSlots(Sequencer.SLOT_RESERVE)) { + slot.setValidator(new UnsequencedSlotValidator()); + slot.forbidExtraction(); + } - InventorySlot slotTarget = inventory.addSlot(Sequencer.SLOT_TARGET_INDEX, "process"); - slotTarget.setValidator(new UnsequencedSlotValidator()); - slotTarget.setReadOnly(); - slotTarget.forbidInteraction(); + InventorySlot slotTarget = inventory.addSlot(Sequencer.SLOT_TARGET_INDEX, "process"); + slotTarget.setValidator(new UnsequencedSlotValidator()); + slotTarget.setReadOnly(); + slotTarget.forbidInteraction(); - InventorySlot slotDone = inventory.addSlot(Sequencer.SLOT_DONE_INDEX, "output"); - slotDone.setReadOnly(); + InventorySlot slotDone = inventory.addSlot(Sequencer.SLOT_DONE_INDEX, "output"); + slotDone.setReadOnly(); - ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); - transfer.addRestock(Sequencer.SLOT_RESERVE, Sequencer.SLOT_TARGET_INDEX, 1); + ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); + transfer.addRestock(Sequencer.SLOT_RESERVE, Sequencer.SLOT_TARGET_INDEX, 1); - new ComponentChargedSlots(machine).addCharge(Sequencer.SLOT_DYE_INDEX); - new ComponentPowerReceptor(machine, Sequencer.POWER_CAPACITY); - new SequencerComponentFX(machine); + new ComponentChargedSlots(machine).addCharge(Sequencer.SLOT_DYE_INDEX); + new ComponentPowerReceptor(machine, Sequencer.POWER_CAPACITY); + new SequencerComponentFX(machine); - SequencerComponentLogic logic = new SequencerComponentLogic(machine); - transfer.setTransferListener(logic); - } + SequencerComponentLogic logic = new SequencerComponentLogic(machine); + transfer.setTransferListener(logic); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } } diff --git a/src/main/java/binnie/genetics/machine/sequencer/UnsequencedSlotValidator.java b/src/main/java/binnie/genetics/machine/sequencer/UnsequencedSlotValidator.java index 7e85e886..56c91de6 100644 --- a/src/main/java/binnie/genetics/machine/sequencer/UnsequencedSlotValidator.java +++ b/src/main/java/binnie/genetics/machine/sequencer/UnsequencedSlotValidator.java @@ -8,21 +8,21 @@ import binnie.genetics.machine.ModuleMachine; import net.minecraft.item.ItemStack; public class UnsequencedSlotValidator extends SlotValidator { - public UnsequencedSlotValidator() { - super(ModuleMachine.IconSequencer); - } + public UnsequencedSlotValidator() { + super(ModuleMachine.IconSequencer); + } - @Override - public boolean isValid(ItemStack itemStack) { - if (itemStack.getItem() == Genetics.itemSequencer) { - SequencerItem seq = new SequencerItem(itemStack); - return seq.sequenced < 100; - } - return false; - } + @Override + public boolean isValid(ItemStack itemStack) { + if (itemStack.getItem() == Genetics.itemSequencer) { + SequencerItem seq = new SequencerItem(itemStack); + return seq.sequenced < 100; + } + return false; + } - @Override - public String getTooltip() { - return I18N.localise("genetics.machine.sequencer.unsequencedDNA"); - } + @Override + public String getTooltip() { + return I18N.localise("genetics.machine.sequencer.unsequencedDNA"); + } } diff --git a/src/main/java/binnie/genetics/machine/splicer/IndividualInoculateValidator.java b/src/main/java/binnie/genetics/machine/splicer/IndividualInoculateValidator.java index 7ae1817a..4a8a9105 100644 --- a/src/main/java/binnie/genetics/machine/splicer/IndividualInoculateValidator.java +++ b/src/main/java/binnie/genetics/machine/splicer/IndividualInoculateValidator.java @@ -8,18 +8,18 @@ import forestry.api.genetics.ISpeciesRoot; import net.minecraft.item.ItemStack; public class IndividualInoculateValidator extends SlotValidator { - public IndividualInoculateValidator() { - super(null); - } + public IndividualInoculateValidator() { + super(null); + } - @Override - public boolean isValid(ItemStack object) { - ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(object); - return root != null && Binnie.Genetics.getSystem(root).isDNAManipulable(object); - } + @Override + public boolean isValid(ItemStack object) { + ISpeciesRoot root = AlleleManager.alleleRegistry.getSpeciesRoot(object); + return root != null && Binnie.Genetics.getSystem(root).isDNAManipulable(object); + } - @Override - public String getTooltip() { - return I18N.localise("genetics.machine.splicer.splicableIndividual"); - } + @Override + public String getTooltip() { + return I18N.localise("genetics.machine.splicer.splicableIndividual"); + } } diff --git a/src/main/java/binnie/genetics/machine/splicer/SerumSlotValidator.java b/src/main/java/binnie/genetics/machine/splicer/SerumSlotValidator.java index 9c161727..6202e852 100644 --- a/src/main/java/binnie/genetics/machine/splicer/SerumSlotValidator.java +++ b/src/main/java/binnie/genetics/machine/splicer/SerumSlotValidator.java @@ -7,17 +7,17 @@ import binnie.genetics.machine.ModuleMachine; import net.minecraft.item.ItemStack; class SerumSlotValidator extends SlotValidator { - public SerumSlotValidator() { - super(ModuleMachine.IconSerum); - } + public SerumSlotValidator() { + super(ModuleMachine.IconSerum); + } - @Override - public boolean isValid(ItemStack itemStack) { - return itemStack.getItem() instanceof IItemSerum; - } + @Override + public boolean isValid(ItemStack itemStack) { + return itemStack.getItem() instanceof IItemSerum; + } - @Override - public String getTooltip() { - return I18N.localise("genetics.machine.splicer.serums"); - } + @Override + public String getTooltip() { + return I18N.localise("genetics.machine.splicer.serums"); + } } diff --git a/src/main/java/binnie/genetics/machine/splicer/Splicer.java b/src/main/java/binnie/genetics/machine/splicer/Splicer.java index b0f156cf..b9f15e51 100644 --- a/src/main/java/binnie/genetics/machine/splicer/Splicer.java +++ b/src/main/java/binnie/genetics/machine/splicer/Splicer.java @@ -9,32 +9,32 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; public class Splicer { - public static final int SLOT_SERUM_VIAL = 0; - public static final int[] SLOT_SERUM_RESERVE = new int[]{1, 2}; - public static final int[] SLOT_SERUM_EXPENDED = new int[]{3, 4}; - public static final int[] SLOT_RESERVE = new int[]{5, 6, 7, 8, 9}; - public static final int SLOT_TARGET = 9; - public static final int[] SLOT_FINISHED = new int[]{10, 11, 12, 13}; - public static final int RF_COST = 12000000; - public static final int TIME_PERIOD = 1200; - public static final int POWER_CAPACITY = 20000; + public static final int SLOT_SERUM_VIAL = 0; + public static final int[] SLOT_SERUM_RESERVE = new int[] {1, 2}; + public static final int[] SLOT_SERUM_EXPENDED = new int[] {3, 4}; + public static final int[] SLOT_RESERVE = new int[] {5, 6, 7, 8, 9}; + public static final int SLOT_TARGET = 9; + public static final int[] SLOT_FINISHED = new int[] {10, 11, 12, 13}; + public static final int RF_COST = 12000000; + public static final int TIME_PERIOD = 1200; + public static final int POWER_CAPACITY = 20000; - public static void setGene(IGene gene, ItemStack target, int chromoN) { - int chromosomeID = gene.getChromosome().ordinal(); - if (chromosomeID >= EnumBeeChromosome.HUMIDITY.ordinal() && gene.getSpeciesRoot() instanceof IBeeRoot) { - chromosomeID--; - } + public static void setGene(IGene gene, ItemStack target, int chromoN) { + int chromosomeID = gene.getChromosome().ordinal(); + if (chromosomeID >= EnumBeeChromosome.HUMIDITY.ordinal() && gene.getSpeciesRoot() instanceof IBeeRoot) { + chromosomeID--; + } - Class cls = gene.getChromosome().getAlleleClass(); - if (!cls.isInstance(gene.getAllele())) { - return; - } + Class cls = gene.getChromosome().getAlleleClass(); + if (!cls.isInstance(gene.getAllele())) { + return; + } - NBTTagCompound beeNBT = target.getTagCompound(); - NBTTagCompound genomeNBT = beeNBT.getCompoundTag("Genome"); - NBTTagList chromosomes = genomeNBT.getTagList("Chromosomes", 10); - NBTTagCompound chromosomeNBT = chromosomes.getCompoundTagAt(chromosomeID); - chromosomeNBT.setString("UID" + chromoN, gene.getAllele().getUID()); - target.setTagCompound(beeNBT); - } + NBTTagCompound beeNBT = target.getTagCompound(); + NBTTagCompound genomeNBT = beeNBT.getCompoundTag("Genome"); + NBTTagList chromosomes = genomeNBT.getTagList("Chromosomes", 10); + NBTTagCompound chromosomeNBT = chromosomes.getCompoundTagAt(chromosomeID); + chromosomeNBT.setString("UID" + chromoN, gene.getAllele().getUID()); + target.setTagCompound(beeNBT); + } } diff --git a/src/main/java/binnie/genetics/machine/splicer/SplicerComponentFX.java b/src/main/java/binnie/genetics/machine/splicer/SplicerComponentFX.java index 15486319..288edfde 100644 --- a/src/main/java/binnie/genetics/machine/splicer/SplicerComponentFX.java +++ b/src/main/java/binnie/genetics/machine/splicer/SplicerComponentFX.java @@ -7,6 +7,7 @@ import binnie.core.machines.component.IRender; import binnie.core.machines.network.INetwork; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; import net.minecraft.client.particle.EntityFX; import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.entity.item.EntityItem; @@ -15,116 +16,113 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import org.lwjgl.opengl.GL11; -import java.util.Random; +public class SplicerComponentFX extends MachineComponent + implements IRender.RandomDisplayTick, IRender.DisplayTick, IRender.Render, INetwork.TilePacketSync { + private EntityItem dummyEntityItem; -public class SplicerComponentFX extends MachineComponent implements - IRender.RandomDisplayTick, - IRender.DisplayTick, - IRender.Render, - INetwork.TilePacketSync { - private EntityItem dummyEntityItem; + public SplicerComponentFX(IMachine machine) { + super(machine); + dummyEntityItem = new EntityItem(null); + } - public SplicerComponentFX(IMachine machine) { - super(machine); - dummyEntityItem = new EntityItem(null); - } + @SideOnly(Side.CLIENT) + @Override + public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) {} - @SideOnly(Side.CLIENT) - @Override - public void onRandomDisplayTick(World world, int x, int y, int z, Random rand) { - } + @SideOnly(Side.CLIENT) + @Override + public void onDisplayTick(World world, int x, int y, int z, Random rand) { + int tick = (int) (world.getTotalWorldTime() % 3L); + if (tick != 0 || !getUtil().getProcess().isInProgress()) { + return; + } - @SideOnly(Side.CLIENT) - @Override - public void onDisplayTick(World world, int x, int y, int z, Random rand) { - int tick = (int) (world.getTotalWorldTime() % 3L); - if (tick != 0 || !getUtil().getProcess().isInProgress()) { - return; - } + BinnieCore.proxy + .getMinecraftInstance() + .effectRenderer + .addEffect(new EntityFX(world, x + 0.5, y + 1.5, z + 0.5, 0.0, 0.0, 0.0) { + double axisX = posX; + double axisZ = posZ; + double angle = (int) (worldObj.getTotalWorldTime() % 4L) * 0.5 * 3.1415; - BinnieCore.proxy.getMinecraftInstance().effectRenderer.addEffect(new EntityFX(world, x + 0.5, y + 1.5, z + 0.5, 0.0, 0.0, 0.0) { - double axisX = posX; - double axisZ = posZ; - double angle = (int) (worldObj.getTotalWorldTime() % 4L) * 0.5 * 3.1415; + { + axisX = 0.0; + axisZ = 0.0; + angle = 0.0; + motionX = 0.0; + motionZ = 0.0; + motionY = (rand.nextDouble() - 0.5) * 0.02; + particleMaxAge = 240; + particleGravity = 0.0f; + noClip = true; + setRBGColorF(0.3f + rand.nextFloat() * 0.5f, 0.3f + rand.nextFloat() * 0.5f, 0.0f); + } - { - axisX = 0.0; - axisZ = 0.0; - angle = 0.0; - motionX = 0.0; - motionZ = 0.0; - motionY = (rand.nextDouble() - 0.5) * 0.02; - particleMaxAge = 240; - particleGravity = 0.0f; - noClip = true; - setRBGColorF(0.3f + rand.nextFloat() * 0.5f, 0.3f + rand.nextFloat() * 0.5f, 0.0f); - } + @Override + public void onUpdate() { + super.onUpdate(); + double speed = 0.04; + angle -= speed; + double dist = 0.25 + 0.2 * Math.sin(particleAge / 50.0f); + setPosition(axisX + dist * Math.sin(angle), posY, axisZ + dist * Math.cos(angle)); + setAlphaF((float) Math.cos(1.57 * particleAge / particleMaxAge)); + } - @Override - public void onUpdate() { - super.onUpdate(); - double speed = 0.04; - angle -= speed; - double dist = 0.25 + 0.2 * Math.sin(particleAge / 50.0f); - setPosition(axisX + dist * Math.sin(angle), posY, axisZ + dist * Math.cos(angle)); - setAlphaF((float) Math.cos(1.57 * particleAge / particleMaxAge)); - } + @Override + public int getFXLayer() { + return 0; + } + }); + } - @Override - public int getFXLayer() { - return 0; - } - }); - } + @SideOnly(Side.CLIENT) + @Override + public void renderInWorld(RenderItem renderItem, double x, double y, double z) { + if (!getUtil().getProcess().isInProgress()) { + return; + } - @SideOnly(Side.CLIENT) - @Override - public void renderInWorld(RenderItem renderItem, double x, double y, double z) { - if (!getUtil().getProcess().isInProgress()) { - return; - } + ItemStack stack = getUtil().getStack(Splicer.SLOT_TARGET); + dummyEntityItem.worldObj = getMachine().getWorld(); + dummyEntityItem.setEntityItemStack(stack); + EntityItem dummyEntityItem = this.dummyEntityItem; + dummyEntityItem.age++; + this.dummyEntityItem.hoverStart = 0.0f; + if (stack == null) { + return; + } - ItemStack stack = getUtil().getStack(Splicer.SLOT_TARGET); - dummyEntityItem.worldObj = getMachine().getWorld(); - dummyEntityItem.setEntityItemStack(stack); - EntityItem dummyEntityItem = this.dummyEntityItem; - dummyEntityItem.age++; - this.dummyEntityItem.hoverStart = 0.0f; - if (stack == null) { - return; - } + GL11.glPushMatrix(); + GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); + GL11.glTranslatef(0.0f, -0.25f, 0.0f); + renderItem.doRender(this.dummyEntityItem, 0.0, 0.0, 0.0, 0.0f, 0.0f); + GL11.glPopMatrix(); + } - GL11.glPushMatrix(); - GL11.glRotatef(180.0f, 0.0f, 0.0f, 1.0f); - GL11.glTranslatef(0.0f, -0.25f, 0.0f); - renderItem.doRender(this.dummyEntityItem, 0.0, 0.0, 0.0, 0.0f, 0.0f); - GL11.glPopMatrix(); - } + @Override + public void syncToNBT(NBTTagCompound nbt) { + NBTTagCompound item = new NBTTagCompound(); + ItemStack stack = getUtil().getStack(Splicer.SLOT_TARGET); + if (stack != null) { + stack.writeToNBT(item); + nbt.setTag("item", item); + } + } - @Override - public void syncToNBT(NBTTagCompound nbt) { - NBTTagCompound item = new NBTTagCompound(); - ItemStack stack = getUtil().getStack(Splicer.SLOT_TARGET); - if (stack != null) { - stack.writeToNBT(item); - nbt.setTag("item", item); - } - } + @Override + public void syncFromNBT(NBTTagCompound nbt) { + if (nbt.hasKey("item")) { + getUtil().setStack(Splicer.SLOT_TARGET, ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("item"))); + } else { + getUtil().setStack(Splicer.SLOT_TARGET, null); + } + } - @Override - public void syncFromNBT(NBTTagCompound nbt) { - if (nbt.hasKey("item")) { - getUtil().setStack(Splicer.SLOT_TARGET, ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("item"))); - } else { - getUtil().setStack(Splicer.SLOT_TARGET, null); - } - } - - @Override - public void onInventoryUpdate() { - if (!getUtil().isServer()) { - return; - } - getUtil().refreshBlock(); - } + @Override + public void onInventoryUpdate() { + if (!getUtil().isServer()) { + return; + } + getUtil().refreshBlock(); + } } diff --git a/src/main/java/binnie/genetics/machine/splicer/SplicerComponentLogic.java b/src/main/java/binnie/genetics/machine/splicer/SplicerComponentLogic.java index 7e85c4f8..64585803 100644 --- a/src/main/java/binnie/genetics/machine/splicer/SplicerComponentLogic.java +++ b/src/main/java/binnie/genetics/machine/splicer/SplicerComponentLogic.java @@ -17,188 +17,179 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; public class SplicerComponentLogic extends ComponentProcessSetCost implements IProcess { - public int nOfGenes; + public int nOfGenes; - public SplicerComponentLogic(Machine machine) { - super(machine, Splicer.RF_COST, Splicer.TIME_PERIOD); - nOfGenes = 0; - } + public SplicerComponentLogic(Machine machine) { + super(machine, Splicer.RF_COST, Splicer.TIME_PERIOD); + nOfGenes = 0; + } - @Override - public int getProcessLength() { - float n = getNumberOfGenes(); - if (n > 1.0f) { - n = 1.0f + (n - 1.0f) * 0.5f; - } - // Fix for / by 0 - int temp = (int) (super.getProcessLength() * n); - return temp != 0 ? temp : 1; - } + @Override + public int getProcessLength() { + float n = getNumberOfGenes(); + if (n > 1.0f) { + n = 1.0f + (n - 1.0f) * 0.5f; + } + // Fix for / by 0 + int temp = (int) (super.getProcessLength() * n); + return temp != 0 ? temp : 1; + } - @Override - public int getProcessEnergy() { - float n = getNumberOfGenes(); - if (n > 1.0f) { - n = 1.0f + (n - 1.0f) * 0.5f; - } - return (int) (super.getProcessEnergy() * n); - } + @Override + public int getProcessEnergy() { + float n = getNumberOfGenes(); + if (n > 1.0f) { + n = 1.0f + (n - 1.0f) * 0.5f; + } + return (int) (super.getProcessEnergy() * n); + } - @Override - public void onInventoryUpdate() { - super.onInventoryUpdate(); - nOfGenes = getGenesToUse(); - } + @Override + public void onInventoryUpdate() { + super.onInventoryUpdate(); + nOfGenes = getGenesToUse(); + } - protected int getGenesToUse() { - ItemStack serum = getUtil().getStack(Splicer.SLOT_SERUM_VIAL); - ItemStack target = getUtil().getStack(Splicer.SLOT_TARGET); - if (serum == null || target == null) { - return 1; - } + protected int getGenesToUse() { + ItemStack serum = getUtil().getStack(Splicer.SLOT_SERUM_VIAL); + ItemStack target = getUtil().getStack(Splicer.SLOT_TARGET); + if (serum == null || target == null) { + return 1; + } - IIndividual ind = AlleleManager.alleleRegistry.getIndividual(target); - IGene[] genes = ((IItemSerum) serum.getItem()).getGenes(serum); - if (ind.getGenome().getSpeciesRoot() != ((IItemSerum) serum.getItem()).getSpeciesRoot(serum)) { - return 1; - } + IIndividual ind = AlleleManager.alleleRegistry.getIndividual(target); + IGene[] genes = ((IItemSerum) serum.getItem()).getGenes(serum); + if (ind.getGenome().getSpeciesRoot() != ((IItemSerum) serum.getItem()).getSpeciesRoot(serum)) { + return 1; + } - int i = 0; - for (IGene gene : genes) { - if (ind.getGenome().getActiveAllele(gene.getChromosome()) != gene.getAllele() || - ind.getGenome().getInactiveAllele(gene.getChromosome()) != gene.getAllele()) { - i++; - } - } - return (i < 1) ? 1 : i; - } + int i = 0; + for (IGene gene : genes) { + if (ind.getGenome().getActiveAllele(gene.getChromosome()) != gene.getAllele() + || ind.getGenome().getInactiveAllele(gene.getChromosome()) != gene.getAllele()) { + i++; + } + } + return (i < 1) ? 1 : i; + } - private int getFullNumberOfGenes() { - ItemStack serum = getUtil().getStack(Splicer.SLOT_SERUM_VIAL); - if (serum == null) { - return 1; - } - return Engineering.getGenes(serum).length; - } + private int getFullNumberOfGenes() { + ItemStack serum = getUtil().getStack(Splicer.SLOT_SERUM_VIAL); + if (serum == null) { + return 1; + } + return Engineering.getGenes(serum).length; + } - private int getNumberOfGenes() { - return nOfGenes; - } + private int getNumberOfGenes() { + return nOfGenes; + } - @Override - public String getTooltip() { - int n = getNumberOfGenes(); - int f = getFullNumberOfGenes(); - if (f > 1) { - if (n > 1) { - return I18N.localise("genetics.machine.splicer.splicingIn.0", n, f); - } - return I18N.localise("genetics.machine.splicer.splicingIn.1", n, f); - } + @Override + public String getTooltip() { + int n = getNumberOfGenes(); + int f = getFullNumberOfGenes(); + if (f > 1) { + if (n > 1) { + return I18N.localise("genetics.machine.splicer.splicingIn.0", n, f); + } + return I18N.localise("genetics.machine.splicer.splicingIn.1", n, f); + } - if (n > 1) { - return I18N.localise("genetics.machine.splicer.splicingIn.2", n); - } - return I18N.localise("genetics.machine.splicer.splicingIn.3", n); - } + if (n > 1) { + return I18N.localise("genetics.machine.splicer.splicingIn.2", n); + } + return I18N.localise("genetics.machine.splicer.splicingIn.3", n); + } - @Override - public ErrorState canWork() { - if (getUtil().isSlotEmpty(Splicer.SLOT_TARGET)) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.splicer.error.noIndividual"), - Splicer.SLOT_TARGET - ); - } - if (getUtil().isSlotEmpty(Splicer.SLOT_SERUM_VIAL)) { - return new ErrorState.NoItem( - I18N.localise("genetics.machine.splicer.error.noSerum"), - Splicer.SLOT_SERUM_VIAL - ); - } + @Override + public ErrorState canWork() { + if (getUtil().isSlotEmpty(Splicer.SLOT_TARGET)) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.splicer.error.noIndividual"), Splicer.SLOT_TARGET); + } + if (getUtil().isSlotEmpty(Splicer.SLOT_SERUM_VIAL)) { + return new ErrorState.NoItem( + I18N.localise("genetics.machine.splicer.error.noSerum"), Splicer.SLOT_SERUM_VIAL); + } - ErrorState state = isValidSerum(); - if (state != null) { - return state; - } + ErrorState state = isValidSerum(); + if (state != null) { + return state; + } - if (getUtil().getStack(0) != null && Engineering.getCharges(getUtil().getStack(Splicer.SLOT_SERUM_VIAL)) == 0) { - return new ErrorState( - I18N.localise("genetics.machine.splicer.error.emptySerum.title"), - I18N.localise("genetics.machine.splicer.error.emptySerum") - ); - } - return super.canWork(); - } + if (getUtil().getStack(0) != null && Engineering.getCharges(getUtil().getStack(Splicer.SLOT_SERUM_VIAL)) == 0) { + return new ErrorState( + I18N.localise("genetics.machine.splicer.error.emptySerum.title"), + I18N.localise("genetics.machine.splicer.error.emptySerum")); + } + return super.canWork(); + } - public ErrorState isValidSerum() { - ItemStack serum = getUtil().getStack(Splicer.SLOT_SERUM_VIAL); - ItemStack target = getUtil().getStack(Splicer.SLOT_TARGET); - IGene[] genes = Engineering.getGenes(serum); - if (genes.length == 0) { - return new ErrorState( - I18N.localise("genetics.machine.splicer.error.invalidSerum.title"), - I18N.localise("genetics.machine.splicer.error.invalidSerum.0") - ); - } - if (!genes[0].getSpeciesRoot().isMember(target)) { - return new ErrorState( - I18N.localise("genetics.machine.splicer.error.invalidSerum.title"), - I18N.localise("genetics.machine.splicer.error.invalidSerum.1") - ); - } + public ErrorState isValidSerum() { + ItemStack serum = getUtil().getStack(Splicer.SLOT_SERUM_VIAL); + ItemStack target = getUtil().getStack(Splicer.SLOT_TARGET); + IGene[] genes = Engineering.getGenes(serum); + if (genes.length == 0) { + return new ErrorState( + I18N.localise("genetics.machine.splicer.error.invalidSerum.title"), + I18N.localise("genetics.machine.splicer.error.invalidSerum.0")); + } + if (!genes[0].getSpeciesRoot().isMember(target)) { + return new ErrorState( + I18N.localise("genetics.machine.splicer.error.invalidSerum.title"), + I18N.localise("genetics.machine.splicer.error.invalidSerum.1")); + } - IIndividual individual = genes[0].getSpeciesRoot().getMember(target); - boolean hasAll = true; - for (IGene gene : genes) { - if (hasAll) { - IGenome genome = individual.getGenome(); - IChromosomeType chromosome = gene.getChromosome(); - String geneAlleleUID = gene.getAllele().getUID(); - IAllele a = genome.getActiveAllele(chromosome); - IAllele b = genome.getInactiveAllele(chromosome); - hasAll = a.getUID().equals(geneAlleleUID) - && b.getUID().equals(geneAlleleUID); - } - } + IIndividual individual = genes[0].getSpeciesRoot().getMember(target); + boolean hasAll = true; + for (IGene gene : genes) { + if (hasAll) { + IGenome genome = individual.getGenome(); + IChromosomeType chromosome = gene.getChromosome(); + String geneAlleleUID = gene.getAllele().getUID(); + IAllele a = genome.getActiveAllele(chromosome); + IAllele b = genome.getInactiveAllele(chromosome); + hasAll = a.getUID().equals(geneAlleleUID) && b.getUID().equals(geneAlleleUID); + } + } - if (hasAll) { - return new ErrorState( - I18N.localise("genetics.machine.splicer.error.defunctSerum.title"), - I18N.localise("genetics.machine.splicer.error.defunctSerum") - ); - } - return null; - } + if (hasAll) { + return new ErrorState( + I18N.localise("genetics.machine.splicer.error.defunctSerum.title"), + I18N.localise("genetics.machine.splicer.error.defunctSerum")); + } + return null; + } - @Override - public ErrorState canProgress() { - return super.canProgress(); - } + @Override + public ErrorState canProgress() { + return super.canProgress(); + } - @Override - protected void onFinishTask() { - super.onFinishTask(); - ItemStack serum = getUtil().getStack(Splicer.SLOT_SERUM_VIAL); - ItemStack target = getUtil().getStack(Splicer.SLOT_TARGET); - IIndividual ind = AlleleManager.alleleRegistry.getIndividual(target); - if (!ind.isAnalyzed()) { - ind.analyze(); - NBTTagCompound nbttagcompound = new NBTTagCompound(); - ind.writeToNBT(nbttagcompound); - target.setTagCompound(nbttagcompound); - } + @Override + protected void onFinishTask() { + super.onFinishTask(); + ItemStack serum = getUtil().getStack(Splicer.SLOT_SERUM_VIAL); + ItemStack target = getUtil().getStack(Splicer.SLOT_TARGET); + IIndividual ind = AlleleManager.alleleRegistry.getIndividual(target); + if (!ind.isAnalyzed()) { + ind.analyze(); + NBTTagCompound nbttagcompound = new NBTTagCompound(); + ind.writeToNBT(nbttagcompound); + target.setTagCompound(nbttagcompound); + } - IGene[] genes = ((IItemSerum) serum.getItem()).getGenes(serum); - for (IGene gene : genes) { - Splicer.setGene(gene, target, 0); - Splicer.setGene(gene, target, 1); - } - getUtil().damageItem(Splicer.SLOT_SERUM_VIAL, 1); - } + IGene[] genes = ((IItemSerum) serum.getItem()).getGenes(serum); + for (IGene gene : genes) { + Splicer.setGene(gene, target, 0); + Splicer.setGene(gene, target, 1); + } + getUtil().damageItem(Splicer.SLOT_SERUM_VIAL, 1); + } - @Override - protected void onTickTask() { - // ignored - } + @Override + protected void onTickTask() { + // ignored + } } diff --git a/src/main/java/binnie/genetics/machine/splicer/SplicerPackage.java b/src/main/java/binnie/genetics/machine/splicer/SplicerPackage.java index dcd6a2d8..c4d6dc2c 100644 --- a/src/main/java/binnie/genetics/machine/splicer/SplicerPackage.java +++ b/src/main/java/binnie/genetics/machine/splicer/SplicerPackage.java @@ -17,76 +17,80 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; public class SplicerPackage extends AdvGeneticMachine.PackageAdvGeneticBase implements IMachineInformation { - public SplicerPackage() { - super("splicer", GeneticsTexture.Splicer, 0xe22235, true); - } + public SplicerPackage() { + super("splicer", GeneticsTexture.Splicer, 0xe22235, true); + } - @Override - public void createMachine(Machine machine) { - new ComponentGeneticGUI(machine, GeneticsGUI.Splicer); - ComponentInventorySlots inventory = new ComponentInventorySlots(machine); - SlotValidator serumValid = new SerumSlotValidator(); + @Override + public void createMachine(Machine machine) { + new ComponentGeneticGUI(machine, GeneticsGUI.Splicer); + ComponentInventorySlots inventory = new ComponentInventorySlots(machine); + SlotValidator serumValid = new SerumSlotValidator(); - InventorySlot serumSlot = inventory.addSlot(Splicer.SLOT_SERUM_VIAL, "serum.active"); - serumSlot.forbidInteraction(); - serumSlot.setReadOnly(); - serumSlot.setValidator(serumValid); + InventorySlot serumSlot = inventory.addSlot(Splicer.SLOT_SERUM_VIAL, "serum.active"); + serumSlot.forbidInteraction(); + serumSlot.setReadOnly(); + serumSlot.setValidator(serumValid); - inventory.addSlotArray(Splicer.SLOT_SERUM_RESERVE, "serum.input"); - for (InventorySlot slot : inventory.getSlots(Splicer.SLOT_SERUM_RESERVE)) { - slot.setValidator(serumValid); - slot.forbidExtraction(); - } + inventory.addSlotArray(Splicer.SLOT_SERUM_RESERVE, "serum.input"); + for (InventorySlot slot : inventory.getSlots(Splicer.SLOT_SERUM_RESERVE)) { + slot.setValidator(serumValid); + slot.forbidExtraction(); + } - inventory.addSlotArray(Splicer.SLOT_SERUM_EXPENDED, "serum.output"); - for (InventorySlot slot : inventory.getSlots(Splicer.SLOT_SERUM_EXPENDED)) { - slot.setValidator(serumValid); - slot.setReadOnly(); - } + inventory.addSlotArray(Splicer.SLOT_SERUM_EXPENDED, "serum.output"); + for (InventorySlot slot : inventory.getSlots(Splicer.SLOT_SERUM_EXPENDED)) { + slot.setValidator(serumValid); + slot.setReadOnly(); + } - inventory.addSlotArray(Splicer.SLOT_RESERVE, "input"); - for (InventorySlot slot : inventory.getSlots(Splicer.SLOT_RESERVE)) { - slot.forbidExtraction(); - slot.setValidator(new IndividualInoculateValidator()); - } + inventory.addSlotArray(Splicer.SLOT_RESERVE, "input"); + for (InventorySlot slot : inventory.getSlots(Splicer.SLOT_RESERVE)) { + slot.forbidExtraction(); + slot.setValidator(new IndividualInoculateValidator()); + } - InventorySlot targetSlot = inventory.addSlot(Splicer.SLOT_TARGET, "process"); - targetSlot.setValidator(new IndividualInoculateValidator()); - targetSlot.setReadOnly(); - targetSlot.forbidInteraction(); + InventorySlot targetSlot = inventory.addSlot(Splicer.SLOT_TARGET, "process"); + targetSlot.setValidator(new IndividualInoculateValidator()); + targetSlot.setReadOnly(); + targetSlot.forbidInteraction(); - inventory.addSlotArray(Splicer.SLOT_FINISHED, "output"); - for (InventorySlot slot : inventory.getSlots(Splicer.SLOT_FINISHED)) { - slot.setReadOnly(); - slot.forbidInsertion(); - slot.setValidator(new IndividualInoculateValidator()); - } + inventory.addSlotArray(Splicer.SLOT_FINISHED, "output"); + for (InventorySlot slot : inventory.getSlots(Splicer.SLOT_FINISHED)) { + slot.setReadOnly(); + slot.forbidInsertion(); + slot.setValidator(new IndividualInoculateValidator()); + } - ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); - transfer.addRestock(Splicer.SLOT_RESERVE, Splicer.SLOT_TARGET, 1); - transfer.addRestock(Splicer.SLOT_SERUM_RESERVE, Splicer.SLOT_SERUM_VIAL); - transfer.addStorage(Splicer.SLOT_SERUM_VIAL, Splicer.SLOT_SERUM_EXPENDED, new ComponentInventoryTransfer.Condition() { - @Override - public boolean fufilled(ItemStack stack) { - return Engineering.getCharges(stack) == 0; - } - }); - transfer.addStorage(Splicer.SLOT_TARGET, Splicer.SLOT_FINISHED, new ComponentInventoryTransfer.Condition() { - @Override - public boolean fufilled(ItemStack stack) { - return stack != null - && transfer.getMachine().getMachineUtil().getStack(Splicer.SLOT_SERUM_VIAL) != null - && transfer.getMachine().getInterface(SplicerComponentLogic.class).isValidSerum() != null; - } - }); + ComponentInventoryTransfer transfer = new ComponentInventoryTransfer(machine); + transfer.addRestock(Splicer.SLOT_RESERVE, Splicer.SLOT_TARGET, 1); + transfer.addRestock(Splicer.SLOT_SERUM_RESERVE, Splicer.SLOT_SERUM_VIAL); + transfer.addStorage( + Splicer.SLOT_SERUM_VIAL, Splicer.SLOT_SERUM_EXPENDED, new ComponentInventoryTransfer.Condition() { + @Override + public boolean fufilled(ItemStack stack) { + return Engineering.getCharges(stack) == 0; + } + }); + transfer.addStorage(Splicer.SLOT_TARGET, Splicer.SLOT_FINISHED, new ComponentInventoryTransfer.Condition() { + @Override + public boolean fufilled(ItemStack stack) { + return stack != null + && transfer.getMachine().getMachineUtil().getStack(Splicer.SLOT_SERUM_VIAL) != null + && transfer.getMachine() + .getInterface(SplicerComponentLogic.class) + .isValidSerum() + != null; + } + }); - new ComponentPowerReceptor(machine, Splicer.POWER_CAPACITY); - new SplicerComponentLogic(machine); - new SplicerComponentFX(machine); - } + new ComponentPowerReceptor(machine, Splicer.POWER_CAPACITY); + new SplicerComponentLogic(machine); + new SplicerComponentFX(machine); + } - @Override - public TileEntity createTileEntity() { - return new TileEntityMachine(this); - } + @Override + public TileEntity createTileEntity() { + return new TileEntityMachine(this); + } } diff --git a/src/main/java/binnie/genetics/nei/AcclimatiserRecipeHandler.java b/src/main/java/binnie/genetics/nei/AcclimatiserRecipeHandler.java index bc5ace60..54e21455 100644 --- a/src/main/java/binnie/genetics/nei/AcclimatiserRecipeHandler.java +++ b/src/main/java/binnie/genetics/nei/AcclimatiserRecipeHandler.java @@ -10,13 +10,12 @@ import binnie.genetics.machine.acclimatiser.ToleranceType; import codechicken.lib.gui.GuiDraw; import codechicken.nei.NEIServerUtils; import codechicken.nei.PositionedStack; +import java.util.ArrayList; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; import net.minecraftforge.oredict.OreDictionary; -import java.util.ArrayList; -import java.util.List; - public class AcclimatiserRecipeHandler extends RecipeHandlerBase { private static final List recipes = new ArrayList<>(); @@ -63,7 +62,6 @@ public class AcclimatiserRecipeHandler extends RecipeHandlerBase { } recipes.add(new AcclimatiserRecipe(targets, resource, effect, ToleranceType.Humidity)); }); - } @Override @@ -143,7 +141,6 @@ public class AcclimatiserRecipeHandler extends RecipeHandlerBase { public ToleranceType getType() { return this.type; } - } public class CachedAcclimatiserRecipe extends CachedBaseRecipe { @@ -157,11 +154,14 @@ public class AcclimatiserRecipeHandler extends RecipeHandlerBase { public CachedAcclimatiserRecipe(AcclimatiserRecipe recipe) { if (recipe.getTarget() != null) { for (int i = 0; i < recipe.getTarget().length; i++) { - target.add(new PositionedStack(recipe.getTarget()[i], 31 + 18 * (i > 5 ? i % 6 : i), 29 + 18 * (i / 6))); + target.add(new PositionedStack( + recipe.getTarget()[i], 31 + 18 * (i > 5 ? i % 6 : i), 29 + 18 * (i / 6))); } this.resource = new PositionedStackAdv(recipe.getResource(), 76, 2) - .addToTooltip(StatCollector.translateToLocal("genetics.nei.tip." + (recipe.getType().equals(ToleranceType.Temperature) ? "temperature" : "humidity"))) - .addToTooltip(StatCollector.translateToLocalFormatted("genetics.nei.tip.effect", recipe.getEffect())); + .addToTooltip(StatCollector.translateToLocal("genetics.nei.tip." + + (recipe.getType().equals(ToleranceType.Temperature) ? "temperature" : "humidity"))) + .addToTooltip( + StatCollector.translateToLocalFormatted("genetics.nei.tip.effect", recipe.getEffect())); this.effect = recipe.getEffect(); this.type = recipe.getType(); @@ -180,5 +180,4 @@ public class AcclimatiserRecipeHandler extends RecipeHandlerBase { return null; } } - } diff --git a/src/main/java/binnie/genetics/nei/AnalyserRecipeHandler.java b/src/main/java/binnie/genetics/nei/AnalyserRecipeHandler.java index c87dbc00..20fd5ef0 100644 --- a/src/main/java/binnie/genetics/nei/AnalyserRecipeHandler.java +++ b/src/main/java/binnie/genetics/nei/AnalyserRecipeHandler.java @@ -11,13 +11,12 @@ import codechicken.lib.gui.GuiDraw; import codechicken.nei.ItemList; import codechicken.nei.NEIServerUtils; import codechicken.nei.PositionedStack; +import java.util.ArrayList; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; import net.minecraftforge.oredict.OreDictionary; -import java.util.ArrayList; -import java.util.List; - public class AnalyserRecipeHandler extends RecipeHandlerBase { private static final List recipes = new ArrayList<>(); @@ -116,7 +115,6 @@ public class AnalyserRecipeHandler extends RecipeHandlerBase { public ItemStack getAnalysable() { return this.analysable; } - } public class CachedAnalyser extends CachedBaseRecipe { @@ -138,7 +136,8 @@ public class AnalyserRecipeHandler extends RecipeHandlerBase { } } } else { - for (ItemStack analysable : ItemList.itemMap.get(recipe.getAnalysable().getItem())) { + for (ItemStack analysable : + ItemList.itemMap.get(recipe.getAnalysable().getItem())) { if (analysable.getTagCompound() != null) { analysableList.add(analysable.copy()); } @@ -163,7 +162,5 @@ public class AnalyserRecipeHandler extends RecipeHandlerBase { public PositionedStack getResult() { return null; } - } - } diff --git a/src/main/java/binnie/genetics/nei/DatabaseRecipeHandler.java b/src/main/java/binnie/genetics/nei/DatabaseRecipeHandler.java index a8754ef6..dc94149d 100644 --- a/src/main/java/binnie/genetics/nei/DatabaseRecipeHandler.java +++ b/src/main/java/binnie/genetics/nei/DatabaseRecipeHandler.java @@ -8,13 +8,12 @@ import codechicken.lib.gui.GuiDraw; import codechicken.nei.ItemList; import codechicken.nei.NEIServerUtils; import codechicken.nei.PositionedStack; +import java.util.ArrayList; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; import net.minecraftforge.oredict.OreDictionary; -import java.util.ArrayList; -import java.util.List; - public class DatabaseRecipeHandler extends RecipeHandlerBase { private static final List recipes = new ArrayList<>(); @@ -55,7 +54,8 @@ public class DatabaseRecipeHandler extends RecipeHandlerBase { public void drawExtras(int recipe) { this.drawProgressBar(75, 7, 176, 0, 24, 17, 40, 0); - List desc = GuiDraw.fontRenderer.listFormattedStringToWidth(StatCollector.translateToLocalFormatted("genetics.nei.tip.databaseDesc"), 140); + List desc = GuiDraw.fontRenderer.listFormattedStringToWidth( + StatCollector.translateToLocalFormatted("genetics.nei.tip.databaseDesc"), 140); for (int i = 0; i < desc.size(); i++) { GuiDraw.drawStringC(desc.get(i), 88, 44 + 12 * (i - 1), 0xFFFFFF); } @@ -99,9 +99,10 @@ public class DatabaseRecipeHandler extends RecipeHandlerBase { } public ItemStack getEmptySerum() { - return this.serum.getItem() instanceof ItemSerumArray ? GeneticsItems.EmptyGenome.get(1) : GeneticsItems.EmptySerum.get(1); + return this.serum.getItem() instanceof ItemSerumArray + ? GeneticsItems.EmptyGenome.get(1) + : GeneticsItems.EmptySerum.get(1); } - } public class CachedDatabaseRecipe extends CachedBaseRecipe { @@ -113,7 +114,8 @@ public class DatabaseRecipeHandler extends RecipeHandlerBase { if (recipe.getSerum() != null) { List serums = new ArrayList<>(); - for (ItemStack serumStack : ItemList.itemMap.get(recipe.getSerum().getItem())) { + for (ItemStack serumStack : + ItemList.itemMap.get(recipe.getSerum().getItem())) { if (serumStack.getTagCompound() != null) { ItemStack temp = serumStack.copy(); temp.setItemDamage(temp.getMaxDamage()); @@ -136,7 +138,5 @@ public class DatabaseRecipeHandler extends RecipeHandlerBase { public PositionedStack getResult() { return this.emptySerum; } - } - } diff --git a/src/main/java/binnie/genetics/nei/GenepoolRecipeHandler.java b/src/main/java/binnie/genetics/nei/GenepoolRecipeHandler.java index 35466472..5f3d953e 100644 --- a/src/main/java/binnie/genetics/nei/GenepoolRecipeHandler.java +++ b/src/main/java/binnie/genetics/nei/GenepoolRecipeHandler.java @@ -13,15 +13,14 @@ import codechicken.lib.gui.GuiDraw; import codechicken.nei.NEIServerUtils; import codechicken.nei.PositionedStack; import forestry.api.apiculture.EnumBeeType; +import java.awt.*; +import java.util.ArrayList; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; -import java.awt.*; -import java.util.ArrayList; -import java.util.List; - public class GenepoolRecipeHandler extends RecipeHandlerBase { private static final List recipes = new ArrayList<>(); @@ -152,7 +151,6 @@ public class GenepoolRecipeHandler extends RecipeHandlerBase { public ItemStack getInput() { return this.inputStack; } - } public class CachedGenepoolRecipe extends CachedBaseRecipe { @@ -172,7 +170,6 @@ public class GenepoolRecipeHandler extends RecipeHandlerBase { } } - @Override public List getIngredients() { return getCycledIngredients(cycleticks / 40, this.ingredients); @@ -187,7 +184,5 @@ public class GenepoolRecipeHandler extends RecipeHandlerBase { public PositionedStack getResult() { return null; } - } - } diff --git a/src/main/java/binnie/genetics/nei/IMCForNEI.java b/src/main/java/binnie/genetics/nei/IMCForNEI.java index cb982db7..cd48e783 100644 --- a/src/main/java/binnie/genetics/nei/IMCForNEI.java +++ b/src/main/java/binnie/genetics/nei/IMCForNEI.java @@ -55,4 +55,4 @@ public class IMCForNEI { private static void sendCatalyst(String aName, String aStack) { sendCatalyst(aName, aStack, 0); } -} \ No newline at end of file +} diff --git a/src/main/java/binnie/genetics/nei/IncubatorRecipeHandler.java b/src/main/java/binnie/genetics/nei/IncubatorRecipeHandler.java index 113587d7..6d1f1715 100644 --- a/src/main/java/binnie/genetics/nei/IncubatorRecipeHandler.java +++ b/src/main/java/binnie/genetics/nei/IncubatorRecipeHandler.java @@ -8,13 +8,12 @@ import binnie.genetics.machine.incubator.Incubator; import codechicken.lib.gui.GuiDraw; import codechicken.nei.NEIServerUtils; import codechicken.nei.PositionedStack; -import net.minecraft.item.ItemStack; -import net.minecraft.util.StatCollector; -import net.minecraftforge.fluids.FluidStack; - import java.awt.*; import java.util.ArrayList; import java.util.List; +import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; +import net.minecraftforge.fluids.FluidStack; public class IncubatorRecipeHandler extends RecipeHandlerBase { @@ -83,7 +82,6 @@ public class IncubatorRecipeHandler extends RecipeHandlerBase { this.arecipes.add(new CachedIncubatorRecipe(recipe)); } } - } @Override @@ -107,16 +105,17 @@ public class IncubatorRecipeHandler extends RecipeHandlerBase { FluidStack fluidStack = recipe.getInput(); if (fluidStack.amount == 0) { - this.tanks.add(new PositionedFluidTank(new FluidStack(fluidStack.getFluid(), 1), 100, new Rectangle(28, 6, 16, 58)) { - @Override - public List handleTooltip(List currenttip) { - List tip = super.handleTooltip(currenttip); - tip.add(StatCollector.translateToLocal("genetics.nei.tip.noConsume")); - return tip; - } - }); - } else - this.tanks.add(new PositionedFluidTank(fluidStack, 100, new Rectangle(28, 6, 16, 58))); + this.tanks.add( + new PositionedFluidTank( + new FluidStack(fluidStack.getFluid(), 1), 100, new Rectangle(28, 6, 16, 58)) { + @Override + public List handleTooltip(List currenttip) { + List tip = super.handleTooltip(currenttip); + tip.add(StatCollector.translateToLocal("genetics.nei.tip.noConsume")); + return tip; + } + }); + } else this.tanks.add(new PositionedFluidTank(fluidStack, 100, new Rectangle(28, 6, 16, 58))); } if (recipe.getOutput() != null) { @@ -132,7 +131,6 @@ public class IncubatorRecipeHandler extends RecipeHandlerBase { } this.lossChance = recipe.getLossChance() * 100 + "%"; - } @Override @@ -149,7 +147,5 @@ public class IncubatorRecipeHandler extends RecipeHandlerBase { public PositionedStack getResult() { return this.output; } - } - } diff --git a/src/main/java/binnie/genetics/nei/InoculatorRecipeHandler.java b/src/main/java/binnie/genetics/nei/InoculatorRecipeHandler.java index 3a7c754a..476e94b5 100644 --- a/src/main/java/binnie/genetics/nei/InoculatorRecipeHandler.java +++ b/src/main/java/binnie/genetics/nei/InoculatorRecipeHandler.java @@ -15,22 +15,23 @@ import codechicken.nei.NEIServerUtils; import codechicken.nei.PositionedStack; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.ISpeciesRoot; +import java.awt.*; +import java.util.ArrayList; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; -import java.awt.*; -import java.util.ArrayList; -import java.util.List; - public class InoculatorRecipeHandler extends RecipeHandlerBase { private static final List recipes = new ArrayList<>(); private void createInoculatorRecipeForNEI(ItemStack dnaManipulable) { - recipes.add(new InoculatorRecipe(dnaManipulable, new ItemStack(Genetics.itemSerum, 1, OreDictionary.WILDCARD_VALUE))); - recipes.add(new InoculatorRecipe(dnaManipulable, new ItemStack(Genetics.itemSerumArray, 1, OreDictionary.WILDCARD_VALUE))); + recipes.add(new InoculatorRecipe( + dnaManipulable, new ItemStack(Genetics.itemSerum, 1, OreDictionary.WILDCARD_VALUE))); + recipes.add(new InoculatorRecipe( + dnaManipulable, new ItemStack(Genetics.itemSerumArray, 1, OreDictionary.WILDCARD_VALUE))); } @Override @@ -102,7 +103,8 @@ public class InoculatorRecipeHandler extends RecipeHandlerBase { @Override public void loadUsageRecipes(ItemStack ingredient) { for (InoculatorRecipe recipe : recipes) { - if (NEIServerUtils.areStacksSameTypeCrafting(recipe.getDnaManipulable(), ingredient) || NEIServerUtils.areStacksSameTypeCrafting(recipe.getSerum(), ingredient)) { + if (NEIServerUtils.areStacksSameTypeCrafting(recipe.getDnaManipulable(), ingredient) + || NEIServerUtils.areStacksSameTypeCrafting(recipe.getSerum(), ingredient)) { this.arecipes.add(new CachedInoculatorRecipe(recipe)); } } @@ -129,7 +131,6 @@ public class InoculatorRecipeHandler extends RecipeHandlerBase { public ItemStack getSerum() { return this.serum; } - } public class CachedInoculatorRecipe extends CachedBaseRecipe { @@ -146,7 +147,8 @@ public class InoculatorRecipeHandler extends RecipeHandlerBase { ISpeciesRoot root1 = AlleleManager.alleleRegistry.getSpeciesRoot(recipe.getDnaManipulable()); List serums = new ArrayList<>(); - for (ItemStack serumStack : ItemList.itemMap.get(recipe.getSerum().getItem())) { + for (ItemStack serumStack : + ItemList.itemMap.get(recipe.getSerum().getItem())) { if (serumStack.getTagCompound() != null) { IItemSerum itemSerum = (IItemSerum) serumStack.getItem(); ISpeciesRoot root2 = itemSerum.getSpeciesRoot(serumStack); @@ -154,7 +156,8 @@ public class InoculatorRecipeHandler extends RecipeHandlerBase { } } - this.bacteriaTank = new PositionedFluidTank(recipe.getBacteriaVector(), 100, new Rectangle(28, 6, 16, 58)); + this.bacteriaTank = + new PositionedFluidTank(recipe.getBacteriaVector(), 100, new Rectangle(28, 6, 16, 58)); this.serum = new PositionedStack(serums, 53, 6); this.input = new PositionedStack(recipe.getDnaManipulable(), 53, 27); this.output = new PositionedStack(recipe.getDnaManipulable(), 105, 27); @@ -181,7 +184,5 @@ public class InoculatorRecipeHandler extends RecipeHandlerBase { public PositionedFluidTank getFluidTank() { return this.bacteriaTank; } - } - } diff --git a/src/main/java/binnie/genetics/nei/IsolatorRecipeHandler.java b/src/main/java/binnie/genetics/nei/IsolatorRecipeHandler.java index 38e794dd..bf32d34d 100644 --- a/src/main/java/binnie/genetics/nei/IsolatorRecipeHandler.java +++ b/src/main/java/binnie/genetics/nei/IsolatorRecipeHandler.java @@ -19,15 +19,14 @@ import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IAllele; import forestry.api.genetics.IChromosomeType; import forestry.api.genetics.ISpeciesRoot; +import java.awt.*; +import java.util.ArrayList; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; -import java.awt.*; -import java.util.ArrayList; -import java.util.List; - public class IsolatorRecipeHandler extends RecipeHandlerBase { private static final List recipes = new ArrayList<>(); @@ -112,7 +111,8 @@ public class IsolatorRecipeHandler extends RecipeHandlerBase { @Override public void loadUsageRecipes(ItemStack ingredient) { - if (NEIServerUtils.areStacksSameTypeCrafting(GeneticsItems.EmptySequencer.get(1), ingredient) || NEIServerUtils.areStacksSameTypeCrafting(GeneticsItems.Enzyme.get(1), ingredient)) { + if (NEIServerUtils.areStacksSameTypeCrafting(GeneticsItems.EmptySequencer.get(1), ingredient) + || NEIServerUtils.areStacksSameTypeCrafting(GeneticsItems.Enzyme.get(1), ingredient)) { this.loadAllRecipes(); } else { for (IsolatorRecipe recipe : recipes) { @@ -156,7 +156,6 @@ public class IsolatorRecipeHandler extends RecipeHandlerBase { public ItemStack getEmptySequencer() { return GeneticsItems.EmptySequencer.get(1); } - } public class CachedIsolatorRecipe extends CachedBaseRecipe { @@ -200,4 +199,4 @@ public class IsolatorRecipeHandler extends RecipeHandlerBase { return this.ethanolTank; } } -} \ No newline at end of file +} diff --git a/src/main/java/binnie/genetics/nei/NEIGeneticsConfig.java b/src/main/java/binnie/genetics/nei/NEIGeneticsConfig.java index 27b40b6f..a8faea1d 100644 --- a/src/main/java/binnie/genetics/nei/NEIGeneticsConfig.java +++ b/src/main/java/binnie/genetics/nei/NEIGeneticsConfig.java @@ -35,5 +35,4 @@ public class NEIGeneticsConfig implements IConfigureNEI { public String getVersion() { return BinnieCore.VERSION; } - -} \ No newline at end of file +} diff --git a/src/main/java/binnie/genetics/nei/PolymeriserRecipeHandler.java b/src/main/java/binnie/genetics/nei/PolymeriserRecipeHandler.java index f65ebd56..39e64417 100644 --- a/src/main/java/binnie/genetics/nei/PolymeriserRecipeHandler.java +++ b/src/main/java/binnie/genetics/nei/PolymeriserRecipeHandler.java @@ -13,16 +13,15 @@ import codechicken.lib.gui.GuiDraw; import codechicken.nei.ItemList; import codechicken.nei.NEIServerUtils; import codechicken.nei.PositionedStack; +import java.awt.*; +import java.util.ArrayList; +import java.util.List; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; -import java.awt.*; -import java.util.ArrayList; -import java.util.List; - public class PolymeriserRecipeHandler extends RecipeHandlerBase { private static final List recipes = new ArrayList<>(); @@ -91,13 +90,13 @@ public class PolymeriserRecipeHandler extends RecipeHandlerBase { this.arecipes.add(new CachedPolymeriserRecipe(recipe)); } } - } } @Override public void loadUsageRecipes(FluidStack ingredient) { - if (NEIUtils.areFluidsSameType(GeneticLiquid.BacteriaPoly.get(0), ingredient) || NEIUtils.areFluidsSameType(GeneticLiquid.RawDNA.get(0), ingredient)) { + if (NEIUtils.areFluidsSameType(GeneticLiquid.BacteriaPoly.get(0), ingredient) + || NEIUtils.areFluidsSameType(GeneticLiquid.RawDNA.get(0), ingredient)) { this.loadAllRecipes(); } } @@ -117,7 +116,6 @@ public class PolymeriserRecipeHandler extends RecipeHandlerBase { public ItemStack getOutput() { return this.serum; } - } public class CachedPolymeriserRecipe extends CachedBaseRecipe { @@ -138,7 +136,8 @@ public class PolymeriserRecipeHandler extends RecipeHandlerBase { List bacteriaPolyTanks = new ArrayList<>(); List rawDNATanks = new ArrayList<>(); - for (ItemStack itemStack : ItemList.itemMap.get(recipe.getSerum().getItem())) { + for (ItemStack itemStack : + ItemList.itemMap.get(recipe.getSerum().getItem())) { if (itemStack.getTagCompound() != null) { ItemStack temp = itemStack.copy(); if (itemStack.getItem() instanceof IItemSerum) { @@ -146,7 +145,9 @@ public class PolymeriserRecipeHandler extends RecipeHandlerBase { } inputs.add(temp); - int bacteriaPolyAmount = 10 * temp.getItemDamage() * (temp.getTagCompound() == null ? 1 : Engineering.getGenes(temp).length); + int bacteriaPolyAmount = 10 + * temp.getItemDamage() + * (temp.getTagCompound() == null ? 1 : Engineering.getGenes(temp).length); bacteriaPolyTanks.add(GeneticLiquid.BacteriaPoly.get(bacteriaPolyAmount)); rawDNATanks.add(GeneticLiquid.RawDNA.get(bacteriaPolyAmount * 5)); } @@ -158,12 +159,14 @@ public class PolymeriserRecipeHandler extends RecipeHandlerBase { this.ingredients.add(this.input); this.ingredients.add(this.goldNugget); - this.bacteriaPoly = new PositionedFluidTank(bacteriaPolyTanks, 10000, new Rectangle(27, 6, 16, 58), null, null); + this.bacteriaPoly = + new PositionedFluidTank(bacteriaPolyTanks, 10000, new Rectangle(27, 6, 16, 58), null, null); this.rawDNA = new PositionedFluidTank(rawDNATanks, 20000, new Rectangle(48, 6, 16, 58), null, null); this.tanks.add(this.bacteriaPoly); this.tanks.add(this.rawDNA); - for (ItemStack itemStack : ItemList.itemMap.get(recipe.getOutput().getItem())) { + for (ItemStack itemStack : + ItemList.itemMap.get(recipe.getOutput().getItem())) { if (itemStack.getTagCompound() != null) { ItemStack temp = itemStack.copy(); if (recipe.getOutput().getItem() instanceof ItemSequence) { @@ -194,7 +197,5 @@ public class PolymeriserRecipeHandler extends RecipeHandlerBase { public List getFluidTanks() { return this.tanks; } - } - } diff --git a/src/main/java/binnie/genetics/nei/SequencerRecipeHandler.java b/src/main/java/binnie/genetics/nei/SequencerRecipeHandler.java index 1a17329b..24f66629 100644 --- a/src/main/java/binnie/genetics/nei/SequencerRecipeHandler.java +++ b/src/main/java/binnie/genetics/nei/SequencerRecipeHandler.java @@ -7,11 +7,10 @@ import codechicken.lib.gui.GuiDraw; import codechicken.nei.ItemList; import codechicken.nei.NEIServerUtils; import codechicken.nei.PositionedStack; -import net.minecraft.item.ItemStack; -import net.minecraft.util.StatCollector; - import java.util.ArrayList; import java.util.List; +import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; public class SequencerRecipeHandler extends RecipeHandlerBase { @@ -112,5 +111,4 @@ public class SequencerRecipeHandler extends RecipeHandlerBase { return this.results; } } - } diff --git a/src/main/java/binnie/genetics/nei/SplicerRecipeHandler.java b/src/main/java/binnie/genetics/nei/SplicerRecipeHandler.java index 361bcbc0..66792c6c 100644 --- a/src/main/java/binnie/genetics/nei/SplicerRecipeHandler.java +++ b/src/main/java/binnie/genetics/nei/SplicerRecipeHandler.java @@ -15,21 +15,22 @@ import codechicken.nei.NEIServerUtils; import codechicken.nei.PositionedStack; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.ISpeciesRoot; +import java.util.ArrayList; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; -import java.util.ArrayList; -import java.util.List; - public class SplicerRecipeHandler extends RecipeHandlerBase { private static final List recipes = new ArrayList<>(); private void createInoculatorRecipeForNEI(ItemStack dnaManipulable) { - recipes.add(new SplicerRecipe(dnaManipulable, new ItemStack(Genetics.itemSerum, 1, OreDictionary.WILDCARD_VALUE))); - recipes.add(new SplicerRecipe(dnaManipulable, new ItemStack(Genetics.itemSerumArray, 1, OreDictionary.WILDCARD_VALUE))); + recipes.add( + new SplicerRecipe(dnaManipulable, new ItemStack(Genetics.itemSerum, 1, OreDictionary.WILDCARD_VALUE))); + recipes.add(new SplicerRecipe( + dnaManipulable, new ItemStack(Genetics.itemSerumArray, 1, OreDictionary.WILDCARD_VALUE))); } @Override @@ -101,7 +102,8 @@ public class SplicerRecipeHandler extends RecipeHandlerBase { @Override public void loadUsageRecipes(ItemStack ingredient) { for (SplicerRecipe recipe : recipes) { - if (NEIServerUtils.areStacksSameTypeCrafting(recipe.getDnaManipulable(), ingredient) || NEIServerUtils.areStacksSameTypeCrafting(recipe.getSerum(), ingredient)) { + if (NEIServerUtils.areStacksSameTypeCrafting(recipe.getDnaManipulable(), ingredient) + || NEIServerUtils.areStacksSameTypeCrafting(recipe.getSerum(), ingredient)) { this.arecipes.add(new CachedSplicer(recipe)); } } @@ -123,7 +125,6 @@ public class SplicerRecipeHandler extends RecipeHandlerBase { public ItemStack getSerum() { return this.serum; } - } public class CachedSplicer extends CachedBaseRecipe { @@ -139,7 +140,8 @@ public class SplicerRecipeHandler extends RecipeHandlerBase { ISpeciesRoot root1 = AlleleManager.alleleRegistry.getSpeciesRoot(recipe.getDnaManipulable()); List serums = new ArrayList<>(); - for (ItemStack serumStack : ItemList.itemMap.get(recipe.getSerum().getItem())) { + for (ItemStack serumStack : + ItemList.itemMap.get(recipe.getSerum().getItem())) { if (serumStack.getTagCompound() != null) { IItemSerum itemSerum = (IItemSerum) serumStack.getItem(); ISpeciesRoot root2 = itemSerum.getSpeciesRoot(serumStack); @@ -174,4 +176,4 @@ public class SplicerRecipeHandler extends RecipeHandlerBase { return this.bacteriaTank; } } -} \ No newline at end of file +} diff --git a/src/main/java/binnie/genetics/proxy/IGeneticsProxy.java b/src/main/java/binnie/genetics/proxy/IGeneticsProxy.java index e78cb9f6..04d99f30 100644 --- a/src/main/java/binnie/genetics/proxy/IGeneticsProxy.java +++ b/src/main/java/binnie/genetics/proxy/IGeneticsProxy.java @@ -2,5 +2,4 @@ package binnie.genetics.proxy; import binnie.core.proxy.IProxyCore; -public interface IGeneticsProxy extends IProxyCore { -} +public interface IGeneticsProxy extends IProxyCore {} diff --git a/src/main/java/binnie/genetics/proxy/Proxy.java b/src/main/java/binnie/genetics/proxy/Proxy.java index f2cc696d..e2a052bb 100644 --- a/src/main/java/binnie/genetics/proxy/Proxy.java +++ b/src/main/java/binnie/genetics/proxy/Proxy.java @@ -4,7 +4,7 @@ import binnie.core.proxy.BinnieModProxy; import binnie.genetics.Genetics; public class Proxy extends BinnieModProxy implements IGeneticsProxy { - public Proxy() { - super(Genetics.instance); - } + public Proxy() { + super(Genetics.instance); + } } diff --git a/src/main/java/binnie/genetics/proxy/ProxyClient.java b/src/main/java/binnie/genetics/proxy/ProxyClient.java index 5c866173..937b2af8 100644 --- a/src/main/java/binnie/genetics/proxy/ProxyClient.java +++ b/src/main/java/binnie/genetics/proxy/ProxyClient.java @@ -1,4 +1,3 @@ package binnie.genetics.proxy; -public class ProxyClient extends Proxy implements IGeneticsProxy { -} +public class ProxyClient extends Proxy implements IGeneticsProxy {} diff --git a/src/main/java/binnie/genetics/proxy/ProxyServer.java b/src/main/java/binnie/genetics/proxy/ProxyServer.java index 024e8ef6..9107b7ec 100644 --- a/src/main/java/binnie/genetics/proxy/ProxyServer.java +++ b/src/main/java/binnie/genetics/proxy/ProxyServer.java @@ -1,4 +1,3 @@ package binnie.genetics.proxy; -public class ProxyServer extends Proxy implements IGeneticsProxy { -} +public class ProxyServer extends Proxy implements IGeneticsProxy {}